Ik ben bezig met een inlogsysteem (nu nog super simpel), maar hij loopt vast op een simpel if statement..
De code:
<?php
if(md5($_POST['password']) == $user['password_md5']) {
$_SESSION['login'] = $_POST['username'];
echo "<span style='color: #FFF'>Logged in.</span>";
}
else {
echo "<span style='color: #FFF'>User found but password wrong.</span><br />";
echo md5($_POST['password']) . '<br />';
echo $user['password_md5'];
}
?>
Als ik het goede wachtwoord invoer, geeft ie toch een error met daaronder beide MD5 wachtwoorden die dan hetzelfde zijn..
Voorbeeld:
Ik probeer in te loggen met de username sjaak met het wachtwoord truus dat in MD5 98e07194bf7b5c2b8258b52e6f4d259e is. In de database staat dus 98e07194bf7b5c2b8258b52e6f4d259e en hij vergelijkt hem. Daarna krijg ik alsnog een error dat het niet klopt. Weet iemand hoe dit zit? Heb ik een beginnersfout gemaakt:3?
Groeten, Kees.
EDIT: Groter stuk code:
<?php
$sql = "SELECT *
FROM `users`
WHERE username = '" . $_POST['username'] . "'";
/*$sql2 = "SELECT *
FROM `users`
WHERE password_md5 = '" . md5($_POST['password']) . "'";*/
$query = mysql_query($sql);
//$query2 = mysql_query($sql2);
if($query) {
$user = mysql_fetch_array($query);
$pass_db = md5($user['password']);
if($user['password_md5'] == md5($_POST['password'])) {
$_SESSION['login'] = $_POST['username'];
echo "<span style='color: #FFF'>Logged in.</span>";
}
/*if($query2) {
echo 'HAK';
}*/
else {
echo "<span style='color: #FFF'>User found but password wrong.</span><br />";
echo md5($_POST['password']) . '<br />';
echo $user['password_md5'];
}
}
else if(!$query) {
echo "<span style='color: #FFF'>User not found.</span>";
}
?>