В основном я ненавижу спутниковый сайт, который включает form.php с совершенно другого сервера.
<?php
include("http://blah.com/form.php");
?>
Файл form.php в других сеансах загружает классы и все другие вещи и динамически генерирует форму на основе тонны данных MySQL. Несущественны. Моя проблема в том, что когда форма вызывается, я также начинаю сеанс. Все же удаленный сервер фактически никогда не посещается клиентом. Сеанс, что остаться. Каждый раз, когда страница обновляется, старый сеанс сбрасывается.
Причина в том, что мне нужно отправить обратно ошибки проверки в исходную форму и показать их. (Это массив таких вещей, как «Имя - это обязательное поле»)
Код на главном сервере выглядит примерно так ...
<?php
include("config.php"); // This is loading the config file with the session_start()
Process($id) {
// Do a bunch of form processing and store errors in $this->errors
$_SESSION['errors'] = $this->errors;
}
ShowForm($id) {
// This loads the form and everything.
echo '<div id="errors">'.print_r($_SESSION['errors']).'</div>'; // This is what is returning nothing on the other page.
}
?>
Так что в основном этот скрипт вызывается с удаленного сайта, но сеансы не сохраняются и сбрасываются при обновлении ... Я предполагаю, что это так, потому что фактически главный сервер никогда не загружается в браузере пользователей.
Кто-нибудь знает способ обойти это / способ исправить это? Или, возможно, другое решение? Все работает.
Спасибо