1

PHPクラスの最終プロジェクトに取り組んでいますが、コードの検証に問題があります。コードのelseif部分では、これらのelseifステートメントとアプリケーションの両方で常にエラーが発生します。以下のコードは、リマインダーを設定するためのHTMLフォームを持つ.phpファイルの一部です。

} else if (!checkdate($_POST['reminderMonth'],$_POST['reminderDate'],$_POST['remindereEar'])) {
    $error_message = "Selected date does not exist.";
} else if ($reminderDate <= $t_date) {
    $error_message = "Selected date has already occured.";

すべてのコード:

if(isset($_POST['submit'])) {
//get data
$t_date = date(Ymd);
$year = $_POST['reminderYear'];
$month = $_POST['reminderMonth'];
$day = $_POST['reminderDay'];
//validate data
$reminderDate = $year.$month.$day;
if (empty($_POST['reminderName'])) {
    $error_message = "Name is a required field.";
} else if (!checkdate($_POST['reminderMonth'],$_POST['reminderDate'],$_POST['remindereEar'])) {
    $error_message = "Selected date does not exist.";
} else if ($reminderDate <= $t_date) {
    $error_message = "Selected date has already occured.";
} else {
    $error_message = ''; }
//redirect
if(empty($error_message)) {
    mysql_query("INSERT INTO reminder_event 
                    (reminderName,reminderDescript,reminderDate) 
                 VALUES
                    ('{$reminderName}','{$reminderDescript}','{$reminderDate}')");
header("Refresh: 1;url=reminder_list.php");
} else {
echo($error_message); } }
4

3 に答える 3

1

あなたはreminderDateとremindereEarを間違えました。

代わりに:$_POST['reminderDay'], $_POST['reminderYear']

それを変更した後、さらにエラーが発生するかどうか教えてください。

于 2012-05-03T23:49:20.393 に答える
1

date(Ymd)はエラーを生成します

date('Y m d');

$ reminderDate =$year。$month。$dayであることを確認してください。同じようにフォーマットされます

$reminderDate = $year.' '.$month.' '.$day;

また、2つのタイプミス:

$_POST['reminderDate'],$_POST['remindereEar']

これが解決策であるかどうかはわかりませんが、それでも自分のやり方で実行すると問題が発生するようです

于 2012-05-03T23:51:18.030 に答える
1

2つのタイプミスがあります。

 $_POST['reminderDate'],$_POST['remindereEar']

そのはず:

$_POST['reminderDay'],$_POST['reminderYear']
于 2012-05-03T23:45:10.630 に答える