2016-04-16 32 views
1

これはローカルホストでうまくいきますが、ウェブサーバーにアップロードしたときにエラーが発生しました。実際にはエラーではありませんが、私には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'])){ 
    ....  
} 

を試してみましたが、それはあなたが行をフェッチするFETCH_ASSOC()を使用することができます私に

Fatal error: Cannot use object of type mysqli_result as array 
+0

お客様のPHPバージョンを確認してください。 password_verifyはv> = 5.5でのみ利用可能です。 –

+0

ここにはhttp://php.net/manual/en/function.password-verify.php –

+0

に従っています。私はすでにそれを行っています。バージョン5.5.30です。私は[このサイト](https://github.com/ircmaxell/password_compat)を私のログインページに入れて、 'password_verify()関数'がうまく動作し、 'changepassword.php'でも同じことをしましたが、そうではありませんワーキング。 @BikashPaul – Louie

答えて

1

の致命的なエラーを与えています。私はそれを修正することができました

$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'])){ 
    ....  
} 
+0

私はちょうどした、申し訳ありませんが、私はあなたの答えを見ていないが、私は同じ笑良い仕事btwをした:) – Louie

+0

おっと、申し訳ありません、私はすでに考えた。 :D – Louie

0

は、次のコードを試してみてください。まず、PHPのバージョンが5.5未満でパスワードをハッシュする際にpassword_hash()を使用している場合は、password_hash関数が機能するようにthis libaryが含まれています。

私の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'])){ 
     ... 
    } 
関連する問題