- ベストアンサー
PHPで、日付をチェック
PHPで、飲食店の予約フォームを作っています。 ファイルは下記の通り。 hoge1.php (フォームに入力) hoge2.php (確認画面) hoge3.php(送信完了画面) check.php入力内容のチェック このフォームで、予約日が前日以内の場合、 「電話にてご予約ください。」 と、エラー表示させたいのですが。 お手数ですが、ご教示ください。 未熟者ですが、よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2の方のがいいかも知れないのでこちらで判定するとして ★form.php <? require_once('form.inc'); ?> ★form.inc 予約年月日<br> <form method=post action="check.php"> 年<input type="text" name="Y" size="4" value="<? echo $Y; ?>"> 月<input type="text" name="m" size="2" value="<? echo $m; ?>"> 日<input type="text" name="d" size="2" value="<? echo $d; ?>"> <input type=submit value="送信"> </form> ★check.php $today = date("Y-m-d") ; if ($today == date("Y-m-d",mktime(0,0,0,$m,$d-1,$Y)) ){ echo "<font color="red">予約日前日です</font><br>"; echo "再度設定してください。<br>"; require_once('form.inc'); }else{ echo "予約が取れます。"; //次の処理へ } こんなのでどうでしょうか? あえてform.incを使ったのは、エラーが発生した場合、ユーザーに戻らせる手間を省くためです。
その他の回答 (2)
- taketan_mydns_jp
- ベストアンサー率58% (450/773)
予約日を$Y年m月d日とすると $today = date("Y-m-d") ; if ( $today == date("Y-m-d",mktime(0,0,0,$m,$d-1,$Y)) ){ //予約日前日です } こんな感じでしょうか。
お礼
ありがとうございます。 form.phpと、check.phpのやりとりを教えていただければ、幸いです。
- hola1973
- ベストアンサー率45% (5/11)
簡単に書くとこんな感じでしょうか。 $time = mktime($hour, $minute, $second, $month, $day, $year)-mktime(); //24時間以内 if($time < 24*60*60){ echo "電話で予約してください。"; }
お礼
mktimeをつかうんですね。 ありがとうございます。
お礼
早速のご回答、ありがとうございます。 内容がすごく分かり易くなりました。 ありがとうございます!