使用“登录”,“注册选项”来做一个项目,但是在登录配置文件时遇到问题。

在电子邮件,密码字段中输入正确的数据后,它不会回显成功文本,而是回显不正确的用户名或密码。

根据我所见,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/

10-11 12:36
查看更多