ユーザーの国を 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;
?>