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);
-----------------------24
//获取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{ //拒绝 } ?>
小时投票----------------------------
php资料