【发布时间】:2012-08-01 12:09:02
【问题描述】:
我正在尝试开发一个功能,用户可以在其中单击“上一周”/“下周”,这将触发一些 $_SESSION 变量来更改值(日期)。
我在 absence.php 上有这段代码(我知道 PRG 模式没有实现。我不知道如何做到这一点,但仍然保留功能)。
<?php
if (isset($_POST['decrease_date'])) {
$monday_value = ($_SESSION['sess_mon'] = strftime("%Y-%m-%d", strtotime("{$_SESSION['sess_mon']} -1 day")) );
}
if (isset($_POST['increase_date'])) {
$monday_value = ($_SESSION['sess_mon'] = strftime("%Y-%m-%d", strtotime("{$_SESSION['sess_mon']} +1 day")) );
}
else {
$monday_value = ($_SESSION['sess_mon'] = date('Y-m-d', strtotime('Monday this week')) );
}
?>
<form action='absence.php' method='post'>
<input type="hidden" name="decrease_date"/>
<input type='submit' value='Previous'>
</form>
<form action='absence.php' method='post'>
<input type="hidden" name="increase_date"/>
<input type='submit' value='Next'>
</form>
现在我想重新加载页面(使用 jQuery location.reload()-function),但仍然保持 $_SESSIONs 在页面刷新之前处于活动状态。目前这将“重置”,因为没有$_POST。
理想情况下,我想将<form action'#'> 发送到另一个页面。但是,当您第一次输入 absence.php 时,日期应该会被重置。
我该怎么做?
【问题讨论】: