检查$ _POST数据

时间:2012-04-30 22:28:33

标签: php

我正在对表单进行一些垃圾邮件检查。下面的代码在我的localhost上运行(如果为true,则重定向到google.com),但是,它不在生产服务器上时执行(执行脚本的其余部分并且不会重定向到Google.com)。 / p>

    if('POST' == $_SERVER['REQUEST_METHOD']) {
    if ($_POST["bait"]!='' || $_POST["date"] == "12/31/69" || trim($_POST["date"] == "1969-12-31")) {
        header("location: http://www.google.com");
    } else {
       //Process form here

我在var_dump上完成了$_POST,它是1969-12-31

我做错了什么?

1 个答案:

答案 0 :(得分:4)

发送位置标头后,您应该exit;以防止脚本的其余部分执行。

e.g。

if('POST' == $_SERVER['REQUEST_METHOD']) {
    if ($_POST["bait"]!='' || $_POST["date"] == "12/31/69" || trim($_POST["date"] == "1969-12-31")) {
        header("location: http://www.google.com");
        exit;
    } else {
        // process form here
    }
}

重定向已发送,但您还会继续输出请求的其余部分,在这种情况下,行为可能未定义。