猿问

请问PHP如何设置COOKIE只能一个人投票一次?

请问PHP如何设置COOKIE只能一个人投票一次?


天涯尽头无女友
浏览 370回答 6
6回答

慕沐林林

至少我认为目前为止还没有一种方法能完全避免网上重复投票的如果记录ip,一般ADSL断网再连ip就变了设置cookie,浏览器都有禁用或者清除cookie的功能设置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);

慕尼黑8549860

set_cookie('cookie名称',内容,时间);if(isset($_COOKIE['cookie名称'])){echo "你已经投过票,请勿重复"}else{echo " 感觉您的投票";}

catspeake

$is=isset($_COOKIE['is']);if($is)die('你已经透过了')else setcookie('is','1',time()+864000);

回首忆惘然

方法一:根据用户IP缺点:有可能是不同的用户使用同一台电脑,这样就限制了同一天内其它用户的投票次数。方法二:根据用户ID缺点:网站数据库必须有用户IP资料,用户必须注册才能投票。多数想投票的用户会觉得麻烦而放弃投票。另外,同一个用户完全可以注册不用的帐户多次投票。方法三:根据用户端的cookie缺点用“方法一”

米琪卡哇伊

可以用cookie 当用户登录把它记录下来 cookie只是设置为24小时 要是没过24小时 他投票就不能大于5

慕村225694

至少我认为目前为止还没有一种方法能完全避免网上重复投票的如果记录ip,一般ADSL断网再连ip就变了设置cookie,浏览器都有禁用或者清除cookie的功能设置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);
随时随地看视频慕课网APP
我要回答