0

ユーザーの国を Cookie に保存し、その変数に応じてコンテンツを変更します。

国 Cookie が設定されていない場合は、IP を使用して国コードを取得します。国を手動でリセットできるように、ドロップダウンも用意しました。

私の問題は、ページが読み込まれるまで Cookie が設定されないように見えることです。たとえば、Cookie の初期値は「US」なので、「GB」に設定してからエコーします。ページを更新してから「GB」に切り替えるまで、「GB」に変更しただけで「US」がエコーされます。

これに関する問題は、たとえば、訪問者が GB に切り替えると、ページを再度更新するまで US のままになることです。

上記の問題を解決する方法を知っている人はいますか?

ありがとうございました

<?php
if(!isset($_COOKIE['Country'])) {
    /* Collect Country Code */
}   

if(isset($_POST['submit'])){
    $country = $_POST['country'];
    setcookie('Country', $country, time()+60*60*24*30);
    $country = $_COOKIE["Country"];
}

echo $country;
?>
4

1 に答える 1