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()) が$_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 に答える