$_POST et if

koukawa Messages postés 1 Statut Membre -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

je souhaite faire une page qui valide l'inscription d'un nouveau membre de ma page , alors j'ai crée deux pages, la premiere saisieclient.php dans laquelle le client saisie ses infos et la 2eme verifie.php qui vérifie si le membre est déjà inscrit ou non;

saisieclient.php

 

<?php
session_start(); ?>


<form action="saisieclient.php" method="post"> 
<table> 
<tbody> 
<tr> <td>Nom : </td> <td> <input type="text" name="nom" size="40" maxlength="40" /><br /> </td> </tr> 

<tr> <td>Prénom : </td> <td> <input type="text" name="prenom" size="40" maxlength="40" /><br />  </td> </tr> 

<tr> <td>Age : </td> <td> <input type="text" name="age" size="10" maxlength="2" /><br /> </td> </tr> 

<tr> <td>Adresse : </td> <td> <input type="text" name="adresse" /><br /> </td> </tr> 

<tr> <td>Ville : </td> <td> <input type="text" name="ville" /> <br />  </td> </tr> 

<tr> <td>[/contents/170-introduction-au-courrier-electronique Mail] : </td> <td> <input type="text" name="mail2" size="60" maxlength="60" /><br /> </td> </tr> 

<tr> <td>Code personnel <br>(8 caractères maxi) </td><td> <input type="password" name="code2" size="8" maxlength="8" /><br />  </td> </tr> 

<tr> <td colspan="2"><input type="submit" value="Enregistrer" name="envoi" /> </td></tr> 

 </tbody> 
</table> 

</form> 

<?php

if($_POST["envoi"]=="Enregistrer") 
 { 
 //Récupération des valeurs du formulaire 
                $nom= $_POST["nom"]; 
   $prenom= $_POST["prenom"]; 
   $age= $_POST["age"]; 
   $adresse= $_POST["adresse"]; 
   $ville= $_POST["ville"]; 
   $mail2= $_POST["mail2"]; 
   $code2= $_POST["code2"];
   
    //Sessions 
    $_SESSION['nom']=$nom; 
   $_SESSION['prenom']=$prenom; 
   $_SESSION['age']=$age; 
   $_SESSION['adresse']=$adresse; 
   $_SESSION['ville']=$ville; 
   $_SESSION['mail2']=$mail2; 
   $_SESSION['code2']=$code2; 

     echo "<script type=\"text/javascript\"> window.location.href='verifie.php'; </script>";
 }
?>

 


veirifie.php

<?php

session_start();
include('connex_db.php');

  
if (empty($nom) or empty($prenom) or empty($age) or empty($adresse) or empty($ville) or empty($mail) or empty($code))
{   echo "<script type=\"text/[/contents/577-javascript-introduction-au-langage-javascript javascript]\">alert('champs vide'); </script>";
  echo "<script type=\"text/javascript\"> window.location.href:'saisieclient.php'; </script>"; 
 
   }

else
 { 
 
  $sql1="select * from clientt where mail='".$_POST['mail']."' AND code='".$_POST['code']."'";
   $resultat=mysql_query($sql1) or die('erreur ');
 
 
 if(mysql_num_rows($resultat)==0)
{
  $sql2="insert into clientt values('','".$nom."','".$prenom."','".$age."','".$adresse."','".$ville."','".$mail."','".$code."')";
  mysql_query($sql2);

  echo "<script type=\"text/javascript\">alert('vous avez bien inscris'); </script>"; 
 
 
}
else   echo "<script type=\"text/javascript\">alert('vous etes deja inscrits'); </script>"; 


 }
?>


mon probleme est que ma page verifie.php considere toujours mes champs vide meme si je les remplis et elle m'affiche toujours l'alert champs vide !!

2 réponses

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    Bonjour,

    Tu fais appel à ta seconde page via une redirection Javascript ...
    Les Variables POST ne sont alors pas transmises ...

    Le plus simple :

    Soit tu mets TOUT dans une seule PAGE.. soit tu redirige ton FORM directement vers ta seconde page.. et tu y fais la récupération des variables post.

    Pour ma part...je prendrais le premier choix.

    Par exemple :
    <?php
    session_start(); 
    
    //--------------------------------------------------------------------------------------------------------
    // FONCTIONS
    //--------------------------------------------------------------------------------------------------------
    function getPostValue($postName,$defaultValue=''){
     return isset($_POST[$postName])?$_POST[$postName]:$defaultValue;
    }
    
    function verifInsertUser($nom,$prenom,$age,$adresse,$ville,$mail,$code){
      include('connex_db.php');
     if (empty($nom) or empty($prenom) or empty($age) or empty($adresse) or empty($ville) or empty($mail) or empty($code)){ 
      echo "<script type=\"text/[/contents/577-javascript-introduction-au-langage-javascript javascript]\">alert('champs vide'); </script>";
      echo "<script type=\"text/javascript\"> window.location.href:'saisieclient.php'; </script>"; 
     }else { 
      $sql1="SELECT * 
         FROM clientt 
         WHERE mail='".$_POST['mail']."' 
         AND code='".$_POST['code']."'";
      $resultat=mysql_query($sql1) or die('erreur :<br>'.$sql1);
      
      if(mysql_num_rows($resultat)==0){
       $sql2="INSERT into clientt 
          VALUES('','".$nom."','".$prenom."','".$age."','".$adresse."','".$ville."','".$mail."','".$code."')";
      mysql_query($sql2) or die('Erreur :<br>'.$sql2);
      echo "<script type=\"text/javascript\">alert('vous avez bien inscris'); </script>";  
     }else{
      echo "<script type=\"text/javascript\">alert('vous etes deja inscrits'); </script>"; 
     }
    }
    
    //--------------------------------------------------------------------------------------------------------
    // Traitement du "Submit" 
    //--------------------------------------------------------------------------------------------------------
    if(isset($_POST["envoi"]) && $_POST["envoi"]=="Enregistrer") { 
     //Récupération des valeurs du formulaire 
     $nom   = getPostValue("nom"); 
     $prenom  = getPostValue("prenom"); 
     $age   = getPostValue("age"); 
     $adresse = getPostValue("adresse"); 
     $ville  = getPostValue("ville"); 
     $mail2  = getPostValue("mail2"); 
     $code2  = getPostValue("code2");
        
     //Sessions 
     $_SESSION['nom']=$nom; 
     $_SESSION['prenom']=$prenom; 
     $_SESSION['age']=$age; 
     $_SESSION['adresse']=$adresse; 
     $_SESSION['ville']=$ville; 
     $_SESSION['mail2']=$mail2; 
      $_SESSION['code2']=$code2; 
      echo "<script type=\"text/javascript\"> window.location.href='verifie.php'; </script>";
    }
    
    
    ?>
    <form action="" method="post"> 
    <table> 
     <tbody> 
      <tr> <td>Nom : </td> <td> <input type="text" name="nom" size="40" maxlength="40" /><br /> </td> </tr> 
      <tr> <td>Prénom : </td> <td> <input type="text" name="prenom" size="40" maxlength="40" /><br />  </td> </tr> 
      <tr> <td>Age : </td> <td> <input type="text" name="age" size="10" maxlength="2" /><br /> </td> </tr> 
      <tr> <td>Adresse : </td> <td> <input type="text" name="adresse" /><br /> </td> </tr> 
      <tr> <td>Ville : </td> <td> <input type="text" name="ville" /> <br />  </td> </tr> 
      <tr> <td>Mail : </td> <td> <input type="text" name="mail2" size="60" maxlength="60" /><br /> </td> </tr> 
      <tr> <td>Code personnel <br>(8 caractères maxi) </td><td> <input type="password" name="code2" size="8" maxlength="8" /><br />  </td> </tr> 
      <tr> <td colspan="2"><input type="submit" value="Enregistrer" name="envoi" /> </td></tr> 
     </tbody> 
    </table> 
    
    </form> 
    


    Avant de poser une question, merci de lire la charte du site.
    Cordialement, Jordane
    1
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Ou la seconde méthode:

      Ton formulaire HTML : saisieclient.php
      <?php
      session_start(); ?>
      <form action="veirifie.php" method="post"> 
      <table> 
      <tbody> 
      <tr> <td>Nom : </td> <td> <input type="text" name="nom" size="40" maxlength="40" /><br /> </td> </tr> 
      
      <tr> <td>Prénom : </td> <td> <input type="text" name="prenom" size="40" maxlength="40" /><br />  </td> </tr> 
      
      <tr> <td>Age : </td> <td> <input type="text" name="age" size="10" maxlength="2" /><br /> </td> </tr> 
      
      <tr> <td>Adresse : </td> <td> <input type="text" name="adresse" /><br /> </td> </tr> 
      
      <tr> <td>Ville : </td> <td> <input type="text" name="ville" /> <br />  </td> </tr> 
      
      <tr> <td>[/contents/170-introduction-au-courrier-electronique Mail] : </td> <td> <input type="text" name="mail2" size="60" maxlength="60" /><br /> </td> </tr> 
      
      <tr> <td>Code personnel <br>(8 caractères maxi) </td><td> <input type="password" name="code2" size="8" maxlength="8" /><br />  </td> </tr> 
      
      <tr> <td colspan="2"><input type="submit" value="Enregistrer" name="envoi" /> </td></tr> 
      
       </tbody> 
      </table> 
      
      </form> 
      


      Ta page: veirifie.php
      
      
      
      <?php
      session_start();
      include('connex_db.php');
      
      if($_POST["envoi"]=="Enregistrer") 
       { 
       //Récupération des valeurs du formulaire 
                      $nom= $_POST["nom"]; 
         $prenom= $_POST["prenom"]; 
         $age= $_POST["age"]; 
         $adresse= $_POST["adresse"]; 
         $ville= $_POST["ville"]; 
         $mail2= $_POST["mail2"]; 
         $code2= $_POST["code2"];
         
          //Sessions 
          $_SESSION['nom']=$nom; 
         $_SESSION['prenom']=$prenom; 
         $_SESSION['age']=$age; 
         $_SESSION['adresse']=$adresse; 
         $_SESSION['ville']=$ville; 
         $_SESSION['mail2']=$mail2; 
         $_SESSION['code2']=$code2; 
      
           
      if (empty($nom) or empty($prenom) or empty($age) or empty($adresse) or empty($ville) or empty($mail) or empty($code)) {  
        echo "<script type=\"text/[/contents/577-javascript-introduction-au-langage-javascript javascript]\">alert('champs vide'); </script>";
        echo "<script type=\"text/javascript\"> window.location.href:'saisieclient.php'; </script>"; 
       
      } else  { 
       
        $sql1="select * from clientt where mail='".$_POST['mail']."' AND code='".$_POST['code']."'";
        $resultat=mysql_query($sql1) or die('erreur ');
        
       if(mysql_num_rows($resultat)==0) {
        $sql2="insert into clientt values('','".$nom."','".$prenom."','".$age."','".$adresse."','".$ville."','".$mail."','".$code."')";
        mysql_query($sql2);
        echo "<script type=\"text/javascript\">alert('vous avez bien inscris'); </script>";  
      }else{
         echo "<script type=\"text/javascript\">alert('vous etes deja inscrits'); </script>"; 
       }
      }
      ?>
      
      
      0
  2. Kygo
     
    Bonjour,

    Cette ligne ne fait que te réddiriger vers verifie.php mais sans prendre en compte ce que t'as écrit dans ton formulaire.
    echo "<script type=\"text/javascript\"> window.location.href='verifie.php'; </script>";


    Il faudrait plutot

    $donnees = "?nom=".$nom;
    $donnees .="&prenom="$prenom;
    $donnees .= "&age=".$age;
    $donnees .= "&adresse=".$adresse;
    $donnees .= "&ville=".$ville;
    $donnees .= "&mail2=".$mail2;
    $donnees .= "&code2=".$code2;

    echo "echo "<script type=\"text/javascript\"> window.location.href='verifie.php'".$donnees."; </script>";


    Ensuite dans ta verifie.php tu fais
    $nom = $_GET['nom'];
    $prenom = $_GET['prenom'];

    ...etc
    0