0

この問題で遅延が長すぎます。フォームを含むindex.phpとそれを処理するlogin.phpがあります。

index.php の特定の div にエラーを投稿するにはどうすればよいですか? ここに Index.php コンテナがありますが、idnex.php にはまだ php コードはありません。

    <div id="container">
    <section>
        <h1>ברוכים הבאים לאתר קופונים</h1>
        <h2>המקום בו תוכלו למצוא קופונים בסביבתכם</h2>
        <hr>
    </section>

    <section id="mainpage">
            <p class="welcome">
                אנא התחבר בכדי ליצור ולראות קופונים בקרבתך</br>
                <a href="php/register.php">הירשם לאתר</a> 
            </p>

            <form action="php/login.php" method="post" class="form">
                <p class="email">
                    <input type="text" name="email" /> :דואר אלקטרוני</br>
                </p>
                <p class="password">
                    <input type="password" name="password" /> :סיסמא</br>
                </p>
                <p class="submit">  
                    <input type="submit" value="היכנס" />  
                </p>  
            </form>
    </section>
</div>

ここに login.php エラー報告セクションがあります

            //check matching input
        if($email == $dbemail && $password = $dbpassword){
            $_SESSION['email'] = $dbemail;
            include('../index.php');
            header('members.php');

        }
        else{
            include('../index.php');
            echo "Incorrect Password<style text-align:center;/>";
        }
    }

} else
    include('../index.php');
    die('<p class="error">User does not exist</p>');
} else
    include('../index.php');
    die('Please enter a Email and password');

これを試した

include('../index.php');
    die('<p class="error">User does not exist</p>');

送信ボタンの下に具体的に配置することはできません(margin: 0 autoを使用すると、左右が変わります)

助けてくれてありがとう

4

2 に答える 2

2

login.phpファイルを変更します。

} else {
   // error happened
   $error = '<p class="error">User does not exist</p>'
   include('../index.php');
   exit;
...

そしてあなたのindex.phpファイル:

<form action="php/login.php" method="post" class="form">
<?php
if(isset($error)) echo $error;
?>
<p class="email">
   <input type="text" name="email" /> :דואר אלקטרוני</br>
...
于 2012-08-24T16:08:29.693 に答える
2

問題は、login.phpファイルが直接echoエラーメッセージを出力することです。より良い方法は、メッセージを変数に保存することです-セッション変数でも十分です(サンプルコードでは、OOPを使用していないように見えるため)。

を使用しないようにエラー メッセージを更新してみてくださいecho

$_SESSION['error_message'] = "Incorrect Password<style text-align:center;/>";

次に、 でindex.php、表示したい場所に正確に追加します。

     <p class="submit">  
          <input type="submit" value="היכנס" />  
     </p>  
</form>
<?php
if (isset($_SESSION['error_message'])) {
    echo $_SESSION['error_message'];
    unset($_SESSION['error_message']); // clear the message to prevent duplicate displays
}
?>

実際のエラーが発生したときにファイルをインクルードしたいように見えるので、次のようにinsideindex.phpへの呼び出しの直前にローカル変数を設定できます。include('../index.php');login.php

} else {
    $errMsg = "Incorrect Password<style text-align:center;/>";
    include('../index.php');
}

上記の変更例のようindex.phpに、次のように同じことができます。

    </p>
</form>
<?php if ($errMsg) { echo $errMsg; } ?>
于 2012-08-24T16:10:55.587 に答える