0

这段代码有什么问题?另一种选择是什么?
我没有收到任何错误消息,但每次我输入用户名和密码的组合时,它都会将我引导到登录页面,即使它是正确的....

$query = $conn->prepare("SELECT * FROM login WHERE username = :username AND password = :password");
$query->bindParam(":username"  , $username);
$query->bindParam(":password", $password);
$query->execute();
$result = $query->rowCount();

 if($result>0){
     header("location:admin.php");       
 }else{

     header("location:login.php");
 }
4

1 回答 1

1

这可能是由于字符集错误;尝试以下步骤:

  1. 将两个文件(sender.hml 和 logger.php)保存为 UTF-8。
  2. 添加<meta charset="utf-8" />sender.html。
  3. $username = utf8_decode($username);

为了测试它,print在你的代码之前写一个:

  1. print "SELECT * FROM login WHERE username = '$username' AND password = '$password'"
  2. 复制 SQL 并在 phpMyAdmin 或其他 SQL 浏览器中执行。

祝你好运!

于 2012-10-04T18:01:25.270 回答