Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
8Activity
0 of .
Results for:
No results containing your search query
P. 1
10 Comment Faire Un Espace Membre en Php

10 Comment Faire Un Espace Membre en Php

Ratings: (0)|Views: 891 |Likes:
Published by SANGARE SOULEYMANE

More info:

Published by: SANGARE SOULEYMANE on Jun 04, 2009
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/14/2010

pdf

text

original

 
Voici un petit comment faire vous permettant de réaliser une ébauche
d'espace membre
basé sur l'utilisation dessessions.En effet, cet espace membre sera "très léger", et il ne sera composé que de 4 pages :-
index.php
qui contiendra le formulaire de login à l'espace membre-
inscription.php
qui contiendra le formulaire permettant de s'inscrire à cet espace membre-
membre.php
: la page d'accueil de l'espace membre-
deconnexion.php
qui sera une page vous permettant de vous déloger de cet espace membre, et donc de revenir auformulaire de connexion à l'espace membreDans l'absolu, le minimum d'informations permettant d'accéder à un espace membre est :- un login- un mot de passePar conséquent, nous allons créer une table SQL ne contenant que 3 champs pour notre espace membre :- un champ
id
AUTO_INCREMENT qui nous permettra d'identifier chaque membre (chaque membre ayant un iddifférent). Ce sera notre clé primaire.- un champ
login
de type text qui contiendra le login de chaque membre de l'espace membre- un champ
pass_md5
de type text contenant le mot de passe haché de chaque membre
Note :
Noter bien que l'on parle de mot de passe haché et non crypté.En effet, pour un maximum de sécurité, et pour encoder des mots de passe, on utilise une technique de hachagerendue possible par l'utilisation de la fonction PHPmd5, et non une technique de cryptage).
Pourquoi ?
Tout simplement parce que le hachage via md5 est irréversible, alors que le cryptage peut l'être.Ce qui veut dire que, potentiellement, si quelqu'un pirate votre base de données, cette personne sera incapable deretrouver les mots de passe en clair avec un hachage de typemd5.Par conséquent, nous aurons la structure de table suivante :
 table membre
CREATE TABLE membre (id int(11) NOT NULL auto_increment,login text NOT NULL,pass_md5 text NOT NULL,PRIMARY KEY (id)) TYPE=MyISAM;
Passons maintenant à la création de nos 4 pages PHP.
La pge d'accueil : index.php
Cette page contient le formulaire de connexion à l'espace membre.Ce formulaire est composé de deux champs :-
login
, où l'utilisateur saisira son login-
pass
, où l'utilisateur saisira son mot de passeUne fois le formulaire soumis, nous testons si ces champs sont bien remplis, le cas échéant, nous affichons un petitmessage sur la page informant l'utilisateur qu'il a oublié de remplir un champ.Dans le cas où le formulaire a été rempli correctement, nous allons interroger la base de données afin de vérifier que lecouple login / mot de passe saisi par l'utilisateur existe bien dans notre base de données (ce qui veut dire que nousallons vérifier que le couple login / mot de passe correspond à un vrai membre).
Attention !
© 2002 - 2007 lephpfacile.com - Page 1/5 
 
Rappeler vous que nous voulons stocker des
mot de passe hachés
dans notre base de données.Par conséquent, si nous recherchons le mot de passe en clair dans la base de données, on ne risque pas de trouvergrand-chose.Afin de faire correspondre mot de passe saisi en clair dans formulaire et mot de passe haché stocké dans la base dedonnées, nous allons passer un coup de md5 sur le mot de passe saisi dans le formulaire avant de rechercher ce motde passe dans la table membre.Si le couple login / mot de passe est trouvé, on démarre une session, puis on redirige le membre vers la page d'accueilde l'espace membre (
membre.php
).Sinon, on reste sur notre formulaire de connexion.Voici le code de notre page index.php :
index.php
<?php// on teste si le visiteur a soumis le formulaire de connexionif (isset($_POST['connexion']) &&$_POST['connexion'] == 'Connexion') {  if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) &&  !empty($_POST['pass']))) { $base=mysql_connect('serveur', 'login', 'password');  mysql_select_db('nom_base',$base);  // on teste si une entrée de la base contient ce couple login / pass$sql= 'SELECT count(*) FROM membre WHERE login="'.mysql_escape_string($_POST[ 'login']).'" AND pass_md5="'.md5(mysql_escape_string($_POST['pass'])).'"'; $req=mysql_query($sql)ordie('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); $data=mysql_fetch_array($req);  mysql_free_result($req); mysql_close(); // si on obtient une réponse, alors l'utilisateur est un membre if ($data[0] ==1) { session_start();$_SESSION['login'] =$_POST['login']; header('Location: membre.php');  exit(); } // si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login,soit dans son mot de passe elseif ($data[0] ==0) { $erreur= 'Compte non reconnu.';  } // sinon, alors la, il y a un gros problème :) else { $erreur= 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; } } else { $erreur= 'Au moins un des champs est vide.';  }}?><html><head><title>Accueil</title></head><body>Connexion à l'espace membre :<br /><form action="index.php" method="post">Login : <input type="text" name="login" value="<?phpif (isset($_POST['login'])) echo  htmlentities(trim($_POST['login']));?>"><br /> Mot de passe : <input type="password" name="pass" value="<?phpif (isset($_POST['pass'])
© 2002 - 2007 lephpfacile.com - Page 2/5 
 
) echohtmlentities(trim($_POST['pass']));?>"><br /> <input type="submit" name="connexion" value="Connexion"></form><a href="inscription.php">Vous inscrire</a><?phpif (isset($erreur)) echo '<br /><br />',$erreur; ?></body></html>
Noter que cette page contient également un lien permettant aux utilisateurs de s'inscrire à l'espace membre.
La page de l'espace membre : membre.php
Le test de l'existence du compte de notre membre ayant déjà été fait dans la page
index.php
, il nous reste peu dechose à faire pour notre espace membre.En effet, dans
membre.php
, il ne nous reste qu'à
tester que la personne qui accède a cette page est bien passéepar le formulaire de connexion de l'espace membre
.Pour ce faire, nous testons si la variable de session
$_SESSION['login']
est bien définie :- si elle ne l'est pas, nous redirigeons le visiteur vers le formulaire de connexion de l'espace membre- sinon, on affiche le contenu de notre espace membre (dans cet ébauche, remarquer que nous n'affichons pasgrand-chose ^^ à part un lien permettant de se déconnecter de l'espace membre)
 membre.php
<?phpsession_start();if (!isset($_SESSION['login'])) { header('Location: index.php');  exit();}?><html><head><title>Espace membre</title></head><body>Bienvenue<?phpechohtmlentities(trim($_SESSION['login']));?>!<br /> <a href="deconnexion.php">Déconnexion</a></body></html>
La page de déconnexion de l'espace membre : deconnexion.php
Ici, nous allons tuer la session en cours, et rediriger le visiteur vers le formulaire de connexion à l'espace membre.Peu de chose à dire.
 deconnexion.php
<?phpsession_start();session_unset();session_destroy();header('Location: index.php'); exit();?>
La page d'inscription à l'espace membre : inscription.php
© 2002 - 2007 lephpfacile.com - Page 3/5 

Activity (8)

You've already reviewed this. Edit your review.
1 hundred reads
1 thousand reads
tchebika liked this
srpszigui liked this
Abiyou Kouassi liked this
va15la15 liked this
rachid4488 liked this
rachid4488 liked this

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->