我需要允许cookie投票5次。将IP设置为数据库我不能这样做,因为人们坐在同一个远程地址的网络中。从cookie中投票5次
有一次我检查是这样的:
if($dif_cookies == 1) //from DB
if($_COOKIE["m_questioning3-$external_id"] == $external_id) {
$q_show_status = 3;
}
但我需要允许5次,怎么样?谢谢
我需要允许cookie投票5次。将IP设置为数据库我不能这样做,因为人们坐在同一个远程地址的网络中。从cookie中投票5次
有一次我检查是这样的:
if($dif_cookies == 1) //from DB
if($_COOKIE["m_questioning3-$external_id"] == $external_id) {
$q_show_status = 3;
}
但我需要允许5次,怎么样?谢谢
亲爱Haroldas,
if(!isset($_COOKIE["m_questioning3-$external_id"])){
$_COOKIE["m_questioning3-$external_id"]["count"] = 1;
}else{
$_COOKIE["m_questioning3-$external_id"]["count"]++;
}
if($_COOKIE["m_questioning3-$external_id"]["count"]<=5){
your work
}
它会奏效。请检查一下。
如何在提交后设置cookie? 现在我做的是这样的: setcookie(“m_questioning3- $ form_id”,$ form_id); $ external_id equal $ form_id – Haroldas 2014-10-10 07:44:46
感谢您的帮助,但我发现解决自己:
IM发送表决后提交后,并设置Cookie:
if (isset($_COOKIE["m_questioning3-$form_id"])) {
if ($_COOKIE["m_questioning3-$form_id"] <= 5)
setcookie("m_questioning3-$form_id", (int)$_COOKIE["m_questioning3-$form_id"]+1);
} else {
setcookie("m_questioning3-$form_id", 1);
}
形式cheking cookie的值:
if ($dif_cookies == 1)
if($_COOKIE["m_questioning3-$external_id"] >= 5) {
$q_show_status = 3;
} else {
switch ($q_form_type) {
//... bla bla bla ...
}
给每个cookie的唯一名称取代IP号码,并将该名称存储在数据库中用于比较 – Michel 2014-10-10 07:31:51