Partage
  • Partager sur Facebook
  • Partager sur Twitter

mon formulaire d inscription ne fonctionne pas

    17 mars 2018 à 14:58:54

    <?php
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
    
    if(isset($_POST['forminscription'])) {
       $pseudo = htmlspecialchars($_POST['pseudo']);
       $mail = htmlspecialchars($_POST['mail']);
       $mail2 = htmlspecialchars($_POST['mail2']);
       $mdp = sha1($_POST['mdp']);
       $mdp2 = sha1($_POST['mdp2']);
       if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
          $pseudolength = strlen($pseudo);
          if($pseudolength <= 255) {
             if($mail == $mail2) {
                if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
                   $reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
                   $reqmail->execute(array($mail));
                   $mailexist = $reqmail->rowCount();
                   if($mailexist == 0) {
                      if($mdp == $mdp2) {
                         $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
                         $insertmbr->execute(array($pseudo, $mail, $mdp));
                         $erreur = "Votre compte a bien été créé ! <a href=\"connexion.php\">Me connecter</a>";
                      } else {
                         $erreur = "Vos mots de passes ne correspondent pas !";
                      }
                   } else {
                      $erreur = "Adresse mail déjà utilisée !";
                   }
                } else {
                   $erreur = "Votre adresse mail n'est pas valide !";
                }
             } else {
                $erreur = "Vos adresses mail ne correspondent pas !";
             }
          } else {
             $erreur = "Votre pseudo ne doit pas dépasser 255 caractères !";
          }
       } else {
          $erreur = "Tous les champs doivent être complétés !";
       }
    }
    ?>
    <html>
       <head>
          <title>inscription</title>
          <meta charset="utf-8">
    	  <link rel="stylesheet" href="m2h.css" />
       </head>
       <body>
          <div align="center"> 
    	  <br /><br />
             <h2>Inscription</h2>
             <br /><br />
             <form method="POST" action="inscription.php">
                <table>
                   <tr>
                      <td align="right">
                         <label for="pseudo">Pseudo :</label>
                      </td>
                      <td>
                         <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mail">Mail :</label>
                      </td>
                      <td>
                         <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mail2">Confirmation du mail :</label>
                      </td>
                      <td>
                         <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mdp">Mot de passe :</label>
                      </td>
                      <td>
                         <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" />
                      </td>
                   </tr>
                   <tr>
                      <td align="right">
                         <label for="mdp2">Confirmation du mot de passe :</label>
                      </td>
                      <td>
                         <input type="password" placeholder="Confirmez votre mdp" id="mdp2" name="mdp2" />
                      </td>
                   </tr>
                   <tr>
                      <td></td>
                      <td align="center">
                         <br />
                         <input type="submit" name="forminscription" value="Je m'inscris" />
                      </td>
                   </tr>
                </table>
             </form>
             <?php
             if(isset($erreur)) {
                echo '<font color="red">'.$erreur."</font>";
             }
             ?>
          </div>
       </body>
    </html>
    ca n insert rien dans ma bdd espace_membre dans la table membes, aidez moi svp
    • Partager sur Facebook
    • Partager sur Twitter
      17 mars 2018 à 16:10:58

      Fait un echo $erreur pour voir déjà si tu as une erreur qui apparaît .. 

      Ce sont deux fichiers différents ou tout est dans le même ?

      • Partager sur Facebook
      • Partager sur Twitter
        17 mars 2018 à 16:14:18

        Bonjour ?

        1. en quoi "ça ne fonctionne pas" ?
        2. activer les erreurs PDO/SQL

        Remarques :

        • ces htmlspecialchars n'ont pas à être là
        • sha1, ça vaut quedalle
        • strlen, pour de l'UTF-8, ça renvoie le nombre d'octets, pas de caractères (sauf si c'est vraiment le but)
        • rowCount n'est pas censé être utilisé comme ça/ici (cf sa doc)

        -
        Edité par julp 17 mars 2018 à 16:16:42

        • Partager sur Facebook
        • Partager sur Twitter
          17 mars 2018 à 16:16:58

          salut , le code ne remplit pas la bdd

          -
          Edité par lukkky 17 mars 2018 à 16:20:04

          • Partager sur Facebook
          • Partager sur Twitter
            17 mars 2018 à 16:47:58

            tu es sûr d'être connecté à la BDD (mdp ='' (?))
            • Partager sur Facebook
            • Partager sur Twitter
              17 mars 2018 à 16:50:30

              salut normalement oui, comment je fais pour verifier?
              • Partager sur Facebook
              • Partager sur Twitter
                17 mars 2018 à 16:50:32

                Essaye ça comme ça t'aura une erreur au cas où

                try
                {
                $db = new PDO('mysql:host=localhost;dbname=Forum','root','root');

                }
                catch (Exception $e)
                {
                        die('Erreur : ' . $e->getMessage());
                }
                ?>

                • Partager sur Facebook
                • Partager sur Twitter
                  17 mars 2018 à 16:52:29

                  ca m ecrit ca

                  Erreur : SQLSTATE[HY000] [1045] Acc�s refus� pour l'utilisateur: 'root'@'@localhost' (mot de passe: OUI)

                  • Partager sur Facebook
                  • Partager sur Twitter
                    17 mars 2018 à 16:54:22

                    on dirait que tu n'as pas indiqué le mdp lors de ta connexion. Ce serait pas "root" ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      17 mars 2018 à 16:56:38

                      non y a pas de mdp normalement y a root comme utilisateur et pas de mdp et pourtant j arrive a me connecter....et quand je met root comme mdp c est la que ca m ecrit l erreur

                      -
                      Edité par lukkky 17 mars 2018 à 16:58:04

                      • Partager sur Facebook
                      • Partager sur Twitter
                        17 mars 2018 à 16:59:02

                        ah bon ? Parce que par défaut, PhPMyAdmin mets "root" comme mdp avec  MAMP ou WAMP

                        Ex chez moi

                        • Partager sur Facebook
                        • Partager sur Twitter
                          17 mars 2018 à 17:03:42

                          oui je sais pas pourquoi mais quand j entre un truc correct dans l formulaire tout se passe bien ca renvoie "votre compte a bien ete cree" pourtant ca ecrit rien dans la bdd..y a un bleme
                          • Partager sur Facebook
                          • Partager sur Twitter
                            17 mars 2018 à 17:05:35

                            En tout tu as un souci de connexion. Le nom de la base(maj, minuscules) je sais pas un truc

                            peut-être en mettant localhost à la place de 127.0.0.1. Le message d'erreur est bizarre, il y a deux fois @

                            autre truc

                            on m'a conseille de mettre avant tout le code html

                            session_start(0);

                            -
                            Edité par MarcGiromini 17 mars 2018 à 19:01:37

                            • Partager sur Facebook
                            • Partager sur Twitter

                            mon formulaire d inscription ne fonctionne pas

                            × 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