$_POST et if
koukawa
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
jordane45 Messages postés 38486 Date d'inscription Statut Modérateur Dernière intervention -
jordane45 Messages postés 38486 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
veirifie.php
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 !!
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 !!
A voir également:
- $_POST et if
- If exist - Forum Java
- The realtek network controller was not found. if deep sleep mode is enabled please plug the cable ✓ - Forum Pilotes (drivers)
- If char ✓ - Forum Programmation
- The Realtek Network Controller was not found. - Forum Pilotes (drivers)
- Php if multiple conditions ✓ - Forum PHP
2 réponses
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 :
Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane
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
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.
Il faudrait plutot
Ensuite dans ta verifie.php tu fais
...etc
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
Ton formulaire HTML : saisieclient.php
Ta page: veirifie.php