Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème validation

Pour inscription sur mon site

    31 décembre 2005 à 22:46:12

    Salut @tous.

    Mon problème est le suivant, j'ai un script qui est censé s'executer lorsque le formulaire de la page a été entré, voici la partie PHP :

      <?
       
       if(isset($_POST['nom'], $_POST['mdp'], $_POST['email']));
       {
                  $paramDB = array('heb' => 'localhost',
                                   'utilisateur' => 'root',
                                                       'pass' => '',
                                                       'db' => 'projetM');
                                                       
               $connexion = mysql_connect($paramDB['heb'], $paramDB['utilisateur'], $paramDB['pass']);
               mysql_select_db($paramDB['db'], $connexion);
               
               $verificationNom = mysql_query('SELECT `id` FROM `joueur` WHERE `nom` = `'.$_POST['nom']'`');
               $verification = mysql_num_rows($verificationNom);
               
                if($verification == '1')
                    {
                     echo 'Ce nom est déja utilisé, veuillez en choisir un autre.';
               
               }
               elseif(preg_match("!\.|\'|\"|<|>!","$_POST['nom']") || preg_match("!\.|\'|\"|<|>!","$_POST['mdp']"))
               {
                echo 'Votre nom contient un ou des caractères spéciaux, veuillez le changer.';
               }
               else
               {
                $pseudo = $_POST['nom']
                $mdp = $_POST['mdp']
                    $mdp = md5($mdp);
                    $email = $_POST['email']
                mysql_query("INSERT INTO mini_membre (id, nom, mdp, email, unites, transports, basilisk, carbone, minerai, nova, statut) VALUES ('', '$pseudo', '$mdp', '$email' '500', '25', '0', '1000', '200', '450', 'mandalorien')");
               }
     
     ?>


    Et le code complet :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
            <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
            <title>Inscription</title>
     </head>

     <body>
      <?
       
       if(isset($_POST['nom'], $_POST['mdp'], $_POST['email']));
       {
                  $paramDB = array('heb' =>
    'localhost',
                                   'utilisateur' => 'root',
                                                       'pass' => '',
                                                       'db' => 'projetM');
                                                       
               $connexion = mysql_connect($paramDB['heb'], $paramDB['utilisateur'], $paramDB['pass']);
               mysql_select_db($paramDB['db'], $connexion);
               
               $verificationNom = mysql_query('SELECT `id` FROM `joueur` WHERE `nom` = `'.$_POST['nom']'`');
               $verification = mysql_num_rows($verificationNom);
               
                if($verification == '1')
                    {
                     echo 'Ce nom est déja utilisé, veuillez en choisir un autre.';
               
               }
               elseif(preg_match("!\.|\'|\"|<|>!","$_POST['nom']";) || preg_match("!\.|\'|\"|<|>!","$_POST['mdp']";))
               {
                echo 'Votre nom contient un ou des caractères spéciaux, veuillez le changer.';
               }
               else
               {
                $pseudo = $_POST['nom']
                $mdp = $_POST['mdp']
                    $mdp = md5($mdp);
                    $email = $_POST['email']
                mysql_query("INSERT INTO mini_membre (id, nom, mdp, email, unites, transports, basilisk, carbone, minerai, nova, statut) VALUES ('', '$pseudo', '$mdp', '$email' '500', '25', '0', '1000', '200', '450', 'mandalorien')";);
               }
     
     ?>
     <form action="inscription.php" method="get" lang="fr">
     <p>Nom en tant que Mandalorien :</p><input name="nom" type="text" lang="fr" />
     <p>Mot de passe choisi :</p><input name="mdp" type="password" lang="fr" />
     <p>Entrez votre adresse e-mail (elle sera utilis&eacute;e pour vous contacter en cas de besoin, lors de changements très importants, elle ne sera nullement visible)</p><input name="email" type="text" lang="fr" />
     <input type="submit" value="Inscription !" lang="fr" />
     </form>
     </body>
    </html>


    L'erreur est à la ligne 21, j'ai par contre l'impression que le if(isset($_POST['nom'], $_POST['mdp'], $_POST['email'])); ne fait rien.

    Je remercie d'avance ceux qui pourront m'aider.
    • Partager sur Facebook
    • Partager sur Twitter
      31 décembre 2005 à 23:37:49

      normal, il faut pas mettre de ","

      il faut mettre des && qui signifie ET ou bien mettre AND :)
      et pas non plus de ";" a la fin de la condition ;)
      • Partager sur Facebook
      • Partager sur Twitter
        1 janvier 2006 à 1:24:14

        C'est normale qu'il y a écrit anonyme dans dernier message ?
        • Partager sur Facebook
        • Partager sur Twitter
          1 janvier 2006 à 2:06:31

          Je vais essayer ça demain, merci. Sinon quel "," ?
          • Partager sur Facebook
          • Partager sur Twitter
            1 janvier 2006 à 11:16:41

            crc :
            isset ( mixed var [, mixed var [, ...]] )
            isset accepte plusieurs variables à tester d'un coup

            Spectror :
            if(isset($_POST['nom'], $_POST['mdp'], $_POST['email']))=>;<=
            c'est quoi ce ; ?
            • Partager sur Facebook
            • Partager sur Twitter
              1 janvier 2006 à 11:19:58

              Heu, je te conseille quand même _assez fortement_ de revoir les bases de PHP si tu fais des erreurs de style ; après un if, ou des erreurs que je ne comprends pas dans le eiseif (des ; partout)
              • Partager sur Facebook
              • Partager sur Twitter
                1 janvier 2006 à 15:59:12

                essaye ceci :

                <code=PHP>
                <?

                if(isset($_POST['nom'], $_POST['mdp'], $_POST['email']));
                {
                $paramDB = array('heb' => 'localhost',
                'utilisateur' => 'root',
                'pass' => '',
                'db' => 'projetM');

                $connexion = mysql_connect($paramDB['heb'], $paramDB['utilisateur'], $paramDB['pass']);
                mysql_select_db($paramDB['db'], $connexion);

                $verificationNom = mysql_query('SELECT `id` FROM `joueur` WHERE `nom` = `'.$_POST['nom']'`');
                $verification = mysql_num_rows($verificationNom);

                if($verification == '1')
                {
                echo 'Ce nom est déja utilisé, veuillez en choisir un autre.';

                }
                elseif(preg_match("!\.|\'|\"|<|>!","$_POST['nom']") || preg_match("!\.|\'|\"|<|>!","$_POST['mdp']"))
                {
                echo 'Votre nom contient un ou des caractères spéciaux, veuillez le changer.';
                }
                else
                {
                $pseudo = $_POST['nom'];
                $mdp = $_POST['mdp'];
                $mdp = md5($mdp);
                $email = $_POST['email'];
                mysql_query("INSERT INTO mini_membre (id, nom, mdp, email, unites, transports, basilisk, carbone, minerai, nova, statut) VALUES ('', '$pseudo', '$mdp', '$email' '500', '25', '0', '1000', '200', '450', 'mandalorien')");
                }

                ?>
                </code>

                Tu as oublié des ;
                • Partager sur Facebook
                • Partager sur Twitter

                Problème validation

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown