Pb récupération variable $_POST

Résolu
Alaumaal -  
 Alaumaal -
Bonjour,





Bonjour,

Dans une première page, j'ai créé un formulaire permettant d'écrire plusieurs noms et prénoms. J'aimerai dans une seconde page récupérer ces données pour les insérer dansune table mais j'ai du mal avec la variable $_POST et le fait de récupérer des variables en Array.

Voici une énième tentative d'écrire le code :


<?php
include('connect.php');
for ($i=0; $i<=$_POST['nbre_eleves']-1; $i++)
{

echo "j'enregistre l'élève dans la table<br>";
echo $_POST['prenom['.\'$i\'.]'];


echo "<br>";
$req=mysql_query('INSERT INTO ''.$_POST['nom_classe'].'' ('id', 'prenom', 'nom', 'select') VALUES (NULL, \''.$_POST['prenom[$i]'].'\', \''.$_POST['nom[$i]'].'\', NULL);');
}
mysql_close();
?>


Voici la création du formulaire dans la première page :

echo "<form method=\"post\" action=\"cible2.php\">";
for ($i=0; $i<=$_POST['nbre_eleves']-1; $i++)
{
$j=$i+1;
echo "Elève ".$j." : <input type=\"text\" name=\"nom[".$i."]\" value=\"Nom\" />
<input type=\"text\" name=\"prenom[".$i."]\" value=\"Prénom\" /><br>";

echo "<input type=\"hidden\" name=\"nom_classe\" value=\"".$_POST['nom_classe']."\" /><input type=\"hidden\" name=\"nbre_eleves\" value=\"".$_POST['nbre_eleves']."\" />";
}
echo "<input type=\"submit\" value=\"Valider\" />";

Voici le résultat du print_r :

Array ( [nom] => Array ( [0] => Nom1 [1] => Nom2 [2] => Nom3 [3] => Nom4 [4] => Nom5 ) [prenom] => Array ( [0] => Prénom1 [1] => Prénom2 [2] => Prénom3 [3] => Prénom4 [4] => Prénom5 ) [nom_classe] => vvvvvv [nbre_eleves] => 5 )

Merci d'avance pour votre aide.
A voir également:

2 réponses

victoires Messages postés 141 Statut Membre
 
salut,

tu peux nous montrer le formulaire ?

A+
0
Alaumaal
 
Voici la création du formulaire dans la première page :
echo "<form method=\"post\" action=\"cible2.php\">";
for ($i=0; $i<=$_POST['nbre_eleves']-1; $i++)
{
$j=$i+1;
echo "Elève ".$j." : <input type=\"text\" name=\"nom[".$i."]\" value=\"Nom\" />
<input type=\"text\" name=\"prenom[".$i."]\" value=\"Prénom\" /><br>";
echo "<input type=\"hidden\" name=\"nom_classe\" value=\"".$_POST['nom_classe']."\" /><input type=\"hidden\" name=\"nbre_eleves\" value=\"".$_POST['nbre_eleves']."\" />";
}
echo "<input type=\"submit\" value=\"Valider\" />";
Voici le résultat du print_r :
Array ( [nom] => Array ( [0] => Nom1 [1] => Nom2 [2] => Nom3 [3] => Nom4 [4] => Nom5 ) [prenom] => Array ( [0] => Prénom1 [1] => Prénom2 [2] => Prénom3 [3] => Prénom4 [4] => Prénom5 ) [nom_classe] => vvvvvv [nbre_eleves] => 5 )
0
Alaumaal
 
J'ai fait :

foreach ($_POST['nom'] as $valeurs)
{
$req=mysql_query('INSERT INTO ''.$_POST['nom_classe'].'' ('id', 'prenom', 'nom', 'select') VALUES (NULL, \'prenom \', \''.$valeurs.'\', \'0\');');
}


Mais cela ne me permet que d'insérer le nom dans la table. Comment faire pour insérer en même temps mes données $_POST['prenom'] ?
0
Alaumaal
 
Solution trouvée j'ai changé le formulaire en enlevant les crochets ce qui fait disparaître le Array.
Un simple for dans la deuxième page permet de mettre tout dans une table.
0