par
sirakawa » 20 janv. 2012, 12:34
Je vais grogonner, mais si le code était indenté, il serait plus commode à lire:
if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT login, pwd FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL :'.$sql);
// 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 ($password == $data['mdp'])
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK)
{
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else
{
echo 'Une erreur est survenue, veuillez réessayer !';
}
semble indiquer que l'original est exact.
L'erreur vient sans doute d'un ajout AVANT
?>
La cause des erreurs se trouve TOUJOURS AVANT l'endroit où elles sont signalées.
Je vais grogonner, mais si le code était indenté, il serait plus commode à lire:
[php]if ( isset($_POST) && (!empty($_POST['login'])) && (!empty($_POST['password'])) )
{
extract($_POST); // je vous renvoie à la doc de cette fonction
// On va chercher le mot de passe afférent à ce login
$sql = "SELECT login, pwd FROM user WHERE login = '".addslashes($login)."'";
$req = mysql_query($sql) or die('Erreur SQL :'.$sql);
// 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 ($password == $data['mdp'])
{
$loginOK = true;
}
}
}
// Si le login a été validé on met les données en sessions
if ($loginOK)
{
$_SESSION['pseudo'] = $data['pseudo'];
$_SESSION['age'] = $data['age'];
$_SESSION['sexe'] = $data['sexe'];
$_SESSION['ville'] = $data['ville'];
}
else
{
echo 'Une erreur est survenue, veuillez réessayer !';
}[/php]
semble indiquer que l'original est exact.
L'erreur vient sans doute d'un ajout AVANT
?>
La cause des erreurs se trouve TOUJOURS AVANT l'endroit où elles sont signalées.