allez je me lance
1) Créez la table "membre" dans une base de données MySQL en recopiant le fichier MySQL.txt
2) Si vous avez souhaitez ajouter des champs (email, ville...), lisez et adaptez les parties "CHAMPS SUPLEMENTAIRES"
des fichier "adduser.php3" et "zonemembre.php3".
3) Modifiez les variables du fichier "conf.php3";
4) Placez toutes les pages PHP et HTML dans un même répertoire sur votre site
5) Vous pouvez ajouter un utilisateur avec la page "adduser.php3".
Pour entrez dans "L'espace membre", loguez vous grâce au formulaire de la page "index.htm".
En cas d'erreur de login ou de mot de passe, on est redirigé vers la page "erreur.htm" et en
cas de succés, vers la page "zonemembre.php3";
IMPORTANT !!!! PROTECTION DES PAGES MEMBRES
Toutes les pages protégées par mot de passe dans votre "Espace membre" doivent être des pages PHP et
contenir le code suivant en haut de page, avant même la balise <HTML> :
<?
require("conf.php3"
;
// CONNEXION MYSQL
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query($sql_bdd,"select * from membre where id="$id"",$db_link) or die(mysql_error());
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
// REDIRECTION PAGE ERREUR
header("Location:$url_erreur"
;
exit;
}
// LIGNE FACULTATIVE : RECUPERATION DU PSEUDO
$pseudo_membre=mysql_result($requete,0,"pseudo"
;
// CHAMPS SUPLEMENTAIRES
// Si vous avez ajouté des champs dans la table SQL, inspirez-vous de la ligne précédente pour récupérer leur valeur.
//$email=mysql_result($requete,0,"email"
;
//$ville=mysql_result($requete,0,"ville"
;
// DECONNEXION MYSQL
mysql_close($db_link);
?>
Ce code permet de vérifier si on est bien passé par le formulaire "index.htm".
Vous pouvez afficher les informations du membre, comme par exemple son pseudo :
<? echo "Bonjour $pseudo_membre"; ?>
NAVIGATION ENTRE LES PAGES
Le script "login.php3" a créé un identifiant aléatoire pour le membre et l'a mis à jour dans la table MySQL.
Sans cet identifiant, on ne peut pas consulter la page. Il est accessible dans la page PHP avec la variable
$id. Vous pouvez donc insérer des liens vers d'autres pages protégées avec le code suivant :
<a href="pageprotege.php3?id=<? echo "$id"; ?>">AUTRE PAGE MEMBRE</a>
NB : Si vous vos pages membres ne sont pas toutes dans le même répertoire, adaptez le chemin
d'accés au fichier "conf.php3" dans la fonction require.
Exemple :
require("../conf.php3"
; // (répertoire parent)
require("monrep/conf.php3"
; // (sous-répertoire)
CREATE TABLE membre (
id_membre int(10),
id varchar(20),
pseudo varchar(20),
passe varchar(20)
);
Nous allons ensuite créé plusieurs pages avec notre éditeur préféré ( moi c le tres célébre dreamweaver).
1° la page de login en php que vous enregistrez sous: login.php3
<?
require("conf.php3"
;
/*-----------------------------------------------------------------*/
/* PROGRAMME PRINCIPAL */
/*-----------------------------------------------------------------*/
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// ON SELECTIONNE L'ENREGISTREMENT CONTENANT LE LOGIN ET
// MOT DE PASSE SAISIS A LA PAGE INDEX.HTM
$requete=mysql_db_query($sql_bdd,"select pseudo,passe from membre where pseudo="$pseudo_membre" and passe="$passe_membre"",$db_link) or die(mysql_error());
// SI AUCUN ENREGISTREMENT NE CORRESPOND
if(mysql_num_rows($requete)==0)
{
// REDIRECTION VERS LA PAGE ERREUR
header("Location:$url_erreur"
;
}
// SI LE LOGIN ET MOT DE PASSE SONT EXACTES
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// MISE A JOUR DE L'IDENTIFIANT DANS LA TABLE
$requete=mysql_db_query($sql_bdd,"update membre set id="$id" where pseudo="$pseudo_membre" and passe="$passe_membre"",$db_link) or die(mysql_error());
// REDIRECTION VERS UNE PAGE PROTEGEE AVEC L'IDENTIFIANT SERVANT DE CLE
header("Location:zonemembre.php3?id=$id"
;
}
// DECONNEXION MYSQL
mysql_close($db_link);
?>
2° Une zone membre que vous enregistrez sous: zonemembre.php3
<?
require("conf.php3";);
// CONNEXION MYSQL
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// SELECTION DE L'ENREGISTREMENT CONTENANT L'ID EN COURS
$requete=mysql_db_query($sql_bdd,"select * from membre where id="$id"",$db_link) or die(mysql_error());
// SI L'ID N'EXISTE PAS
if(mysql_num_rows($requete)==0)
{
// REDIRECTION PAGE ERREUR
header("Location:$url_erreur";);
exit;
}
// LIGNE FACULTATIVE : RECUPERATION DU PSEUDO
$pseudo_membre=mysql_result($requete,0,"pseudo";);
// CHAMPS SUPLEMENTAIRES
// Si vous avez ajouté des champs dans la table SQL, inspirez-vous de la ligne précédente pour récupérer leur valeur. Exemple :
//$email=mysql_result($requete,0,"email";);
//$ville=mysql_result($requete,0,"ville";);
// DECONNEXION MYSQL
mysql_close($db_link);
?>
<html>
<head>
<title>Espace membre</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<p align="center"><b><font face="Verdana" size="3">ESPACE
MEMBRE</font></b></p>
<p align="center"> </p>
<p align="center"><font size="2" face="Verdana">
Voici une page protégée par login et mot de passe !<br><br>
Votre pseudo : <b><? echo "$pseudo_membre"; ?></b><br><br>
Exemple de lien vers une autre page protégée :<br>
<a href="pageprotege.php3?id=<? echo "$id"; ?>">AUTRE PAGE MEMBRE</a><br>
(ce lien ne fonctionne pas car la page n'existe pas, le code est donné à titre d'exemple).
<br><br>
<!-- CHAMPS SUPLEMENTAIRES, décommentez les lignes suivantes -->
<!-- Votre email : <b><? echo "$email"; ?></b><br> -->
<!-- Votre ville : <b><? echo "$ville"; ?></b><br> -->
</font></p>
</body>
</html>
3° La page qui permet l'accés à votre bdd et que vous enregistrerez sous: conf.php3
<?
/*-----------------------------------------------------------------*/
/* VARIABLES A MODIFIER */
/*-----------------------------------------------------------------*/
// SERVEUR SQL
$sql_serveur="localhost";
// LOGIN SQL
$sql_user="";
// MOT DE PASSE SQL
$sql_passwd="";
// NOM DE LA BASE DE DONNEES
$sql_bdd="test";
// REDIRECTION VERS UNE PAGE ERREUR AU CAS OU LE LOGIN ET MOT DE PASSE SONT INVALIDES
$url_erreur="erreur.htm";
// PAGE PRINCIPALE PROTEGEE PAR MOT DE PASSE
$zone_membre="zonemembre.php3";
?>
4° enregistez sous: adduser.php3
<html>
<head>
<title> Espace membre</title>
</head>
<body>
<font face="Verdana" size="2">
<center>
<?
require("conf.php3";);
switch($action) {
/*-----------------------------------------------------------------*/
/* AJOUT DANS MySQL */
/*-----------------------------------------------------------------*/
case "add";
// CONNEXION A LA BASE DE DONNEE
$db_link = @mysql_connect($sql_serveur,$sql_user,$sql_passwd);
if(!$db_link) {echo "Connexion impossible à la base de données <b>$sql_bdd</b> sur le serveur <b>$sql_server</b><br>Vérifiez les paramètres du fichier conf.php3"; exit;}
// TEST SUR LES VALEURS SAISIES
if($pseudo_membre=="";){echo "Vous devez choisir un pseudo<br><br><a href="javascript:window.history.back()">Retour</a>";exit;}
if($passe_membre=="";){echo "Vous devez choisir un mot de passe<br><br><a href="javascript:window.history.back()">Retour</a>";exit;}
// CHAMPS SUPLEMENTAIRES, inspirez-vous des lignes suivantes. Pour qu'un champs soit facultatif, omettez la ligne.
//if($email=="";){echo "Vous n'avez pas saisi votre email<br><br><a href="javascript:window.history.back()">Retour</a>";exit;}
//if($ville=="";){echo "Vous n'avez pas saisi la ville<br><br><a href="javascript:window.history.back()">Retour</a>";exit;}
// ON VERIFIE SI CE PSEUDO EXISTE DEJA
$requete=mysql_db_query($sql_bdd,"select * from membre where pseudo="$pseudo_membre"",$db_link) or die(mysql_error());
$num=mysql_num_rows($requete);
if($num!=0)
{
echo "Ce pseudo existe déjà, veuillez en choisir un autre<br><br><a href="javascript:window.history.back()">Retour</a>";
}
else
{
// CREATION D'UN IDENTIFIANT ALEATOIRE
$taille = 20;
$lettres = "abcdefghijklmnopqrstuvwxyz0123456789";
srand(time());
for ($i=0;$i<$taille;$i++)
{
$id.=substr($lettres,(rand()%(strlen($lettres))),1);
}
// ON RECHERCHE L'ID MAXIMUM DE LA TABLE
$requete=mysql_db_query($sql_bdd,"select max(id_membre) from membre",$db_link) or die(mysql_error());
$idmax=mysql_result($requete,0,"max(id_membre)";);
// INSERTION DANS LA TABLE
$idnew=$idmax+1;
$requete=mysql_db_query($sql_bdd,"insert into membre values ($idnew,"$id","$pseudo_membre","$passe_membre";)",$db_link) or die(mysql_error());
// CHAMPS SUPLEMENTAIRES, complétez la requête précédente en ajoutant les variables et en respectant l'ordre des colonnes de la table. Exemple :
// insert into membre values ($idnew,"$id","$pseudo_membre","$passe_membre","$email","$ville";)
// REDIRECTION VERS LA PAGE D'ENTREE DE L'ESPACE MEMBRE
echo "Merci, vous êtes bien enregistré. Cliquez <a href="$zone_membre?id=$id">ici</a> pour entrer dans votre espace privé.";
}
// DECONNEXION MYSQL
mysql_close($db_link);
break;
/*-----------------------------------------------------------------*/
/* AFFICHAGE DU FORMULAIRE */
/*-----------------------------------------------------------------*/
default;
echo " <h2>Nouveau membre</h2>
<form action="adduser.php3" method="post">
<input type="hidden" name="action" value="add">
Chosissez un pseudo<br><input type="text" name="pseudo_membre"><br>
Chosissez un mot de passe<br><input type="password" name="passe_membre"><br>
<! -- CHAMPS SUPLEMENTAIRES, décommentez les 2 lignes suivantes -->
<!-- Votre email<br><input type="text" name="email"><br> -->
<!-- Ville<br><input type="text" name="ville"><br> -->
<input type="submit" value="Envoyer">
</form>
<font face="Verdana" size="2"><a href="index.htm">Se connecter</a></font>";
break;
}
?>
</center>
</font>
</body>
</html>
NB: LES PAGES SI DESSUS SONT ECRITES EN PHP DONC "INVISIBLE" SUR LA TOILE
passons maintenant à la présentation ( interface) qui elle est visible de la son interêt d'ailleur
sinon comment pourriez vous vous identifiez
CECI EST UN EXEMPLE VOUS POURREZ L'AMELIORER A VOTRE AISE !!!
6° enregistrez sous: index.htm
<html>
<head>
<title>Espace membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<div align="center"><b><font face="Verdana" size="2">Pour
entrer dans l'espace membre, saisissez votre pseudo et votre mot de passe :</font></b>
<form method="post" action="login.php3">
<b><font face="Verdana" size="1">Pseudo<br>
<input type="text" name="pseudo_membre">
<br>
<br>
Mot de passe</font></b><br>
<input type="password" name="passe_membre">
<br>
<br>
<input type="submit" name="Submit" value="Entrer">
</form>
<font face="Verdana" size="2"><a href="adduser.php3">Inscription</a></font>
</div>
</body>
</html>
7° Le fichier ci dessous gener les codes erreurs possible . enregistrez sous: erreur.htm
<html>
<head>
<title> Espace membre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body bgcolor="#FFFFFF">
<p align="center"><font face="Verdana, Arial, Helvetica, sans-serif" size="2">Erreur
de connexion, vérifiez votre login et votre mot de passe !<br><br>
<a href="index.htm">Se connecter</a></font>
</p>
</body>
</html>
il vous suffit de d'envoyer tout ceci sur votre hebergeur avec votre logiciel ftp préféré filezilla
le mettre a votre sauce .
et surtout vous reportez au tuto de alban http://www.kikoochat.com/forum/kikoochat/Tutoriaux/donnees-relier-perso-sujet_14_1.htm afin de joindre votre bdd à votre tchat .
vous aurez avec ceci un bon debut ( allez alban tu nous améliore tout ça
)
voila c fini
j ai glaner les infos sur le net et je tiens tout particulierement a remercier webjeff pour son script
;)
Message édité par Lips le 13-07-2008 à 09:34:20
---------------
No stress !
Lips