PHP投票实现24小时间隔投票
Posted God is Love
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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{ //拒绝 } ?>
以上是关于PHP投票实现24小时间隔投票的主要内容,如果未能解决你的问题,请参考以下文章
php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?