Problème base de donnée

Omega

Omega Le 18 mai 2016 à 16:28 (Édité le 25 janvier 2019 à 17:51)

Bonjour, j'ai actuellement un problème au niveau d'une page d'inscription dans laquelle la requête sql permettant d'écrire dans bdd les pseudos, mdp... ne fonctionne pas, or je n'ai pas d'erreur. Voici le code, merci d'avance:
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', 'monmotdepasse');

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>espace membre</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>
Florian

Florian Le 18 mai 2016 à 18:00

Un screen de la BDD ?
Omega

Omega Le 18 mai 2016 à 18:55 (Édité le 18 mai 2016 à 18:56)

http://image.noelshack.com/fichiers/2016/20/1463590518-capture-bdd.png
BeKidding

BeKidding Le 18 mai 2016 à 19:36

Il voulait dire la structure de la table x)
TheOldNoob

TheOldNoob Le 18 mai 2016 à 19:43

Salut,

Tu est sur d'avoir mis un mot de passe sur ta base de données? Parce qu'en général en local il n'y a qu'un champ vide pour le mot de passe...
Balatharas

Balatharas Le 18 mai 2016 à 20:14

@TheHoldNoob je pense qu'il a mis ça au cas ou quelqu'un qui ne connait pas cette ligne comprenne que c'est le champ du mot de passe.
@Omega si ce n'est pas ça alors enlève le monmotdepasse et ne met rien.
Balatharas

Balatharas Le 18 mai 2016 à 20:22

Ouais double-post et alors ?! Qu'est-ce que tu vas faire ??

J'ai testé ton code et apparemment c'est une erreur a la ligne 2. J'ai changer donc la connexion a la base de données: j'ai remplacer ta ligne par la mienne ce qui donne:

<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre;charset=utf8', 'root', '');
?>
Personnellement je n'ai pas trop compris l'erreur mais ce doit sans doute être les apostrophes après root: peut-être as-tu laissé "monmotdepasse". En tout cas, ce code marche parfaitement.

En espérant t'avoir aidé 😉


Longue vie à @PrimFX.
Omega

Omega Le 18 mai 2016 à 20:59

En fait j'ai changé quelques petites choses dans la config de la base de donnée pour avoir un mdp. Mais indépendamment de ça si le problème venait de la ligne 2 cela afficherai une erreur sur ma page seulement le problème viendrait des lignes 20 21 (celles où se trouve la requette qui ne s'exécute pas).
Omega

Omega Le 19 mai 2016 à 17:52

De plus le problème vient après avoir créé une colonne avatar dans ma table membres
Balatharas

Balatharas Le 19 mai 2016 à 18:55

Certains paramètres empêchent peut-être l'apparition de l'erreur, en tout cas met la ligne que je t'ai donner avec ton mot de passe en dernier, ensuite si cela ne fonctionne pas, enlève le mot de passe dans la ligne de code et dans MySQL. Prends en screen chaque erreurs que tu verras et si au final ça ne fonctionne pas, met les screens en précisant la modification que tu as fait juste avant.
Balatharas

Balatharas Le 19 mai 2016 à 19:07

@Omega Si tu as fait le code pour l'avatar alors il manque quelque chose:

Ton code:
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse) VALUES(?, ?, ?)");
Le code qu'il faudrait mettre:
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, avatar) VALUES(?, ?, ?, ?)");
Omega

Omega Le 19 mai 2016 à 19:27

c'est ce que j'ai fais seulement voilà : http://image.noelshack.com/fichiers/2016/20/1463678821-capture.png
TheOldNoob

TheOldNoob Le 19 mai 2016 à 20:46 (Édité le 19 mai 2016 à 20:47)

Salut l'ami,

Ton code, me chatouille les yeux depuis hier.

Du coup, se soir, je prend le temps d'adapté ce que j'ai fait en cours aujourd'hui a ton code.
J'éspère que ça te conviendra. Je t'invite quand même a vérifié mon code.
J'ai surtout refait un truc plus claire, avec un meilleur sécurité des mots de passe qui vont être hashé.
Le formulaire est bootstrapé, donc coté CSS, tu créer ton fichier style et tu adapte pour ton site. Sinon, tu a déjà un truc assez propre.

<?php 

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', 'monmotdepasse'); 

$post = array(); // Contiendra les données du formulaire nettoyées
$errors = array(); // contiendra nos éventuelles erreurs

$showErrors = false;
$success = false; 

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', 'monmotdepasse'); 
if (!empty($_POST)) {
    
    foreach ($_POST as $key => $value) { // Nettoyage des données
        $post[$key] = trim(strip_tags($value)); // récupération du _POST dans un tableau
    }
    if(strlen($post['nickname']) < 2 || strlen($post['nickname']) > 50){ // on défini les propriétés de 'firstname'
        $errors[] = '<div class="alert alert-danger" role="alert">Votre nom doit comporter entre 2 et 50 caractères</div>';
    }
    if(empty($post['email']) || !filter_var($post['email'], FILTER_VALIDATE_EMAIL)) {
        $errors[] = '<div class="alert alert-danger" role="alert">Votre email n\'est pas valide</div>';
    }
    if(isset($post['password']) && !empty($post['password']) && strlen($post['email']) < 6) {
        $errors[] = '<div class="alert alert-danger" role="alert">Votre mot de passe n\'est pas valide</div>';
    }
    else {
        
        $reqEmail = $pdo->prepare('SELECT email FROM membres WHERE email = :email'); // Vérification au cas ou l'email est déjà dans la pdo
        $reqEmail->bindValue(':email', $post['email']);
        $reqEmail->execute();
       
        if($reqEmail->rowCount() != 0){ // Si l'email n'est pas dans la pdo alors, on peu crée l'utilisateur
             $errors[] = '<div class="alert alert-danger" role="alert">L\'email existe déjà !</div>';
        }
    } 

    if(count($errors) > 0){  // On compte les erreurs, si il y en as (supérieur a 0), on passera la variable $showErrors à true.
        $showErrors = true; // valeur booleen // permettra d'afficher nos erreurs s'il y en a

        $nickname = $post['nickname'];
        $password = $post['password'];
        $email = $post['email'];
    }
    else { 
        // On sécurise notre password en le hashant
        // IMPORTANT : On ne stocke jamais de mot de passe en clair en pdo
        $password = password_hash($post['password'], PASSWORD_DEFAULT);

        // Insertion dans la pdo 
        $res = $pdo->prepare('INSERT INTO membres (nickname, email, password) VALUES(:nickname, :email, 😋assword)');

        $res->bindValue(':nickname', $post['nickname'], PDO::PARAM_STR);
        $res->bindValue(':email', $post['email'], PDO::PARAM_STR);
        $res->bindValue(':password', $password);
         
    
        if($res->execute()){
            $success = true; // Pour afficher le message de réussite si tout est bon
        }
        else {
            die(var_dump($res->errorInfo()));
        }
    }
}

if($success){ // On affiche la réussite si tout fonctionne
    echo '<div class="alert alert-success" role="alert"> L\'utilisateur est bien créer ! </div>';
}

if($showErrors){
    echo implode('<br>', $errors);
    }
?>


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Authentification</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

    <!-- Custom CSS -->
    <link rel="stylesheet" type="text/css" href="css/style.css">

</head>
<body>
<main class="container">
        <h1 class="text-center">Formulaire d'inscription</h1>
        <br>
<div class="container">
    <div class="panel panel-default">
        <div class="alert alert-info" role="alert"> Merci de remplire tout les champs correctement</div>    
            <form method="post" class="pure-form pure-form-aligned">
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">Pseudo</span>
                  <input type="text" class="form-control" name="nickname" placeholder="Votre prénom" aria-describedby="basic-addon1">
                </div><br>
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">Password</span>
                  <input type="password" class="form-control" name="password" placeholder="Votre mot de passe" aria-describedby="basic-addon1">
                </div><br>
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">@</span>
                  <input type="text" class="form-control" name="email" placeholder="Votre email" aria-describedby="basic-addon1">
                </div><br>
            <input type="submit" class="btn btn-primary" value="S'inscrire">
            </form>
        
    </div>
</div>
</main>
</body>
</html>
Omega

Omega Le 19 mai 2016 à 23:13

Bonjour et premièrement merci beaucoup, indépendamment du fait qu'il reste quelques zones d'ombre (raison pour laquelle j'écris ici) j'ai appris pas mal de choses. Ensuite, après quelques modifications, un problème avec la variable $res (ligne 57) : http://image.noelshack.com/fichiers/2016/20/1463692243-capture.png

De plus si tu observes bien le mot de passe était hashé dans le code que j'ai mis au début du topic (lignes 8 et 9). Mis à part ces quelques détails je te remercie pour les informations que m'ont apporté ton code et espère que tu pourras m'aider à éclaircir les derniers points qui me chiffonnent.
TheOldNoob

TheOldNoob Le 20 mai 2016 à 07:58

Salut,
ok, lol sur la ligne 57 ^^
y'a un smiley ici
:nickname, :email, assword)
:nickname, :email, 😋assword)
tu ajoute juste : et p sans espace devant assword
Omega

Omega Le 20 mai 2016 à 17:15

http://image.noelshack.com/fichiers/2016/20/1463757296-capture.png
Bon, une des deux erreurs et corrigée et merci seulement en voici une autre que je ne comprends pas concernant la variable nickname.
TheOldNoob

TheOldNoob Le 20 mai 2016 à 19:03

Bon, par manque de temps j'avais pas testé mon code 😉

Le voilà corriger 😀

<?php 

$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', 'monmotdepasse'); 

$post = array(); // Contiendra les données du formulaire nettoyées
$errors = array(); // contiendra nos éventuelles erreurs

$showErrors = false;
$success = false; 


if (!empty($_POST)) {
    
    foreach ($_POST as $key => $value) { // Nettoyage des données
        $post[$key] = trim(strip_tags($value)); // récupération du _POST dans un tableau
    }
    if(strlen($post['nickname']) < 2 || strlen($post['nickname']) > 50){ // on défini les propriétés de 'nickname'
        $errors[] = '<div class="alert alert-danger" role="alert">Votre nom doit comporter entre 2 et 50 caractères</div>';
    }
    if(empty($post['email']) || !filter_var($post['email'], FILTER_VALIDATE_EMAIL)) {
        $errors[] = '<div class="alert alert-danger" role="alert">Votre email n\'est pas valide</div>';
    }
    if(isset($post['password']) && !empty($post['password']) && strlen($post['email']) < 6) {
        $errors[] = '<div class="alert alert-danger" role="alert">Votre mot de passe n\'est pas valide</div>';
    }
    else {
        
        $reqEmail = $bdd->prepare('SELECT email FROM users WHERE email = :email'); // Vérification au cas ou l'email est déjà dans la pdo
        $reqEmail->bindValue(':email', $post['email']);
        $reqEmail->execute();
       
        if($reqEmail->rowCount() != 0){ // Si l'email n'est pas dans la pdo alors, on peu crée l'utilisateur
             $errors[] = '<div class="alert alert-danger" role="alert">L\'email existe déjà !</div>';
        }
    } 

    if(count($errors) > 0){  // On compte les erreurs, si il y en as (supérieur a 0), on passera la variable $showErrors à true.
        $showErrors = true; // valeur booleen // permettra d'afficher nos erreurs s'il y en a

        $nickname = $post['nickname'];
        $password = $post['password'];
        $email = $post['email'];
    }
    else { 
        // On sécurise notre password en le hashant
        // IMPORTANT : On ne stocke jamais de mot de passe en clair en pdo
        $password = password_hash($post['password'], PASSWORD_DEFAULT);

        // Insertion dans la pdo 
        $res = $bdd->prepare('INSERT INTO users (nickname, email, password) VALUES(:nickname, :email, 😋assword)');

        $res->bindValue(':nickname', $post['nickname'], PDO::PARAM_STR);
        $res->bindValue(':email', $post['email'], PDO::PARAM_STR);
        $res->bindValue(':password', $password);
         
    
        if($res->execute()){
            $success = true; // Pour afficher le message de réussite si tout est bon
        }
        else {
            die(var_dump($res->errorInfo()));
        }
    }
}

if($success){ // On affiche la réussite si tout fonctionne
    echo '<div class="alert alert-success" role="alert"> L\'utilisateur est bien créer ! </div>';
}

if($showErrors){
    echo implode('<br>', $errors);
    }
?>


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Authentification</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" integrity="sha384-1q8mTJOASx8j1Au+a5WDVnPi2lkFfwwEAa8hDDdjZlpLegxhjVME1fgjWPGmkzs7" crossorigin="anonymous">

    <!-- Custom CSS -->
    <link rel="stylesheet" type="text/css" href="css/style.css">

</head>
<body>
<main class="container">
        <h1 class="text-center">Formulaire d'inscription</h1>
        <br>
<div class="container">
    <div class="panel panel-default">
        <div class="alert alert-info" role="alert"> Merci de remplire tout les champs correctement</div>    
            <form method="post" class="pure-form pure-form-aligned">
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">Pseudo</span>
                  <input type="text" class="form-control" name="nickname" placeholder="Votre prénom" aria-describedby="basic-addon1">
                </div><br>
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">Password</span>
                  <input type="password" class="form-control" name="password" aria-describedby="basic-addon1">
                </div><br>
                <div class="form-group input-group">
                  <span class="input-group-addon" id="basic-addon1">@</span>
                  <input type="text" class="form-control" name="email" placeholder="Votre email" aria-describedby="basic-addon1">
                </div><br>
            <input type="submit" class="btn btn-primary" value="S'inscrire">
            </form>
        
    </div>
</div>
</main>
</body>
</html>
Omega

Omega Le 21 mai 2016 à 16:02

Merci seulement au début je demandais comment régler un problème avec un avatar or ce code ne règle par ce dernier.
TheOldNoob

TheOldNoob Le 21 mai 2016 à 17:48

Bah au début tu demande de l'aide parce que ça n'inscrit rien dans ta bdd. Normalement si tu a mis les bons identifiants, les bons noms de bdd et de table, y'a aucune raison que ça ne fonctionne pas.
Balatharas

Balatharas Le 21 mai 2016 à 18:17

@Omega Regarde (ou re-regarde) le tuto de @PrimFX pour l'avatar. Si tu a fait ton systeme avec son tuto, alors reprends ton code. S'il y a trop d'erreur recommence ton code d'avatar.
Omega

Omega Le 21 mai 2016 à 21:15

PrimFx a expliqué comment faire un avatar mais n'a pas vérifié si l'inscription fonctionnait encore
Omega

Omega Le 21 mai 2016 à 21:57

TheHoldNoob après j'ai expliqué que cela avait lieu après la mise en place d'un système d'avatar donc d'une colonne avatar dans la table de ma bdd
Balatharas

Balatharas Le 22 mai 2016 à 15:32 (Édité le 22 mai 2016 à 15:33)

Perso j'ai fais le système de PrimFX et tout marche très bien. Vérifie ton code, regarde les logs de PHP ou recommence ton code de l'avatar en reregardant la vidéo de PrimFX. Il a tester chacun de ses codes en vidéo et ils marchent toujours aussi bien. De plus je ne vois pas le rapport avec le système d'inscription.
Omega

Omega Le 22 mai 2016 à 17:47

le fait que la colonne avatar n'est pas remplie
joris1904

joris1904 Le 22 mai 2016 à 21:25

@omega moi sur mon site tu t'inscrit y a un default.png (en gros mon avatar) qui se met direct a chaque utilisateurs 😀

   <?php
   session_start();
   require_once('php/config.php'); /* Mes fonctions */

   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) {
                               $longueurKey = 15;
                               $key = "";
                               for($i=1;$i<$longueurKey;$i++) {
                                   $key .= mt_rand(0,9);
                               }
                               $insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, confirmkey, confirme, avatar) VALUES(?, ?, ?, ?, ?, ?)");
                               $insertmbr->execute(array($pseudo, $mail, $mdp, $key,'0',"default.png"));

                               $header="MIME-Version: 1.0\r\n";
                               $header.='From:"Jorisvideo.fr"<support@jorisvideo.fr>'."\n";
                               $header.='Content-Type:text/html; charset="uft-8"'."\n";
                               $header.='Content-Transfer-Encoding: 8bit';
                               $message='
<html>
   <body>
      <div align="center">
        <b>'.$pseudo.'</b>, Veuillez<a href="http://v2.jorisvideo.fr/confirmation.php?pseudo='.urlencode($pseudo).'&key='.$key.'">confirmez votre compte !</a>
      </div>
   </body>
</html>
';
                               mail($mail, "Confirmation de compte", $message, $header);
                               $erreur = "Votre compte a bien été créé ! Un email de confirmation de compte a été envoyé <br /><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>
       <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>";
       }
       ?>
sa devrait marche logiquement pour moi sa marche 😀