我创建了一个表单,它将带您的生日并吐出相对于该日期的大量数据。 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的原因。
如果有人能帮助我弄清楚为什么这种方法不正常我真的很感激帮助。我一直试图让这个功能在整个周末都正常工作,但我很挣扎,不知道还能做些什么。提前致谢。