私はこのコードを持っています:
<?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>
ご覧のとおり、フォームとセッションを使用して日付を増減し、これを変数に保存しようとしています。
ここで、ページを更新したいと思いますが、更新要求の前にアクティブだったセッション値を保持します。現在、PRGパターンがないため、送信されたフォームに応じて減少または増加します。
フォーム送信を別のファイルに送信できますが、
else {
$monday_value = ($_SESSION['sess_mon'] = date('Y-m-d', strtotime('Monday this week')) );
}
ユーザーが最初にページに入るたびに、値が「今週の月曜日」と表示されるためです。
どのようにすることをお勧めしますか?