1

Cookie を設定して使用しようとしていますが、何も保存できないようです。

ログイン時に、次を使用します。

setcookie("username", $user);

しかし、Firefox と Web Developer プラグインを使用すると、Cookies -> Cookie 情報を表示 ユーザー名の Cookie はありません。

また、次のページから値にアクセスしようとすると、

$_COOKIE["username"]

null/空を返しています

var_dump(setcookie("username", $user)); 結果:bool(true)

var_dump($_COOKIE) 結果: 特定の Cookie は存在しません (他の Cookie は存在します)

私はさらにいくつかのテストを行いました...

Cookie はログイン後 (最初のページ) に存在しますが、別のページ (2 ページ目) に移動すると消え、永久に失われます...

存在する必要がある、または存在しないヘッダーはありますか?

4

5 に答える 5

1

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

$expireパラメーターを将来のある時点に設定してみてください。デフォルトは0で、これは遠い昔のことだと思います。

于 2010-07-30T02:38:53.397 に答える
1

ログイン後に別のページに移動した後に URL が変更される場合に備えて、ドメイン パラメータを正しく設定していることを確認してください。ドメイン パラメータの詳細については、http://php.net/manual/en/function.setcookie.phpを参照してください。

于 2010-07-30T04:21:32.497 に答える
0

$expireUnixエポックからデフォルトで0秒になっているため、Cookieの有効期限が切れている可能性があります。(ドキュメント

試す

setcookie("username", $user, time() + 1200);

これは、設定後20分で期限切れになります(クライアントの時間に基づく)。

于 2010-07-30T02:43:18.400 に答える
0

setcookie(..) で var_dump() を使用して、何が返されるかを確認します。また、キーが設定されているかどうかを確認するために $_COOKIE に対して同じことを行うこともできます。

于 2010-07-30T02:50:00.247 に答える
0

フィードバックをお寄せいただきありがとうございます... Aditya は、Cookie をさらに分析するように私を導き、パスが問題であることを発見しました...

ログインパスは /admin/ で、ルートにリダイレクトしていました...

あなたの助けとフィードバックをありがとう!

于 2010-07-30T06:25:34.897 に答える