formulaire en html php

floysand1
Invité n'ayant pas de compte PHPfrance

22 mars 2008, 09:40

Je voudrais donner un nom variable à une zone de texte de façon à récupérer les informations ensuite, le nombre d'informations saisies étant aléatoire.

Voici mon code :
<form action="test.php" method="post">
<input type="text" name="titre">
<?php
for($i=0;$i<3;$i++)
{
echo '<input type="text" name=nom[]>';
}
?>
<input type="submit" value="Valider">
</form>

Dans le document test.php :

<?php
echo $_POST['titre'];

for($i=0;$i<3;$i++)
{
echo "Nom: " .$_POST['nom[]']."<br>";
echo "Nom: " .$_POST['nom[$i]']."<br>";
echo "Nom: " .$nom[$i]."<br>";
echo "Nom: " .$nom[]."<br>";
}
?>

Dans ce 2° document, je n'obtiens rien.
Merci pour votre aide.

Mammouth du PHP | 804 Messages

22 mars 2008, 11:57

Salut
<form action="test.php" method="post"> 

<input type="text" name="titre"> 

<?php 
for( $i=0; $i<3; $i++ ) 
{ 
echo "<input type=\"text\" name='nom[$i]'>"; 
} 
?> 

<input type="submit" value="Valider"> 

</form> 

Mammouth du PHP | 804 Messages

22 mars 2008, 12:04

salut,


Je réédite mon message, je n'avais pas compris ce que tu voulais obtenir, dans un premier temps je pense qu'il est beaucoup plus pratique que tu travail sur une seule et même page.

J'ai remarqué que tu avais déclaré aucune variable qui pourrait limiter la deuxième boucle après l'envoi du formulaire

je l'ai nommé $nb
<?php
if(isset($_POST["titre"])){

$nb = $_POST['nb']; 

echo "Titre = $_POST[titre]"; 
echo "Nombre de boucle = $nb"; 


	
	for($i = 0 ; $i < $nb; $i++) 
	{ 
	echo "Nom: " .$nom[$i]."<br>"; 
	} 

}else{ ?>

		<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post"> 
		
		Titre : <input type="text" name="titre"> <br />
		
		<?php 
		for( $i=0; $i < 3; $i++ ) 
		{ 
		echo "Test $i <input type=\"text\" name='nom[$i]'><br />\n"; 
		} 
		?> 
		
		<input type="hidden" name="nb" value="<?php echo $i?>">
		 
		<input type="submit" value="Valider"> 
		
		</form> 

<?php } ?> 

floysand1
Invité n'ayant pas de compte PHPfrance

24 mars 2008, 12:24

Merci de ta réponse.
Mais, ça ne marche toujours pas, les informations saisies ne s'affichent pas.
Peut-être ce n'est pas possible d'avoir un nom de zone de texte variable !

Merci pour votre collaboration...

ViPHP
ViPHP | 4674 Messages

24 mars 2008, 13:42

Bonjour,

et si tu essayais :
print_r($_POST);
dans test.php, hm ? Tu y verras plus clair je pense.
« Un handicap est le résultat d'une rencontre entre une déficience ou différence et une incapacité de la société à répondre à celle-ci. »

Hoa : http://hoa-project.net (sur @hoaproject).

floysand1
Invité n'ayant pas de compte PHPfrance

24 mars 2008, 14:33

Un grand grand merci.

La solution est :

echo "Nom: " .$_POST[nom][$i]."<br>";

Merci beaucoup.

Bonne journée.

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 mars 2008, 14:55

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer