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 <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.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 <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");
// DECONNEXION MYSQL
mysql_close($db_link);
?>
et merci