<?php
$nbArticles=count($_SESSION['panier']['libelleProduit']);
if ($nbArticles <= 0)
echo "Votre caddie est vide";
else
{
for ($i=0 ;$i < $nbArticles ; $i++)
{
echo "".($_SESSION['panier']['libelleProduit'][$i])."<br>";
}
}
;?>
($_SESSION['panier']['libelleProduit'][$i])
dans un champs<input type="hidden" name="libelleProduit" value="<? echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
pour ensuite l'insérer dans une table avec un INSERT INTO
Et comme ceci<input type="hidden" name="libelleProduit" value="<? echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
pour ensuite l'insérer dans une table avec un INSERT INTO
Quelqu'un aurait il une idée? Merci de vos réponses
<input type="hidden" name="libelleProduit" value=<?php echo $_SESSION['panier']['libelleProduit'][$i];?> />
Puis il te suffit de récupéré
$_POST['libelleProduit']
Ce que l'on apprend par l'effort reste toujours ancré beaucoup plus longtemps.C'est fait, mais le résultat dans la table, c'est que ca n'insere soit rien du tout soit arrayPuis il te suffit de récupéré$_POST['libelleProduit']
<?php
session_start();
require("conf.php");
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
$order_number=$_POST['order_number'];
$myusername=$_SESSION['myusername'];
$libelleProduit=$_POST['libelleProduit'];
$qteProduit=$_POST['qteProduit'];
$prixProduit=$_POST['prixProduit'];
$total=$_POST['total'];
$firstname=$_POST['firstname'];
$lastname =$_POST['lastname'];
$address =$_POST['address'];
$city=$_POST['city'];
$state=$_POST['state'];
$ZIP =$_POST['ZIP'];
$country =$_POST['country'];
$phone=$_POST['phone'];
$payment =$_POST['payment'];
$date_hour=(date("Y-m-d H:i:s"));
mysql_query("INSERT INTO $tbl_name2 VALUES ('','$order_number','$myusername','$libelleProduit','$qteProduit','$prixProduit','$total','$firstname','$lastname','$address','$city','$state','$ZIP','$country','$phone','$payment','$date_hour') ") or die(mysql_error());
session_register("myusername");
session_register("mypassword");
header("location:transc_.php");
?>
Toutes les valeur s'insèrent sans problèmes SAUF CELLE DE LA SESSION. C'est à dire
$libelleProduit=$_POST['libelleProduit'];
$qteProduit=$_POST['qteProduit'];
$prixProduit=$_POST['prixProduit'];
La ou dans la table, il y a soit un espace vide soit le mot array
Modération :
arkhon21, afin d'améliorer la lisibilité de ton message,
pense à utiliser les balises [code] ou [php] (selon le langage utilisé).
Elles sont disponibles au-dessus de la zone de saisie de ton message
lorsque tu postes un nouveau message.
Des indications sont disponibles sur la manière de mettre en forme vos messages dans la FAQ
Code : Tout sélectionner
<input type="hidden" name="libelleProduit" value="<? echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
Code : Tout sélectionner
<input type="hidden" name="libelleProduit[<?php echo $i; ?>]" value="<?php echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
Je me demande si il faudrait pas que je serialize toutes les données libelleProduit pour pouvoir les insérer dans un champs unique.Attention, il me semble qu'il y a un problème ici :
Pour chaque article, tu as un input de ce type :qui va se traduire par un seul $_POST['libelleProduit'] sur la page appelée par ton formulaireCode : Tout sélectionner
<input type="hidden" name="libelleProduit" value="<? echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
alors que tu devrais en avoir un pour chaque article.
Je verrais alors plutôt un input de ce style :Que tu pourras récupérer dans un $_POST['libelleProduit'][$i] et pour chaque $i, il faudra faire un INSERT INTO dans ta table.Code : Tout sélectionner
<input type="hidden" name="libelleProduit[<?php echo $i; ?>]" value="<?php echo "".$_SESSION['panier']['libelleProduit'][$i]."";?>">
Et pour finir, si j'ai bien compris ce que tu as fait, tu as également un problème de conception de la BDD, puisque tu vas avoir les coordonnées du client (firstname, lastname,...) pour chaque article.
Fred
for ($i=0; $i<count($_SESSION['panier']['libelleProduit']); $i++) {
mysql_query("INSERT INTO $tbl_name2 VALUES ('','$order_number','$myusername','".$_SESSION['panier']["libelleProduit"][$i]."','".$_SESSION['panier']["qteProduit"][$i]."','".$_SESSION['panier']["prixProduit"][$i]."','$total','$payment_','$date_hour') ") or die(mysql_error());
}Code : Tout sélectionner
<input type="hidden" name="libelleProduit" value=<?php echo $_SESSION['panier']['libelleProduit'][$i];?> />En fait, j'ai même pas penser a les retirer!En regardant ta solution, je me suis demandé à quoi servaient tes INPUT de type hidden :Comme tu as toutes tes infos dans ta variable de session,Code : Tout sélectionner
<input type="hidden" name="libelleProduit" value=<?php echo $_SESSION['panier']['libelleProduit'][$i];?> />
tu n'as pas besoin de les faire passer d'une page à une autre dans une variable post.
Les as-tu conservés ?
Bonne journée,
Fred