1

私の問題は、ログイン フォームで login.process ページが表示され、未定義のインデックス エラーが表示されるため、配列を印刷したところ、データがないことです。

ログイン.php

<!-- Form -->
<form method="POST" action="login.process.php">
    <label>Username or Email</label>
    <input id="username" type="text" class="input-block-level" placeholder="Your Username or Email address"/> 
    <label>Password</label>
    <input id="password" type="password" class="input-block-level margin-none" placeholder="Your Password" />
    <div class="separator bottom"></div> 
    <div class="row-fluid">
        <div class="span8">
            <div class="uniformjs"><label class="checkbox"><input type="checkbox" value="remember-me">Remember me</label></div>
        </div>
        <div class="span4 center">
            <button class="btn btn-block btn-inverse" id="submit" type="submit">Sign in</button>
        </div>
    </div>
</form>
<!-- // Form END -->

Login.process.php

if (isset($_POST)) {

    print_r ($_POST);
    if (isset($_POST['username'])) {
        // username and password sent from form 
        $username=$_POST['username']; 
        $password=$_POST['password']; 

        include("../config.php");

        // Open up a new MySQLi connection to the MySQL database
        mysql_connect($dbHost, $dbUsername, $dbPassword);
        mysql_select_db($dbTable);

        // To protect MySQL injection (more detail about MySQL injection)

        $username = stripslashes($username);
        $password = stripslashes($password);
        $username = mysql_real_escape_string($username);
        $password = mysql_real_escape_string($password);
        $sql="SELECT * FROM users WHERE username='$username' AND password='$password'";
        $result=mysql_query($sql);

        // Mysql_num_row is counting table row
        $count=mysql_num_rows($result);

        // If result matched $myusername and $mypassword, table row must be 1 row
        if($count==1){

            // Register $myusername, $mypassword and redirect to file "login_success.php"
            $_SESSION['user'] = $username;
            $_SESSION['loggedin'] = true;

            header("location:404.php");

        } else {

            echo "<span>Login Error</span>";

        }
    } else {

        echo "Post Data Not Parsing";

    }
} else {

        echo "No Post Data";

    }

ログインフォームの結果

Array ( ) Post Data Not Parsing

ほとんどのコードをコピーして貼り付け、いくつか変更を加えました: PHP ログイン スクリプト チュートリアル

POSTデータがない理由を誰かが解決するのを手伝ってくれませんか?

4

1 に答える 1

6

入力フィールドに「名前」属性を追加する必要があります。

    <input id="username" name="username" type="text" class="input-block-level" placeholder="Your Username or Email address"/> 

等...

于 2013-09-15T17:08:09.427 に答える