Pb récupération variable $_POST

Résolu/Fermé
Alaumaal - Modifié par Alaumaal le 30/04/2012 à 10:59
 Alaumaal - 30 avril 2012 à 19:21
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 118 Date d'inscription jeudi 12 mai 2011 Statut Membre Dernière intervention 3 juin 2016
30 avril 2012 à 10:33
salut,

tu peux nous montrer le formulaire ?

A+
0
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
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
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