0

重複の可能性:
Cookie は PHP で保持されませんか?

私の目的は、ユーザーが私のウェブサイトのランディング ページにアクセスして都市 (x または y) を選択したときに、この選択を記憶する Cookie を設定して、次回ランディング ページにアクセスしたときに都市に直接リダイレクトされるようにすることです。私が現在持っているコードはこれです:

ランディングページ:

<?php
if (isset($_COOKIE['cambridge'])) {
    header('Location: http://cambridge.guestvibe.com');
}
else if (isset($_COOKIE['oxford'])) {
    header('Location: http://oxford.guestvibe.com');
}
?>

都市別ページ (一例):

<?php setcookie("Cambridge",""); ?>

私も試しました:

<?php setcookie("Cambridge",""); ?>

これは私にとってはうまくいきませんが、Cookie を扱うのは初めてです。何が問題なのですか?

編集

受け入れられた答えは問題の半分を解決しますが、WordPress の場合は、ここで説明されているコードを追加する必要もあります。

最終的なコードは次のとおりです。

setcookie('city','Cambridge',time()+86400*365, "/", ".guestvibe.com");
4

1 に答える 1

2

これsetcookie()は、ブラウザを閉じると、の使用が期限切れになるためです。setCookie有効期限が切れるときに設定するために使用する必要がある3番目のパラメーターがあります。これを除外すると、デフォルトでブラウザが閉じられます。365日で有効期限が切れるCookieを設定する方法の例を次に示します。

setcookie('city','Cambridge',time()+86400*365); // remember for 365 days.

次に、コードを次のように変更します。

if ($_COOKIE['city'] == 'Cambridge') {
    // redirect
} else if ($_COOKIE['city'] == 'Oxford') {
    // redirect
}

Cookieの設定の詳細については、PHPのドキュメントでsetcookieを確認してください。

于 2012-09-29T17:05:19.833 に答える