Ok donc j'essaye de créer un script de connexion, ici j'utilise PHP5 et mysqli, je voudrais vous demander si vous pourriez me dire pourquoi il ne fait que retourner "l'erreur: votre nom d'utilisateur et mot de passe ne correspond à aucun "? quand j'ai créé le compte et que c'est clair? C'est probablement quelque chose d'évident que j'ai manqué. Heres le code ...Aide PHP Login ne fonctionne pas correctement?
// Vérifiez si le formulaire a été soumis
if (isset ($ _ POST [ 'login'])) {
//Check if username and password are empty
if ($_POST['username']!='' && $_POST['password']!='')
{
//Create query to check username and password to database
$validate_user = $mysqli->query('SELECT id, username, password, active FROM users WHERE ="'.$mysqli->real_escape_string(md5($_POST['username'])).' AND password = "'.$mysqli->real_escape_string(md5($_POST['password'])).'"');
//We check if the query returns true
if ($validate_user->num_rows == 1)
{
$row = $validate_user->fetch_assoc();
//Check if the user has activated there account
if ($row['activated'] == 1)
{
$_SESSION['id'] = $row['id'];
$_SESSION['logged_in'] = true;
Header('Location: ../main/index.php');
}
//Show this error if activation returns as 0
else {
$error = '<p class="error">Please activate your account.</p>';
}
}
//Show this error if the details matched any in the db
else {
$error = '<p class="error">Your username and password are not in our database!</p>';
}
}
//Show this error if the username and password field have not been entered
else {
$error = '<p class="error">Please enter your username and password.</p>';
}
}
Sous quelle forme conservez-vous les mots de passe dans votre base de données? Gardez-vous les deux - nom d'utilisateur et mot de passe md5 hashed? Parce que c'est ce que votre script attend. – jayarjo
Non, je ne t'ai pas. Ha stupide moi, merci, je suppose que c'est parce que je ne hash ushames dans DB mais tente d'ici. –
Hmm je semble avoir corrigé en supprimant le "md5()" de la requête de nom d'utilisateur .... mais toujours la même erreur ... –