1

私はそのような状況を持っています: 私はsetcookie("bla",md5("bla"),time()+36000). この後、ブラウザにこのCookieが表示さprint_r($_COOKIE)れますが、サーバーに書き込むと、キー「bla」を持つCookieは存在しません。何か案は?

ここにリストがあります:

  setcookie("login_cookie",md5($result['user_password']."solt"),time()+36000);
  setcookie("login_info",$result['user_id'],time()+36000);
  header("Location:{$_SERVER['HTTP_REFERER']}");
  exit();
4

2 に答える 2

6

以下を試してください (パス引数をルートに設定します):

setcookie("login_cookie",md5($result['user_password']."solt"),time()+36000, '/');
setcookie("login_info",$result['user_id'],time()+36000, '/');

リダイレクトで別のディレクトリに移動しているように感じます。それが表示されない理由です。もちろん、間違っている可能性があります。

于 2011-05-03T13:09:22.350 に答える
2

$_COOKIEHTTP リクエストで渡される情報を含むスーパー グローバルの 1 つです。を呼び出した直後ではなく、すでに Cookie を持っているブラウザによってリクエストが行われた場合にのみ表示されsetcookie()ます。

+また、コード例では、演算子を使用して連結しようとしているようです:

$result['user_password']+"solt"

PHP は.concat に演算子を使用します。

于 2011-05-03T13:03:10.170 に答える