2010-05-05 5 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. 
    } 
?> 

해당 스크립트가 원격 사이트에서 호출 메인 서버의 코드는 다음과 같이 보입니다

("첫 번째 이름은 필수 항목입니다"처럼 사물의 배열입니다) 하지만 세션은 저장되지 않고 새로 고침 될 때마다 덤프됩니다. 실제 주 서버가 사용자 브라우저에로드되지 않기 때문에 세션을 새로 고칩니다.

누구나이 문제를 해결하는 방법을 알고 있습니까? 아니면 다른 해결책일까요? 아무것도 작동합니다. 참으로 끔찍한 디자인의

감사

+0

당신이 포함 이전으로 session_start()를 호출나요 데이터 교환의 다른 문명 방법을 생각해야? 아니면 원격 포함 안에 세션이 시작 되었습니까? –

+0

물론 가능합니다. $ _SESSION 글로벌이 설정되었지만 빈 세션 ID와 세션 ID는 ID를 반환하지만 다시 시작할 때마다 변경됩니다. – sct

+0

오류. 새로 고침 * 다시 시작하지 않음, 권자. – 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

관련 문제