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{
//拒绝
}
?>
复制代码

 

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

posted @ 2018-04-15 14:03  壁虎漫步.  阅读(299)  评论(0)    收藏  举报
编辑推荐:
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
· 协程本质是函数加状态机——零基础深入浅出 C++20 协程
· 编码之道,道心破碎。
· 记一次 .NET 某发证机系统 崩溃分析
· 微服务架构学习与思考:SOA架构与微服务架构对比分析
阅读排行:
· 历时半年,我将一个大型asp.net的零代码快速开发平台转成了java
· C#实现语音预处理:降噪、静音检测、自动增益(附Demo源码)
· 记一次 .NET 某无语的电商采集系统 CPU爆高分析
· Java团队Cursor最佳实践:3分钟构建「零泄漏」AI开发环境
· 从“看懂世界”到“改造世界”:AI发展的四个阶段你了解了吗?
历史上的今天:
2015-04-15 百度地图自己添加 标识地点 代码
2015-04-15 在线提取PDF中图片和文字
2015-04-15 安全cookie登录状态设计方案
点击右上角即可分享
微信分享提示