2016-12-07 16 views
0

私はエラーメッセージを表示できるログイン手順を書こうとしています。私はロード毎回見ログイン時のエラーメッセージ

... [ question to the database and return in $result object ] ... 

     if ($result->num_rows == 0) { 
      setcookie('logged_in', false, time() + 600, '/'); 
      die(header("location:../index.html?log_err=true&powod=pass")); 
     } 
     else { 
      setcookie('logged_in', $_POST['username'], time() + 600, '/'); 
      header("Location: /AAA/app.html"); 
     } 
    } 
    else { 
     setcookie('logged_in', false, time() + 600, '/'); 
     die(header("location:../index.html?log_err=true&powod=empty")); 
} 

と、両方のメッセージ( "なし1エラーなし" と "NO 2をエラーなし"):そのため

<form id="login" action="data/login.php" method="post"> 
    <H2>Rgister</H2> 
    Your login and password: 
    <br><br> 
    <div id="login-name" style="margin-top:20px;">Login:</div><div id="login-fld" style="margin-top:20px;"><input name="username" class="form-login" title="Username" value="" size="30" maxlength="2048" /></div> 
    <div id="login-name">Pass:</div><div id="login-fld"><input name="password" type="password" class="form-login" title="Password" value="" size="30" maxlength="2048" /></div> 
    <br><br><br> 
    <input type="image" src="obr/login-klw.png" alt="Submit" width="103" height="42" style="margin-left:90px;"> 
    <br><br> 

    <?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 
    <html><body><h3>Error no 1</h3></body></html> 
    <?php } else { ?> 
    <html><body><h3>Error no 2</h3></body></html> 
    <?php } exit; } ?> 
</form> 

とPHPコード:HTMLでの私のログインフォームは次のようになります このページなぜこのコード部分をデバッグするのか分かりません。誰も私を助けることができますか?私は、エラーマッサージのすべての時間を参照してください enter image description here

問題は、このフォームはこのようになっていることです。解決

+0

コード全体を貼り付けてください。 – Blueblazer172

+0

なぜ$ _GETを使用しましたか? –

+1

'

'の中に' ..... 'を入れます。 – Banzay

答えて

0

<?php if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 

する必要があります:最初のファイル名が第二の代わりに、 "index.phpの" ない "のindex.html" でなければなりません

<?php if (isset($_GET['log_err'])) if ($_GET["log_err"]) { if ($_GET["rsn"] == "pass") { ?> 

アプリであった開始$ _GETはありませんので、まずはtestetでなければなりません。 ありがとうございます。

+0

'$ _GET'を使うのを止めて、代わりにSESSIONを使います。 – Martin

0

これは何度も何度も直面する問題です。 devモードでは、画面上に変数をダンプして、サーバが理解していることを知ることを学びます。

最も単純なフォームでは、これをコードの下に置いてください。その後、多分、var_dump($_GET["log_err"]);など

<?php var_dump($_GET); ?>

これ以外の正解ではありません。また、コードを公開する前にvar_dump()文が残っていないことを確認してください。

幸運。

+0

情報ありがとう – Tad

関連する問題