Nous
allons ici vous présenter un script fonctionnel permettant
de gérer l'accès de vos membres à votre site.
Le fichier lui-même faisant plus de 400 lignes, nous n'expliquerons
que les principales parties dans cet article, et vous donnerons le
code source à la fin.
Notez bien que ce script, bien que long, n'est pas forcément
complet : nous avons volontairement omis des tests et vérifications
qui sont nécessaires pour un site en production, afin de ne
garder que le squelette de base. Le script que nous vous donnons ici
n'est pas destiné à être copié/collé
dans un site existant, mais à étudier pour ceux qui
ne sauraient pas comment s'y prendre pour une telle réalisation,
et à compléter pour ceux qui en ont bien compris le
fonctionnement. Vous pouvez et devez l'adapter à vos
propres besoins.
Agencement
On peut réaliser un tel script sur un seul fichier comportant
toutes les fonctions nécessaires, ou sur plusieurs fichiers
spécialisés. Nous avons choisi ici la méthode
la plus compliquée : un seul fichier. Nous espérons
que, de fait, l'autre méthode vous semblera plus facile...
Nous allons refaire le module de connexion de tout bon site dynamique.
Celui-ci se divise principalement en quatre états possibles
: identification, création de compte, récupération
de mot de passe et affichage des informations de connexion.
Voici la manière
dont nous les présentons :
Module d'identification
:
Module de création
de compte :
Module de récupération
de mot de passe :
Module d'affichage
des informations de connexion :
Vous êtes
connecté(e) avec l'adresse e-mail "gloups@jesuisunpoisson.ru".
Souhaitez-vous vous déconnecter ? |
Plus quelques
messages annonçant la complétion d'une action...
Etant donné que ces quatre interfaces sont issues du même
fichier, le HTML proviendra d'une même fonction, affichage(),
qui prendre en charge les tests de base permettant de rediriger
vers telle ou telle portion du code. Cette fonction principale sera
encadrée par notre "modèle de document"
HTML :
<html>
<head>
<title>JDNetShop</title>
</head>
<body bgcolor="#FFFFFF">
<?=affichage();?>
</body>
</html>
Les formulaires
utilisés dans nos trois premières interfaces sont
assez simples. Voici leurs entêtes et noms de champs :
<form method="post"
action="<?=$_SERVER['PHP_SELF'];?>" name="identification">
<input type="hidden" name="identifier" value="ok">
(...)
<td>Votre adresse e-mail</td>
<td>
<input type="text" name="idMail" maxlength="100">
</td>
</tr>
<tr>
<td>Votre mot de passe</td>
<td>
<input type="password" name="idMDP" maxlength="10">
</td>
(...)
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>" name="creationCompte">
<input type="hidden" name="inscription" value="ok">
(...)
<td>Votre adresse e-mail</td>
<td>
<input type="text" name="creerIdMail"
maxlenght="100">
</td>
</tr>
<tr>
<td>Votre mot de passe</td>
<td>
<input type="password" name="creerIdPass1"
maxlength="10">
(...)
<form method="post" action="<?=$_SERVER['PHP_SELF'];?>" name="recuperation">
<input type="hidden" name="recuperer" value="ok">
(...)
<td>Votre adresse e-mail</td>
<td>
<input type="text" name="recupMail" maxlength="100">
</td>
(...)
|
Voilà
pour nos interfaces HTML. En conséquence, vous pouvez voir
que notre base de données est réduite à sa
plus simple expression :
CREATE TABLE `user`
(
`adressemail` varchar(100) NOT NULL default '',
`motdepasse` varchar(10) NOT NULL default '',
PRIMARY KEY (`adressemail`)
) TYPE=MyISAM;
Page 1 | 2 |
3
|