POST输入重定向页面中的某些文本?

时间:2015-09-01 12:11:38

标签: php wordpress apache

我有一个带有textarea的简单表单,它只是获取内容并将其存储在数据库中。可以输入所有种类的文本,包括HTML,但不会出现以下异常:

and selecting Sign Up from the main menu.

该行文本会产生URI(在这种情况下,它类似于以下内容):

index.php?pg=create

简单地重写:

?pg=create

世界上POST数据如何操纵URL?在某些情况下,输入上面完全相同的文本行将导致重定向到网站上完全不同的网页。为什么结果不一致?

我尝试删除任何抓取POST值的代码来存储它们,并且会遇到相同的结果,但只有在输入上面的文本行时才会这样。 (无论是手动粘贴还是键入。)

我之前从未遇到过如此奇怪的问题,非常感谢任何帮助。

注意:系统运行的是CentOS,Apache,MySQL,PHP - 该网站是一个在子目录中运行的应用程序,该站点的根目录是Wordpress。另外:我的测试服务器几乎相同,运行相同的代码,但操作系统是Ubuntu,我还没有在测试服务器上遇到过这个问题。

我应该补充一点是,我正在使用准备好的陈述。 (看到提到的文字看起来可以在MySQL中执行)

以下是发布到的页面代码:

if (isset($_POST['submit_add_customer_note'])) {
    $num_special_notes = number_of_customer_notes($current_user_id);
    $valid_limit = false;

    if ($num_special_notes < MAX_LIMIT_SPECIAL_NOTES) {
        $valid_limit = true;
    }

    if ($valid_limit) {
        if ($_POST['special_note'] != '' && $_POST['special_note_desc'] != '') {
            $special_note = substr(trim($_POST['special_note']), 0, 5000);
            $special_note_desc = substr(trim($_POST['special_note_desc']), 0, 100);

            if (insert_new_customer_note($current_user_id, $special_note, $special_note_desc)) {
                header('Location: index.php?pg=manage_customer_notes&status=success');
                exit;
            } else {
                echo DB_ERROR;
            }
        } else {
            header('Location: index.php?pg=add_customer_note&status=not-filled-out');
            exit;
        }
    } else {
        header('Location: index.php?pg=manage_customer_notes&status=limit-reached');
        exit;
    }
}

以下是insert_new_customer_note的代码:

function insert_new_customer_note($u_id, $special_note, $special_note_desc) {
    $db = new mysql_conn();

    $stmt = $db->prepare("INSERT INTO customer_special_notes (user_id, description, message)
                          VALUES(?, ?, ?)");

    $stmt->bind_param('iss', $u_id, $special_note_desc, $special_note);

    if (!$stmt->execute()) return false;

    $stmt->close();
    $db->close();

    return true;
}

提前致谢!

0 个答案:

没有答案