doyrte8419 2018-07-02 12:13
浏览 19
已采纳

php - mysqli准备给我错误qhen开始登录

I create this code to check user login based in a form. But is giving me erros..Is not finding nothing... just say "INVALID USERNAME/PASSWORD Combination!"

    $uid = mysqli_real_escape_string($con, sanitize($_POST['email']));
$pwd = mysqli_real_escape_string($con, sanitize($_POST['password']));

if (empty($uid) || empty($pwd)) {

    header("Location: ../member?fail=1");
    exit();

} else {

    $stmt = $con->prepare("SELECT email, password FROM public_users WHERE email = ? AND password = ?");
    $stmt->bind_param('ss', $uid, $pwd);
    $stmt->execute();
    $stmt->bind_result($uid, $pwd);
    $stmt->store_result();

    if($stmt->num_rows == 1) {

        if($stmt->fetch()) {

           $secure_hash = password_verify($pwd, $stmt['password']);

           if($secure_hash == false) { 

              echo "Combination!";

           } else {

              echo "PASSWORD Combination!";
           }

        }

    } else {
        echo "INVALID USERNAME/PASSWORD Combination!";
    }        

}    

$stmt->close();

Please help this is for an text tomorrow at school :(

  • 写回答

1条回答 默认 最新

  • dpojoxa5613 2018-07-02 12:18
    关注

    You tried to get an email and a password from your database, but the password field already hashed.

    $stmt = $con->prepare("SELECT email, password FROM public_users WHERE email = ? AND password = ?");
    

    You should get a record only by email:

    $stmt = $con->prepare("SELECT email, password, age FROM public_users WHERE email = ? ");
    $stmt->bind_param('s', $uid);
    $stmt->execute();
    $stmt->bind_result($uid, $hashed_password, $age);
    $stmt->store_result();
    //.....
    

    and next verify password:

    $secure_hash = password_verify($pwd, $hashed_password);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog