Reputation: 546
I'm creating an events system with PHP/MySQL and I'm using PHP to piece the date together to form a string. I want my date in the format of dd-mm-yy. I'm using the following code:
$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
However, this code doesn't explode the data and the only thing that posts to the database later on is "-- (time here)"
Errors are:
Notice: Undefined offset: 2 in calendar.php on line 42
Notice: Undefined offset: 2 in calendar.php on line 45
Upvotes: 0
Views: 578
Reputation: 18861
You're using
array_pad( /* something*/, 2, null)
and are expecting to get three items in the array.
list($startday, $startmonth, $startyear) = ...
I think if you change this 2
to 3
, it will work just fine.
(For that matter, your explode()
should have limit = 3
, not 2
, too)
Upvotes: 1