SOS autentification php

said960 Messages postés 8 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 19 juin 2006 - 16 févr. 2006 à 00:20
axoul92 Messages postés 3 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 28 mars 2006 - 28 mars 2006 à 20:05
j'ai besoin d'aide !
je trouve sur internet un script d'authentefication mais jé pas compris quelque instructions parceque je suis un debutant en PHP
mes quistions :


CREATE TABLE membre (


id_membre int(10),


id varchar(20),


pseudo varchar(20),


passe varchar(20)


);


1- pourquoi en a besoin ces deux champs id_member et id !


et voici le script



<?

$sql_serveur= "localhost";// SERVEUR SQL

$sql_user="root";// LOGIN SQL

$sql_passwd="";// MOT DE PASSE SQL

$sql_bdd="gestion_bts";// NOM DE LA BASE DE DONNEES

$url_erreur="erreur.htm";// REDIRECTION VERS UNE PAGE ERREUR AU CAS OU LE LOGIN ET MOT DE PASSE SONT INVALIDES

$zone_membre="zonemembre.php3";// PAGE PRINCIPALE PROTEGEE PAR MOT DE PASSE

?>

B-LES VARIABLE DE SCRIPT :(fichier conf.php)




















<?


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 $sql_bdd sur le serveur $sql_server
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.HTML



$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);


?>


j'ai besoin une petit explication de ce code exactement cette partie !


// 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);


?>



et aussi cette partie du code qui doit inclus dans la page qui doi ouvrir apré l'autentification


<?


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 $sql_bdd sur le serveur $sql_server
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");


// DECONNEXION MYSQL


mysql_close($db_link);


?>

et merci

4 réponses

cs_tweeder Messages postés 172 Date d'inscription jeudi 30 janvier 2003 Statut Membre Dernière intervention 19 juin 2009
16 févr. 2006 à 02:59
Le id_membre agit surement comme clé unique (clé primaire) dans ta table. C'est à dire qu'aucun utilisateur peut avoir le même id. Ce champ permettra de faire des liens avec d'autres tables. Pour le script, il sera intéressant que tu pointes les bouts de code qui te sont plus ou moins évident pour qu'on puisse t'aider du mieux que l'on peut.

Jonathan
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
16 févr. 2006 à 09:21
id_membre est apparemment un auto-increment


et id un champ créé d'une manière aleatoire
perso je n'en vois pas l'utilité puisque ta clé primaire (je pense)
est id_membre et elle devrait suffire
0
said960 Messages postés 8 Date d'inscription vendredi 9 septembre 2005 Statut Membre Dernière intervention 19 juin 2006 1
21 févr. 2006 à 19:16
???? c'est pas ça ce que je veu :(
0
axoul92 Messages postés 3 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 28 mars 2006
28 mars 2006 à 20:05
Qu est ce que tu comprends pas? le code pure? ou le pourquoi de ce code??
J avoue t es pas tres claire et on peut pas t aider dans ce cas la.
@+
0
Rejoignez-nous