0

現在、エラーが発生した場合に別のページに送信されるのではなく、ログインフォームの上に表示されるように、自分自身に送信するログインフォームを作成しようとして立ち往生しています。また、ログインが成功すると、目的のページに送信されます。以下は私のコードです。助けていただければ幸いです。ありがとうございます。

<?php
if ((isset($_REQUEST['username'])) && (isset($_REQUEST['password']))) {
    $adminusername = $_POST["username"];
    $adminpassword = $_POST["password"];
    if ($adminusername == '' || $adminpassword == '') {
        echo "<b>You must complete all sections</b><br/>";
    } 

    $query = mysql_query("SELECT * FROM admin WHERE username = '$adminusername' AND password = '$adminpassword'");

    $numrows = mysql_num_rows($query);
    if ($numrows != 0) {

        while ($row = mysql_fetch_assoc($query)) {
            $dbusername = $row['username'];
            $dbpassword = $row['password'];
        }             

        if ($adminusername == $dbusername && ($adminpassword == $dbpassword)) {
            $_SESSION['username'] = $adminusername;
            header("Location: admin.php");
        }
    } else {
        echo " ($error) Username and password do not match";
    }                 
}
?>
<h3>Admin Login</h3>
<form name="login" action="<?= $SERVER['PHP_SELF'] ?>" method="POST">
    Username: <input type="text" name="username"><br/>
    Password: <input type="password" name="password"><br/><br/>
    <button type="submit">Log In</button>
</form>
4

4 に答える 4

0

を送信する<form>には、送信ボタンが必要です。あなたが持っている:

<button type="submit">Log In</button>

試す:

<input type="submit" value="Log In" />

現在フォームを送信していないと思いますので、送信をクリックしても何も起こりません。

于 2013-04-11T18:45:33.563 に答える
0

ヘッダーの代わりに("場所: admin.php");

Javaスクリプトを試す

echo "<script>window.location = 'admin.php';</script>

ページヘッダーに既に出力している場合は機能しません

于 2013-04-11T18:46:59.113 に答える
0

私の解決策は、フォームの下にあるdiv. 私はまだ勉強中ですが、誰かの役に立てば幸いです。

<div>
  <?php
    //make sure the form action='' is set to itseslf 
echo "
        <form action='self_page_name' method='post'>
          <table>
            <tr>    
              <td>UserName:</td>
            </tr>
            <tr>
              <td><input type='text' name='username' required='required' /></td>
            </tr>
            <tr>
              <td>Password: </td>
            </tr>
            <tr>
              <td><input type='password' name='password' required='required' /></td>
            </tr>
            <tr>
              <td><input type='submit' name='submit' value='Login' /></td>
            </tr>
          </table>
        </form>
     ";
//////////your php validation script here////////////
  ?>
</div>
于 2014-10-27T03:38:36.530 に答える