Проблемы с программным обеспечением PHP после обновления сервера (HTTP Header) - PullRequest
0 голосов
/ 29 августа 2018

У меня возникла проблема с неработающими функциями 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');
        }

1 Ответ

0 голосов
/ 29 августа 2018

Полагаю, вам просто нужно сделать следующее, если вы пытаетесь получить доступ к коду с другого сервера. Я не думаю, что это безопасно, но должно работать, если вы разместите его на странице, которая обрабатывает запрос:

<?php header('Access-Control-Allow-Origin: *'); ?>
...