PHP发布,重定向,获取问题

时间:2015-06-14 21:22:31

标签: php session firefox safari

我创建了一个表单,它将带您的生日并吐出相对于该日期的大量数据。 Chrome中的一切都很棒,但是我没有在firefox和safari这样的浏览器中获得输出。我也没有收到任何php错误,但我认为问题是FF& safari没有按预期设置会话变量。我是PHP的新手,所以这是我第一次使用这种方法,但这是我目前使用的:     在session_start();     使用error_reporting(E_ALL);函数ini_set( '的display_errors',1);

if(count($_POST) > 0) {
    $_SESSION['dob-month'] = $_POST['dob-month'];
    $_SESSION['dob-day'] = $_POST['dob-day'];
    $_SESSION['dob-year'] = $_POST['dob-year'];

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

    header("HTTP/1.1 303 See Other");
    header("Location: " . $_SERVER['REQUEST_URI']);
    die();
}
elseif (isset($_SESSION['dob-month'])||isset($_SESSION['dob-day'])||isset($_SESSION['dob-year'])){
    $month = $_SESSION['dob-month'];
    $day = ltrim(sanitizeNumInput($_SESSION['dob-day']),'0');

    $year = sanitizeNumInput($_SESSION['dob-year']);
    $submit = $_SESSION['submit'];

    /*
        Put database-affecting code here.
    */

    session_unset();
    session_destroy();
}else{
    $month = 0;
    $day = 0;
    $year = 0;  
}

表格

<form method="post" id="birthday-form" action="/calculator/">
    <div class="dobRow">
        <div class="dobMonth">
            <select name="dob-month">
                <option value="">Month</option>
                <option value="1">January</option>
                <option value="2">February</option>
                <option value="3">March</option>
                <option value="4">April</option>
                <option value="5">May</option>
                <option value="6">June</option>
                <option value="7">July</option>
                <option value="8">August</option>
                <option value="9">September</option>
                <option value="10">October</option>
                <option value="11">November</option>
                <option value="12">December</option>
            </select>
        </div>
        <p></p>
        <div class="dobDay">
            <input type="text" name="dob-day" maxlength="2" placeholder="Day"/>
        </div>
        <p></p>
        <div class="dobYear">
            <input type="text" maxlength="4" max="2015" name="dob-year" placeholder="Year"/>
        </div>
        <p></p>
        <div class="dobSubmit">
            <input type="submit" name="submit" value="Calculate"/>
        </div>

        <!-- <p> erroneous -->
    </div>
    <p></p>
</form>

会话启动后的行只是在那里检查php错误,我目前没有收到任何。在设置会话之前,我在初始页面加载时收到$ month,$ day和$ year的未定义变量错误,这就是为什么它们默认设置为0的原因。

如果有人能帮助我弄清楚为什么这种方法不正常我真的很感激帮助。我一直试图让这个功能在整个周末都正常工作,但我很挣扎,不知道还能做些什么。提前致谢。

0 个答案:

没有答案