2010-05-05 3 views
0

В основном я ненавижу веб-сайт спутника, который включает form.php с совершенно другого сервера.PHP http включает не сохранение сеансов

<?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. 
    } 
?> 

Так в основном, что скрипт вызывается с удаленного сайта , но сеансы не будут сохраняться и сбрасываться при обновлении ... Я предполагаю, потому что фактический главный сервер никогда не загружается в браузере пользователей.

Кто-нибудь знает способ об этом/способ исправить это? Или, возможно, другое решение? Все работает.

Thanks

+0

Вы называете session_start() до того, как включить? Или это сеанс, запущенный внутри пульта? –

+0

Да, конечно. Глобальный $ _SESSION устанавливается, но его пустой, а session_id возвращает идентификатор, но его изменение при каждом перезапуске. – sct

+0

ошибка. обновить * не перезагружать, lol. – sct

ответ

0

Это действительно страшный дизайн.

include("http://blah.com/form.php?var=1&error=First%20name%20is%20a%20required%20field"); 

вы должны думать о XMLRPC или каким-либо другим цивилизованным способом обмена данными

+0

Bleh да это, но для проекта в значительной степени необходимо. Я хочу взять как можно больше работы из рук аффилированных лиц, когда они создают свинцовую форму, если вы понимаете, что я имею в виду. Мы создали кампанию, дадим им возможность включить, а остальное позаботится. Я пытался избежать GET xD – sct

+0

@sct лучше попытаться понять, что такое HTTP-протокол и как он работает. это сэкономит вам часы нахождения несуществующего решения. –

+0

Хорошо. Я посмотрю прямо сейчас. Благодарю. – sct

Смежные вопросы