TUTO PHP - Créer un espace membre - 1/3 L'inscription

PrimFX Boris ('PrimFX') Le 15 mars 2015

Je vous propose une mini-série dans laquelle je vous apprendrai à créer un espace membre en PHP, avec une page d'inscription, un profil, un formulaire de connexion et une page d'édition du profil; tout ça en 3 épisodes !

Retrouvez le code de la vidéo par ici:

Partie traitement (PHP)
<?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 !";
   }
}
?>


Partie affichage (HTML)
<html>
   <head>
      <title>TUTO PHP</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>

A propos de l'auteur

PrimFX
Boris ('PrimFX')

Je m'appelle Boris, j'ai 22 ans et je suis passionné d'informatique. Suite à mes études (Licence Informatique puis MSc Computer Science au Trinity College Dublin), je gère l'entreprise Single Quote co-fondée en 2019 et je profite de mon temps libre pour partager ma passion à travers des vidéos & articles 😃

Votre commentaire

Vous devez être connecté pour poster un commentaire. Se connecter ou Créer un compte

Commentaires 116

  • Schad Le 13 septembre, à 17:48 | Répondre

    Bonjour,
    Lorsque je lance mon code PHP tout fonctionne pour le mieux et il est bien mentionné que l'utilisateur s'est inscrit. Toutefois, l'inscription de l'utilisateur ne se constate pas dans la base SQL et lorsque je souhaite me connecter on me dit que le mdp ou le mail sont incorrects (alors qu'ils sont bons)...

    Help

  • Donuts Le 15 avril, à 10:27 | Répondre

    @ziad1 passe sur le forum si tu a besoin d'aide. ;)

  • zizou1 Le 7 avril, à 02:11 | Répondre

    @PrimFX
    Bonjour PrimFX,
    Peux-tu m'aider,
    => Rien ne s'affiche dans ma bdd: espace_membre/membres avec Wamp... sur le browser. !!?
    Fichiers php =>tout est ok et pas d'erreur.
    Grand Merci.
    Bien cordialement.

  • zizou1 Le 7 avril, à 01:58 | Répondre

    @fabien225
    Voir si il ne faut ajouter un accolade de fermeture à la fin },
    ou ; à la fin de la ligne.
    Erreur de syntaxe
    @fabien225

  • zizou1 Le 7 avril, à 01:37 | Répondre

    Bonjour,
    J'ai bien créé l'espace membre sous php. Et tout est ok, sans erreur. Même le mail fonctionne avec Gmail.
    ***Mais, mon problème est que rien ne s'affiche (via 'Inscription' =" compte est bien créé !") , dans la table bdd espace_membre de Wamp !??
    Grand merci pour votre aide.****
    @clovis
    En fait, avant le 04 avril tout marchait bien avec wampx64 (activation auto), et je voyais bien les connexion dans la bdd. J'avais changé interc. sur utfm8_general_ci. Le 05 y a un blocage sur la page d'accueil de Wamp, alors, je le supprime et je le réinstalle. Et depuis rien ne s'affiche et en plus je ne sais plus où est j'avais activé interc: general_ci ( peut être uniquement sur 'id'??).

  • zizou1 Le 7 avril, à 01:19 | Répondre

    Bonjour,
    J'ai bien créé l'espace membre sous php. Et tout est ok, sans erreur. Même le mail fonctionne avec Gmail.
    ***Mais, mon problème est que rien ne s'affiche (via 'Inscription' =" compte est bien créé !") , dans la table bdd espace_membre de Wamp !??
    Grand merci pour votre aide.

  • Kardil Le 14 mars, à 22:27 | Répondre

    Bonjour,
    j'ai un petit soucis, le sha1 n'est plus considéré comme sûr par PHP, il est plutôt conseillé d'utilisé password_hash par contre un soucis se pose à votre ligne 19 (php) en utilisant cette méthode de hachage cela ne fonctionne pas...
    j'ai creusé un peu avec password_verify mais je ne comprend pas très bien, un peu d'aide serais la bienvenue

    Cordialement

  • Axeno_ Le 31 janvier, à 09:52 | Répondre

    Bonjour, j'ai un problème car quand je fait le site le php pour l'incription sa marche mais quand je rentre les info sa me dit bien compte cree mais dans la bdd il y a rien .

  • papyweb Le 1 novembre, à 19:30 | Répondre

    Bonjour,
    j'ai bien apprécié le tuto mais mon "webexpert 5" ne semble pas trop en comprendre l'écriture.
    depuis la commande "prepare(*select" etc affiche tout les commandes php et il ne reconnait pas non plus la value (en php) pour le pseudo, le mail et sa confirmation.
    ça pourrait venir du fait que j'ai pas crée de fichier avec la base de données ?
    J'ai réalisé plusieurs sites perso (www.stefjo.ch/ ) tous en html et je voudrais me lancer avec du php sur la réalisation d'un site pour de rencontre entre séniors (j'ai 74 ans).

  • Napy Le 19 octobre, à 23:28 | Répondre

    Bsr merci pour votre soutien envers les débutants...
    Les tutos sur l'espace membre (la 1ere partie) je ne parviens pas à me connecter pourtant j'ai créer la même bdd...je vois pas comment le mot de passe a été code avec sha1....j'ai essayé de rentrer les info manuellement dans php my admin mais tjours rien

  • barkley Le 3 octobre, à 02:59 | Répondre

    Aucun résultat non plus .... j'ignore la raison

  • barkley Le 3 octobre, à 02:40 | Répondre

    j'ai aussi le même problème ... tu peux nous aidez Boris ?

  • LouisM Le 1 septembre, à 09:42 | Répondre

    @sosotitimar78 Hey peut etre que un jour tu regardera mon message mais c juste que tu es pas co a ta bdd si tu mac $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', 'root');
    mais si tu es sur windows
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');
    Bonne journée

  • sosotitimar78 Le 23 mars, à 11:31 (Édité le 23 mars 2020 à 12:21) | Répondre

    Aidez moi svp je ne comprends pas l'erreur dans mon code que j'ai copié sur votre site.
    ca m'ecrit ca :
    "Fatal error: Uncaught PDOException: SQLSTATE[HY000] [1045] ProxySQL Error: Access denied for user 'root'@'2a02:4780:bad:f00d::16' (using password: NO) in /storage/ssd2/120/13013120/public_html/index.php:2 Stack trace: #0 /storage/ssd2/120/13013120/public_html/index.php(2): PDO->__construct('mysql:127.0.0.1...', 'root', '') #1 {main} thrown in /storage/ssd2/120/13013120/public_html/index.php on line 2"

    Et à la ligne 2 se trouve :
    $bdd = new PDO('mysql:host=localhost;dbname=id13013120_espace_membre', 'root', '');

    Aidez moi svp : mon email : sofiane.hocine78@gmail.com.

    URGENT SVP

  • Scots Le 30 septembre, à 12:57 | Répondre

    Bonjour, supers tutos !

    Il manque juste un détail qui aiderait : La structure des dossiers et fichiers car je m'y perds un peu quand je dois ajouter un fichier étant débutant en PHP ;-)

  • amaury08400 Le 14 février, à 23:30 | Répondre

    Bonjour j'ai un problème c'est certainement au niveau de la base de données or elle est identique a celle du Tuto. Mon problème est le suivant ( je suis sur mac) quand je m'inscris pour la premiere fois tout marche or dès que j'essaie 1h après ou plus tard plus rien ne marche alors que j'ai copier le code donné et que tout marchait avant. Il y a que quand je recrée une nouvelle base de données que ça remarche mais ca refait pareil après 1h rien ne marche si je pouvais avoir des réponses stp merci

  • amaury08400 Le 14 février, à 23:30 | Répondre

    Bonjour j'ai un problème c'est certainement au niveau de la base de données or elle est identique a celle du Tuto. Mon problème est le suivant ( je suis sur mac) quand je m'inscris pour la premiere fois tout marche or dès que j'essaie 1h après ou plus tard plus rien ne marche alors que j'ai copier le code donné et que tout marchait avant. Il y a que quand je recrée une nouvelle base de données que ça remarche mais ca refait pareil après 1h rien ne marche si je pouvais avoir des réponses stp merci

  • lolololol Le 4 juillet, à 08:13 | Répondre

    j'ai un problème quand je clic sur je l'inscrit rien ne s'affiche dans ma bdd pourtant ma table je l'ai applé membres
    mon code :
    <?php
    $bdd = new PDO('mysql:host=localhost;dbname=red', '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=\"login.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 !";
    }
    }
    ?>

  • Hartozia Le 20 juin, à 17:26 | Répondre

    @PrimFX bonjour j'ai un probleme avec $erreur.
    Mon pere qui lui aussi a programmé un site me dit que c'est parceque tu aurais fait $erreur sur un autre fichier donc que dois-je faire ?

  • labo Le 25 avril, à 14:59 | Répondre

    Bonjour a tous,
    j'ai des problème avec les 2 codes source (je l'ai modifié par rapport a : ';dbname' ...)
    suis-je le seul?
    je suis tombé sur ce site car je te suivais sur youtube et j'ai eu un problème niveau code source (pour afficher le pseudo automatiquement lorsque l'on se loupe ,car chez moi, PHP rajoute un espace a chaque fois.)

    sinon, exellente vidéo ,continue comme ça!!

  • sabirgreen Le 20 avril, à 13:42 | Répondre

    Bonjour,
    peut-on passer une boucle afin de rajouter plusieurs items dans la partie transaction de paypal express checkout
    Merci

  • lionel97220 Le 12 avril, à 02:50 | Répondre

    bonjour j'ai un petit problème j'ai tout bien compléter le php mais rien ne s'affiche pour dire aue c ok ou pas ou meme de compléter tout les champ

  • lionel97220 Le 12 avril, à 02:50 | Répondre

    bonjour j'ai un petit problème j'ai tout bien compléter le php mais rien ne s'affiche pour dire aue c ok ou pas ou meme de compléter tout les champ

  • hassibi Le 14 février, à 16:59 | Répondre

    Bonjour Le Code Est plus disponible stp tu pourrais re mettre accès a tous le monde et pas que au Premium stp merci quand meme

  • MallOuUu Le 28 janvier, à 22:20 | Répondre

    Bonsoir, j'ai voulu prendre le code php mais la page ou le site à bug j'ai du rafraîchir et ducoup sa me met qu'il faut que je sois membre premium pour y avoir accès de nouveau hors je ne l'ai pas eu à cause d'un bug de chargement, help please.

  • MallOuUu Le 28 janvier, à 22:15 | Répondre

    Bonsoir, j'ai voulu prendre le code php mais la page ou le site à bug j'ai du rafraîchir et ducoup sa me met qu'il faut que je sois membre premium pour y avoir accès de nouveau hors je ne l'ai pas eu à cause d'un bug de chargement, help please.

  • chatonne Le 18 décembre, à 20:33 | Répondre

    Bonsoir que faut il faire pour vérifier que le pseudo n'est pas déjà pris et comment l'écrire dans le php? merci

  • chatonne Le 18 décembre, à 20:33 | Répondre

    Bonsoir que faut il faire pour vérifier que le pseudo n'est pas déjà pris et comment l'écrire dans le php? merci

  • Wapi Le 28 novembre, à 19:41 | Répondre

    <strong>Salut</strong>

  • Wapi Le 28 novembre, à 19:40 | Répondre

    <strong>Salut</strong>

  • Brainable Le 17 novembre, à 12:14 | Répondre

    @clovis J'ai fait ce que t'as dis ca marche toujours pas ... Je suis perdu

  • Brainable Le 17 novembre, à 12:11 | Répondre

    @clovis J'ai fait ce que t'as dis ca marche toujours pas ... Je suis perdu

  • clovis Le 4 novembre, à 19:10 | Répondre

    Bonjour à tous!

    Pour les nombreuses personnes qui, du jour au lendemain, ont eu des problèmes avec le transfert des données de l'inscription vers Mysql, il suffit d'aller dans les paramètres de la table et de prendre l'interclassement suivant : utf8mb4_general_ci 

    J'ai passé plus de 7 heures à réécrire et analyser mon code encore et encore... J'avais bel et bien le message comme dequoi l'inscription marchait à chaque fois, mais rien apparaissait dans la base de données...

    Et donc voila, j'ai fini par trouver qu'il fallait remettre l'interclassement à utf8mb4_general_ci ! C'est comme si Mysql avait changé l'interclassement du jour au lendemain pour une raison inconnue, car il y a quelques jours, tout marchait à merveille...

    Bref voila, j'espère que ça vous aidera!
    Bonne programmation!




  • angeailes Le 2 août, à 19:55 | Répondre

    @leaemile

  • BrietGame Le 31 juillet, à 23:50 | Répondre

    Salut !
    J'ai un soucis au moment où je m'inscris ça me dit que mon compte est créer mais quand je regarde sur la base de donnés, je ne vois pas mon inscription. Pouvez-vous m'aider s'il vous plaît.

  • ChJacquot Le 30 juillet, à 06:38 | Répondre

    Bonjour PrimFX,
    comment résoudre le problème #1044 - Access denied for user ''@'localhost' ?
    Je n'ai pas la possibilité de créer de nouvelles bases de données, le bouton n'apparait pas !
    Je ne peux qu'utiliser la base test ! Comment configurer Wamp pour reussir à en créer de nouvelles !
    J'utilise Wampserver 2.4 (Apache 2.4.4; PHP 5.4.12; Mysql 5.6.12)
    Cela serait sympa de faire un tuto, je pense ne pas être le seul à avoir ce problème !?

  • ThomasLBA Le 13 juillet, à 12:07 | Répondre

    @adefrsgthyuj Tu pourrait être un peu plus gentil, non ?

  • adefrsgthyuj Le 8 juillet, à 12:33 | Répondre

    [i]Commentaire supprimé & compte banni : contenu insultant[/i]

  • AquaFlash13584 Le 14 juin, à 15:29 | Répondre

    <html> </html>

  • nely Le 6 juin, à 14:49 | Répondre

    Un immense MERCI! Vous ne savez pas à quel point ce tutoriel m'a aidé, j'étais bloquée depuis des semaines.
    Encore une fois MERCI.

  • ababacarkaliffall Le 23 mai, à 13:51 | Répondre

    @panzer moi aussi jai ce mm probleme jai creee mon forum et tt jai deja cree un compte il est bien dans la table membre mais jarrive plus a faire aucune inscription ,??!!!! Pk

  • TEH Le 16 mai, à 18:47 | Répondre

    @lhadid64 Ouep j'ai le même problème :(

  • panzer Le 11 mai, à 22:05 | Répondre

    Bonjour
    Alors tout fonctionne bien De A à Z au niveau affichages,le compte à bien été créé(aucun message d'erreur),sauf que...RIEN dans la table membre!!!!!
    La création du compte ne fonctionne pas....
    Quelqu'un à une idée??

  • lhadid64 Le 30 avril, à 23:21 | Répondre

    Bonsoir,
    J'ai un problème lorsque j'actualise ma page pour voir si la connexion à la base de donnée marche cela me met "Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] [2002] Connection refused'..."
    Si quelqu'un pourrait m'aider, merci.

  • lu59 Le 26 avril, à 20:41 | Répondre

    bonjour, ja'i un petit soucis. quelqu'un pourrai t'il m'aider ?

  • lu59 Le 26 avril, à 20:32 | Répondre

    bonjour, ja'i un petit soucis. quelqu'un pourrai t'il m'aider ?

  • bingo Le 5 avril, à 15:43 | Répondre

    @PaulLavieille je crois que ça marche finalement , merci ^^

  • PaulLavieille Le 2 avril, à 20:27 | Répondre

    @bingo Passe sur le Discord

  • bingo Le 31 mars, à 22:06 | Répondre

    merci beaucoup pour ce fameux tuto ; mais ça ne marche pas vers la fin ,j ai pas compris pourquoi je n'arrive pas à empêcher les doublant !!
    merci de me répondre

  • phyphy Le 1 mars, à 00:10 | Répondre

    bonsoir, boris,
    j'ai essayer de faire ce auto, mais çà ne marchait pas comme toi au niveau des messages d'erreur, donc j'ai télécharger ton code, et il ne fonctionne pas non plus, il y a une page blanche, quand je le lance. sais-tu ce qui ne va pas dans le code afin que je puisse le corriger ?
    merci

  • phyphy Le 28 février, à 23:58 | Répondre

    bonsoir, boris,
    j'ai essayer de faire ce auto, mais çà ne marchait pas comme toi au niveau des messages d'erreur, donc j'ai télécharger ton code, et il ne fonctionne pas non plus, il y a une page blanche, quand je le lance. sais-tu ce qui ne va pas dans le code afin que je puisse le corriger ?
    merci

  • ytzmi Le 24 janvier, à 18:23 | Répondre

    bonjour
    j'ai évidemment adapté ce tuto avec mon projet.
    tout est ok, sauf que mon message dit "erreur" qui dit que l'enregistrement a été effectué" ne s'affiche pas.
    A savoir aussi, que mon hébergeur est free et que le POD ne fonctionne pas. donc, "bidouillage"

    au cas voici le code php (après ma connexion à la bdd)
    //
    if(isset($_POST['forminscription']))
    {
    $page = htmlspecialchars($_POST['page']);
    $urlpage = htmlspecialchars($_POST['urlpage']);
    if(!empty($_POST['page']) AND !empty($_POST['urlpage']))

    {
    $sql = "INSERT INTO fotop VALUES ('','" . $page . "','" . $urlpage . "')";

    }
    else
    {
    $erreur = "la page a été enregistrée";
    }
    // on lance la requête et on impose un message d'erreur
    mysql_query($sql) or die('Erreur SQL !'.$sql.'<br />'.mysql_error());
    // on ferme la connexion à la base de données
    mysql_close();
    }


    ?>
    ///
    si vous voyez l'erreur, aidez-moi à la voir, svp. merci

  • blabla95 Le 21 janvier, à 16:45 | Répondre

    Bonjour, lorsque je cree un compte, il n'est pas enregistre dans ma base de donnée et je ne peut pas me connecter avec...
    Merci de votre reponse

  • KAD Le 6 janvier, à 02:57 | Répondre


    @oliviergiive

    Slt,

    Merci à BORIS pour ce tuto merveilleusement bien expliqué et bien détaillé.

    Perso, je débute et j'ai eu le même problème que toi (je pense), j'espère que ça t'aidera.

    - Vérifie les paramètres de ta bdd dans phpmyadmin : id, pseudo, mail, motdepasse doivent être en minuscule.

    - id en AUTO-INCREMENT (A.I à cocher dans modifier) + privilèges à cocher aussi + la 1ère clé à côté de id doit être jaune (primaire je crois).

    J'espère que ça marchera :)

  • oliviergiive Le 3 janvier, à 17:37 | Répondre

    Bravo pour le tuto,
    Je rencontre un soucis: quand je remplis mes infos: pseudo, email, mdp, etc. Je confirme mon inscription. Le texte de confirmation s'affiche mais rien n'apparaît dans ma base de donnée.

    Les infos ne veulent pas s'insérer dans la base...

    Que faut-il faire ?

    Merci

  • leaemile Le 18 décembre, à 17:26 | Répondre

    Bonjour Boris,
    Prof de Maths (dans mes moments perdus (lol)) je constate, comme c'est le cas pour certains de mes étudiants, que la valeur n'attend pas le nombres des années.
    Bravo pour ce Tuto (Créer un espace membres), qui une fois parfaitement expliqué dans le détail, semble être d'une facilité déconcertante.
    Il me sera très utile car je suis en train de construire un site pour mon association et je voudrais le mettre en ligne avec restriction d'accès uniquement auprès des adhérents afin qu'ils puissent le découvrir, le critiquer, l'amender, corriger les coquilles et/ou fautes d'orthographe, etc ..., avant de l'ouvrir au grand public. Donc voila grâce à ce Tuto, c'est chose faite.
    Un grand merci et bien cordialement.
    Jacques
    PS : je vais m'empresser de jeter un œil sur tes autres Tutos, on ne sait jamais je pourrais peut être y trouver des choses inintéressantes.

  • JP71 Le 9 novembre, à 19:13 | Répondre

    Matt1616 Désoler pour le retard le nom de la bdd est "espace_membre" sans les guillemets bien sur! Suivi de 2 tables une "membres" et une autre "online" .Sorry pour le retard....

  • matt1616 Le 6 novembre, à 13:28 | Répondre

    @JP71 le nom de ta base de donnees(bdd)

  • ToTaRed01 Le 2 octobre, à 00:23 | Répondre

    Super tuto excepté que je rencontre un soucis: quand je remplis mes infos: pseudo, email, mdp, etc. Je confirme mon inscription. Le texte de confirmation s'affiche mais rien n'apparaît dans ma base de donnée :/
    J'ai beau relire mon code, créer une nouvelle base , copoier le même texte que toi, les infos ne veulent pas s'insérer dans la base...
    Merci de m'aider

  • vorotil Le 13 septembre, à 19:17 | Répondre

    Salut tous le monde dans
    $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', ''); je dois écrire quoi a la place de espace membre pour que ça marche?
    Quand je supprime cette ligne tous marche, sauf quand les 2 mot de passe ne sont pas entrée ou que tous correctement ou que tous est bien écrit cela m'écrit :

    Notice: Undefined variable: bdd in C:\wamp\www\1test\apprentissage.php on line 15


    Call Stack


    #

    Time

    Memory

    Function

    Location

    1 0.0005 141336 {main}( ) ...\apprentissage.php:0



    ( ! ) Fatal error: Call to a member function prepare() on null in C:\wamp\www\1test\apprentissage.php on line 15


    Call Stack


    #

    Time

    Memory

    Function

    Location

    1 0.0005 141336 {main}( ) ...\apprentissage.php:0

  • JP71 Le 2 septembre, à 21:06 | Répondre

    Tout baigne aucune erreurs, j'ai presque tout pigé. Merci Beaucoup !!!

  • Dinars Le 23 août, à 20:31 | Répondre

    Merci pour le code et le tuto vidéo, cela m'a permis de comprendre un peu comment fonctionne l'inscription

  • fabien225 Le 23 juillet, à 03:43 | Répondre

    Problème: j'ai copier coller tout le html et le css ,tout marche niquel , mais quand j'envoie le ficher il me dise qu'il y a un problème a la ligne 24: "Parse error: syntax error, unexpected 'Vos' (T_STRING)". Quelqu’un pourrais m'aider

  • ProBreizh Le 2 juillet, à 02:39 | Répondre

    Merci aucune erreur pour moi, mille merci

  • jl-leleu Le 11 mai, à 11:29 | Répondre

    j'ai pourtant intégralement recopier le fichier tel qu'il est présenté mais dès que je l'envoie il me met cette phrase.
    Warning: mysqli_stmt::execute() expects exactly 0 parameters, 1 given in C:\EasyPHP-DevServer-14.1VC9\data\localweb\J2L\inscription.php on line 21

    Fatal error: Call to undefined method mysqli_stmt::rowCount() in C:\EasyPHP-DevServer-14.1VC9\data\localweb\J2L\inscription.php on line 22

    Merci de votre réponse

  • rodman Le 9 avril, à 08:25 | Répondre

    Bonjour tout le monde
    merci de votre attention
    j'ai un soucis depuis trois jours j'ai fait toutes les recherches et je suis toujours sans une bonne reponses
    je veux juste proteger mon formulaire alors je cherche les syntaxe pour la date de naissance (ex: 10/10/2010) , et l'adresse postale (ex: 35 rue victor) et enfin code postale et telephone merci beaucoup

  • 00chris00 Le 8 avril, à 13:33 | Répondre

    Bonjour tout le monde,

    J'ai juste une petite question, si je veux qu'un utilisateur soit connecté sur toutes les pages du site, quelque soit où il se trouve, comment faire ?
    Tout simplement je veux que si l'utilisateur est connecté sur la page d'accueil et qu'il change de page soit aussi connecté ?

    Merci d'avance.
    Bonne journée.

  • PrimFX Le 7 avril, à 17:49 | Répondre

    @Smveee Les "?" seront remplacés par des variables lors de l'exécution de ta requête ;) ( dans le $req->execute(array($var1,$var2,...)) )

  • P3PSYY Le 7 avril, à 15:51 | Répondre

    @Smveee C'est du type de connection ADO avec le marqueur ? il me semble enfin j'en suis quasiment sûre je te laisse chercher ADO .

  • Smveee Le 7 avril, à 15:36 | Répondre

    Bonjour, j'ai une question, à quoi sert de laisser les "?" dans les requêtes SQL ? On doit mettre une variable a la place ou bien ça marche avec les "?" ?
    Cordialement
    @PrimFX @P3PSYY

  • P3PSYY Le 28 mars, à 22:31 | Répondre

    @lolkikoo123 Ci sa ne fonctionnent pas je peut t'aider j'ai un TeamSpeak ci tu veux.

  • P3PSYY Le 28 mars, à 22:28 | Répondre

    @lolkikoo123 C: , Wamp, www, tonsite.
    Sur ton navigateur tu tape 127.0.0.1
    Et tu as la page Wamp avec le lien phpmyadmin et tonsite tu clic dessus tu sera redirigée vers ce que tout souhaite.

  • lolkikoo123 Le 28 mars, à 21:44 | Répondre

    Bonjour, jusque la tout aller bien mais je ne comprend pas le moment ou vous passer du site "php" a "WAMPSERVER" comment il faut faire pour aller dessus pour ensuite aller dan "14" er ensuite "tuto php" merci :D

  • lolkikoo123 Le 28 mars, à 21:42 | Répondre

    Bonjour, jusque la tout aller bien mais je ne comprend pas le moment ou vous passer du site "php" a "WAMPSERVER" comment il faut faire pour aller dessus pour ensuite aller dan "14" er ensuite "tuto php" merci :D

  • PrimFX Le 28 mars, à 21:21 | Répondre

    @P3PSYY En effet, le code que je présente est "basique" et permet simplement d'avoir une base sur laquelle il est possible de mettre en place un système de comptes et d'espace membre. Je précise d'ailleurs de temps en temps dans mes vidéos que je ne m'attarde pas sur la sécurité car il s'agit d'un domaine très complexe et qu'il est quasiment impossible de parer toutes les failles :p Mes tutos/séries sont plutôt là pour apprendre à programmer à l'aide de cas pratiques :-)

    @ghassennn Etant donné que mysql_connect() est devenu obsolète, je te conseille fortement de rester avec PDO :p Sinon, l'erreur t'indique que la variable bdd n'existe pas... Fais-tu appel à ta base de donnée dans un fichier séparé que tu aurait oublié d'inclure ? Y'a-t-il une petite faute de frappe dans le nom de la variable ? L'erreur peut provenir de beaucoup de choses :/ (PS: j'ai supprimé le doublon de ton commentaire :p)

  • P3PSYY Le 28 mars, à 19:32 | Répondre

    @ghassennn Évite les double poste. Pour ton code il n'est pas complet respecte les caractères.

  • ghassennn Le 28 mars, à 17:44 | Répondre

    Bonjour, excellent travail je te remercie vraiment ! par contre j'ai un petit soucis, et je me demande si tu ne sais pas m'aider ? Voilà, j'ai essayé de reproduire ton code avec ma base de donnée mais quand je commence ma requête sql par: $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', ''); plus rien ne s'affiche :/ alors je l'ai remplacé par mysql_connect("localhost", "root", "");
    mais encore il n y a d'ajout au niveau de ma base et cette erreur m'affiche :

    Notice: Undefined variable: bdd in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\try\index.php on line 15

    Fatal error: Call to a member function prepare() on a non-object in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\try\index.php on line 15

  • P3PSYY Le 28 mars, à 07:18 | Répondre

    Bonjour, ceci est un très bon code il est correct mais je ne le conseil pas pour votre site car il manque beaucoup de sécurités. Je critique pas j'ai analyser le code et il manque quelques petite choses. Ci tu veux Prim je peut rééditer le code.

  • samjock Le 27 mars, à 12:50 | Répondre

    bonjour pour ma part sa marche très bien sauf que aucune erreur ne s'affiche ?? je comprend pas si quelqu'un pourrait m'aider ? Merci :)

  • PrimFX Le 25 mars, à 14:46 | Répondre

    @Smveee Salut ! J'ai vu tes commentaires (que tu as supprimé) dans mes notifications par mail ;) Le truc c'est que je ne peux pas répondre à tout le monde, vu le nombre croissant de commentaires/questions que je reçois tous les jours :/ C'est aussi pour ça que je viens d'ouvrir un forum permettant de s'entre-aider avec toute la communauté ! Libre à toi de créer un topic si le problème persiste: tu pourras directement expliquer ton problème, afficher ton code, des captures d'écran, etc. :)

  • Kalmando Le 24 mars, à 06:51 | Répondre

    @Smeeve je ne fais pas partit de la chaine je suis un viewer comme toi je fais ça pour le plaisir

  • Kalmando Le 22 mars, à 06:45 | Répondre

    @Smveee je regarde ce soir ;)

  • Kalmando Le 22 mars, à 06:44 | Répondre

    @benji met bien une extension en php

  • benji Le 7 mars, à 11:27 | Répondre

    Salut je suis sur sublime text et j'ai un petit problème ... En faite quand j'écris mes programme et que je mélange php et html il me met pas les couleurs pour les deux syntaxes pourriez vous m'aider ?

  • Kalmando Le 22 février, à 22:32 | Répondre

    @00chris00 Ça arrive ;)

  • 00chris00 Le 22 février, à 22:31 | Répondre

    Punaise parfois tu peux passer 15 ans à chercher l'erreur au final c'es une vielle virgule qui te nargue et se cache là où tu ne l'attends pas.

  • 00chris00 Le 22 février, à 22:28 | Répondre

    1000 mercis @Kalmando tu viens de trouver mon erreur même si je peux l'avouer c'est la pire erreur que j'ai jamais fait de ma vide.

    Merci.
    Bonne fin de soirée

  • Kalmando Le 21 février, à 18:44 | Répondre

    @00chris00 Une erreur dans ta requete d'insertion tu a mis en VALUES (?,?,?,) tu a une virgule de trop voila ^^

  • Kalmando Le 21 février, à 18:37 | Répondre

    @00chris00 ah si enfaite att

  • Kalmando Le 21 février, à 18:31 | Répondre

    @00chris00 J'avoue que je n'ai pas trouvé le problème car pour moi l'espace-membre fonctionne aussi bien sur http://www.kalmando.fr/
    que sur http://www.radiopogo.kalmando.fr/ essaie de refaire ou vérifie ta table et ta bdd peut etre que l'erreur vient de la .

  • 00chris00 Le 21 février, à 18:21 | Répondre

    Alors @Kalmando tu as su d'où venait l'erreur ou pas ?

    Merci de ton aide :)

  • Kalmando Le 18 février, à 10:25 | Répondre

    @00chris00 Je regarde ça ;)

  • 00chris00 Le 17 février, à 21:03 | Répondre

    Merci @Tcang pour ton aide :)

  • 00chris00 Le 15 février, à 20:27 | Répondre

    http://www.sendbox.fr/2f0e79cac63b34f9/Inscription.php

    Voici le lien de mon code.
    Et sinon j'ai repris le même code que PrimFX mais cela n'a rien changé.

    Merci d'avance.
    Bonne fin de soirée.

  • Kalmando Le 14 février, à 15:21 | Répondre

    @00chris00 Met ton code stp

  • 00chris00 Le 14 février, à 00:50 | Répondre

    @00chris00 Même en mettant localhost à la place de 127.0.0.1 cela ne change rien :(

  • 00chris00 Le 14 février, à 00:46 | Répondre

    @00chris00
    Si y'a besoin je peux mettre mon code sans soucis

    Merci

  • 00chris00 Le 14 février, à 00:35 | Répondre

    Bonsoir
    j'ai un petit soucis svp, je viens de suivre le tuto sur YouTube mais une fois arriver vers la fin lorsque toutes les infos sont bonnes et que le navigateur me met bien que mon compte a été créer, je vais dans la base de donnée et rien n’apparaît. J'ai tout vérifié mais tout est bon. Ensuite comme je ne trouvais pas d'où venait le problème j'ai copié à 100 % ton code, mais rien n'a changé. :(

    Es-ce que quelqu'un pourrait m'aider svp ?

    Merci d'avance

  • TheDestroyKilleur Le 7 février, à 01:19 | Répondre

    Bonsoir j'ai un probleme car dans ma BDD le mail reste 0

  • arnaudkite29 Le 2 février, à 18:50 | Répondre

    @Marius merci pour ton aide . J'avais essayer et j'ai re essayer mais le résultat est le même avec les syntaxes.
    Encore merci , je continuer à chercher

  • arnaudkite29 Le 1 février, à 22:55 | Répondre

    @Marius merci pour ton aide . J'avais essayer et j'ai re essayer mais le résultat est le même avec les syntaxes.
    Encore merci , je continuer à chercher

  • arnaudkite29 Le 1 février, à 22:49 | Répondre

    Bonjour ,
    Et merci beaucoup pour ce tuto ,
    J'ai bien suivi le tuto à la lettre , vérifié et re vérifié , essayé de solution mais ma base de sonnées ne reçoit aucune entrées
    Une idée d'erreur , de paramètre ?
    Merci d'avance

  • M69-74 Le 31 janvier, à 22:49 | Répondre

    @arnaudkite29 Salut ! Je pense savoir d'où vient ton problème. Dans la connexion à la base de donnée, PrimFX à mis ca : $bdd = new PDO('mysql:host=127.0.0.1;dbname=espace-membre', 'root', '');
    Essaye de remplacer le host (127.0.0.1) par localhost comme ceci : $bdd = new PDO('mysql:host=localhost;dbname=espace-membre', 'root', '');
    Il faut bien sûr que tu sois sous WAMP. J'éspère t'avoir aidé ! Bonne soirée !

  • arnaudkite29 Le 31 janvier, à 21:53 | Répondre

    Bonjour ,
    Et merci beaucoup pour ce tuto ,
    J'ai bien suivi le tuto à la lettre , vérifié et re vérifié , essayé de solution mais ma base de sonnées ne reçoit aucune entrées
    Une idée d'erreur , de paramètre ?
    Merci d'avance

  • dream09 Le 25 janvier, à 09:08 | Répondre

    @craydwarf100 il faut que tu changes l'extension de ton fichier en .php car tu as dû surement le laisser en index.html

  • dream09 Le 25 janvier, à 09:07 | Répondre

    Salut primfx, tout d'abord merci pour ce tuto qui m'a enlever une épine du pied surtout avec le code source, c'est super sympa de ta part de les partagés, cependant j'ai voulu modifier un petit peu le code pour vérifier que le pseudo n'est pas déjà utilisé par un autre et franchement je n'y arrive pas... donc si toi ou quelqu'un d'autre peux m'aider je suis à votre écoute. Je te remercie d'avance!

  • craydwarf100 Le 22 janvier, à 23:42 | Répondre

    j ai en petit problème primfx ce serai sympa de ta part de m'aider.
    quand j'écrit du php il s'affiche en fond sur la page lorsqu’on devrais pas le voir.
    merci d'avance pour ta réponse
    continue tes videos sont super

  • yebo Le 30 décembre, à 13:34 | Répondre

    Bonjour, excellent travail je te remercie vraiment ! par contre j'ai un petit soucis, et je me demande si tu ne sais pas m'aider ? Voilà, j'ai essayé de reproduire ton code avec ma base de donnée mais quand je commence ma requête sql par: $bdd = new PDO('mysql:host=localhost;dbname=espace_membre', 'root', ''); plus rien ne s'affiche :/ alors je l'ai remplacé par mysql_connect("localhost", "root", "");
    mysql_select_db("espace_membre"); du coup ça s'affichait les requêtes fonctionnais (style else { $erreur = "Adresse mail déjà utilisée !";)" le seul hic c'est que quand j'encode toutes les infos et que je "submit" je retombe sur une page blanche et que rien ne s'encode :/ peux tu m'aider ?

  • artefact62 Le 1 décembre, à 08:20 | Répondre

    bonjour a toi Boris,juste pour te remercier pour la publication du code,excellent travail.encore merci,a bientot

  • PrimFX Le 30 novembre, à 21:04 | Répondre

    @Justol Eh bien dans ce cas le mieux est de passer par des variables de session pour récupérer les erreurs après redirection, parce qu'en changeant uniquement le fichier de traitement, seules les variables POST du formulaire seront envoyées, pour le reste faut voir comment tu gères tes redirections après le traitement (header, affichage du formulaire, etc.) mais si tu décides de passer par des variables de sessions cela implique aussi de les reset après chaque traitement, sinon bonjour les erreurs qui reviendront sans cesse à cause de la portée de ces variables :p

  • Justol Le 30 novembre, à 20:59 | Répondre

    @PrimFX Cool ! Merci beaucoup :) J'avais juste une question : quand on écrit le code php dans un fichier .php à part, y a-t-il autre chose que action="monfichier.php" à préciser dans le .html pour que les echo($erreur); fonctionnent ?

  • PrimFX Le 30 novembre, à 20:54 | Répondre

    @Justol @artefact62 J'ai une bonne nouvelle pour vous, je suis en train d'ajouter les codes source correspondants aux différentes vidéos ! Ça risque de prendre un peu de temps vu que certains codes ont été modifiés entre temps, mais ça arrive :p

  • Justol Le 30 novembre, à 19:58 | Répondre

    @PrimFX Alors, vas-tu bientôt poster les codes sources ? :) Je suis en train de suivre tes tutos php, et j'apprend donc grace à toi, ils sont super bien faits ! J'aurais la meme recommandation que l'autre utilisateur, parce que c'est vrai que sur une vidéo YouTube, des fois on aimerait revoir une partie du code, sauf que l'on doit reculer dans le temps, et ce n'est pas toujours pratique.

  • artefact62 Le 12 novembre, à 21:07 | Répondre

    bonsoir a toi,c'est note,je continus en attendant,merci.bonne continuation,a bientot

  • PrimFX Le 12 novembre, à 18:12 | Répondre

    @artefact62 Bonjour François ! Je comprend tout à fait votre problème, je suis en en train de travailler sur le site afin de pouvoir ajouter les codes de chaque vidéo en description (sur le site uniquement, pas dans les descriptions YouTube). Cela me prendra encore pas mal de temps je pense, mais d'ici une petite semaine (ou peut-être un peu plus), le code de cette vidéo devrait être disponible en description ;)

  • artefact62 Le 12 novembre, à 09:32 | Répondre

    bonjour a toi,moi c'est francois,ca fait un moment que je suis tes tutos,essentiellement html css et php,et c'est sur ce dernier que je bloques,je suis en train de suivre le tuto sur espace membre en tois parties,ca se passe a peu pres bien,mais j'ai du mal a lire,la myopie,et sur ta video la fenetre de ton editeur de code est toujour agrandi , de ce fait ne pas voir le code entierement,meme a la fin du tuto,est pour moi un peu embettant,je fais ce tuto en meme temp que toi avec des pause comme tu le conseil,mais rien a faire j'ai du mal ,entre les sauts de ligne et le reste,une copie du code source inscription me serait bien utile ou la meme video ou on voit le code en entier.je te remercie d'avance.