2

HTMLコンテンツがPHPスクリプトからWebサーバーに送信された後にCookie値を設定できることを読みました。

しかし、これを使って作業していると、思ったようにクッキーを設定することができませんでした。誰かが私の矛盾を正すことができますか?

4

3 に答える 3

4

PHPは、ページのヘッダーを送信している間(つまり、コンテンツを送信する前、つまりHTML)にのみCookieを設定できます。これは、Cookieに関してHTTPプロトコルがどのように機能するかを示しています。サーバーは、Cookieを保存するためのリクエストをブラウザに送信できます。

ページの読み込み後にCookieを追加する場合は、JavaScriptを使用して追加できます。

于 2012-12-11T15:45:00.087 に答える
0

javascript cookie( jQueryプラグインを使用するとやや簡単)を設定するか、AJAXを介してphpスクリプトに値を送信してcookieを設定することができます。または、おそらく最良のオプションとして、PHPレベルでCookieの代わりにセッションを使用することができます。アプリケーションによって異なります。

于 2012-12-11T15:44:29.993 に答える
-1

RTMを持っていないのではないかと思います。なぜなら、もしあなたがこれを見たとしたら:

setcookie()は、残りのHTTPヘッダーと一緒に送信されるCookieを定義します。他のヘッダーと同様に、スクリプトからの出力の前にCookieを送信する必要があります(これはプロトコルの制限です)。これには、タグや空白を含む出力の前に、この関数を呼び出す必要があります。

しかし、あなたの場合、もっと重要なことは、これです:

ノート:

出力バッファリングを使用して、この関数を呼び出す前に出力を送信できます。ブラウザへのすべての出力のオーバーヘッドは、送信するまでサーバーでバッファリングされます。これを行うには、スクリプトでob_start()とob_end_flush()を呼び出します。

于 2012-12-11T15:48:34.913 に答える