$_POST et if

Fermé
koukawa Messages postés 1 Date d'inscription samedi 20 décembre 2014 Statut Membre Dernière intervention 20 décembre 2014 - Modifié par koukawa le 20/12/2014 à 15:54
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 20 déc. 2014 à 16:20
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

jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié par jordane45 le 20/12/2014 à 16:06
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
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
20 déc. 2014 à 16:20
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
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