アプリ版:「スタンプのみでお礼する」機能のリリースについて

<?php

//年の入力
print '<select name="year">' . "\n";
$start = date('Y') -0;
$end = date('Y') +1;
for ($i = $start; $i <= $end; $i++) {
print '<option value="' . sprintf("%04d",$i) . '">' . sprintf("%04d",$i) . '</option>' . "\n";
}
print '</select>年' . "\n";

//月の入力
print '<select name="month">' . "\n";
for ($i = 01; $i <= 12; $i++) {
print '<option value="' . sprintf("%02d",$i) . '">' . sprintf("%02d",$i) . '</option>' . "\n";
}
print '</select>月' . "\n";

//日の入力
print '<select name="day">' . "\n";
for ($i = 01; $i <= 31; $i++) {
print '<option value="' . sprintf("%02d",$i) . '">' . sprintf("%02d",$i) . '</option>' . "\n";
}
print '</select>日' . "\n";
?>

と記述して、日付選択のときに
本日より前の日を選んだら、エラー
本日より先の日を選んだら、OK
例→2009年01月01日は×
 →2010年01月01日は○

というチェック方法をしたいのですが、どのように記述したらよろしいでしょうか?

宜しくお願いします。

A 回答 (2件)

データを送る前にエラーを返したいならjavascriptでやってください


送られてきたデータをチェックするならこんなかんじ

<?php
$str1=date("Ymd",strtotime("{$_REQUEST["year"]}/{$_REQUEST["month"]}/{$_REQUEST["day"]}"));
$str2=date("Ymd");

if($str1<$str2){
print "NG";
}else{
print "OK";
}

?>
    • good
    • 0
この回答へのお礼

お忙しい中有難うございます。
javascriptが必要ですか・・・
ブラウザによりますがjavascriptがoffだった場合はどうなるのでしょうか?

また、そのサンプルコードがあるサイト等がございましたら、ご教授いただけないでしょうか?

お願いし致します。

お礼日時:2009/10/19 18:47

>ブラウザによりますがjavascriptがoffだった場合はどうなるのでしょうか?



送る前にチェックをすることは、ある場合において大変有効ですが
クライアントがかならず思い通りのデータを送ってくるという保証は
ありません。

javascriptなどでチェックをするのは意味がありますが、
それと同時にサーバー側でもチェックを入れる必要があります。

なので、javascriptがoffになっていても、それほど問題なことではなく
offになっている前提でのページを作っておけばなんの支障もないでしょう
    • good
    • 0

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