1
當在窗體中寫入任何東西,並單擊輸入按鈕,沒有錯誤,但是當我寫的用戶名和密碼正確的錯誤顯示 我試圖回聲「$ _POST ['username']」; //如果用戶名不匹配,打印用戶名?當密碼和用戶名在數據庫中匹配時,顯示錯誤?
錯誤:
注意:未定義指數:用戶名在..
注意:未定義指數:密碼..
這是我的形式
<form action="2.php" method="post">
<table align="center">
<tr>
<td>Username</td>
<td><input type="text" name="username" /></td>
</tr>
<tr>
<td>Password</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" value="Enter" />
</td>
</tr>
</table>
</form>
,這我第二頁
<?php
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$connection = mysql_connect('localhost', 'root', '');
if (!$connection){
die('Could not connect');
exit;
}
mysql_select_db('dbName') or die("Unable to select database");
$query = "SELECT * FROM admin WHERE username = '$username'";
$result = mysql_query($query) or die(mysql_error());
$num = mysql_num_rows($result); // number of rows
if ($num > 0){
$i = 0;
while ($i < $num){
$row = mysql_fetch_array($result);
if (($password) == $row['password'] && ($username) == $row['username']){
header('location:2.php');
$_SESSION['sessionname'] = $username;
$_SESSION['sessionpass'] = $password;
}
elseif (($password) != $row['password'] && ($username) == $row['username']) {
echo "Wrong Password <a href='1.php' >Click Here</a>";
}
$i++;
}
}else {
echo "Username <strong><u>$_POST[username]</u></strong> invalid ! <a href='1.php' >Click Here</a> ";
}
?>
考慮存儲密碼哈希而不是明文。 – 2013-05-11 17:30:51
爲什麼添加[tag:cakephp]標籤? – 2013-05-11 17:33:38
「mysql_」函數現在已被棄用。我建議在繼續之前切換到mysqli_或PDO。 – vijrox 2013-05-11 17:34:30