我正在网页上唠叨。以下代码位于single.php中。
首先,如果有人打开一个页面/帖子+ 1,我每次都在计算。
<?php
//The cookie Besuche neeeds to be under 3
if (isset($_COOKIE['besuche'])){
if ($_COOKIE['besuche'] >= 3){
//If its more than 3, cookie resets to 1
$besuche_anz = 1;
$_COOKIE['besuche'] = $besuche_anz;
}else{
//If its less than 3. cookie + 1
$_COOKIE['besuche'] = $_COOKIE['besuche'] + 1;
$besuche_anz = $_COOKIE['besuche'];
}
}else{
//Cookie is not set
$besuche_anz = 1;
}
//write cookie "besuche"
setcookie("besuche", $besuche_anz, time() + (86400 * 30), "/");
//Here starts my problem... I want so write three cookies: cookie_id1, cookie_id2, cookie_id3. But all cookies should be diffrent. So they sould not have the same ID --> get_the_id()
$cookie_value = get_the_id();
setcookie("cookie_id".$besuche_anz, $cookie_value, time() + (86400 * 30), "/");
//Only if $cookie_value has the same ID --> Do nothing, else setcookie
if ($cookie_value == $_COOKIE["cookie_id1"]){}else{
setcookie("cookie_id".$besuche_anz, $cookie_value, time() + (86400 * 30), "/");
}
//Only if $cookie_value has the same ID --> Do nothing, else setcookie
if ($cookie_value == $_COOKIE["cookie_id1"] || $_COOKIE["cookie_id2"]){}else{
setcookie("cookie_id".$besuche_anz, $cookie_value, time() + (86400 * 30), "/");
}
get_header(); ?>
为什么不起作用?
目标是,所以从index.php(主页)上的Cookie中选择3个ID,以选择上次查看的帖子。
如果我刷新一些帖子3次,我现在在家里的同一篇文章的3倍。
我做错了什么?
答案 0 :(得分:2)
试试这个,
if(!isset($_COOKIE[$cookie_name]))
{
setcookie('cookie_name', $cookie_value, time() + (86400 * 30), "/");
}
我希望它会有所帮助。