PHP验证麻烦

时间:2012-05-03 23:40:44

标签: php validation

我正在为PHP课程的最终项目工作,我在验证代码方面遇到了麻烦。在else if部分代码中,如果语句和应用程序停止处理,我总是会在这两个部分都出错。 下面的代码是.php文件的一部分,该文件具有用于设置提醒的HTML表单。

} 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); } }

3 个答案:

答案 0 :(得分:1)

我看到2个拼写错误:

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

应该是:

$_POST['reminderDay'],$_POST['reminderYear']

答案 1 :(得分:1)

你在提醒日期和提醒我的时候犯了一个错误。

应该是:$_POST['reminderDay'], $_POST['reminderYear']

告诉我更改后是否会收到更多错误。

答案 2 :(得分:1)

日期(Ymd)将产生错误

date('Y m d');

并确保$ reminderDate = $ year。$ month。$ day;格式相同

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

另外2个拼写错误:

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

不知道这是否是一个解决方案,但如果按照自己的方式运行它仍然会导致问题