我需要允许cookie投票5次。将IP设置为DB我无法做到,因为人们坐在网络中,具有相同的远程地址。
有一次我这样检查:
if( $dif_cookies == 1 ) //from DB
if($_COOKIE["m_questioning3-$external_id"] == $external_id) {
$q_show_status = 3;
}
但我需要允许5次,怎么样?谢谢
答案 0 :(得分:0)
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
}
它会起作用。请检查一下。
答案 1 :(得分:0)
感谢您的帮助,但我自己找到了解决方案:
我在投票提交后发送帖子并设置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);
}
以形式检查cookie值:
if ( $dif_cookies == 1 )
if($_COOKIE["m_questioning3-$external_id"] >= 5) {
$q_show_status = 3;
} else {
switch ($q_form_type) {
//... bla bla bla ...
}