2017-05-13 53 views
0

私は最近、PHPの学習を始めました。私は基本的なログインページに取り組んできました。すべてがローカルでうまく動作しますが、ipageにアップロードされると、ログインページがリロードされます。間違ったログイン情報を入力すると、間違った入力があったことがわかります。php管理者エリアに私を入れさせないヘッダの場所

ここに私のコードだ...

login.php:

<?php 
ob_start(); 
session_start(); 
require 'connect.inc.php'; 

if (isset($_POST['submit'])) { 


    $uid = $_POST['uid']; 
    $pwd = $_POST['pwd']; 

    $uid = strip_tags($uid); 
    $pwd = strip_tags($pwd); 

    $uid = stripcslashes($uid); 
    $pwd = stripcslashes($pwd); 

    $uid = mysqli_real_escape_string($db, $uid); 
    $pwd = mysqli_real_escape_string($db, $pwd); 


    $sql = "SELECT * FROM users WHERE uid='$uid' LIMIT 1"; 

    $query = mysqli_query($db, $sql); 
    $row = mysqli_fetch_array($query); 
    $id = $row['id']; 
    $db_password = $row['pwd']; 
    $pwd = password_verify($pwd, $row['pwd']); 

    if ($pwd == $db_password) { 
     //$_SESSION['username'] = $uid; 
     $_SESSION['id'] = $id; 
     header("Location: http://website.com/dashboard.php"); 
     exit; 

    }else { 
     echo 'You didn\'t enter the correct information'; 
    } 
} 


?> 

dashboard.php:

<?php 
ob_start(); 
session_start(); 
require 'connect.inc.php'; 
if (!isset($_SESSION['id'])) { 

    header("Location: http://website.com/login.php"); 
    exit(); 
} 



?> 

任意のヘルプは非常に高く評価されるだろう...

+0

を持つべきだと思う方法ですか? – RiggsFolly

+0

ホスティングサービスです。 – Zach

+0

http://php.net/manual/en/function.error-reporting.phpとhttp://php.net/manual/en/mysqli.error.phpは何を言ったのですか? –

答えて

0

あなたのコードの問題はここにあると思います

if ($pwd == $db_password) { 
    //$_SESSION['username'] = $uid; 
    $_SESSION['id'] = $id; 
    header("Location: http://website.com/dashboard.php"); 
    exit; 

}else { 
    echo 'You didn\'t enter the correct information'; 
} 

password_verify()戻りTRUEまたはFALSE、あなたはそれが$db_passwordに等しいかどうかを確認しようとしています。私が知っているように、これは当てはまりませんので、入力したパスワードが正しい場合でも、ifステートメントが正しく機能していないため、ページはどこにも行きません。


は、だからあなたの場合には、これは私はあなたが私はこの質問けど... Ipageをは何ですかを後悔するつもりです知っているあなたのコード

<?php 
ob_start(); 
session_start(); 
require 'connect.inc.php'; 

if (isset($_POST['submit'])) { 

    $uid = $_POST['uid']; 
    $pwd = $_POST['pwd']; 

    $uid = strip_tags($uid); 
    //$pwd = strip_tags($pwd); 

    $uid = stripcslashes($uid); 
    //$pwd = stripcslashes($pwd); 

    $uid = mysqli_real_escape_string($db, $uid); 
    //$pwd = mysqli_real_escape_string($db, $pwd); 


    $sql = "SELECT * FROM users WHERE uid='$uid' LIMIT 1"; 

    $query = mysqli_query($db, $sql); 
    $row = mysqli_fetch_array($query); 
    $id = $row['id']; 
    $db_password = $row['pwd']; 
    $pwd = password_verify($pwd, $db_password); 

    if ($pwd === TRUE) { 
     //$_SESSION['username'] = $uid; 
     $_SESSION['id'] = $id; 
     header("Location: http://website.com/dashboard.php"); 
     exit; 

    }else { 
     echo 'You didn\'t enter the correct information'; 
    } 
} 
+0

こんにちは。ご返信ありがとうございます。私はあなたの編集を試みました。残念ながら、結果は同じでした。 – Zach

+0

ねえ。返信いただきありがとうございます。それは私のホスティングサービスの問題に終わった。私はそれが私が安いホストを使うために得るものだと思う。すべての入力をありがとう! – Zach

関連する問題