Recupérer variables post dans boucle php

lukkul Messages postés 11 Statut Membre -  
 Alain42 -
Bonjour,
g un petit souci
j'essaye de recupérer des variable $_post dans une boucle mais il ne me les reconnait pas :
est ce que quelqu'un peu m aider?

mon code:
$i = 0;
while ($i< 10) {

$a = $_POST['foto'.$i];
$b = $_POST['acabado'.$i];
$c = $_POST['tamano'.$i];
$d = $_POST['qte'.$i];
$e = $_POST['cd'.$i];
}

merci d'avance

7 réponses

duky02 Messages postés 47 Statut Membre 2
 
oh la belle boucle infinie.
sinon enleve des concaténations entre les [] et fais le aprés

$i = 0;

while ($i< 10) {
$a = $_POST['foto'];
$b = $_POST['acabado'];
$c = $_POST['tamano'];
$d = $_POST['qte'];
$e = $_POST['cd'];
$i++;
}
++
0
lukkul Messages postés 11 Statut Membre
 
le souci etant que mes variables post son deja issue d'une boucle qui les nome acabado1,acabado2,etc
et je ne sais pas combien de reponse j'aurai

merci de m'écouter
0
lukkul Messages postés 11 Statut Membre
 
ah oui d'accord g oublier le $i++ mais c que g isolé cette partie du code :)
0
Alain42
 
Bonjour,

dans ton formulaire a la fin de la generation des noms de champ composés acabado1,acabado2,etc , tu mets dans un champ caché type="hidden" le nombre

tu recuperes ce nombre dans le script de traitement par $nb=$_POST['nom_champ_cache'];

et tu fais ta boucle while avec ce nombre comme condition

$i = 0;

while ($i< $nb) {
${'a'.$i} = $_POST['foto'.$i];
${'b'.$i} = $_POST['acabado'.$i];
${'c'.$i} = $_POST['tamano'.$i];
${'d'.$i} = $_POST['qte'.$i];
${'e'.$i} = $_POST['cd'.$i];
$i++;
} 



n'oublie pas d'indicier aussi les variable $a.... etc car sinon elles eront écrasées à chaque boucle et a la fin elles auront la valeur de la dernière boucle

${'a'.$i} est une methode pour creer des varaibles dynamiques (variables variables), pour une autre methode vas voir le site www.siteduzero.com
0

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

Posez votre question
lukkul Messages postés 11 Statut Membre
 
Merci Alain de ta réponse,

si je peux abuser en fait je recois mes variables d'un flash et voila mon code complet, le soucie étant que dans ma base de donnée il me rajoute bien une entrée y insere les valeur des premier variable post mais laisse celle de ma boucle vide.

le code:
<?php
session_start();
include("dbconnect.php");

//extract($_POST);
$passw = $_POST['passw'];
$login = $_POST['login'];
$email = $_POST['email'];
$howmuch = $_POST['howmuch'];
$statusclient = $_POST['statusclient'];
$evento = $_POST['evento'];

$j = 0;

while ($j< $howmuch) {
${'a'.$j} = $_POST['foto'.$j];
${'b'.$j} = $_POST['acabado'.$j];
${'c'.$j} = $_POST['tamano'.$j];
${'d'.$j} = $_POST['qte'.$j];
${'e'.$j} = $_POST['cd'.$j];
$j++;
}


//write webclient

$sql = "INSERT INTO webclient (date,heure,email,statusclient,pw,identification,cuantas,evento) VALUES (NOW(),NOW(),'$email','$statusclient','$passw','$login','$howmuch','$evento')";

$tab = mysql_query($sql)or die("Query failed");
if($sql) echo "&webclient=Ok&";
else echo "webclient=Error";
@mysql_free_result($sql);
mysql_close();




//write pedido

$i = 0;
while ($i< $howmuch) {

include("dbconnect.php");
$sqlpedido = "INSERT INTO pedidos (photo,acabado,tamano,qte,cd,webclient,evento) VALUES ('${'a'.$i}','${'b'.$i}','${'c'.$i}','${'d'.$i}','${'e'.$i}','$login','$evento')";
$tab = mysql_query($sqlpedido)or die("Query failed");
mysql_close();
@mysql_free_result($sqlpedido);

$i=$i+1;
echo $i;
}




?>
0
lukkul Messages postés 11 Statut Membre
 
Merci Alain de ta réponse,

si je peux abuser en fait je recois mes variables d'un flash et voila mon code complet, le soucie étant que dans ma base de donnée il me rajoute bien une entrée y insere les valeur des premier variable post mais laisse celle de ma boucle vide.

le code:
<?php
session_start();
include("dbconnect.php");

//extract($_POST);
$passw = $_POST['passw'];
$login = $_POST['login'];
$email = $_POST['email'];
$howmuch = $_POST['howmuch'];
$statusclient = $_POST['statusclient'];
$evento = $_POST['evento'];

$j = 0;

while ($j< $howmuch) {
${'a'.$j} = $_POST['foto'.$j];
${'b'.$j} = $_POST['acabado'.$j];
${'c'.$j} = $_POST['tamano'.$j];
${'d'.$j} = $_POST['qte'.$j];
${'e'.$j} = $_POST['cd'.$j];
$j++;
}


//write webclient

$sql = "INSERT INTO webclient (date,heure,email,statusclient,pw,identification,cuantas,evento) VALUES (NOW(),NOW(),'$email','$statusclient','$passw','$login','$howmuch','$evento')";

$tab = mysql_query($sql)or die("Query failed");
if($sql) echo "&webclient=Ok&";
else echo "webclient=Error";
@mysql_free_result($sql);
mysql_close();




//write pedido

$i = 0;
while ($i< $howmuch) {

include("dbconnect.php");
$sqlpedido = "INSERT INTO pedidos (photo,acabado,tamano,qte,cd,webclient,evento) VALUES ('${'a'.$i}','${'b'.$i}','${'c'.$i}','${'d'.$i}','${'e'.$i}','$login','$evento')";
$tab = mysql_query($sqlpedido)or die("Query failed");
mysql_close();
@mysql_free_result($sqlpedido);

$i=$i+1;
echo $i;
}




?>
0
Alain42
 
Salut,

dans ta derniere boucle, tu te connecte et deconnecte à ta base a chaque tour

fais plutot:

//write pedido
include("dbconnect.php");
$i = 0;
while ($i< $howmuch) {
	$sqlpedido = "INSERT INTO pedidos (photo,acabado,tamano,qte,cd,webclient,evento) VALUES ('${'a'.$i}','${'b'.$i}','${'c'.$i}','${'d'.$i}','${'e'.$i}','$login','$evento')";
	$tab = mysql_query($sqlpedido)or die("Query failed".mysql_error());
	$i=++;
	echo $i;
}
mysql_free_result($sqlpedido);
mysql_close();


?>


et dans la boucle de recup des valeurs mets un echo pour voir si tu recuperes correctement:

$j = 0;
while ($j< $howmuch) {
	${'a'.$j} = $_POST['foto'.$j];
	${'b'.$j} = $_POST['acabado'.$j];
	${'c'.$j} = $_POST['tamano'.$j];
	${'d'.$j} = $_POST['qte'.$j];
	${'e'.$j} = $_POST['cd'.$j];
	$j++;
	echo "<br>".${'a'.$j};
} 


je suppose que $howmuch= nombre d'index de tes variables recup dans le champ caché

ensuite, plus haut pourquoi as tu deux fois now() pour date et heure ?

pour date il faut date('Y-m-d') pour heure date('H:i:s')
0