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"ます。destroy(...)は、文字列ではなく 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));


過去 2 つのコード ブロックに基づいて構築すると、次のコードを使用できます。

$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 に答える