Recherche dans une session

Signaler
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005
-
Bonjour à tous

J'essaie de créer un script qui empêche une ID produit d'être enregistrée une deuxième fois dans la session pour ne les avoir
qu'une fois maxi dans mon panier.

J'ai essayé avec for, foreach, array_search et in_array pour d'abord faire une recherche.

Mais rien à faire, mes produits continuent à s'enregistrer dans la session lorsque je les choisis denouveaux.

Voici mon dernier essai :

<?php
session_start();

if($_GET['action']=="action")
{
if (isset($_SESSION['liste']))
{
if (in_array($_GET["code"],$_SESSION['liste']))
{
header("location:categorie_cd.php");
}
else {
$_SESSION['liste'][]=array('code'=>$_GET["code"],'table'=>$_GET["table"]);
header("location:categorie_cd.php");
}
}
else {
$_SESSION['liste'][]=array('code'=>$_GET["code"],'table'=>$_GET["table"]);
header("location:categorie_cd.php");
}
}
else {...

Se serait très simpa si quelqu'un pouvait me donner un petit coup de main.

Merci d'avance

4 réponses

Messages postés
369
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
20 octobre 2013

Slt,

perso j'utiliserai pluto 1 st_replace()
du genre :
avec un foreach tu regarde ta liste et :::
$liste= str_replace("$id+$value","$id+$new_value",$liste);

Laurent
http://phpsources.net
Messages postés
208
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2008

doc officielle

array_diff retourne un tableau qui contient toutes les valeurs du tableau array1 qui sont absentes de tous les autres arguments array2 , ... , etc. Notez que les clés sont préservées.
Messages postés
208
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2008

cela dit si foreach ne fonctionne pas c'est que le probleme est ailleurs
Messages postés
15
Date d'inscription
samedi 11 septembre 2004
Statut
Membre
Dernière intervention
23 juin 2005

Bonjour et merci pour vos réponses.

J'ai finalement trouvé le pb. Il se situait dans la boucle for.

Salut à plus :)