Tuto Créer un espace membre en PHP #1

Le #2 ?

  • OUI

    Votes: 10 76.9%
  • NON

    Votes: 3 23.1%

  • Total des votants
    13
  • Initiateur de la discussion
tieno

tieno

Geek suprême
Messages
171
Score réaction
44
Points
130
Bonjour tout le monde ! On se retrouve aujourd'hui pour mon premier TUTO sur le forum mTxServ !
Alors si jamais il y a des problèmes ou des choses mal expliqués alors ne vous gênez pas à demander.


1.Qu'allons nos faire ?
Ce tuto va vous permettre de faire un espace membre en php: pour commencer la zone d'inscription !

2.L'hébergement :
Le PHP n'est pas comme le HTML ou le CSS c'est à dire qu'il ne peut pas être lu sur votre ordi directement on faisant un dossier texte: index.php. Mais vous avez besoin de l'héberger.

Déjà commencez par prendre un hébergement chez mTxServ ou alors utilisez un logiciel qui vous permet de lire le PHP en local :
WAMP : http://www.wampserver.com/

3.Le base de données :

Avec l'hébergement web mTxServ vous disposez d'une base de donnée gratuite si non avec WAMP vous pourrez y accéder sur phpMyAdmin de cette façon:

Clique gauche sur l'icône Wamp

Desktop 07.10.2017 - 22.07.15.05.png


Puis clique gauche sur phpMyAdmin: l'identifiant est root et il n'y pas de mot de pass.

Ensuite nous allons créer la base de données ( se sera pareil pour tout le monde ).



4.Le code :

Maintenant nous allons nous intéresser a la partie code.
Alors pour ce qui utilise WAMP vous allez créer un dossier dans le répertoire 'www'.
Mettez lui le nom que vous voulez puis dans ce dossier créer un fichier sous le nom de 'inscription.php'.

Nous allons commencer par créer un formulaire tout facile en html. (J'utilise le framework bootstrap en ce qui concerne le CSS donc ne faites pas attention aux class..)



HTML:
<html> <head> <title>Test</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="assets/css/styles.css"> <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css"> </head> <body> <div align="center"> <h2>Inscription</h2> </div> <br /><br /> <form method="POST" action="" role="form" class="container"> <div class="form-group"> <label for="pseudo">Pseudo :</label> <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" class="form-control"/> </div> <div class="form-group"> <label for="mail">Adresse de courriel :</label> <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" class="form-control"> </div> <div class="form-group"> <label for="mail2">Confirmation de l'adresse de courriel :</label> <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" class="form-control"/> </div> <div class="form-group"> <label for="mdp">Mot de passe :</label> <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" class="form-control"/> </div> <div class="form-group"> <label for="mdp2">Confirmation du mot de passe :</label> <input type="password" placeholder="Confirmez votre mdp" id="mdp2" name="mdp2" class="form-control"/> </div> <div align="center"> <input type="submit" name="forminscription" value="Je m'inscris" class="btn btn-default"> </div> </form> </body>
</html>
Et maintenant le code PHP que nous métrons tout en haut du code HTML . Voici la variable qui va vous permettre de vous connecter a la base de donnée:
mysql:host est localhost pour wamp sinon c'est: 'sql.mtxserv.fr'.
dbname est le nom de la base de donnée.
'root' est l'identifiant et '' est le mot de passe mais il y en a pas pour les utilisateurs de WAMP.

PHP:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=espace_membres', 'root', '');
?>
Ensuite la deuxième partie du code PHP:

PHP:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=espace_membres', '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 !"; }
}
?>
Et a ajouter dans la partie HTML (regardez le code complets).

PHP:
<?php if(isset($erreur)) { echo '<font color="red">'.$erreur."</font>"; }else{ echo "Vous avez déja un compte ? Alors <a href=\"connexion.php\">connectez-vous</a>"; } ?>

5.Le code entier :
PHP:
<?php
$bdd = new PDO('mysql:host=localhost;dbname=espace_membres', '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 !"; }
}
?>
<html> <head> <title>Test</title> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="assets/css/styles.css"> <link rel="stylesheet" type="text/css" href="assets/css/bootstrap.min.css"> </head> <body> <div align="center"> <h2>Inscription</h2> </div> <br /><br /> <form method="POST" action="" role="form" class="container"> <div class="form-group"> <label for="pseudo">Pseudo :</label> <input type="text" placeholder="Votre pseudo" id="pseudo" name="pseudo" value="<?php if(isset($pseudo)) { echo $pseudo; } ?>" class="form-control"/> </div> <div class="form-group"> <label for="mail">Adresse de courriel :</label> <input type="email" placeholder="Votre mail" id="mail" name="mail" value="<?php if(isset($mail)) { echo $mail; } ?>" class="form-control"> </div> <div class="form-group"> <label for="mail2">Confirmation de l'adresse de courriel :</label> <input type="email" placeholder="Confirmez votre mail" id="mail2" name="mail2" value="<?php if(isset($mail2)) { echo $mail2; } ?>" class="form-control"/> </div> <div class="form-group"> <label for="mdp">Mot de passe :</label> <input type="password" placeholder="Votre mot de passe" id="mdp" name="mdp" class="form-control"/> </div> <div class="form-group"> <label for="mdp2">Confirmation du mot de passe :</label> <input type="password" placeholder="Confirmez votre mdp" id="mdp2" name="mdp2" class="form-control"/> </div> <div align="center"> <input type="submit" name="forminscription" value="Je m'inscris" class="btn btn-default"> </div> </form> <div align="center"> <?php if(isset($erreur)) { echo '<font color="red">'.$erreur."</font>"; }else{ echo "Vous avez déja un compte ? Alors <a href=\"connexion.php\">connectez-vous</a>"; } ?> </div> </body>
</html>


Merci a tousses d'avoir regardé cette première partie et si il en faut une seconde alors demandé !
 
  • J'aime
Réactions: R0M1 et Ben. ®
Ben. ®

Ben. ®

Psychopathe
Messages
2 255
Score réaction
511
Points
340
Très bon tutoriel :)
Merci.
 
  • Initiateur de la discussion
tieno

tieno

Geek suprême
Messages
171
Score réaction
44
Points
130
Merci de ton commentaire @benji2675
Sa fait plaisir .
 
Taink

Taink

El Magnifico
Messages
5 292
Score réaction
2 720
Points
965
Dommage que tu n'insère pas de commentaire pour expliquer le code.

Sinon bon tutoriel SeemsGood
 
  • Initiateur de la discussion
tieno

tieno

Geek suprême
Messages
171
Score réaction
44
Points
130
Merci @Taink j'en prendrais conte pour la deuxième partie :D
 
J

jeremd89

Têtard
Messages
1
Score réaction
0
Points
5
Bonjour @tieno super tuto !
Peux-tu m'envoyer, si tu as, ta deuxième partie s'il te plait ?
 
R0M1

R0M1

Têtard
Messages
1
Score réaction
0
Points
10
Merci ca faisais plus d'un mois que j'étais bloqué !
 
  • Banni
Guilliman3444

Guilliman3444

fondateur du journal non officiel du forum mtx
Messages
230
Score réaction
15
Points
60
Mec, t'es un voleur de code...
t'as juste pris le code de primfx...
allez sur primfx.com c'est là qu'y à le vrai tuto...
 
Discord d'entraide
Rejoignz-nous sur Discord