【问题标题】:Can't view the page after I uploaded on the webserver上传到网络服务器后无法查看页面
【发布时间】:2016-08-08 05:21:27
【问题描述】:

这在我的本地主机上运行良好,但是当我将它上传到我的网络服务器时,它开始给我一个错误。这实际上不是错误,但它向​​我显示了 page is not working. Page is currently unable to handle this request. 它显示在我的 changepassword.php 页面上。我真的不知道该怎么办?

$sql=("SELECT * FROM profile WHERE username='$user_check'");
$db_check=$db->query($sql);
if(password_verify($old_pwd,$db_check->fetch_assoc()['password'])){
    ...     
}
else{
    $error = "Old password is incorrect.";
    }

我试过了

$sql=("SELECT * FROM profile WHERE username='$user_check'");
$db_check=$db->query($sql);
$row = $db_check;
if(password_verify($old_pwd,$row['password'])){
    ....    
}

但它给了我一个致命的错误

Fatal error: Cannot use object of type mysqli_result as array

【问题讨论】:

  • 检查您的 php 版本。 password_verify 仅适用于 v >= 5.5
  • 我已经这样做了,它的版本是 5.5.30,我在我的登录页面中包含了来自 this site 的这个库,这样我的 password_verify() function 就可以工作了,它工作了,我在我的 @ 上做了同样的事情987654328@ 但它不起作用。 @BikashPaul

标签: php passwords webserver password-hash php-password-hash


【解决方案1】:

您可以使用 fetch_assoc() 来获取行。

试试下面的代码:

$sql=("SELECT * FROM profile WHERE username='$user_check'");
$db_check=$db->query($sql);
$row = $db_check->fetch_assoc();
if(password_verify($old_pwd,$row['password'])){
   ....    
 }

【讨论】:

  • 我刚刚做了,抱歉,我没有看到你的答案,但我也做了同样的事情,哈哈,顺便说一句:)
【解决方案2】:

我能够修复它。首先,如果您的 PHP 版本低于 5.5,并且您使用 password_hash() 对您的密码进行哈希处理,那么您已经包含了 this libary,以便您的 password_hash 函数可以工作。

我无法查看我的 changepassword.php 页面的原因是因为我在我的条件中使用了错误的语句。所以我这样做了,现在它正在工作。

$sql=("SELECT * FROM profile WHERE username='$user_check'");
$db_check=$db->query($sql);
$row = $db_check->fetch_assoc();
    if(password_verify($old_pwd, $row['password'])){
        ...
    }

【讨论】:

    猜你喜欢
    • 2019-03-27
    • 1970-01-01
    • 2013-05-15
    • 2023-04-02
    • 1970-01-01
    • 1970-01-01
    • 2013-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多