#2 Créer un espace membre | Connexion, Profil et Déconnexion

Statut
N'est pas ouverte pour d'autres réponses.

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
Bonjour :RG:,

On se retrouve pour la deuxième partie de ma série sur "comment créer un espace membre".
Si vous n'avez pas suivi la première partie je vous conseille d'aller le voir, sauf si vous avez déjà le code, en tout cas je reprendrai mon code. (partie 1)

Nous avons rien à faire dans la base de donnée puisque les donnée sont déjà enregistré. (puisqu'on est déjà inscris)

J'utiliserai le logiciel Sublime Text 3 !

https://reality-gaming.fr/attachments/djamel2-png.61408/

Donc nous allons créer deux fichier dans le dossier de notre site, nous les appellerons "connexion.php" et "profil.php".
Ensuite nous allons faire la base de la page, c'est à dire le formulaire etc...

HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TUTO PHP #2 | WhiiTe'</title>
</head>
<body>
<h2>Connexion</h2>
<br />
<form method="POST">
<input type="text" class="pseudo" name="pseudoconnect" placeholder="Pseudo ..."> <br />
<input type="password" class="motdepasse" name="mdpconnect" placeholder="Mot de passe ..."> <br /><br />
<input type="submit" class="submit" name="submit" value="Se connecter !"> <br />
</form>
<br>
</body>
</html>

Voila, nous avons le champs de texte pour noté le pseudo et le mot de passe.
Nous allons donc passer au PHP pour connecter le membre si les coordonnées sont bonnes.

Nous allons vérifié si le bouton submit a bien été cliqué.

PHP:
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');

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

}
?>

Comme toujours nous lions la base de donnée. :oui:
Maintenant nous allons sécurisé un peu et vérifié si l'utilisateur ai bien rentré quelques choses dans le champs de texte.

PHP:
 $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
$mdpconnect = sha1($_POST['mdpconnect']);
if(!empty($pseudoconnect) AND !empty($mdpconnect))
{

Mettez bien ce cette partie de code entre les deux "{" -- "}" juste au dessus. ( )
Nous déclarons "$pseudoconnect" et "$mdpconnect", nous les sécurisons également grâce à un htmlspecialchars pour le pseudo, et nous cryptons le mot de passe grâce à la fonction sha1.

Ensuite nous vérifions si l'utilisateur a bien rentré un pseudo et un mot de passe.

Si l'utilisateur a bien rentré un pseudo et un mot de passe, nous passons à la vérification qui permet de connecter le membre si les informations qu'il a rentré existent bien dans la base de donnée !

PHP:
 $requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND motdepasse = ?");
$requser->execute(array($pseudoconnect, $mdpconnect));
$userexist = $requser->rowCount();
if($userexist == 1)
{

Nous créons une variables "$requser" qui va aller cherché dans la base de donnée les pseudos et les mots de passes, ensuite nous faisons un array de "$pseudoconnect" et de"$mdpconnect", puis nous faisons un rowCount, cette fonction permet de retourner 1 ou 0 si l'utilisateur existe ou non, donc nous vérifions si le membre existe dans la base de donnée, donc si nous avons 1.

Si nous avons 1, nous allons faire une dernière étape pour redirigé le membre vers son profil.

PHP:
 $userinfo = $requser->fetch();
$_SESSION['id'] = $userinfo['id'];
$_SESSION['pseudo'] = $userinfo['pseudo'];
$_SESSION['mail'] = $userinfo['mail'];

header("Location: profil.php?id=".$_SESSION['id']);
}
else
{
$erreur = "Mauvais pseudo ou mot de passe !";
}
}
else
{
$erreur = "Tous les champs doivent être complétés !";
}

Je ne serai pas vraiment comment vous expliqué ce qui se trouve au-dessus de la redirection, en gros les variables de session (pour l'id, le pseudo et le mail) sont dans une variable qu'on nomme "$userinfo".

Ensuite nous redirigeons le membre vers son profil. (profil.php?id=son id dans la base de donnée)

https://reality-gaming.fr/attachments/djamel2-png.61408/

Maintenant nous allons faire la déconnexion du membre.
C'est vraiment très simple, en 4 lignes de codes c'est réglé.
Créez un fichier qui se nomme "deconnexion.php"

PHP:
<?php
session_start();
$_SESSION = array();
session_destroy();
header("Location: connexion.php");
?>

Nous mettons un session_start, qui permet de gardé les variables de session active, ensuite nous faisons un session_destroy, qui détruit la totalité des variables sur le site (ou localhost ...) puis nous redirigeons le membre vers la page de connexion.

https://reality-gaming.fr/attachments/djamel2-png.61408/

Je vais vous expliqué maintenant comment faire le profil, l'avatar sera pour la prochaine partie.
Nous allons reprendre la base de la page (l'html) que je vous ai mis au dessus.
Mettez le code suivant en haut de votre code, et fermez la conditions tout en bas de la page.

PHP:
if(isset($_GET['id']) AND $_GET['id'] > 0)
{
    $getid = intval($_GET['id']);
    $requser = $bdd->prepare('SELECT * FROM membres WHERE id = ?');
    $requser->execute(array($getid));
    $userinfo = $requser->fetch();

Pour affiché le pseudo, vous devrez mettre $userinfo['pseudo'], ou pour affiché le mail du membre c'est $userinfo['mail'], je vous laisse faire le reste selon vous, car c'est votre site. ;)
Voici ce que j'ai fais sur mon site : :)

https://reality-gaming.fr/attachments/djamel2-png.61408/

Et voila :RG: c'est la fin de cette deuxième partie de ma série, si vous avez des problèmes ou une questions n'hésitez pas à me demander ! :)

Prochain tutoriel = L'édition du profil :oui:

:tchuss:
 
Dernière édition:
D

deleted287255

Bonjour :RG:,

On se retrouve pour la deuxième partie de ma série sur "comment créer un espace membre".
Si vous n'avez pas suivi la première partie je vous conseille d'aller le voir, sauf si vous avez déjà le code, en tout cas je reprendrai mon code. (partie 1)

Nous avons rien à faire dans la base de donnée puisque les donnée sont déjà enregistré. (puisqu'on est déjà inscris)

J'utiliserai le logiciel Sublime Text 3 !


https://reality-gaming.fr/attachments/djamel2-png.61408/

Donc nous allons créer deux fichier dans le dossier de notre site, nous les appellerons "connexion.php" et "profil.php".
Ensuite nous allons faire la base de la page, c'est à dire le formulaire etc...

HTML:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>TUTO PHP #2 | WhiiTe'</title>
</head>
<body>
<h2>Connexion</h2>
<br />
<form method="POST">
<input type="text" class="pseudo" name="pseudoconnect" placeholder="Pseudo ..."> <br />
<input type="password" class="motdepasse" name="mdpconnect" placeholder="Mot de passe ..."> <br /><br />
<input type="submit" class="submit" name="submit" value="Se connecter !"> <br />
</form>
<br>
</body>
</html>

Voila, nous avons le champs de texte pour noté le pseudo et le mot de passe.
Nous allons donc passer au PHP pour connecter le membre si les coordonnées sont bonnes.

Nous allons vérifié si le bouton submit a bien été cliqué.

PHP:
<?php
$bdd = new PDO('mysql:host=127.0.0.1;dbname=espace_membre', 'root', '');

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

}
?>

Comme toujours nous lions la base de donnée. :oui:
Maintenant nous allons sécurisé un peu et vérifié si l'utilisateur ai bien rentré quelques choses dans le champs de texte.

PHP:
 $pseudoconnect = htmlspecialchars($_POST['pseudoconnect']);
$mdpconnect = sha1($_POST['mdpconnect']);
if(!empty($pseudoconnect) AND !empty($mdpconnect))
{

Mettez bien ce cette partie de code entre les deux "{" -- "}" juste au dessus. ( )
Nous déclarons "$pseudoconnect" et "$mdpconnect", nous les sécurisons également grâce à un htmlspecialchars pour le pseudo, et nous cryptons le mot de passe grâce à la fonction sha1.

Ensuite nous vérifions si l'utilisateur a bien rentré un pseudo et un mot de passe.

Si l'utilisateur a bien rentré un pseudo et un mot de passe, nous passons à la vérification qui permet de connecter le membre si les informations qu'il a rentré existent bien dans la base de donnée !

PHP:
 $requser = $bdd->prepare("SELECT * FROM membres WHERE pseudo = ? AND motdepasse = ?");
$requser->execute(array($pseudoconnect, $mdpconnect));
$userexist = $requser->rowCount();
if($userexist == 1)
{

Nous créons une variables "$requser" qui va aller cherché dans la base de donnée les pseudos et les mots de passes, ensuite nous faisons un array de "$pseudoconnect" et de"$mdpconnect", puis nous faisons un rowCount, cette fonction permet de retourner 1 ou 0 si l'utilisateur existe ou non, donc nous vérifions si le membre existe dans la base de donnée, donc si nous avons 1.

Si nous avons 1, nous allons faire une dernière étape pour redirigé le membre vers son profil.

PHP:
 $userinfo = $requser->fetch();
$_SESSION['id'] = $userinfo['id'];
$_SESSION['pseudo'] = $userinfo['pseudo'];
$_SESSION['mail'] = $userinfo['mail'];

header("Location: profil.php?id=".$_SESSION['id']);
}
else
{
$erreur = "Mauvais pseudo ou mot de passe !";
}
}
else
{
$erreur = "Tous les champs doivent être complétés !";
}

Je ne serai pas vraiment comment vous expliqué ce qui se trouve au-dessus de la redirection, en gros les variables de session (pour l'id, le pseudo et le mail) sont dans une variable qu'on nomme "$userinfo".

Ensuite nous redirigeons le membre vers son profil. (profil.php?id=son id dans la base de donnée)


https://reality-gaming.fr/attachments/djamel2-png.61408/

Maintenant nous allons faire la déconnexion du membre.
C'est vraiment très simple, en 4 lignes de codes c'est réglé.
Créez un fichier qui se nomme "deconnexion.php"

PHP:
<?php
session_start();
$_SESSION = array();
session_destroy();
header("Location: connexion.php");
?>

Nous mettons un session_start, qui permet de gardé les variables de session active, ensuite nous faisons un session_destroy, qui détruit la totalité des variables sur le site (ou localhost ...) puis nous redirigeons le membre vers la page de connexion.


https://reality-gaming.fr/attachments/djamel2-png.61408/

Je vais vous expliqué maintenant comment faire le profil, l'avatar sera pour la prochaine partie.
Nous allons reprendre la base de la page (l'html) que je vous ai mis au dessus.

Pour affiché le pseudo, vous devrez mettre $userinfo['pseudo'], ou pour affiché le mail du membre c'est $userinfo['mail'], je vous laisse faire le reste selon vous, car c'est votre site. ;)
Voici ce que j'ai fais sur mon site : :)


https://reality-gaming.fr/attachments/djamel2-png.61408/

Et voila :RG: c'est la fin de cette deuxième partie de ma série, si vous avez des problèmes ou une questions n'hésitez pas à me demandé ! :)

Prochain tutoriel = L'édition du profil :oui:

:tchuss:
Good tuto :d: Par contre des images marche pas ;)
 

Aigeane

Black Excellence
Ancien staff
Inscription
25 Novembre 2012
Messages
17 465
Réactions
10 058
Points
35 940
Merci du tuto Max :d:
 

WhiiTe'

Administateur
Ancien staff
Inscription
22 Octobre 2011
Messages
14 706
Réactions
8 492
Points
32 425
C'est exacetment le même code source

Je viens de te dire que j'ai suivi ses tutoriels, maintenant je serai le refaire sans tutoriel et sa te fais quoi au pire ?
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut