[RESOLU] Problème formulaire persistant

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] Problème formulaire persistant

Re: Problème formulaire persistant

par moogli » 09 juin 2013, 17:35

Salut,


Tu as mis $pass1 au lieu de pass1 dans l'index du tableau $_POST.


@+

Problème formulaire persistant

par yosaku » 09 juin 2013, 14:59

Bonjour voilà j'utilise un formulaire d'inscription sur mon site mais j'ai un problème dérangeant, sur ma page de traitement la première condition (si les variables sont vides) ne passe pas alors du coup dans mon else je renvois avec un header et la méthode get les infos qui ont été saisie et quand on regarde bien L’URL, toutes les variables sont remplis. Je vous appel donc au secours.
Voici le code du formulaire :
 <form method="post" action="connexion/registre.php">
 
   <fieldset>
      <legend>Informations personnelles</legend>
         
       <label for="nom">Nom</label>
       <input type="text" name="nom" id="nom" <?php if(isset($_GET['nom'])) echo 'value="'. $_GET["nom"]. '"'; ?> required />
  
       <label for="prenom">Prénom</label>
       <input type="text" name="prenom" id="prenom" <?php if(isset($_GET['prenom'])) echo 'value="'. $_GET["prenom"].'"'; ?> required/>
   
       <label for="date">Date de naissance</label>
       <input type="date" name="date" id="date" <?php if(isset($_GET['date'])) echo 'value="'. $_GET["date"].'"'; ?> required/>
        
       <label for="tel">Téléphone</label>
       <input type="text" name="tel" id="tel" <?php if(isset($_GET['tel'])) echo 'value="'. $_GET["tel"].'"'; ?> required/>
        
       <label for="email">E-mail</label>
       <input type="text" name="email" id="email" <?php if(isset($_GET['email'])) echo 'value="'. $_GET["email"].'"'; ?> required />
   </fieldset>
   <fieldset>
       <legend>Connexion</legend>
  
       <label for="pass1">Mot de passe</label>
       <input type="password" name="pass1" id="pass1" <?php if(isset($_GET['pass1'])) echo 'value="'. $_GET["pass1"].'"'; ?>required>
  
       <label for="pass2">Confirmation</label>
        
       <input type="password" name="pass2" id="pass2" onkeyup="checkPass(); return false;" <?php if(isset($_GET['pass2'])) echo 'value="'. $_GET["pass2"].'"'; ?> required>
   </fieldset>
   <fieldset>
        <legend>Facturation</legend> 
  
        <label for="pays">Pays</label>
       <select name="pays" id="pays">
            <option value="FR" selected>France</option>
            <option value="AL">Albania</option>
            <option value="AD">Andorra</option>
            <option value="AT">Austria</option>
            <option value="BY">Belarus</option>
            <option value="BE">Belgium</option>
            <option value="BA">Bosnia-Herzegovina</option>
            <option value="BG">Bulgaria</option>
            <option value="CZ">Czech, Rep.</option>
            <option value="HR">Croatia</option>
            <option value="DK">Denmark</option>
            <option value="EE">Estonia</option>
            <option value="CE">Finland</option>
            <option value="DE">Germany</option>
            <option value="GI">Gibraltar</option>
            <option value="GR">Greece</option>
            <option value="HU">Hungary</option>
            <option value="IE">Ireland</option>
            <option value="IS">Iceland</option>
            <option value="IT">Italy</option>
            <option value="LV">Latvia</option>
            <option value="LI">Liechtenstein</option>
            <option value="LT">Lithuania</option>
            <option value="LU">Luxembourg</option>
            <option value="MK">Macedonia</option>
            <option value="MT">Malta</option>
            <option value="MD">Moldova</option>
            <option value="MC">Monaco</option>
            <option value="NO">Norway</option>
            <option value="NL">Netherlands</option>
            <option value="PL">Poland</option>
            <option value="PT">Portugal</option>
            <option value="RO">Romania</option>
            <option value="RU">Russia</option>
            <option value="SM">San Marino</option>
            <option value="SK">Slovakia</option>
            <option value="SI">Slovenia</option>
            <option value="ES">Spain</option>
            <option value="SE">Sweden</option>
            <option value="CH">Switzerland</option>
            <option value="TR">Turkey</option>
            <option value="TS">Tunisia</option>
            <option value="UK">United Kingdom</option>
            <option value="UA">Ukraine</option>
            <option value="VA">Vatican City</option>
            <option value="YU">Yugoslavia</option>
       </select> 
  
       <label for="adresse">Adresse</label>
       <input type="text" name="adresse" id="adresse" <?php if(isset($_GET['adresse'])) echo 'value="'. $_GET["adresse"].'"'; ?> required/>
   
       <label for="codep">Code postal</label>
       <input type="text" name="codep" id="codep" <?php if(isset($_GET['codep'])) echo 'value="'. $_GET["codep"].'"'; ?> required/>
   
       <label for="ville">Ville</label>
       <input type="text" name="ville" id="ville" <?php if(isset($_GET['ville'])) echo 'value="'. $_GET["ville"].'"'; ?> required/>
        
       <button type="submit" name="envoyer">Envoyer</button>
   </fieldset>  
</form>
Le code de traitement :
<?php
if(isset($_POST['nom']) && isset($_POST['prenom']) && isset($_POST['email']) &&  isset($_POST['$pass1']) && isset($_POST['pass2']) &&  isset($_POST['date']) && isset($_POST['tel']) &&  isset($_POST['adresse']) &&  isset($_POST['pays']) && isset($$_POST['codep']) && isset($_POST['ville']))
{
            $nom = mysql_real_escape_string(trim($_POST['nom']));
            $prenom = mysql_real_escape_string(trim($_POST['prenom'])); 
            $email= htmlspecialchars(trim($_POST['email']));  
            $pass1= mysql_real_escape_string(trim($_POST['pass1']));
            $pass2= mysql_real_escape_string(trim($_POST['pass2']));    
                $date =  mysql_real_escape_string(trim($_POST['date']));
            $tel= mysql_real_escape_string(trim($_POST['tel']));
            $pays= mysql_real_escape_string(trim($_POST['pays']));
                $adresse = mysql_real_escape_string(trim($_POST['adresse']));
            $codep=mysql_real_escape_string(trim($_POST['codep']));
                $ville= mysql_real_escape_string(trim($_POST['ville']));
             
   
   
      require "../inc/config.php";
      //require "../../inclusions/config.php";
      mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
      mysql_select_db(DB_BDD);
      mysql_query ('SET NAMES "UTF8"');
       
      $sql = 'Select email from membres where email="'.$email.'"';
            $req = mysql_query($sql); 
  if(mysql_num_rows($req)>0)
  {
 
      header('location:../inscription.php?erreur=4&nom='.$_POST["nom"].'&pass1='.$_POST["pass1"].'&pass2='.$_POST["pass2"].'&date='.$_POST["date"].'&prenom='.$_POST["prenom"].'&adresse='.$_POST["adresse"].'&codep='.$_POST["codep"].'&tel='.$_POST["tel"].'&pays='.$_POST["pays"].'&email='.$_POST["email"].'&ville='.$_POST["ville"]);
 
  }
  else
    {
      $mdp = strcmp($pass1, $pass2);
      if($mdp == 0) 
      {   
          $msgT = 'Merci de vous êtes inscrit sur le site Yamaël \n Voici vos infomations de connexion : \n
          identifiant : '.$email.'\n Mot de passe : '.$pass1.'\n Cordialement.';
          $sjt = "Inscription";
          $entete="X-Priority:1\n";   
          $msg=" ";
          $msg.="Ce mail a été envoyer via le site Yamaël.com :\n";
          $msg.=" ";
          $msg.="Sujet : ".$sjt."\n";
          $msg.="Message : ".$msgT."\n";
          $msg.=" ";
          mail($email,$sjt,$msg,$entete); 
          $pass1 = sha1($_POST['pass1']);
            $sql = "insert into membres(id, nom, prenom, date, tel, email, pass1, pays, adresse, codep, ville) values('null', '".$nom."', '".$prenom."','".$date."','".$tel."','".$email."','".$pass1."','".$pays."','".$adresse."','".$codep."','".$ville."')";
            mysql_query($sql) or die('Erreur SQL !'.$sql.'<br/>'.mysql_error());
           
            mysql_close(); 
                                                                                             
            header('location:../inscription.php?erreur=2');    
      }
      else
      {
             header('location:../inscription.php?erreur=3&nom='.$_POST["nom"].'&pass1='.$_POST["pass1"].'&pass2='.$_POST["pass2"].'&date='.$_POST["date"].'&prenom='.$_POST["prenom"].'&adresse='.$_POST["adresse"].'&codep='.$_POST["codep"].'&tel='.$_POST["tel"].'&pays='.$_POST["pays"].'&email='.$_POST["email"].'&ville='.$_POST["ville"]);   
      }       
   }
   
}
 else //Si les varriables sont vides
  {
    header('location:../inscription.php?erreur=5&nom='.$_POST["nom"].'&pass1='.$_POST["pass1"].'&pass2='.$_POST["pass2"].'&date='.$_POST["date"].'&prenom='.$_POST["prenom"].'&adresse='.$_POST["adresse"].'&codep='.$_POST["codep"].'&tel='.$_POST["tel"].'&pays='.$_POST["pays"].'&email='.$_POST["email"].'&ville='.$_POST["ville"]);
  }   
?>
Voilà donc des le début la condition if(isset($_POST['nom... ne passe pas j'ai tester avec !empty également, j'ai bien chercher je ne trouve pas je vais faire une dépression à force de chercher =(

Voilà si quelqu'un peut me sauver la vie et trouver pourquoi les données ne passent pas, merci d'avance.
edit: Voilà le contenu d'un var dumps sur POST
array(12) { ["nom"]=> string(9) "Henry" ["prenom"]=> string(11) "Chris" ["date"]=> string(10) "1990-04-05" ["tel"]=> string(1) "a" ["email"]=> string(15) "[email protected]" ["pass1"]=> string(1) "a" ["pass2"]=> string(1) "a" ["pays"]=> string(2) "FR" ["adresse"]=> string(29) "187 rue du jardin des fleur" ["codep"]=> string(5) "59085" ["ville"]=> string(5) "Lillou" ["envoyer"]=> string(0) "" }