formulaires multiples

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : formulaires multiples

par jib » 05 mars 2006, 18:14

c bonj ai trouvé

voila le code :
for ($i=1;$i<=$nb;$i++){
$destination=$_POST['destination'.$i.''];
$h_depart=$_POST['h_depart'.$i.''];
 $h_arrive=$_POST['h_arrive'.$i.''];
 $type=$_POST['type'.$i.''];
 $frequence=$_POST['frequence'.$i.''];
 insert($destination,$h_depart1,$h_arrive1,$type1,$frequence1);
}

par Cyrano » 05 mars 2006, 18:11

À la fin du dernier formulaire, ajoute un champ de type hidden et donne lui en valeur $nb que tu récupèreras pour recréer les boucles de récupération nécessaire.

par jib » 05 mars 2006, 17:58

Ok, je vois mais apres sur la page insertion.php

je souhaite recuperer toutes les variables.
par exemple, jecrit toutes les destinations a l ecran
comme je ne sais pas combien j'en ai, je fais ceci
for ($i=1;$i<=$nb;$i++){
$destination=$_POST['destination$i'];
echo $destination;
}
Alors la j'ai un probleme car il n'affiche rien.
la ligne qui pose pb est :
$destination=$_POST['destination$i'];
comment dois je faire?
Merci

par Cyrano » 05 mars 2006, 17:49

Bon, je suis pas certain que c'est la réponse à la bonne question mais on va essayer.

D'abord, pour récupérer ta variable de l'url, ti fais :
$nb = isset($_GET['nb']) ? $_GET['nb'] : 1;
Ce que faisant, si aucun paramètre n'est envoyé, la valeur sera 1 par défaut. Tu peux changer cette valeur si tu veux mettre autre chose.

Ensuite, commence par faire du code propre et valide, y compris en HTML et sépare donc les deux langages, il est parfaitement inutile de faire interpréter du html par PHP. Donc on fait de préférence :
<?php
while($i<=$nb)
{
?>
<p class=ecrit>insertion n° <?php echo($i); ?> d'un vol</p>
<form method="post" action="insertion.php?nb=<?php echo($nb); ?>">
  <p class="ecrit2"><label>destination :<input type="text" name="destination<?php echo($i); ?>" /></label><br />
  <label>heure de départ :<input type="text" name="h_depart<?php echo($i); ?>" /></label>
  <br />
  <label>heure d'arrivée :<input type="text" name="h_arrive<?php echo($i); ?>" /></label>
  <br />
  <label>type d 'avion</label>
  <select name="type<?php echo($i); ?>" tabindex="40">
  <option value="t6">type6</option>
  </select>
  <br />
  <label>fréquence :<input type=text name="frequence<?php echo($i); ?>" /></label>
  <br />
  </p>
  <br />
  <br />
<?php            
    $i++;
}
?>
  <input class="bouton" type="submit" value="Envoyer" /></form>

par jib » 05 mars 2006, 17:35

Salut,

je cherche un moyen de recuperer les variables d'une apge a une autre
sachant que les variable ont un nom destination$i comme nom mais je n'y arrive pas.

par Cyrano » 05 mars 2006, 17:31

Quelle est ta question ? :shock: :?:

formulaires multiples

par jib » 05 mars 2006, 16:28

bonjour,

je code une procedure d'insertion dans 1 base de données. Le principe est simple. On propose a l'user de chosisir dans un 1er temps, le nb de formulaire a presenter ( de 1 à ....).
Il remplie les formulaires. Il valide.
il envoie toutes les informations par la methode post a insertion.php?nb=$nb.
voila le code :
while($i<=$nb){

echo "<p class=ecrit>insertion n° $i d'un vol</p>";
echo " <form method=post action=insertion.php?nb=$nb>
			<p class=ecrit2><label>destination :<input type=text name=destination$i \></label><br />
			<label>heure de départ :<input type=text name=h_depart$i \></label>
			<br />
			<label>heure d'arrivée :<input type=text name=h_arrive$i \></label>
			<br />
			<label>type d 'avion</label>
			<select name=type$i tabindex=40>
                   <option value=t6>type6</option>
            </select>
			<br />
			<label>fréquence :<input type=text name=frequence$i \></label>
			<br />  </p><br /><br />";
			
			$i=$i+1;
			}
			
			echo "<input class=bouton type=submit value=Envoyer /></form>";


$nb est la nombre de formulaires.

Pour le moment, on ne fai aucune insertion mais on va ouvrir un fichier insertion.sql dans lequel on va ecrire les requettes:

exemple de fichier a la sortie du programme:

insert into vol('paris',12,14,type_1,mardi);

insert into vol('quebec',10,15,type_3 ,lundi);

dans la page insertion on a ceci(pour le moment):

for $i:1:$nb
$destination= //on recuperer la destination du formulaire i
echo $destination;
end for


Merci.