Pb récupération variable $_POST

Résolu/Fermé
Signaler
-
 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.

2 réponses

Messages postés
118
Date d'inscription
jeudi 12 mai 2011
Statut
Membre
Dernière intervention
3 juin 2016

salut,

tu peux nous montrer le formulaire ?

A+
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 )
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'] ?
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.