$ _POST到$ _SESSION问题

时间:2015-06-15 05:20:07

标签: php redirect post get

我无法获得更大的功能来在Chrome以外的浏览器中发布表单详细信息。我已将问题缩小到我的帖子,重定向,获取代码部分。

我已经使用这个包含表单和PRG语句的小函数重新创建了问题:

function testForm(){

    session_start();
    error_reporting(E_ALL); ini_set('display_errors',1);

    if(count($_POST) > 0) {
        $_SESSION['testFormText'] = $_POST['testFormText'];

            if(isset($_POST['testSubmit'])){
        $_SESSION['testSubmit'] = 1;}

        header("HTTP/1.1 303 See Other");
        header("Location: https://$_SERVER[HTTP_HOST]/test-form/");
        die();
    }
    elseif (isset($_SESSION['testFormText'])){
        $text = $_SESSION['testFormText'];

        $submit = $_SESSION['testSubmit'];

        /*
            Put database-affecting code here.
        */


        session_unset();
        session_destroy();
    }else{
        $text = null;   

    }


    echo '<div class="testForm">
        <form method="post" action="">
            <input type="text" name="testFormText"/>
            <input type="submit" name="testSubmit" value="submit">
        </form>
    </div>
    ';  


    echo $text;
}

该功能在chrome中正常运行。在输入中输入内容并提交表单。数据发送到$_POST,然后设置为会话变量。如果会话已设置,则在页面从提交表单重定向回自身后,它将作为变量$ text回显。

然而,这不适用于firefox和safari。如果有人可以建议如何正确地将$_POST设置为会话,那将非常感激。

0 个答案:

没有答案