0

私の PHP プロジェクトでは、 誰もがログインしたままにすることを選択できるように、ユーザーを追加したいと考えています。 checkbox

今までは、次のように通常のログインを行います。

public function loginUser($psMail, $psPwd, $pnRememberMe = 0) {
   // Check credentials and so on
   // If mail and password matches
   if(CREDENTIALS OKAY) {
      $_SESSION["username"] = "foo";
      $lnExpire = time() + 3600 * 24 * 60;
      setcookie("remember", base64_encode(USERID), $lnExpire);
      setcookie("rememberToken", md5(SOMESTUFF), $lnExpire);
   }
}

ログインすると、作成された Cookie 変数が次のように表示されます。

print_r($_COOKIE);

ここで、ログアウト機能を使用してサイトを離れようとします。

// Unset the session variables
$_SESSION = array();
// Destroy the session.
session_destroy();

しかし今、ランディングページにいるとき、私のクッキーもなくなっていますか? これは、セッション サイトの設定が原因でしょうか?

ini_set("session.use_only_cookies", "1");
ini_set("session.use_trans_sid", "0");
4

2 に答える 2

0

PHP 関数 setcookie には、ドキュメント「Cookie が使用可能なサーバー上のパス」からの 4 番目の引数パスがあります。デフォルトでは、パスを実際のディレクトリに設定します。「/」を設定してみてください。そうすれば、すべてのドメインで利用できるようになります。http://php.net/manual/en/function.setcookie.php

于 2014-10-17T11:40:21.003 に答える