Я пытаюсь решить проблему с приложением.Изначально у нас были проблемы из-за обновления PHP с PHP5 до PHP7.Кажется, это было исправлено в некоторых местах, но теперь у меня снова возникают проблемы.
Может кто-нибудь проверить синтаксис, чтобы проверить, правильно ли он вводит?
if($_POST['create_special_appointment']){
$customer_id = htmlspecialchars($_POST['customer'], ENT_QUOTES);
$category_id = htmlspecialchars($_POST['category'], ENT_QUOTES);
$start_date = htmlspecialchars($_POST['start_date'], ENT_QUOTES);
$end_date = htmlspecialchars($_POST['end_date'], ENT_QUOTES);
$start_time = htmlspecialchars($_POST['start_time'], ENT_QUOTES);
$end_time = htmlspecialchars($_POST['end_time'], ENT_QUOTES);
$booked_for = post_array_to_explode($_POST['booked_for']);
$notes = htmlspecialchars($_POST['notes'], ENT_QUOTES);
$session_id = htmlspecialchars($_POST['session_id'], ENT_QUOTES);
$time = date("Y-m-d H:i:s");
$agent_id = get_agent_from_session($session_id, 'id');
//if(!($start_time)){$start_time = '00:00';}
//if(!($end_time)){$end_time = '00:00';}
//$start_date = $start_date.' '.$start_time;
//$end_date = $end_date.' '.$end_time;
$date=date('Y-m-d',strtotime($date));
$start_date = $start_date.' '.$start_time.":00";
$end_date = $end_date.' '.$end_time.":00";
//$start_date = format_datetime_mysql($start_date);
//$end_date = format_datetime_mysql($end_date);
$insert = $dbh->exec("INSERT INTO calendar_special(start_date, end_date, notes, category_special_id, added_by, booked_for, date_added, customer_id) VALUES ('$start_date', '$end_date', '$notes', '$category_id', '$agent_id', '$booked_for', '$time', '$customer_id')");
if($insert){
$notification_msg[] = array(type=>'alert-success', h4=>'Success!', msg=>'Appointment Created');
header('Location: ' . $_SERVER['HTTP_REFERER']);
}else{
$notification_msg[] = array(type=>'alert-warning', h4=>'Warning!', msg=>'Appointment NOT Created');
mysqli_error($con);
var_dump($_REQUEST);
print_r($dbh->errorInfo());
}
//temp-code
//var_dump($insert);
}
Фактический код формы:
<select name="customer" id="customer-single" style="width:100%">
<option value="">Select a customer (Optional)</option>
<?php foreach(customer_array($ajax['0']) as $customer){ ?>
<option value="<?php echo $customer['id'] ?>">
<?php echo $customer['business_name'] ?> - <?php echo $customer['first_name'] ?> <?php echo $customer['last_name'] ?></option>
<?php } ?>
</select>
И ошибка, которую я получаю:
"Предупреждение! Назначение НЕ создано"
array (11) {["session_id"] => string (64) "c5ec66786328e97af8f8fb6771912b58c5869986816b3d2bc9916b7e740cff44" ["create_special_appointment"] => string (4) "true" ["customer"] => string (0) "" ») "1" ["start_date"] => string (10) "2018-10-23" ["start_time"] => string (5) "10:35" ["end_date"] => string (10) "2018-10-31 "[" end_time "] => string (5)" 10:35 "[" booked_by "] => string (1)" 5 "[" booked_for "] => array (1) {[0] => string (2) "71"} ["notes"] => string (18) "Тест Пола Холидея"} Массив ([0] => 22007 [1] => 1366 [2] => Неверное целочисленное значение: '' для столбца 'customer_id' в строке 1)
Извиняюсь, если этот вопрос был сформулирован неправильно,и если да, пожалуйста, сообщите.