Tableau array et session panier?

Résolu
newlc Messages postés 56 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 5 juillet 2010 - 20 avril 2009 à 23:11
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 - 23 avril 2009 à 08:47
Salut à tous,
je cherche à pouvoir ajouter une valeur a chaque fois que l'utilisateur entre une info dans un champs de saisie simple mais apres chaque chargement l'info ne s'ajoute pas dans mon tableau, voici mon code apres validation du formulaire.....(je sais qu'il n'est pas terrible, donc soyez indulgent).
////////////////////////////////mon code////////////////////////////////////////////////
<?php
session_start();
$_SESSION['panier'] = array();
foreach( $_POST['test'] as $key => $value ) {


array_push($_SESSION['panier'],$value); }//ajoute  la nouvelle valeur


var_dump($_SESSION['panier']);


?>
Merci de votre aide!

5 réponses

newlc Messages postés 56 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 5 juillet 2010 1
22 avril 2009 à 22:18
j'ai une erreur ds le foreach que je ne vois pas dans ton code????tu la vois toi ARTO??

Warning: Invalid argument supplied for foreach
1
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
21 avril 2009 à 01:05
Il faut faire attention aux variables de session, quand on les définit à chaque début de page elles sont réinitialisées du même coup. Ce qu'il te manque c'est un petit test qui vérifie si la variable session "panier" est définit comme tableau pour éviter que la valeur soit écrasé par un tableau vide à chaque fois que tu envoies des données.

<?php
session_start();

if (!isset($_SESSION['panier']) || !is_array($_SESSION['panier'])) {
     $_SESSION['panier'] = array();
}

foreach( $_POST['test'] as $key => $value ) {
    array_push($_SESSION['panier'],$value);
}
var_dump($_SESSION['panier']);
?>
0
newlc Messages postés 56 Date d'inscription samedi 24 juillet 2004 Statut Membre Dernière intervention 5 juillet 2010 1
21 avril 2009 à 23:28
merci arto, je teste ça!!!!
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
23 avril 2009 à 01:42
Pour faire un foreach sur élément, il faut que ça soit un tableau. Ton $_POST['test'] n'est pas un tableau. En fait, généralement les valeurs envoyées en POST ou en GET sont des valeurs textes ou numériques.

Vérifie que ce que tu veux faire n'est pas tout simplement ceci :

<?php
session_start();

if (!isset($_SESSION['panier']) || !is_array($_SESSION['panier'])) {
     $_SESSION['panier'] = array();
}

if (isset($_POST['test'])) {
    array_push($_SESSION['panier'], $_POST['test']);
}

var_dump($_SESSION['panier']);
?>

Note : Il est aussi important de vérifier si les valeurs envoyées en paramètre existe ou non.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kohntark Messages postés 3705 Date d'inscription lundi 5 juillet 2004 Statut Membre Dernière intervention 27 avril 2012 30
23 avril 2009 à 08:47
Salut,

Il y a fort à parier que $_POST['test'] n'est pas un tableau.

Cordialement,

Kohntark -
0
Rejoignez-nous