ホームページ  >  記事  >  バックエンド開発  >  PHPのsetcookie関数が失敗する

PHPのsetcookie関数が失敗する

WBOY
WBOYオリジナル
2016-06-13 12:07:33962ブラウズ

php の setcookie 関数が失敗します

最近、Web サイトの php バックエンドを作成していたときに、setcookie 関数が var_dump() を通じて Cookie を常に正常に設定できないことがわかりました。関数の値が false であり、明らかに適切に設定されていませんでした。Google は、setcookie の失敗の原因が次の理由である可能性があることを発見しました:

  1. ブラウザが Cookie を無効にしています。確認する必要はありません。無効になっていないと思います。
  2. php の setcookie() を使用して Cookie を作成することは、php でセッションを開くための session_start() と同じです。 setcookie() の前に HTTP ヘッダーを出力することはできません。コードを確認したところ、次のコード

    	<code class="php">var_dump(<span class="variable">$qOpenId</span>);setcookie(<span class="string">'qOpenId'</span>,<span class="variable">$openid</span>,time() + <span class="number">30</span> * <span class="number">24</span> * <span class="number">3600</span>,<span class="string">'/'</span>);</code>
    が var_dump($OpenId) 行を明確にコメント化しており、テストは成功しました。

個人的には、setcookie は http ヘッダーの内容を直接設定する必要があると思います。そのため、前にヘッダー出力、var_dump、echo などを置くことはできません。

php setcookie 関数は無効です

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。