Comment faire un formulaire en boucle

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 : Comment faire un formulaire en boucle

par guilt92 » 24 mai 2007, 16:35

bonjour,

il te suffit pour cela d envoyer ton formulaire toujours sur sa propre page grave a la valeur $_SERVER["PHP_SELF"] de php.

Ainsi un formulaire de la forme :
<form name="blabla" method="POST" action="<?php echo $_SERVER["PHP_SELF"];?>"></form>
renverra vers sa propre page.

Il te suffit ensuite de tester si les valeurs on étées envoyées dans cette meme page et éventuellement si elle ne sont pas vides, et ainsi avoir un code du genre:
<html>
<head></head>
<body>
<?php
//si les variabless sont postées 
if(isset($_POST["variable1"]) && !empty($_POST["variable1"]) && isset($_POST["variable2"]) && !empty($_POST["variable2"])) {
//insertion dans la base de donnée
}
?>
<form .....></form>
</body>
</html>

Comment faire un formulaire en boucle

par hachem » 24 mai 2007, 16:23

je veux faire un formulaire ds une boucle:a chaque fois que je valide le formulaire je met ces informations dans la base etle formulaire sera afficher un 2eme fois ainside suite jusqu a ce que les champs du formulaire sont vide pour sorttir de la page
et encore merci
le formulaire :


[php]print '
<?php
<form name="form2" method="post" action="">

<p>Donner l\'identifiant du sous theme:
<input type="text" name="idss_theme">
</p>
<p>Donner le nom du sous theme:
<input type="text" name="nom_sstheme">
</p>
<p><input type="submit" name="submit" value="OK"></p>';


$id_theme=$_POST['id_theme'];
$nom_sstheme=$_POST['nom_sstheme'];
$id_sstheme=$_POST['idss_theme'];
$q="INSERT INTO `sous_theme` ( `topicid`,`sous_theme_id`,`sous_theme_nom`)
VALUES ('$id_theme','$id_ssthem','$nom_sstheme');";
$r = mysql_query($q);
?>[/php]