test de valeurs de tableau dans session

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : test de valeurs de tableau dans session

par Ryle » 16 févr. 2007, 16:23

plutôt que d'ajouter le tableau à la suite d'un tableau indexé, je te recommande de faire un tableau associatif a partir de l'idLivre ou de l'idRecord par exemple :
if ($action=="ajouter") { 
  $ajout= array($_GET['idRecord'], $_GET['idLivre'], $_GET['prix']); 
  $_SESSION['panier'][$_GET['idLivre']] = $ajout; 
}
tu pourras ainsi avec isSet() tester facilement si l'enregistrement que tu veux ajoutes existe déjà ou non dans ta session, sans avoir à parcourir le tableau et tester les valeurs une par une à chaque fois :)
if(isSet($_SESSION['panier'][$_GET['idLivre']])) // l'objet est déjà en session
  ...
else 
  ...

par delbor » 16 févr. 2007, 16:21

Bonjour,

tu peux regarder du côté de la fonction in_array.

if (!in_array($ajout, $_SESSION['panier'])) {
   $_SESSION['panier'][] = $ajout;
}

par Invité » 16 févr. 2007, 16:20

j'ai essayé ceci mais ça ne marche pas

if ($action=="ajouter") { 
      $ajout= array($_GET['idRecord'], $_GET['idLivre'], $_GET['prix']); 
        
      if ($_SESSION['panier'][] != $ajout) {
          $_SESSION['panier'][] = $ajout; 
        }
} 

test de valeurs de tableau dans session

par Invité » 16 févr. 2007, 16:12

Bonjour à tous,

j'utilise une petite ligne pour ajouter le choix d'un visiteur dans son panier:
if ($action=="ajouter") {
$ajout= array($_GET['idRecord'], $_GET['idLivre'], $_GET['prix']);
$_SESSION['panier'][] = $ajout;
}	  
Je ne sais pas comment faire pour mettre le tableau $ajout dans la session UNIQUEMENT s'il n'y figure pas déjà. pouvez vous m'aider?