3

我正在尝试开发一个功能,用户可以单击“上一周”/“下周”,这将触发一些$_SESSION变量来更改值(日期)。

我在缺席.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),但仍然保持$_SESSION页面刷新之前处于活动状态的 s 。目前这将“重置”,因为没有$_POST.

理想情况下,我想将其发送<form action'#'>到另一个页面。但是,当您第一次输入缺席.php时,日期应该被重置。

我该怎么做?

4

2 回答 2

1

改变

session_start();

进入:

if (!isset($_SESSION)){
  session_start();
}
于 2012-08-03T12:35:49.183 回答
0

而不是重新加载,你不能只通过 jquery 提交表单$("form#frmDate").submit();不要忘记给你的表单提供 ID frmDate

这是你想要的?

于 2012-08-03T13:16:47.453 回答