MAMP + MacOSx + PHPを使用してlocalhostにCookieを設定するにはどうすればよいですか?
質問
Macノートブックで開発していますが、MAMPを使用しています。 PHPでCookieを設定しようとしていますが、できません。ドメインを中断し、" \"を使用してみましたドメイン用。運がありません。
setcookie("username", "George", false, "/", false);
setcookie("name","Joe");
明らかな何かを見逃しているに違いない。これに対する迅速で簡単な解決策が必要です。ありますか?
私は空想的なことは何もしていません。ページを(MAMPを介して)単に読み込み、 http:// localhost:8888 / MAMP / lynn / setcookie.php
このスクリプトの上部には、HTMLタグを記述する前にsetcookieコードがあります。 (ただし、BODYでも試してみました)。さまざまなブラウザーでページをロードしてから、Cookieリストを開きます。リストに現在のクッキーが表示されているため、ブラウザがクッキーを受け入れることは知っています。私の新しいものではありません。
解決
ドキュメントから:
setcookie()は、残りのHTTPヘッダーとともに送信されるCookieを定義します。他のヘッダーと同様に、スクリプトからの出力の前にCookieを送信する必要があります(これはプロトコルの制限です)。これには、タグや空白などの出力の前にこの関数を呼び出す必要があります。
それですか?
編集:
サーバーによって送信されているCookieを確認できますか。 Firefox拡張機能 Tamper Data またはtelnetを使用しますか?次のリクエストでブラウザによって送り返されるのを見ることができますか? setcookie()の戻り値は何ですか?すべてのブラウザで動作するわけではありませんか、それとも一部のブラウザでのみ動作しますか?
他のヒント
<?php
ob_start();
if (isset(<*>
これを試してください。
COOKIE['test'])) {
echo 'cookie is fine<br>';
print_r(<*>
これを試してください。
COOKIE);
} else {
setcookie('test', 'cookie test content', time()+3600); /* expire in 1 hour */
echo 'Trying to set cookie. Reload page plz';
}
これを試してください。
&quot; localhost&quot;を取り出す空白の文字列を持っているだけでうまくいきました。