Veuillez vous connecter ou créer un compte pour suivre ce topic
Ce topic est suivi par: niluca
Ce topic a été résolu
Auteur Sujet: l'espace membre problème inscription

niluca

Messages: 11

bonjour , J'ai  suivis le tuto de PrimFX , pour crée un espace membre . mon  problème c'est que mon formulaire quand je lui rentre des information dans pseudo et que je lui met une lettre normalement il devrais me faire une erreur et pareil  pour le mot  passe  donc j'ai fait un copier coller du code que il donnait et sa fait la même chose .

et quand je fait valider il dit bien " Votre compte a bien été enregistré ! " alors que j'ai rien dans ma base de donné . 
Publicité

Florian

Messages: 73

Avec des screens de la base de donnée ainsi que le code on pourra t'aider mais sans ça va être dur

niluca

Messages: 11



et voici le code que j'ai marquer :
<?php
$bdd = new PDO('mysql:host=localhost;dbname=my_monuniver','monuniver', '');
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">
   </head>
   <body>
      <div align="center">
         <h2>Inscription</h2>
         <br /><br />
         <form method="POST" action="">
            <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>


Clouder

Messages: 82

Pourquoi dans ta requête tu met "Insert into membres" alors que le nom de ta table est "espace_membre" ?

Corrige ça et dit moi si c'est ok. Sourire

niluca

Messages: 11

sa a rien changer , j'ai rien dans ma base de donné .
merci pour  votre aide 

Clouder

Messages: 82

Tu obtiens un message d'erreur ou rien ? 
Essaie de faire un "print_r" après ta requête pour voir ce qu'il devrait enregistrer.

tu fais un "print_r($insertmbr); exit;"

niluca

Messages: 11

il me met "Adresse mail déjà utilisée ! " après avoir mis  "print_r($insertmbr); exit;"

Clouder

Messages: 82

C'est que ton adresse existe déjà dans la base de données ? 

niluca

Messages: 11

c'est bon il apparait dans la base de donné , mais j'ai toujours mon  problème avec le pseudo et le mot de passe normalement on peut pas mettre un caractère  

Clouder

Messages: 82

Tu peux mieux expliquer ton problème ? Car je ne vois pas ce que tu veux dire avec ton pseudo et mdp.

niluca

Messages: 11

par exemple je met "v " dans pseudo et "123" dans mot de passe normalement il devrait me dire que c'est trop petit 

Dwardower

Messages: 121

et la tu peux ?

niluca

Messages: 11

oui , c'est sa 

Dwardower

Messages: 121

Si tu veux imposer une limite, tu remplace ça :
if($pseudolength <= 255)
par ça :
if($pseudolength <= 255 AND $pseudolengh > 12)
12 est le nombre de caractères minimum à avoir
Publicité

niluca

Messages: 11

merci ,sa fonctionne maintenant 

Dwardower

Messages: 121

Ravis d'avoir aidé, bonne continuation Clin d'oeil


Veuillez vous connecter ou créer un compte pour poster une réponse