PHP投票实现24小时间隔投票

l 设置cookie,浏览器都有禁用或者清除cookie的功能

l 设置session,关闭浏览器就没了

所以,我们只能尽量防止重复投票现象

session_start();
//获取ip地址
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
$cip = $_SERVER["HTTP_CLIENT_IP"];
}
if(($_COOKIE['VoteIP']==$cip) or ($_SESSION['VoteIP']==$cip)){
//拒绝投票
}
//记录到cookie中
SetCookie("VoteIP", $cip, time()+3600*24);//3600秒=1小时 过期时间为24小时
//记录到session中
$_SESSION['VoteIP']=$cip;
//设置session存活时间
$lifeTime = 24 * 3600;
session_set_cookie_params($lifeTime);

-----------------------12小时投票----------------------------

//获取ip地址
if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  $cip = $_SERVER["HTTP_CLIENT_IP"];
}
//获取当前时间
$date=date('y:m:d');
//以数组形式存入session
$info = array('ip'=>$cip,'time'=>$date);
//取出
$_SESSION['voteip'] = $info;
$arr = $_SESSION['voteip'];
//取出储存的日期
$t1 = strtotime($arr['time']);
取出当前日期
$t2 = strtotime(date('y:m:d'));
//计算当前相差天数
$t = $t2 - $t1;
echo (int)($t / 86400);
//判断是否大于一天
if($t>=1){
//允许投票
}else{
//拒绝
}
?>