Cookie が設定されているかどうかを確認する関数を作成し、設定されていない場合は Cookie を設定します。
Cookie はすぐには利用できないため、ページを一度更新する必要があるため、値にアクセスできます。
ただし、関数を呼び出すと、ページがリロードされ続けます。関数の外では正しく動作します。関数内にあり、それを呼び出した場合にのみ発生します。
function getCookie (){
if(isset($_COOKIE['ID'])){
$cookieID = $_COOKIE['ID'];
}
else{
//generate random value for cookie id
$charid = strtoupper(md5(uniqid(rand(), true)));
$uuid = substr($charid, 0, 8)
.substr($charid,20,12);
setcookie( "ID", $uuid, strtotime( '+7 days' ) );
$cookieID = $_COOKIE['ID'];
echo "<META HTTP-EQUIV='Refresh' CONTENT='0'> ";
}
echo $cookieID;
}