par
Cyrano » 16 nov. 2005, 16:18
L'accolade ouvrante du dernier if() n'est pas fermée de même que celle du premier.
D'où l'importance de correctement indenter son code. Ma méthode:
<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['passe'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$db=mysql_connect("xxxx","xxxx","xxxxx");
mysql_select_db('xxxxx',$db);
$sql = "SELECT passeperso, emailperso, typepronos, datedebut, datefin, heure FROM membres WHERE loginperso = '".addslashes($login)."'";
$req = mysql_query($sql);
$passemd5= md5($data['passeperso']);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($passe == $passemd5)
{
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK)
{
$_SESSION['login'] = $data['login'];
header("location: http://www.xxxxx/xxxx.php");
}
}
?>
Là, c'est clair et tu alignes l'ouvrante et la fermante su la même colonne, tu repères alors immédiatement une erreur.
L'accolade ouvrante du dernier if() n'est pas fermée de même que celle du premier.
D'où l'importance de correctement indenter son code. Ma méthode:
[php]<?php
// On démarre la session
session_start();
$loginOK = false; // cf Astuce
// On n'effectue les traitement qu'à la condition que
// les informations aient été effectivement postées
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['passe'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$db=mysql_connect("xxxx","xxxx","xxxxx");
mysql_select_db('xxxxx',$db);
$sql = "SELECT passeperso, emailperso, typepronos, datedebut, datefin, heure FROM membres WHERE loginperso = '".addslashes($login)."'";
$req = mysql_query($sql);
$passemd5= md5($data['passeperso']);
// On vérifie que l'utilisateur existe bien
if (mysql_num_rows($req) > 0)
{
$data = mysql_fetch_assoc($req);
// On vérifie que son mot de passe est correct
if ($passe == $passemd5)
{
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK)
{
$_SESSION['login'] = $data['login'];
header("location: http://www.xxxxx/xxxx.php");
}
}
?>[/php]
Là, c'est clair et tu alignes l'ouvrante et la fermante su la même colonne, tu repères alors immédiatement une erreur.