0

这是我的代码。我知道 500 错误通常是编码错误,但我找不到。谢谢你的时间。

$today = "1234";
$appt = "1235";
$date = explode("/", $data[1]); // EXAMPLE DATE IS 06/01/2012
$m = date("m",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));
$d = date("d",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));
$y = date("Y",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));
$appt  = date(mktime(0, 0, 0, "$m", "$d", "$y"));
$today = strtotime("today");

if ($today > $appt) {

} else {
$appt[] = array($data[8],$data[1],$data[2],$data[4],$data[3],$data[7],$data[9],$data[5],$data[15],$data[6],$data[10],$data[12],$data[13],$data[14]);
} 
4

2 回答 2

0

您的错误来自您的参考$date

$m = date("m",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));
$d = date("d",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));
$y = date("Y",mktime(0, 0, 0, $date["0"], $date["1"], $date["2"]));

您正在使用"0""1""2"explode(...)返回一个基于 int 的数组,而不是字符串。你应该使用

$m = date("m",mktime(0, 0, 0, $date[0], $date[1], $date[2]));
$d = date("d",mktime(0, 0, 0, $date[0], $date[1], $date[2]));
$y = date("Y",mktime(0, 0, 0, $date[0], $date[1], $date[2]));

我想提出的建议是保存mktime(...)返回的内容以加快处理时间:

$mktime = mktime(0, 0, 0, $date[0], $date[1], $date[2]);
$m = date("m", $mktime);
$d = date("d", $mktime);
$y = date("Y", $mktime);
unset($mktime); // http://php.net/manual/en/function.unset.php


与原始问题无关,但您为什么使用:

$appt  = date(mktime(0, 0, 0, "$m", "$d", "$y"));

当你应该使用:

$appt  = date(mktime(0, 0, 0, $m, $d, $y));


在过去的两个代码块的基础上,您可以使用它:

$mktime = mktime(0, 0, 0, $date[0], $date[1], $date[2]);
$appt  = date(mktime(
    0, // $hour
    0, // $minute
    0, // $second
    date("m", $mktime), // $month
    date("d", $mktime), // $day
    date("Y", $mktime))); // $year
unset($mktime); // http://php.net/manual/en/function.unset.php
于 2012-06-04T23:53:47.860 回答
-1

首先,您的代码似乎有点过于复杂。尝试这个:

$today=strtotime(date("m/d/Y"));
$appt=strtotime($data[1]);
if($today > $appt) {

} else {
    $appt[] = array($data[8],$data[1],$data[2],$data[4],$data[3],$data[7],$data[9],$data[5],$data[15],$data[6],$data[10],$data[12],$data[13],$data[14]);
}

如果仍然收到 500 错误,请进行一些错误检查:

print_r($data);

希望这至少能让你朝着正确的方向前进。

于 2012-06-04T23:35:56.570 回答