0
<form action=userLogin.php method=post>
    <div id="login">
        <div id="submit" class="h">Log In</div>
        &nbsp;Email
        <br>
        &nbsp;<input id="email" name="email" type="email" required>
        <br>
        &nbsp;Password
        <br>
        &nbsp;<input name="pass" type="password" required=required><br>
        &nbsp;<a href="recover.php">Forgot your password</a><br>

        <div id="submit">
            <input type="checkbox">&nbsp;Remember&nbsp;&nbsp;
            <div id="h">
                <input type="submit" value="Log in"></div>
        </div>
    </div>
<?php
if (empty($_POST['pass']) == false) {
    $uname = $_POST['email'];

    $pass = $_POST['pass'];

    include("config.php");
    $query   = $mysqli->query("SELECT * FROM user WHERE email='$uname' AND password='$pass'");
    $numrows = mysqli_num_rows($query);
    while ($row = mysqli_fetch_array($query)) {

        if ($numrows == 0) {
            ?>
            <script>
                $(document).ready(function () {
                    $("#alert").fadeIn();
                });</script>
        <?php
        }
        else {
            $id = $row[id];
            setcookie('userId', $id);


        }
    }
}
?>

これは、ユーザーデータを取得し、ユーザーが存在するかどうかを確認し、ユーザーのブラウザにCookieを設定する私のコードです。Cookieが設定されていることを確認すると、userId cookieではなくphpMyAdminCookieしか表示されませんでした。スクリーンショットが表示ここに画像の説明を入力してくださいされ、ブラウザがスタックして自動的に閉じられました。しかし、Cookieを使用してsetcookie関数を編集するとsetcookie('userId','$id');、設定されましたが、その値は%24id[$ id]。では、変数$ row [id]の値にCookieを設定するにはどうすればよいですか?PCやサーバー、またはコードでエラーが発生しますか?qoutesなしで$idでchromeを使用すると、エラーが発生しましたThis webpage is not available The webpage at localhost/mysite/mysite/userLogin.php might be temporarily down or it may have moved permanently to a new web address

4

1 に答える 1

1

Cookieはヘッダー付きで送信する必要があります。

"setcookie()は、残りのHTTPヘッダーと一緒に送信されるCookieを定義します。他のヘッダーと同様に、スクリプトからの出力の前にCookieを送信する必要があります(これはプロトコルの制限です)。これには、この関数を呼び出す必要があります。タグや空白を含む出力の前。」

http://php.net/manual/en/function.setcookie.php

于 2012-09-15T07:58:06.283 に答える