我在我的PHP代碼中遇到了一個奇怪的錯誤。我想比較我的用戶名和密碼。當我回顯表格時,有正確的值,當我在$sql
變量中更改$username
和$password
時,它工作正常。PHP比較登錄詳細信息
它得到正確的變量,但它不接受它們。
<table width="300" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form name="form1" method="post" action="">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td colspan="3"><strong>Member Login </strong></td>
</tr>
<tr>
<td width="78">Username</td>
<td width="6">:</td>
<td width="294"><input name="myusername" type="text" id="myusername"></td>
</tr>
<tr>
<td>Password</td>
<td>:</td>
<td><input name="mypassword" type="password" id="mypassword"></td>
</tr>
<tr>
<td> </td>
<td> </td>
<td><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<?php
if(isset($_POST['Submit']))
{
$username = $_POST['myusername'];
$password = $_POST['mypassword'];
echo $username;
echo $password;
include "connect.php";
$sql="SELECT * FROM access WHERE username='$username' and password='$password'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
echo $count;
// If result matched $myusername and $mypassword, table row must be 1 row
if($count==1){
// Register $myusername, $mypassword and redirect to file "login_success.php"
session_register("myusername");
session_register("mypassword");
header("location:login_success.php");
} else {
echo "Wrong Username or Password";
}
}
?>
PS
我知道沒有任何加密的,但我想這個工作第一。
你確實知道,['session_register'從PHP 5.3.0開始已經被拒絕,從PHP 5.4.0開始刪除](http://us1.php.net/session_register),查詢真的是這裏的問題嗎? – kero
看起來正確。也許你沒有這個用戶在桌子上,或者你缺少大寫字母? – PolishDeveloper
有什麼錯誤? USE if(!$ result){''無效查詢:'。mysql_error()); } 看看是否有什麼明顯的 –