2017-11-16 10 views
1

昨夜、成功した試行後、ログインフォームがユーザのホームページにリダイレクトされるのに問題がありました。フォームに記入したら、submitを押しますが、フォームがクリアされることを除いて、同じページに残りました。 私は$ _POSTメソッドを使って自分の入力をエコーすることにしました。そして、フォームを再送信した後、ページはと表示されていました。私のコードで何が間違っていますか?

<!DOCTYPE html> 

<?php require_once("../Includes/Session.php"); ?> 
<?php require_once("../Includes/DB_Connection.php"); ?> 
<?php require_once("../Includes/Functions.php"); ?> 
<?php require_once("../Includes/Validation_Functions.php"); ?> 

<head> 

<title> eTransport: Login</title> 

<link rel="stylesheet" type="text/css" href="Login_Style.css"> 
</head> 

<html> 
<body> 
<div class="div1"> 
    <h1 class="title"> Online eTransport Service (Fiji) </h1> 

    <div> 
    <form action="Login.php" method="POST"> 
     eTransport_ID: <input type="text" name="eTransport_ID"><br> 
     Password: <input type="password" name="Password"><br> 
     <input type="submit" name="Submit" value="submit"><br> 
     <?php echo isset($_POST['eTransport_ID']); ?><br> 
     <?php echo isset($_POST['Password']); ?> 
    </form> 
    </div> 
</div> 
</body> 
</html> 

<?php 

$id = isset($_POST['eTransport_ID']); 
$password = isset($_POST['Password']); 

$checked_id= mysql_prep($id); 

$query = "SELECT eTransport_ID ,Password FROM etrans_id_details"; 

$login_set = mysqli_query($conn, $query); 


while ($row = mysqli_fetch_assoc($login_set)){ 
    if ($checked_id == $row["eTransport_ID"] AND $password == $row["Password"]){ 
     redirect_to("Home.php"); 
    } 
} 

?> 

$ _POSTと私のコード用の出力:

img

+1

'isset'の結果を' $ id'と '$ password'に格納しています - 実際のIDとパスワードではありません – j08691

+0

isset()を使用しているので、1が表示されています。その意味では1 =真です。変数が設定されます。 –

+0

見てくださいhttp://php.net/manual/en/function.isset.php – ASR

答えて

1

ここで長い答えがあります。

$id = $_POST['eTransport_ID']; $password = $_POST['Password']; $id = isset($_POST['eTransport_ID']); $password = isset($_POST['Password']);

を交換し、それが設定されているかどうかをテストするためのコードを追加 。

+0

これはうまくいきましたが、ログインページを再読み込みすると、未定義インデックスという2つのエラーが表示されます。どのように私はそれをremmoveするのですか? –

+0

変数が 'if($ id == '')die(0);に設定されているかどうかを調べるテストを行う必要があります。 – Forbs