重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

PHPで、飲食店の予約フォームを作っています。

ファイルは下記の通り。
hoge1.php (フォームに入力)
hoge2.php (確認画面)
hoge3.php(送信完了画面)
check.php入力内容のチェック

このフォームで、予約日が前日以内の場合、
「電話にてご予約ください。」
と、エラー表示させたいのですが。

お手数ですが、ご教示ください。
未熟者ですが、よろしくお願いいたします。

A 回答 (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を使ったのは、エラーが発生した場合、ユーザーに戻らせる手間を省くためです。
    • good
    • 0
この回答へのお礼

早速のご回答、ありがとうございます。
内容がすごく分かり易くなりました。

ありがとうございます!

お礼日時:2007/04/17 23:51

予約日を$Y年m月d日とすると


$today = date("Y-m-d") ;
if ( $today == date("Y-m-d",mktime(0,0,0,$m,$d-1,$Y)) ){
//予約日前日です
}

こんな感じでしょうか。
    • good
    • 0
この回答へのお礼

ありがとうございます。
form.phpと、check.phpのやりとりを教えていただければ、幸いです。

お礼日時:2007/04/17 15:24

簡単に書くとこんな感じでしょうか。



$time = mktime($hour, $minute, $second, $month, $day, $year)-mktime();

//24時間以内
if($time < 24*60*60){
echo "電話で予約してください。";
}

参考URL:http://jp.php.net/manual/ja/function.mktime.php
    • good
    • 0
この回答へのお礼

mktimeをつかうんですね。
ありがとうございます。

お礼日時:2007/04/17 15:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!