[RESOLU] ouvrir une fenêtre avec php pour un formulaire

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 : [RESOLU] ouvrir une fenêtre avec php pour un formulaire

par DocType » 16 janv. 2006, 14:40

Moi je mets les variables en session et je les ressert au passage...
Ou alors tu mets un isset(tes variables envoyées) et tu affoches en fonction ensuite le formulaire ou autre page.
$mavarpass = FALSE;
if(isset($_POST['envoi']))
{
     echo "c'est envoyé!";
     $mavarpass = TRUE;
}
if($mavarpass == FALSE)
{
     //formulaire
}
Ensuite, dans ton formaulire, il te suffit de resservir le champ
if(isset($_POST['monchamp'])) echo "value='".$_POST['monchamp']."'";
Après, tu couples à tout cela un javascript préventif, et t'as des laertes de partout :P

par Invité » 16 janv. 2006, 14:32

ok merci je vais cogiter tout ça !

par finipe » 16 janv. 2006, 14:04

Pour gérer les erreurs formulaires sans que l'utilisateur perde ce qu'il a mis, je fais généralement comme ça :
// --> VALIDATION FORMULAIRE
if($_POST['validation'])
{
   // Condition erreur 1
   if(condition1)
   {
      //...
      Echo "Message d'erreur 1";
   }

   // Condition erreur 2
   else if(condition2)
   {
      //...
      Echo "Message d'erreur 2";
   }

   // Condition erreur 3
   else if(condition3)
   {
      //...
      Echo "Message d'erreur 3";
   }

   // Envoi du formulaire
   else
   {
      $VALIDE_OK = TRUE;
      //...
   }
}

// --> AFFICHAGE FORMULAIRE
if($VALIDE_OK != TRUE)
{
   if($_POST['validation'])
   {
      $champ1 = $_POST['champ1'];
      $champ2 = $_POST['champ2'];
      $champ3 = $_POST['champ3'];
   }

   echo "<form method='POST' action='$PHP_SELF'>";
   echo "<input type='texte' name='champ1' value=\"$champ1\">";
   echo "<input type='texte' name='champ2' value=\"$champ2\">";
   echo "<input type='texte' name='champ3' value=\"$champ3\">";
}
Voilà. Par contre, il faut faire attention à la façon dont tu gères les apostrophes et le guillemets.

ouvrir une fenêtre avec php pour un formulaire

par Invité » 16 janv. 2006, 12:51

re bonjour
merci pour tout mon formulaire marche enfin !

j'ai fait des test sur mes champs avec le code suivant

$fax = $_POST['fax'];
if (($fax != "" )and (strlen($fax)!=10)) exit("votre fax doit comporter 10 chiffres.");
if (($fax != "" )and !is_numeric($fax)) exit("votre fax ne doit comporter que des chiffres.");

Mais le problème c'est que si la personne remplie tous les champs et qu'il y a une erreur, en cliquant sur précédent elle perd tout ce qu'elle a écrit

Au lieu de faire un exit comment puis je faire pour qu'une petite fenêtre apparaisse
j'ai vu quelques codes en java mais j'arrive pas à les intégrer à la suite de mon code php

merci encore pour vos pistes !