0

我正在使用 PHP/MySQL 创建一个事件系统,并且我正在使用 PHP 将日期拼凑在一起以形成一个字符串。我希望我的日期格式为 dd-mm-yy。我正在使用以下代码:

 $title = $_POST['title'];
         $title = htmlspecialchars($title);
         $type = $_POST['evtype'];
         $type = htmlspecialchars($type);
         $evdesc = $_POST['evdesc'];
         $evdesc = htmlspecialchars($evdesc);
         $startdate = ( isset( $_POST['startdate'] ) ) ? $_POST['startdate'] : '' ;
         $starttime = $_POST['starttime'];
         $starttime = htmlspecialchars($starttime);
         $enddate = ( isset( $_POST['enddate'] ) ) ? $_POST['enddate'] : '' ;
         $endtime = $_POST['endtime'];
         $endtime = htmlspecialchars($endtime);
         $location = $_POST['location'];
         $location = htmlspecialchars($location);
 // assemble dates and times
list($startday, $startmonth, $startyear) = array_pad(explode('-', $startdate, 2), 2, null);
$evstart = '' . $startyear . '-' . $startmonth . '-' . $startday . ' ' . $starttime . '';

list($endday, $endmonth, $endyear) = array_pad(explode('-', $enddate, 2), 2, null); // explode("-", $enddate);
$evend = '' . $endyear . '-' . $endmonth . '-' . $endday . ' ' . $endtime . '';
         // end assemble

但是,此代码不会爆炸数据,稍后发布到数据库的唯一内容是“--(此处时间)”

错误是:

注意:未定义的偏移量:第 42 行的 calendar.php 中的 2

注意:未定义的偏移量:第 45 行的 calendar.php 中的 2

4

1 回答 1

1

你正在使用

array_pad( /* something*/, 2, null)

并期望在数组中获得三个项目。

list($startday, $startmonth, $startyear) = ...

我认为如果您将其更改23,它将正常工作。

(就此而言,您explode()也应该拥有limit = 3,而不是2

array_pad() 参考

于 2013-08-03T15:25:39.557 回答