我创建了一个php类来统计网页上的唯一身份访问者,我的想法是创建一个cookie,该cookie会保留在访问者计算机上,直到今天的23:59,如果该cookie退出,则意味着该网站已经被访问过并且不执行任何操作(如果不存在),然后创建Cookie并创建新访问帐户
这是我用于创建代码的代码,如果退出cookie则返回false,如果没有创建cookie则返回true。
**
function CriakCookieDia(){
if (!isset($_COOKIE[sha1('visita')])){
$tempoAteAoFimDoDia=strtotime('tomorrow') - time();
setcookie(sha1('visita'), true, time()+$tempoAteAoFimDoDia);
return true;
}else{
return false;
}
}
**
但是我没有得到预期的结果,而不是唯一的访问,这就像我计算了网站上的观看次数一样,就像我没有在创建Cookie一样,我的方法有什么问题?
答案 0 :(得分:0)
到期时间必须是特定日期/时间的时间戳。
此代码给出了1970年的日期。
strtotime('tomorrow') - time(); // 01/01/1970 11:15:01
因此,您的代码有点太复杂了,请将Cookie的过期时间设置为strtotime('tomorrow')
,这样可以将明天的日期定为00:00:00
,即明天的开始
运行于28/06/2018 13:40:00的此代码将给出:
echo date('d/m/Y H:i:s',strtotime('tomorrow')); // 29/06/2018 00:00:00
试试这个
function CriakCookieDia(){
if (!isset($_COOKIE[sha1('visita')])){
setcookie(sha1('visita'), true, strtotime('tomorrow'));
return true;
}else{
return false;
}
}