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 请问一下这个运行结果是怎么来的
  • ¥15 这个复选框什么作用?
  • ¥15 单通道放大电路的工作原理
  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下