1

ユーザーがログインしたときのセッションと Cookie を設定しようとしています。

ユーザーがログインページにアクセスすると、セッションが設定されて開始されsession_start()、問題なく動作しますが、ユーザーがログインフォーム (ユーザー名とパスワード) に入力し、正しいログイン詳細について適切なチェックが行われると、私はクッキーを設定します。

$one_week = 60*60*24*7;
setcookie("cookiejarcookie", "cookiejar_value", time()+$one_week, '/', 'localhost');

動作していません。Cookie が設定されていません。スクリプトの先頭から呼び出してみましたが、うまくいきません。

セッションの設定後に Cookie を設定するにはどうすればよいですか?

4

2 に答える 2

1

localhost に Cookie を設定しようとしても、ほとんどのブラウザーでは機能しません。ドメイン値を null、空の文字列、または false に設定する必要があります。私が見たほとんどの推奨事項は、ドメイン値を false に設定することです。そうは言っても、そのようなコードを書くことを理解したことがありません。それは、本番環境にデプロイするものではないからです。

@David の推奨事項を参照してください。私は個人的に仮想化を使用してサーバー環境を実行し、hosts ファイルを使用して偽の dns をマップします。

私が提供できるヒントの 1 つは、関連するホスト ファイルを編集するには、UAE を搭載した最新バージョンの Windows で管理者としてエディター (私は notepad++ またはワードパッドを使用します) を開く必要があるということです。

于 2013-04-16T01:18:15.277 に答える
1

私のコメントより

Cookie を localhost に設定することはできませんが、ホスト ファイル ( /etc/hosts または c:\Windows\System32\drivers\etc\hosts ) に my.fake.local を追加すると、動作するはずです。

追加

127.0.0.1 my.fake.local 

適切なホスト ファイルで。

于 2013-04-16T01:19:45.790 に答える