Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

CRÉATION D'UN ESPACE MEMBRE AVEC MYSQL


Information sur la source

Catégorie :SQL Niveau : Débutant Date de création : 16/03/2004 Date de mise à jour : 20/04/2004 16:38:43 Vu / téléchargé: 13 974 / 1 901

Note :
7,36 / 10 - par 11 personnes
7,36 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (42)
Ajouter un commentaire et/ou une note

Description

C'est la création d'un espace membre avec gestion des logins des utilisateurs par une base SQL et ajout d'un nouvel utilisateur par lui-même.
 

Source

  • -----------------Création des tables sql--------------------------------
  • CREATE TABLE `login` (
  • `username` VARCHAR( 40 ) NOT NULL ,
  • `password` VARCHAR( 40 ) NOT NULL ,
  • PRIMARY KEY ( `username` )
  • );
  • CREATE TABLE `info` (
  • `username` VARCHAR( 40 ) NOT NULL ,
  • `prenom` VARCHAR( 40 ) NOT NULL ,
  • `nom` VARCHAR( 40 ) NOT NULL ,
  • `address` VARCHAR( 40 ) NOT NULL ,
  • `email` VARCHAR( 40 ) NOT NULL ,
  • `birth` VARCHAR( 10 ) NOT NULL ,
  • PRIMARY KEY ( `username` )
  • );
  • --------------------------Index.php-----------------------------------------
  • <html>
  • <?
  • include("./head.html");
  • //alors la j'insere la page head.html qui contient tous les metas et ma feuille de style style.css
  • include("./path.php");
  • //La c pour récupérer la fonction spath() qui me donne le chemin d'accés à ma page:" http://nomserveur/nomrepertoire/"
  • echo "<h1 class=txt>Welcome to The Holster Guild</h1>";
  • //"class= " viens de ma feuille de style
  • echo "<table align=left class=cell>";
  • echo "<form action=".spath()."/index_sc.php method=post>";
  • ?>
  • // je créé deux form: une pour se logger... je renvoi sur index_sc.php
  • <tr><td width=10>Username</td><td width=10><input type="text" name="user" maxlengh=20 size=10 class=txt></td></tr>
  • <tr><td>Password</td><td><input type="password" name="pass" maxlengh=20 size=10 class=txt></td></tr>
  • <tr><td colspan=2 align=center><input type="submit" value=": : Login : :" class=bouton>&nbsp;<input type="reset" value=": : Cancel : :" class=bouton></td></tr>
  • </form>
  • <?
  • // et un autre pour s'enregistrer... je renvoi sur register.php
  • echo "<form action=".spath()."/register.php method=post>";
  • ?>
  • <input type=hidden name=user_color value=black>
  • <input type=hidden name=pass_color value=black>
  • <input type=hidden name=fname_color value=black>
  • <input type=hidden name=lname_color value=black>
  • <input type=hidden name=mel_color value=black>
  • <input type=hidden name=add_color value=black>
  • <input type=hidden name=user value="">
  • <input type=hidden name=fname value="">
  • <input type=hidden name=lname value="">
  • <input type=hidden name=add value="">
  • <input type=hidden name=mel value="">
  • <input type=hidden name=bdate value="">
  • // la g plein de paramètres c pour que register.php recoive bien tout les paramètres qu'il va utiliser
  • <tr><td colspan=2><input type="submit" value=": : Not a member? : :" class=bouton></td></tr>
  • </form>
  • </table>
  • </html>
  • -------------------------------index_sc.php-------------------------------
  • //c ce script qui controle la validité du username et du password
  • <?
  • include('./head.html');
  • include('./admin.php');
  • //admin.php c le script qui va me permettre d'utliser la fonction admin()
  • // cette fonction va me renvoyer un tableau contenant l'hôte de mon serveur SQL, le nom d'utilisateur et le mot de passe du serveur SQL
  • $user=$_POST['user'];
  • $pass=$_POST['pass'];
  • //je récupère le nom d'utilisateur et le mot de passe
  • $pass=MD5($pass);
  • //tout les mot de passe que j'enregistre ds ma base sont codé par la fonction MD5 on compare les mot de passe codé par la suite
  • $admin=admin();
  • //je stock le resultat de admin() ds le tableau $admin
  • $db=mysql_connect($admin[0],$admin[1],$admin[2]);
  • //puis je me connect a mon serveur SQL
  • mysql_select_db($admin[1],$db);
  • //puis je selectionne ma base de donnée SQL
  • //sous free la base porte toujours le meme nom que l'utilisateur ($admin[1])
  • $table=mysql_query("SELECT password FROM log WHERE username=\"$user\"",$db);
  • //requete SQL qui me permet de selectionner le mot de passe stocké ds la base qui correspond au nom utilisateur récupéré plus haut
  • $result=mysql_fetch_row($table);
  • mysql_close($db);
  • if($result[0]==$pass)
  • //je compare les deux mots de passe
  • {
  • echo "<h1 class=txt>Bienvenue $user</h1>";
  • // si il le bon mot de passe, la vous rajouter un include('tapage.html')
  • exit;
  • }
  • echo "<h1 class=txt>Vous n'êtes pas correctement identifié.</h1>";
  • //si il a pas le bon mot de passe ou si la requet sql ne renvoie rien, i.e. si l'utilisateur n'existe pas
  • ?>
  • ---------------------------register.php--------------------
  • //ce script sert uniquement à l'affichage du formulaire d'enregistrement
  • //seulement on doit lui passer les paramètres de couleur au cas ou l'utilisateur oublie un champs et doit etre réafficher dans ce cas
  • //si c pas kler tester sur mon site en oubliant de remplir des champs obligatoire, vous verrez tout de suite +vite!! :)
  • <?
  • include("./head.html");
  • include("./path.php");
  • $user_color=$_POST['user_color'];
  • $pass_color=$_POST['pass_color'];
  • $fname_color=$_POST['fname_color'];
  • $lname_color=$_POST['lname_color'];
  • $mel_color=$_POST['mel_color'];
  • $add_color=$_POST['add_color'];
  • //la je recupere toute mes couleur pour chaque element de mon formulaire
  • $user=$_POST['user'];
  • $fname=$_POST['fname'];
  • $lname=$_POST['lname'];
  • $add=$_POST['add'];
  • $mel=$_POST['mel'];
  • $bdate=$_POST['bdate'];
  • //la je recupere les infos deja rentrer par l'utilisateur pour pas qu'il de retape tout à taper a chaque fois
  • echo "<form action=".spath()."/register_sc.php method=post>";
  • // je renvoie les donnée vers un formualire de control register_sc.php qui dira si les données sont correctement entrées
  • echo "<h1 class=txt>Please fill in the register form...</h1>";
  • echo "<table align=center>";
  • echo "<tr><td colspan=2 align=center>(the fields marked with a * are required)</td></tr>";
  • //ben la c bien bourin mais c pa trop chaud, c juste l'affichage des données et du formulaire
  • echo "<tr><td><font color=$user_color>Choose a username: </font></td><td><input type=text name=user value=$user><font color=$user_color>*</font></td></tr>";
  • echo "<tr><td><font color=$pass_color>Choose your password: </font></td><td><input type=password name=pass><font color=$pass_color>*</font></td></tr>";
  • echo "<tr><td><font color=$pass_color>Re-enter your password: </font></td><td><input type=password name=pass_check><font color=$pass_color>*</font></td></tr>";
  • echo "<tr><td><font color=$fname_color>First Name: </font></td><td><input type=text name=fname value=$fname><font color=$fname_color>*</font></td></tr>";
  • echo "<tr><td><font color=$lname_color>Last Name: </font></td><td><input type=text name=lname value=$lname><font color=$lname_color>*</font></td></tr>";
  • echo "<tr><td><font color=$add_color>Locality: </font></td><td><input type=text name=add value=$add><font color=$add_color>* (NYC, Paris...)</font></td></tr>";
  • echo "<tr><td><font color=$mel_color>email: </font></td><td><input type=text name=mel value=$mel><font color=$mel_color>* (dd/mm/yyyy)</font></td></tr>";
  • echo "<tr><td>Birth Date: </td><td><input type=text name=bdate value=$bdate></td></tr>";
  • echo "<tr><td align=right><input type=submit value=\": : Register : :\" name=submit class=bouton></td><td align=center><input type=reset value=\": : Cancel : :\" class=bouton></td></tr>";
  • echo "</table>";
  • echo "</form>";
  • ?>
  • ------------------register_sc.php----------------------------
  • //c ce script qui va controler les données et le cas bon va alors enregistrer l'utilisateur ds la base SQL
  • // sinon l'utilisateur est renvoyé sur register.php
  • <?
  • include("./head.html");
  • include("./admin.php");
  • include("./path.php");
  • $admin=admin();
  • $user=$_POST['user'];
  • $pass=$_POST['pass'];
  • $fname=$_POST['fname'];
  • $lname=$_POST['lname'];
  • $add=$_POST['add'];
  • $mel=$_POST['mel'];
  • $bdate=$_POST['bdate'];
  • //la je recupere tout les données necessaires à l'enregistrement ds la base
  • if(!$_POST['user'])
  • // je teste si on a bien fournit un nom d'utilisteur
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez oublié votre nom d'utilisateur!!</h1>";
  • echo "<center>";
  • echo " <input type=hidden name=user_color value=red>";
  • // je met la couleur de user en rouge
  • echo " <input type=hidden name=pass_color value=black>";
  • echo " <input type=hidden name=fname_color value=black>";
  • echo " <input type=hidden name=lname_color value=black>";
  • echo " <input type=hidden name=mel_color value=black>";
  • echo " <input type=hidden name=add_color value=black>";
  • echo " <input type=hidden name=user value=\"\">";
  • // et je renvoie un champs vide pour user
  • echo " <input type=hidden name=fname value=$fname>";
  • echo " <input type=hidden name=lname value=$lname>";
  • echo " <input type=hidden name=add value=$add>";
  • echo " <input type=hidden name=mel value=$mel>";
  • echo " <input type=hidden name=bdate value=$bdate>";
  • echo " <input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • elseif(!$_POST['pass']||!$_POST['pass_check']||$_POST['pass']!=$_POST['pass_check'])
  • //la je control si il a bien rempli les deux meme mot de passe
  • //apres c toujours la meme chose que pour user: en rouge puis champs vide
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez mal tapé votre mot de passe!!</h1>";
  • echo "<center>";
  • echo " <input type=hidden name=user_color value=black>";
  • echo " <input type=hidden name=pass_color value=red>";
  • echo " <input type=hidden name=fname_color value=black>";
  • echo " <input type=hidden name=lname_color value=black>";
  • echo " <input type=hidden name=mel_color value=black>";
  • echo " <input type=hidden name=add_color value=black>";
  • echo " <input type=hidden name=user value=$user>";
  • echo " <input type=hidden name=fname value=$fname>";
  • echo " <input type=hidden name=lname value=$lname>";
  • echo " <input type=hidden name=add value=$add>";
  • echo " <input type=hidden name=mel value=$mel>";
  • echo " <input type=hidden name=bdate value=$bdate>";
  • echo " <input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • elseif(!$_POST['fname'])
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez oublié votre prénom!!</h1>";
  • echo "<center>";
  • echo "<input type=hidden name=user_color value=black>";
  • echo "<input type=hidden name=pass_color value=black>";
  • echo "<input type=hidden name=fname_color value=red>";
  • echo "<input type=hidden name=lname_color value=black>";
  • echo "<input type=hidden name=mel_color value=black>";
  • echo " <input type=hidden name=add_color value=black>";
  • echo "<input type=hidden name=user value=$user>";
  • echo "<input type=hidden name=fname value=\"\">";
  • echo "<input type=hidden name=lname value=$lname>";
  • echo "<input type=hidden name=add value=$add>";
  • echo "<input type=hidden name=mel value=$mel>";
  • echo "<input type=hidden name=bdate value=$bdate>";
  • echo "<input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • elseif(!$_POST['lname'])
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez oublié votre nom!!</h1>";
  • echo "<center>";
  • echo " <input type=hidden name=user_color value=black>";
  • echo " <input type=hidden name=pass_color value=black>";
  • echo " <input type=hidden name=fname_color value=black>";
  • echo " <input type=hidden name=lname_color value=red>";
  • echo " <input type=hidden name=mel_color value=black>";
  • echo " <input type=hidden name=add_color value=black>";
  • echo " <input type=hidden name=user value=$user>";
  • echo " <input type=hidden name=fname value=$fname>";
  • echo " <input type=hidden name=lname value=\"\">";
  • echo " <input type=hidden name=add value=$add>";
  • echo " <input type=hidden name=mel value=$mel>";
  • echo " <input type=hidden name=bdate value=$bdate>";
  • echo " <input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • elseif(!$_POST['mel'])
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez oublié votre email!!</h1>";
  • echo "<center>";
  • echo " <input type=hidden name=user_color value=black>";
  • echo " <input type=hidden name=pass_color value=black>";
  • echo " <input type=hidden name=fname_color value=black>";
  • echo " <input type=hidden name=lname_color value=black>";
  • echo " <input type=hidden name=mel_color value=red>";
  • echo " <input type=hidden name=add_color value=black>";
  • echo " <input type=hidden name=user value=$user>";
  • echo " <input type=hidden name=fname value=$fname>";
  • echo " <input type=hidden name=lname value=$lname>";
  • echo " <input type=hidden name=add value=$add>";
  • echo " <input type=hidden name=mel value=\"\">";
  • echo " <input type=hidden name=bdate value=$bdate>";
  • echo " <input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • elseif(!$_POST['add'])
  • {
  • echo "<form action=".spath()."/register.php method=post>";
  • echo "<h1 class=txt>Vous avez oublié votre Localité!!</h1>";
  • echo "<center>";
  • echo " <input type=hidden name=user_color value=black>";
  • echo " <input type=hidden name=pass_color value=black>";
  • echo " <input type=hidden name=fname_color value=black>";
  • echo " <input type=hidden name=lname_color value=black>";
  • echo " <input type=hidden name=mel_color value=black>";
  • echo " <input type=hidden name=add_color value=red>";
  • echo " <input type=hidden name=user value=$user>";
  • echo " <input type=hidden name=fname value=$fname>";
  • echo " <input type=hidden name=lname value=$lname>";
  • echo " <input type=hidden name=add value=\"\">";
  • echo " <input type=hidden name=mel value=$mel>";
  • echo " <input type=hidden name=bdate value=$bdate>";
  • echo " <input type=submit value=\": : Revenir : :\" class=bouton>";
  • echo "</center>";
  • echo "</form>";
  • }
  • else
  • //si les teste du haut sont tous bon alors on enregsitre, MAIS il fo controler si l'utilisateur ne s'est pas deja enregister!!
  • {
  • $db=mysql_connect($admin[0],$admin[1],$admin[2]);
  • mysql_select_db($admin[1],$db);
  • $pass=MD5($pass);
  • $table=mysql_query("SELECT username FROM log",$db);
  • $result=mysql_fetch_row($table);
  • foreach($result as $ans)
  • {
  • if (strtolower($ans)==strtolower($user))
  • //la je compare les noms d'utilisateur
  • //je transforme les chaines en chaine minuscule pour ne pas prendre ne compte la casse
  • {
  • echo "<h1 class=txt>L'utilisateur existe déja!!</h1>";
  • mysql_close($db);
  • exit;
  • }
  • }
  • mysql_query("INSERT INTO `log` VALUES ('$user','$pass')",$db);
  • mysql_query("INSERT INTO `info` VALUES ('$user','$fname','$lname','$add','$mel','$bdate')",$db);
  • //si pas de meme utilisateur alors on ecrit dans la base les données récupérées plus haut!!
  • mysql_close($db);
  • echo "<h1 class=txt>Vous avez bien été enregistré $user</h1>";
  • }
  • ?>
  • ----------admin.php----------
  • //en fait cette fonction fait appel à un fichier, caché de préférence, qui contient le nom d'utilisateur et le mot de passe du serveur SQL qui contient la base de donnée
  • // ce fichier se nomme .htadmin, il commence par un point pour ne pas etre affiché par le serveur apache (pour ce cacher)
  • //ce fichier est stocké dans un repertoir log/
  • //Pour interdire l'acces de ce repertoir afin d'etre sûr que personne viendra regarder dans .htadmin, il faut definir un autre fichier: .htaccess
  • //( à ne pas mettre sur la racine de votre compte web sinon vous n'y aurait plus acces!! sauf si vous configurer .htaccess pour un acces restreint mais la c un autre problème!!)
  • <?
  • function admin()
  • {
  • $fpath="./log/.htadmin";
  • if(is_readable($fpath))
  • // je teste si le fichier est lisible
  • {
  • if(!$f=fopen($fpath,'r'))
  • //j'ouvre le fichier
  • {
  • echo "Erreur d'ouverture du fichier.";
  • exit;
  • }
  • else
  • {
  • $str=fgets($f);
  • //je lis la seule et unique ligne de mon fichier
  • list($user,$pass)=split(":",$str);
  • //je separe cette chaine en deux chaines $user et $pass par ":" car mes deux chamsp dans mon fichier sont séparer par un ":"
  • $host="sql.free.rr";
  • // je recupere l'adresse de mon hote qui contient ma bases de donnéé
  • return array($host,$user,$pass);
  • // je renvoie un tableau (array) qui en premier index aura l'hote en deuxiéme l'utlisateur et en 3eme le mot de passe
  • }
  • }
  • else
  • {
  • echo "Le fichier n'est pas lisible.";
  • exit;
  • }
  • }
  • ?>
  • --------------------------htacess--------------------------
  • //dans htaccess pour interdire l'acces au repertoire vous mettez seulement cette ligne
  • deny from all
  • -----------fin------
-----------------Création des tables sql--------------------------------
CREATE TABLE `login` (
`username` VARCHAR( 40 ) NOT NULL ,
`password` VARCHAR( 40 ) NOT NULL ,
PRIMARY KEY ( `username` )
);

CREATE TABLE `info` (
`username` VARCHAR( 40 ) NOT NULL ,
`prenom` VARCHAR( 40 ) NOT NULL ,
`nom` VARCHAR( 40 ) NOT NULL ,
`address` VARCHAR( 40 ) NOT NULL ,
`email` VARCHAR( 40 ) NOT NULL ,
`birth` VARCHAR( 10 ) NOT NULL ,
PRIMARY KEY ( `username` ) 
);
--------------------------Index.php-----------------------------------------
<html>
<?
	include("./head.html");

//alors la j'insere la page head.html qui contient tous les metas et ma feuille de style style.css

	include("./path.php");

//La c pour récupérer la fonction spath() qui me donne le chemin d'accés à ma page:" http://nomserveur/nomrepertoire/"

	echo "<h1 class=txt>Welcome to The Holster Guild</h1>";

//"class= " viens de ma feuille de style

	echo "<table align=left class=cell>";
	echo "<form action=".spath()."/index_sc.php method=post>";
?>

// je créé deux form: une pour se logger... je renvoi sur index_sc.php

	<tr><td width=10>Username</td><td width=10><input type="text" name="user" maxlengh=20 size=10 class=txt></td></tr>
	<tr><td>Password</td><td><input type="password" name="pass" maxlengh=20 size=10 class=txt></td></tr>
	<tr><td colspan=2 align=center><input type="submit" value=": : Login : :" class=bouton>&nbsp;<input type="reset" value=": : Cancel : :" class=bouton></td></tr>
</form>
<?

// et un autre pour s'enregistrer... je renvoi sur register.php

	echo "<form action=".spath()."/register.php method=post>";		
?>
		<input type=hidden name=user_color value=black>
		<input type=hidden name=pass_color value=black>
		<input type=hidden name=fname_color value=black>
		<input type=hidden name=lname_color value=black>
		<input type=hidden name=mel_color value=black>
		<input type=hidden name=add_color value=black>
		<input type=hidden name=user value="">
		<input type=hidden name=fname value="">
		<input type=hidden name=lname value="">
		<input type=hidden name=add value="">
		<input type=hidden name=mel value="">
		<input type=hidden name=bdate value="">

// la g plein de paramètres c pour que register.php recoive bien tout les paramètres qu'il va utiliser

		<tr><td colspan=2><input type="submit" value=": : Not a member? : :" class=bouton></td></tr>
	</form>
	</table>
</html>

-------------------------------index_sc.php-------------------------------

//c ce script qui controle la validité du username et du password
<?
	include('./head.html');
	include('./admin.php');

//admin.php c le script qui va me permettre d'utliser la fonction admin()
// cette fonction va me renvoyer un tableau contenant l'hôte de mon serveur SQL, le nom d'utilisateur et le mot de passe du serveur SQL

	$user=$_POST['user'];
	$pass=$_POST['pass'];

//je récupère le nom d'utilisateur et le mot de passe

	$pass=MD5($pass);

//tout les mot de passe que j'enregistre ds ma base sont codé par la fonction MD5 on compare les mot de passe codé par la suite

	$admin=admin(); 

//je stock le resultat de admin() ds le tableau $admin

	$db=mysql_connect($admin[0],$admin[1],$admin[2]);

//puis je me connect a mon serveur SQL

	mysql_select_db($admin[1],$db);

//puis je selectionne ma base de donnée SQL
//sous free la base porte toujours le meme nom que l'utilisateur ($admin[1])

	$table=mysql_query("SELECT password FROM log WHERE username=\"$user\"",$db);

//requete SQL qui me permet de selectionner le mot de passe stocké ds la base qui correspond au nom utilisateur récupéré plus haut

	$result=mysql_fetch_row($table);
	mysql_close($db);
	if($result[0]==$pass)

//je compare les deux mots de passe

	{
		echo "<h1 class=txt>Bienvenue $user</h1>";

// si il le bon mot de passe, la vous rajouter un include('tapage.html') 

		exit;
	}
	echo "<h1 class=txt>Vous n'êtes pas correctement identifié.</h1>";

//si il a pas le bon mot de passe ou si la requet sql ne renvoie rien, i.e. si l'utilisateur n'existe pas
?>

---------------------------register.php--------------------

//ce script sert uniquement à l'affichage du formulaire d'enregistrement
//seulement on doit lui passer les paramètres de couleur au cas ou l'utilisateur oublie un champs et doit etre réafficher dans ce cas
//si c pas kler tester sur mon site en oubliant de remplir des champs obligatoire, vous verrez tout de suite +vite!! :)
<?
	include("./head.html");
	include("./path.php");
	$user_color=$_POST['user_color'];
	$pass_color=$_POST['pass_color'];
	$fname_color=$_POST['fname_color'];
	$lname_color=$_POST['lname_color'];
	$mel_color=$_POST['mel_color'];
	$add_color=$_POST['add_color'];

//la je recupere toute mes couleur pour chaque element de mon formulaire

	$user=$_POST['user'];
	$fname=$_POST['fname'];
	$lname=$_POST['lname'];
	$add=$_POST['add'];
	$mel=$_POST['mel'];
	$bdate=$_POST['bdate'];

//la je recupere les infos deja rentrer par l'utilisateur pour pas qu'il de retape tout à taper a chaque fois

	echo "<form action=".spath()."/register_sc.php method=post>";

// je renvoie les donnée vers un formualire de control register_sc.php qui dira si les données sont correctement entrées

	echo "<h1 class=txt>Please fill in the register form...</h1>";
	echo "<table align=center>";
	echo "<tr><td colspan=2 align=center>(the fields marked with a * are required)</td></tr>";

//ben la c bien bourin mais c pa trop chaud, c juste l'affichage des données et du formulaire

	echo "<tr><td><font color=$user_color>Choose a username: </font></td><td><input type=text name=user value=$user><font color=$user_color>*</font></td></tr>";
	echo "<tr><td><font color=$pass_color>Choose your password: </font></td><td><input type=password name=pass><font color=$pass_color>*</font></td></tr>";
	echo "<tr><td><font color=$pass_color>Re-enter your password: </font></td><td><input type=password name=pass_check><font color=$pass_color>*</font></td></tr>";
	echo "<tr><td><font color=$fname_color>First Name: </font></td><td><input type=text name=fname value=$fname><font color=$fname_color>*</font></td></tr>";
	echo "<tr><td><font color=$lname_color>Last Name: </font></td><td><input type=text name=lname value=$lname><font color=$lname_color>*</font></td></tr>";
	echo "<tr><td><font color=$add_color>Locality: </font></td><td><input type=text name=add value=$add><font color=$add_color>* (NYC, Paris...)</font></td></tr>";
	echo "<tr><td><font color=$mel_color>email: </font></td><td><input type=text name=mel value=$mel><font color=$mel_color>* (dd/mm/yyyy)</font></td></tr>";
	echo "<tr><td>Birth Date: </td><td><input type=text name=bdate value=$bdate></td></tr>";
		
	echo "<tr><td align=right><input type=submit value=\": : Register : :\" name=submit class=bouton></td><td align=center><input type=reset value=\": : Cancel : :\" class=bouton></td></tr>";
	echo "</table>";
	echo "</form>";
?>


------------------register_sc.php----------------------------

//c ce script qui va controler les données et le cas bon va alors enregistrer l'utilisateur ds la base SQL
// sinon l'utilisateur est renvoyé sur register.php

<?
	include("./head.html");
	include("./admin.php");
	include("./path.php");
	$admin=admin();
	$user=$_POST['user'];
	$pass=$_POST['pass'];
	$fname=$_POST['fname'];
	$lname=$_POST['lname'];
	$add=$_POST['add'];
	$mel=$_POST['mel'];
	$bdate=$_POST['bdate'];

//la je recupere tout les données necessaires à l'enregistrement ds la base

	if(!$_POST['user'])

// je teste si on a bien fournit un nom d'utilisteur

	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez oublié votre nom d'utilisateur!!</h1>";
		echo "<center>";
		echo "	<input type=hidden name=user_color value=red>";

// je met la couleur de user en rouge

		echo "	<input type=hidden name=pass_color value=black>";
		echo "	<input type=hidden name=fname_color value=black>";
		echo "	<input type=hidden name=lname_color value=black>";
		echo "	<input type=hidden name=mel_color value=black>";
		echo "	<input type=hidden name=add_color value=black>";
		echo "	<input type=hidden name=user value=\"\">";

// et je renvoie un champs vide pour user

		echo "	<input type=hidden name=fname value=$fname>";
		echo "	<input type=hidden name=lname value=$lname>";
		echo "	<input type=hidden name=add value=$add>";
		echo "	<input type=hidden name=mel value=$mel>";
		echo "	<input type=hidden name=bdate value=$bdate>";
		echo "	<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	elseif(!$_POST['pass']||!$_POST['pass_check']||$_POST['pass']!=$_POST['pass_check'])

//la je control si il a bien rempli les deux meme mot de passe
//apres c toujours la meme chose que pour user: en rouge puis champs vide

	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez mal tapé votre mot de passe!!</h1>";
		echo "<center>";
		echo "	<input type=hidden name=user_color value=black>";
		echo "	<input type=hidden name=pass_color value=red>";
		echo "	<input type=hidden name=fname_color value=black>";
		echo "	<input type=hidden name=lname_color value=black>";
		echo "	<input type=hidden name=mel_color value=black>";
		echo "	<input type=hidden name=add_color value=black>";
		echo "	<input type=hidden name=user value=$user>";
		echo "	<input type=hidden name=fname value=$fname>";
		echo "	<input type=hidden name=lname value=$lname>";
		echo "	<input type=hidden name=add value=$add>";
		echo "	<input type=hidden name=mel value=$mel>";
		echo "	<input type=hidden name=bdate value=$bdate>";
		echo "	<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	elseif(!$_POST['fname'])
	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez oublié votre prénom!!</h1>";
		echo "<center>";
		echo "<input type=hidden name=user_color value=black>";
		echo "<input type=hidden name=pass_color value=black>";
		echo "<input type=hidden name=fname_color value=red>";
		echo "<input type=hidden name=lname_color value=black>";
		echo "<input type=hidden name=mel_color value=black>";
		echo "	<input type=hidden name=add_color value=black>";
		echo "<input type=hidden name=user value=$user>";
		echo "<input type=hidden name=fname value=\"\">";
		echo "<input type=hidden name=lname value=$lname>";
		echo "<input type=hidden name=add value=$add>";
		echo "<input type=hidden name=mel value=$mel>";
		echo "<input type=hidden name=bdate value=$bdate>";
		echo "<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	elseif(!$_POST['lname'])
	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez oublié votre nom!!</h1>";
		echo "<center>";
		echo "	<input type=hidden name=user_color value=black>";
		echo "	<input type=hidden name=pass_color value=black>";
		echo "	<input type=hidden name=fname_color value=black>";
		echo "	<input type=hidden name=lname_color value=red>";
		echo "	<input type=hidden name=mel_color value=black>";
		echo "	<input type=hidden name=add_color value=black>";
		echo "	<input type=hidden name=user value=$user>";
		echo "	<input type=hidden name=fname value=$fname>";
		echo "	<input type=hidden name=lname value=\"\">";
		echo "	<input type=hidden name=add value=$add>";
		echo "	<input type=hidden name=mel value=$mel>";
		echo "	<input type=hidden name=bdate value=$bdate>";
		echo "	<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	elseif(!$_POST['mel'])
	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez oublié votre email!!</h1>";
		echo "<center>";
		echo "	<input type=hidden name=user_color value=black>";
		echo "	<input type=hidden name=pass_color value=black>";
		echo "	<input type=hidden name=fname_color value=black>";
		echo "	<input type=hidden name=lname_color value=black>";
		echo "	<input type=hidden name=mel_color value=red>";
		echo "	<input type=hidden name=add_color value=black>";
		echo "	<input type=hidden name=user value=$user>";
		echo "	<input type=hidden name=fname value=$fname>";
		echo "	<input type=hidden name=lname value=$lname>";
		echo "	<input type=hidden name=add value=$add>";
		echo "	<input type=hidden name=mel value=\"\">";
		echo "	<input type=hidden name=bdate value=$bdate>";
		echo "	<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	elseif(!$_POST['add'])
	{
		echo "<form action=".spath()."/register.php method=post>";
		echo "<h1 class=txt>Vous avez oublié votre Localité!!</h1>";
		echo "<center>";
		echo "	<input type=hidden name=user_color value=black>";
		echo "	<input type=hidden name=pass_color value=black>";
		echo "	<input type=hidden name=fname_color value=black>";
		echo "	<input type=hidden name=lname_color value=black>";
		echo "	<input type=hidden name=mel_color value=black>";
		echo "	<input type=hidden name=add_color value=red>";
		echo "	<input type=hidden name=user value=$user>";
		echo "	<input type=hidden name=fname value=$fname>";
		echo "	<input type=hidden name=lname value=$lname>";
		echo "	<input type=hidden name=add value=\"\">";
		echo "	<input type=hidden name=mel value=$mel>";
		echo "	<input type=hidden name=bdate value=$bdate>";
		echo "	<input type=submit value=\": : Revenir : :\" class=bouton>";
		echo "</center>";
		echo "</form>";
	}
	else

//si les teste du haut sont tous bon alors on enregsitre, MAIS il fo controler si l'utilisateur ne s'est pas deja enregister!!

	{
		$db=mysql_connect($admin[0],$admin[1],$admin[2]);
		mysql_select_db($admin[1],$db);
		$pass=MD5($pass);
		$table=mysql_query("SELECT username FROM log",$db);
		$result=mysql_fetch_row($table);
		foreach($result as $ans)
		{
			if (strtolower($ans)==strtolower($user))

//la je compare les noms d'utilisateur
//je transforme les chaines en chaine minuscule pour ne pas prendre ne compte la casse
			{
				echo "<h1 class=txt>L'utilisateur existe déja!!</h1>";
				mysql_close($db);
				exit;
			}
		}
		mysql_query("INSERT INTO `log` VALUES ('$user','$pass')",$db);
		mysql_query("INSERT INTO `info` VALUES ('$user','$fname','$lname','$add','$mel','$bdate')",$db);

//si pas de meme utilisateur alors on ecrit dans la base les données récupérées plus haut!!

		mysql_close($db);
		echo "<h1 class=txt>Vous avez bien été enregistré $user</h1>";
	}
?>


----------admin.php----------
//en fait cette fonction fait appel à un fichier, caché de préférence, qui contient le nom d'utilisateur et le mot de passe du serveur SQL qui contient la base de donnée
// ce fichier se nomme .htadmin, il commence par un point pour ne pas etre affiché par le serveur apache (pour ce cacher)

//ce fichier est stocké dans un repertoir log/ 
//Pour interdire l'acces  de ce repertoir afin d'etre sûr que personne viendra regarder dans .htadmin, il faut definir un autre fichier: .htaccess 
//( à ne pas mettre sur la racine de votre compte web sinon vous n'y aurait plus acces!! sauf si vous configurer .htaccess pour un acces restreint mais la c un autre problème!!)
<?
function admin()
{
	$fpath="./log/.htadmin";
	if(is_readable($fpath))

// je teste si le fichier est lisible

	{
		if(!$f=fopen($fpath,'r'))

//j'ouvre le fichier

		{
			echo "Erreur d'ouverture du fichier.";
			exit;
		}
		else
		{
			$str=fgets($f);

//je lis la seule et unique ligne de mon fichier

			list($user,$pass)=split(":",$str);

//je separe cette chaine en deux chaines $user et $pass par ":" car mes deux chamsp dans mon fichier sont séparer par un ":"

			$host="sql.free.rr"; 

// je recupere l'adresse de mon hote qui contient ma bases de donnéé

			return array($host,$user,$pass);

// je renvoie un tableau (array) qui en premier index aura l'hote en deuxiéme l'utlisateur et en 3eme le mot de passe

		}
	}
	else
	{
		echo "Le fichier n'est pas lisible.";
		exit;
	}
}
?>


--------------------------htacess--------------------------
//dans htaccess pour interdire l'acces au repertoire vous mettez seulement cette ligne

deny from all



-----------fin------

Conclusion

Bon suite aux mails reçu je v expliquer un peu plus en details (frbos c pour toa!!)


voila

apres y peut y avoir un complèment sur les feuilles de style
sinon fo connaitre un minimum les formulaires et php mais c pas dur et je peux vous expliquer mais cette fois en privée!! ;)

résultat sur http://nifhell.free.fre

si vous avez des suggestions et j'en suis avide => email!!


Alors c pour vous eMaylo et Julienmath:
Suite aux messages je précise la création des tables (c vraiment pour vous faire plaisir)...

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de fabri62 le 24/03/2004 18:40:14

Salut,

Ca m'a pas l'air mal, mais je n'ai pas trouver ta table Sql ??

Fabrice.

signaler à un administrateur
Commentaire de Nifhell le 24/03/2004 19:34:41

salut,

je ne donne pas le code source dce création des tables sql car ils sont fournis à foison sur ce site... à toi de chercher un peu, c pas tres compliqué

c juste deux tables, une 'login' qui contient 2 champs de type VARCHAR un 'username' (c la clé primaire) l'autre 'password'
l'autre table s'appelle 'info' qui contient 5 champs de type VARCHAR 'username' (c la clé primaire), 'nom', 'prenom','ville','date de naissance'...


voilà voilà
@++

signaler à un administrateur
Commentaire de i0Lo le 24/03/2004 22:05:54

Simple et efficace :)
... et trés appreciable le petit md5() que l'on trouve trés rarement dans ce type de source
Un 8/10 et des applaudissements

signaler à un administrateur
Commentaire de BlasphM le 26/03/2004 22:43:11

Voila, le php je ne connai vraiment pas, et j'aimerai savoir si il est possible d'utiliser les code que vous avez écrit sans avoir a toucher quelque chose, j'ai déjà tenter quelque chose sur dreamweaver, mais j'ouvre l'index.php, j'ai donc les boutons login, cancel, not a member, seul login m'emmene a quelque chose, et ce quelque chose c'est Impossible d'afficher la page, je voudrais savoir si pour quelqu'un comme moi, sans bases php, il est possible de crée un espace login sur mon site?

signaler à un administrateur
Commentaire de Nifhell le 28/03/2004 15:39:13

BlasphM,

Xcuse moi de te dire ça mais il faut toujours y mettre un peu du sien!!

Les logiciels comme dreamweaver ne s'adresse pas a des novices de la programmation web bien au contraire!!! (même ci c ce qu'ils tentent de faire croire...)
Ce sont des logiciels qui necessitent la connaissance des bases de la programmation...

Il est toujours difficile de se lancer dans un nouveau language, mais dans tout les cas l'effort de compréhension existera toujours!! Alors bien sur que mon code n'est pas utilisable sans rien y modifier, car par exemple si tu ne publie pas ton site sur free tu devras y changer l'adresse du serveur sql... et ainsi de suite...

A contrario, je c que Adobe Golive permet de protéger l'accés à une page par mot de passe.. mais ce ne sera qu'une parade, car il ne s'agira jamais d'un vrai espace membre!!

Ainsi, il est toujours préférable de maitriser l'ensemble de son site, et le seul moyen et d'y connaitre son code source!!!

signaler à un administrateur
Commentaire de belgou le 28/03/2004 17:02:22

Merci beaucoup

signaler à un administrateur
Commentaire de BlasphM le 28/03/2004 18:29:44

Je suis d'accord avec toi sur Dreamweaver, je voulais juste savoir si il y avais juste moyen d'utiliser ton code sans pouvoir changer quelque chose, maintenant même si je ne programme pas, je m'en sert pour tout ce qui est application graphique web, sans rentrer dans les détail, je ne me sert pas de Dreamweaver comme d'un outil de programmation, html php ou java. Et sans programmer tu peut faire des choses intérassante, pas besoin d'être un expert. Bref merci pour ta réponse, je vais donc m'essayé au php.

signaler à un administrateur
Commentaire de createurtr le 09/04/2004 22:13:11

je ne comprend pas vous pourriez m aider pk moi j ai telecharger le zip et je ne comprend pas ou je doit placer les page ou qual page je doit mettre en ligne etc... pourriez vous m aider

signaler à un administrateur
Commentaire de julienmath le 16/04/2004 12:54:20

Sa serais bien si quelqu'un me disais ou se trouve la base SQL parce que je ne l'ai pas encore trouvée !


Merci !!

julien !

signaler à un administrateur
Commentaire de eMaylo le 19/04/2004 01:53:04

ba faut la créér nous même, alala....les flémard...

signaler à un administrateur
Commentaire de Nifhell le 19/04/2004 11:26:56

Lol
merci eMaylo!!

signaler à un administrateur
Commentaire de julienmath le 19/04/2004 12:00:22

AAAAA fallais le dire plus to !!!

signaler à un administrateur
Commentaire de eMaylo le 19/04/2004 22:34:15

Par contre, c'est vrai que si qq1 voudrai bien mettre la requête a executer pour creer les 2 table ca serai bien :p lol
Merci a la personne qui voudra bien le marqué......alala....et oui y a des fénéant....

signaler à un administrateur
Commentaire de Nifhell le 20/04/2004 16:40:18

Bon voilà vous avez gangé g mis la création des tables en début de code!!

fénéants va :)

@++

signaler à un administrateur
Commentaire de eMaylo le 20/04/2004 22:41:51

LoL, merci pour les autres :) Moi c'est bon jai déja creer les table pour essayer :)
Suis pas aussi fénéant que ca....:p

signaler à un administrateur
Commentaire de julienmath le 25/04/2004 11:38:50

Merci !!!!