IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

vérification de formulaire


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut vérification de formulaire
    bonjour
    j'ai ecri un script pour verifier un formulaire (logi,; password) mais auccune verification ne se fait tout est enregistrer dans la base mais meme si le champs n'est pas rempli.

    quelqu'un pouura m'aider.merci

    voici mon script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
     
     
    <?php
    include("connexion.php");
     
    $nom=trim(addslashes(strip_tags($_POST['nom'])));
    $prenom=trim(addslashes(strip_tags($_POST['prenom'])));
    $code_postale=trim(addslashes(strip_tags($_POST['code_postale'])));
    $ville=trim(addslashes(strip_tags($_POST['ville'])));
    $pays=trim(addslashes(strip_tags($_POST['pays'])));
    $login=trim(addslashes(strip_tags($_POST['login'])));
    $password1=trim(addslashes(strip_tags($_POST['password1'])));
    $password2=trim(addslashes(strip_tags($_POST['password2'])));
     
    if(strlen($nom)==0 || strlen($prenom)==0 || strlen($code_postale)==0|| strlen($ville)==0 || strlen($pays)==0)
        {
    	 if(strlen($_POST['login'])<6)
    	   {
    	 echo"votre login est trop court et doit comporter 6 caractères"."<br>";
    	   }
    	   if(strlen($_POST['password1'])<6 && strlen($_POST['password2'])<6)
    	   {
    	    echo"votre password doit etre composé de 6 caractères"."<br>";
    		}
    		if($_POST['password1']!=$_POST['password2'])
    		{
    		  echo"vos password ne sont pas identiques"."<br>";
    		  }
    		  $sql="select login FROM client WHERE login='".addslashes($_POST['login'])."'";
    		  $req=mysql_query($sql);
    		  $result=mysql_num_rows($req);
    		  if($result!=0)
    		  {
    		    echo"votre login est dejà utilisé";
    			}
     
    	}
    else {
          $sql="INSERT INTO client(nom,prenom,code_postale,ville,pays,login,password1, password2) VALUES('".$nom."','".$prenom."', '".$code_postale."', '".$ville."', '".$pays."', '".$login."', '".$password1."','".$password2."')";
    	 $req=mysql_query($sql);
    	 }
    ?>
    <html>
    <head>
    <title>inscription</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
      <table border="0" cellspacing="0" cellpadding="0" align="center">
              <tr valign="top">
    		    <td width="337"><br><br><br>
              <b>merci vos donnée ont été bien enrégistrer!!!.</b>
       </td>
    		  </tr>
         </table>
    </body>
    </html>

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Tu imbriques tes tests dans ta première condition, et cette condition correspond à un champ vide.
    Si aucun des champs testés n'est vide, tu passes donc dans le premier else et tu insères.

    Tes vérifications supplémentaires (après celles des champs vides) doivent donc se trouver dans ton else
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    donc dans un premier temps, tes echo se font avant le début de la page html
    tu ouvre ta page html après tes vérifications alors que tes echo devrait être dans le corp de la page html (contenue entre les balises <body> et <.body>).

    ensuite après ce traitement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $nom=trim(addslashes(strip_tags($_POST['nom'])));
    $prenom=trim(addslashes(strip_tags($_POST['prenom'])));
    $code_postale=trim(addslashes(strip_tags($_POST['code_postale'])));
    $ville=trim(addslashes(strip_tags($_POST['ville'])));
    $pays=trim(addslashes(strip_tags($_POST['pays'])));
    $login=trim(addslashes(strip_tags($_POST['login'])));
    $password1=trim(addslashes(strip_tags($_POST['password1'])));
    $password2=trim(addslashes(strip_tags($_POST['password2'])));
    tu es sur que tu obtiens des string vide si la valeur passer en post était null?
    ensuite dans ta vérification, il y a un petit soucis. tu fais les autres test que si une des valeurs est vide alors qu'il faudrait le faire que si tu n'as pas de valeur vide. Essaye avec quelque chose dans ce genre là :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
     
    <html>
    <head>
    <title>inscription</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
    <?php
    include("connexion.php");
    if(strlen($nom)==0 || strlen($prenom)==0 || strlen($code_postale)==0|| strlen($ville)==0 || strlen($pays)==0)
    {
          if (tout les condition de validité)
          {
                 requète sql
                 message de confirmation 
          }
          else
          {
                if (une condition)
                {
                        message de l'erreur correspondante
                }
                if (une autre condition)
                {
                        message de l'erreur correspondante
                }
          }
     
    }
    else
    {
        echo "veuillez remplir tout les champs";
    }
     
    ?>
    </body>
    </html>

  4. #4
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut verification de formuliare
    merci, donc le code devrait etre de la sorte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    <?php
    include("connexion.php");
     
    $nom=trim(addslashes(strip_tags($_POST['nom'])));
    $prenom=trim(addslashes(strip_tags($_POST['prenom'])));
    $code_postale=trim(addslashes(strip_tags($_POST['code_postale'])));
    $ville=trim(addslashes(strip_tags($_POST['ville'])));
    $pays=trim(addslashes(strip_tags($_POST['pays'])));
    $login=trim(addslashes(strip_tags($_POST['login'])));
    $password1=trim(addslashes(strip_tags($_POST['password1'])));
    $password2=trim(addslashes(strip_tags($_POST['password2'])));
     
    if(strlen($nom)==0 || strlen($prenom)==0 || strlen($code_postale)==0|| strlen($ville)==0 || strlen($pays)==0)
        {
    	 echo"vous devez remplir les champs vides";		
    	}
    else {
    if(strlen($_POST['login'])<6)
    	   {
    	 echo"votre login est trop court et doit comporter 6 caractères"."<br>";
    	   }
    	   if(strlen($_POST['password1'])<6 && strlen($_POST['password2'])<6)
    	   {
    	    echo"votre password doit etre composé de 6 caractères"."<br>";
    		}
    		if($_POST['password1']!=$_POST['password2'])
    		{
    		  echo"vos password ne sont pas identiques"."<br>";
    		  }
    		  $sql="select login FROM client WHERE login='".addslashes($_POST['login'])."'";
    		  $req=mysql_query($sql);
    		  $result=mysql_num_rows($req);
    		  if($result!=0)
    		  {
    		    echo"votre login est dejà utilisé";
    			}
          $sql="INSERT INTO client(nom,prenom,code_postale,ville,pays,login,password) VALUES('".$nom."','".$prenom."', '".$code_postale."', '".$ville."', '".$pays."', '".$login."', '".$password."')";
    	 $req=mysql_query($sql);
    	 }
    ?>

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 26
    Points : 26
    Points
    26
    Par défaut
    dans ton code là, ta requète se fait quand même si le nom est trop court mais tu affiche quand même qu'il est trop court. Pareil pour les autres conditions.

  6. #6
    Nouveau membre du Club
    Inscrit en
    Septembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 49
    Points : 30
    Points
    30
    Par défaut verification de formulaire
    j'ai essayé ton code mais le problème c'est que malgré que les champs sont remplis je recois un message que je dois remplir tous les champs et la verification ne se fait pas toujours.et auusi l'enregistrement ne se fait plus dans la base

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    <html>
    <head>
    <title>inscription</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
     
    <body>
      <table border="0" cellspacing="0" cellpading="0" align="center">
       <tr valign="top">
         <td>
     
    <?php
    $etat=false;
    include("connexion.php");
    $nom=trim(addslashes(strip_tags($_POST['nom'])));
    $prenom=trim(addslashes(strip_tags($_POST['prenom'])));
    $code_postale=trim(addslashes(strip_tags($_POST['code_postale'])));
    $ville=trim(addslashes(strip_tags($_POST['ville'])));
    $pays=trim(addslashes(strip_tags($_POST['pays'])));
    $login=trim(addslashes(strip_tags($_POST['login'])));
    $password1=trim(addslashes(strip_tags($_POST['password1'])));
    $password2=trim(addslashes(strip_tags($_POST['password2'])));
    if(strlen($nom)==0 || strlen($prenom)==0 || strlen($code_postale)==0|| strlen($ville)==0 || strlen($pays)==0)
    {
          if ($etat=true)
          {
                  $sql="INSERT INTO client(nom,prenom,code_postale,ville,pays,login,password) VALUES('".$nom."','".$prenom."', '".$code_postale."', '".$ville."', '".$pays."', '".$login."', '".$password."')";
    	 $req=mysql_query($sql);
               echo"<b>merci vos donnée ont été bien enrégistrer!!!.</b>";
          }
          else
          {
    	        $sql="select login FROM client WHERE login='".addslashes($_POST['login'])."'";
    		  $req=mysql_query($sql);
    		  $result=mysql_num_rows($req);
    		  if($result!=0)
    		    {
    		    echo"votre login est dejà utilisé";
    			}
     
                if (strlen($_POST['login'])<6)
                {
                        echo"votre login est trop court et doit comporter 6 caractères"."<br>";
                }
                if (strlen($_POST['password1'])<6 && strlen($_POST['password2'])<6)
                {
                     echo"votre password doit etre composé de 6 caractères"."<br>";
                }
    			if($_POST['password1']!=$_POST['password2'])
    			{
    		  echo"vos password ne sont pas identiques"."<br>";
    		    }
          }
     
    }
    else
    {
        echo "veuillez remplir tout les champs";
    }
     
    ?>
     </td>
    	 </tr> 
      </table>
    </body>
    </html>

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Ton problème ici n'est pas au niveau du langage mais au niveau algorithmique.

    Pose ton problème sur le papier, en pseudo code ou autre, et la solution te viendra naturellement
    Tout pas mieux que tout le monde : évitez les questions techniques en mp sinon à quoi bon poster sur un forum ?

    Petite citation : "Le sage cherche la vérité, l'imbécile l'a déjà trouvée"

Discussions similaires

  1. Vérification de formulaire avec regexp
    Par Shadow aok dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 06/08/2007, 11h57
  2. vérification de formulaire
    Par manciaux dans le forum Langage
    Réponses: 23
    Dernier message: 01/09/2006, 16h20
  3. Vérification de formulaire :/
    Par Michaël dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/02/2006, 18h47
  4. Réponses: 5
    Dernier message: 12/07/2005, 17h04
  5. JavaScript de vérification de formulaire
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 6
    Dernier message: 26/02/2003, 13h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo