我正在使用 jQuery 让用户向上/向下投票。当用户投票时,设置了一个 cookie,因此用户只能为一篇文章投票一次(不刷新 cookie)。这很好用,除非用户在投票后立即投票并刷新页面:
jQuery:
$.post('vote.php',{id:id,field:field},function(){
// change button graphics
});
PHP:
setcookie(User::$cookieStart . User::$db_fields[$field_index],
$cookie . ':' . $id, time()+60*60*24*30,'/');
// This calls a function that effects the db
User::actionArticleTable($id,$field_index,1);
当用户刷新时,cookie未设置但mysql-info 已更改,即使 db 代码位于 cookie 代码之后。