newlc
Messages postés56Date d'inscriptionsamedi 24 juillet 2004StatutMembreDernière intervention 5 juillet 2010
-
20 avril 2009 à 23:11
kohntark
Messages postés3706Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 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
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 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();
}
Arto_8000
Messages postés1044Date d'inscriptionlundi 7 mars 2005StatutMembreDernière intervention13 juillet 20107 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?