首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何停止用户发送post请求

问如何停止用户发送post请求
EN

Stack Overflow用户
提问于 2012-12-13 01:16:52
回答 2查看 61关注 0票数 0
代码语言:javascript
复制
    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请求,但我不知道为什么它不工作,用户垃圾邮件按钮“发送”,并在我的数据库中出现重复,有什么想法?

EN

回答 2

Stack Overflow用户

发布于 2012-12-13 01:20:48

在发布后重定向用户,以便客户端无法通过按F5重新发布数据:

代码语言:javascript
复制
header("Location: /submitted.php");
echo 'just sended'; // will the user never see
exit();

sumbitted.php:

代码语言:javascript
复制
exit('just sended');

注意:您不能在标题行之前过帐任何其它数据。

票数 2
EN

Stack Overflow用户

发布于 2012-12-13 01:21:11

不要试图通过会话来实现这一点,只需在插入信息之前查询数据库,使用一些唯一的关键字(比如他们的ip地址)查看最后一篇文章,如果信息是相同的,则不要插入。

此外,如果您希望确保最近的插入不会被阻止插入,则可以存储时间戳。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13845103

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档