使用“登录”,“注册选项”来做一个项目,但是在登录配置文件时遇到问题。
在电子邮件,密码字段中输入正确的数据后,它不会回显成功文本,而是回显不正确的用户名或密码。
根据我所见,if($st->num_rows() == 1){
migt是问题所在,但似乎找不到解决方法。
public function Login($Email, $Password){
if(!empty($Email) && !empty($Password)){
$st = $this->db->prepare("SELECT * FROM usertable WHERE Email=? and Password=?");
$st->bind_Param("ss", $Email,$Password);
//$st->bindParam(2, $Password);
$st->execute();
if($st->num_rows() == 1){
echo 'Login Was Sucessfull';
header('Location: Success.php');
}else {
echo 'Incorrect Username Or Password';
}
}else {
echo '<script type="text/javascript">alert("Please Enter Username or Password");</script>';
}
}
最佳答案
您使用$st->num_rows() == 1
检查结果,因此,只有在只有一个结果的情况下,您的登录尝试才有效;如果用户名/密码组合相同,请检查数据库;或者可以使用$st->num_rows() > 0
。
另外请注意,如果已输出任何内容(例如echo 'Login Was Sucessfull';
),则php标头将不起作用
关于php - num_rows问题与功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47019155/