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小时间隔投票的主要内容,如果未能解决你的问题,请参考以下文章

mvc4中使用angularjs实现一个投票系统

更新firebase路径(如果存在)

php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?

php与Redis实现一个100万用户的投票项目,如何实现实时查看投票情况?

PHP+Mysql实现网站顶和踩投票功能实例

如何处理 AJAX 请求中的会话超时