if($_POST)
{
if($this->session->userdata('just_sended'))
{
echo 'just sended';
exit();
}
$newdata = array(
'just_sended' => true
);
$this->session->set_userdata($newdata);
}
else
{
$newdata = array(
'just_sended' => false
);
$this->session->set_userdata($newdata);
}这是我的代码,当用户发送一个post请求,但我不知道为什么它不工作,用户垃圾邮件按钮“发送”,并在我的数据库中出现重复,有什么想法?
发布于 2012-12-13 01:20:48
在发布后重定向用户,以便客户端无法通过按F5重新发布数据:
header("Location: /submitted.php");
echo 'just sended'; // will the user never see
exit();sumbitted.php:
exit('just sended');注意:您不能在标题行之前过帐任何其它数据。
发布于 2012-12-13 01:21:11
不要试图通过会话来实现这一点,只需在插入信息之前查询数据库,使用一些唯一的关键字(比如他们的ip地址)查看最后一篇文章,如果信息是相同的,则不要插入。
此外,如果您希望确保最近的插入不会被阻止插入,则可以存储时间戳。
https://stackoverflow.com/questions/13845103
复制相似问题