Я, кажется, столкнулся с проблемой с функциями PHP, не работающими после обновления сервера. Они обновили свой сервер до PHP7.2 на прошлой неделе, но до тех пор программное обеспечение работало нормально. Так что они просто временно понизили аккаунт до 7.0.
Пожалуйста, смотрите ниже код:
if($_POST['create_appointment']){
$customer_id = htmlspecialchars($_POST['customer'], ENT_QUOTES);
$category_id = htmlspecialchars($_POST['category'], ENT_QUOTES);
$date = htmlspecialchars($_POST['date'], ENT_QUOTES);
$start_time = htmlspecialchars($_POST['start_time'], ENT_QUOTES);
$end_time = htmlspecialchars($_POST['end_time'], ENT_QUOTES);
$booked_by = htmlspecialchars($_POST['booked_by'], 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');
$start_date = $date.' '.$start_time;
$end_date = $date.' '.$end_time;
$start_date = format_datetime_mysql($start_date);
$end_date = format_datetime_mysql($end_date);
$insert = $dbh->exec("INSERT INTO calendar(start_date, end_date, notes, category_id, customer_id, added_by, booked_by, booked_for, date_added) VALUES ('$start_date', '$end_date', '$notes', '$category_id', '$customer_id', '$agent_id', '$booked_by', '$booked_for', '$time')");
if($insert){
$notification_msg[] = array(type=>'alert-success', h4=>'Success!', msg=>'Appointment Created');
push_browser_notify('New appointment booked', format_date($start_date).' - '.get_customer_json('business_name', $customer_id).' ('.get_customer_json('first_name', $customer_id).' '.get_customer_json('last_name', $customer_id).') ', '');
header('Location: ' . $_SERVER['HTTP_REFERER']);
}else{
$notification_msg[] = array(type=>'alert-warning', h4=>'Warning!', msg=>'Appointment NOT Created');
}
}
Программное обеспечение находится на поддомене, к которому к основному домену прикреплен сертификат SSL. Кажется, у меня возникает проблема реферера HTTP, когда у меня активирован SSL на поддоменах. Прямо сейчас у него просто возникнет проблема «Назначение НЕ СОЗДАНО».
Может кто-нибудь, пожалуйста, помогите? Я рад перефразировать вопрос, если это не имеет смысла.
Сообщение об ошибке, которое я получаю при активации SSL:
"(index):1 Failed to load https://agent.[domain].co.uk/ajax/livelead-new.php?session=0e9b832ead36586de0f56aba52079301641362a811363690298da1970b7ecb3d: No
'Access-Control-Allow-Origin' header is present on the requested resource. Origin
'http://agent.[domain].co.uk' is therefore not allowed access."
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');
}
Я считаю, что вам просто нужно сделать следующее, если вы пытаетесь получить доступ к коду с другого сервера. Я не думаю, что это безопасно, но должно работать, если вы разместите его на странице, которая обрабатывает запрос:
<?php header('Access-Control-Allow-Origin: *'); ?>
Других решений пока нет …