你好,我目前正在登錄系統上工作,但我有點卡住了點,是PHP應該檢查,並說沒有填寫表格或者輸入的值不正確。它表明「De gebruikersnaam是沒有用的!」但它不驗證用戶是否存在於數據庫中。如何顯示密碼或登錄是否不正確
<?php
if(($_SESSION['sessieinlog']) && ($_SESSION['sessiewachtwoord']))
{
header ("Location: overzicht.php");
}
elseif(($_POST['gebruikersnaam']) && ($_POST['wachtwoord']))
{
$username = mysql_real_escape_string($_POST['gebruikersnaam']);
$password = md5(mysql_real_escape_string($_POST['wachtwoord']));
$checklogin = mysql_query("SELECT * FROM gebruikers WHERE gebruikersnaam = '".$username."' AND wachtwoord = '".$password."'");
if(mysql_num_rows($checklogin) == 1)
{
$row = mysql_fetch_array($checklogin);
$_SESSION['sessieinlog'] = $username;
$_SESSION['sessiewachtwoord'] = 1;
header ("Location: overzicht.php");
}
elseif(mysql_num_rows($checklogin) == 0)
{
//Gebruikersnaam
if(empty($username))
{
print '<p class="form-error">De gebruikersnaam is niet ingevuld!</p>';
}
elseif ($checklogin->gebruikersnaam !== $username)
{
print '<p class="form-error">De gebruikersnaam is niet bekend!</p>'; }
else
{
$gebruikersnaamakkoord = true;
}
//Wachtwoord
if ($gebruikersnaamakkoord == true)
{
if (empty($inwachtwoord))
{
print '<p class="form-error">Het wachtwoord is niet ingevuld!</p>';
}
elseif ($checklogin->wachtwoord !== $password)
{
print '<p class="form-error">Het wachtwoord is niet correct!</p>'; }
}
}
}
else
{
}
?>
感謝任何人誰可以幫助初學者這樣,我完全新到PHP,並希望任何形式的幫助!
只是一個側面說明:您在使用廢棄的'mysql'功能,我建議你使用'mysqli'或'PDO' 。 – Luke
謝謝,我已經注意到了,但是因爲我對這個完全陌生,所以我認爲使用舊功能會更容易,因爲他們更多地發現它們。 –
小費: 1.使用if(isset($ _ SESSION ['uwVariable'])檢查會話是否存在 2.不要使用MD5,至少要使用Sha1 + Salt,或者如果你想完全正確使用Bcrypt.http://stackoverflow.com/a/17073604/1063823 – Duikboot