2013-12-10 6 views
1

PHP 프로젝트에서 7digital API를 사용하고 있습니다. 내가 새로 고침 버튼을 한 번 누르면 다음 세션 변수가 반환하기 수단 (i가 액세스 할 수 있습니다되지세션 변수가 설정되지 않은 이유

세션 데이터 : 그것은 여기 잘 작동하지만 것

print_r($_SESSION); 

$requestUrl = "http://api.7digital.com/1.2/release/details?oauth_consumer_key=" . SEVEN_DIGITAL_CONSUMER_KEY . "&country=$CountryCode&releaseid=" . $wishlistArray[$i]['release7id'] . "&imageSize=33"; 
$response = simplexml_load_file($requestUrl); 

print_r($_SESSION); 

문제 같다 : 다음은 호출 API에 내 코드입니다 API 호출 코드 이후). 이전 새로 고침 동작을로드하기 전에 새로 고침 버튼을 다시 누르면 세션 데이터가 자동으로 설정 해제됩니다.

계속 새로 고침 버튼을 두 번 이상 누르면 세션 데이터가 자동으로 삭제됩니다.

어떤 이유 일 수 있습니까?

한 번 깔끔하게 잘 작동합니다. XML 로딩 코드를 제거한 경우 한 번 이상 새로 고침 또는 한 번 새로 고치는 것이 좋습니다.

+1

어떤 방식 으로든 세션을 변경하는 것은 아무것도 없습니다. – deceze

+0

$ _SESSION은 어디에 설정되어 있습니까? – Sabari

+0

deceze :하지만 API 호출 후 세션 데이터가 파괴되었습니다. –

답변

2

이것은 꽤 잘 알려진 문제/버그입니다.

전체 설명과 완전한 해결책을 얻으려면 here을 참조하십시오.

+0

세션은 "XML"을 저장합니다. XML은 단지 텍스트 문자열입니다. 분명히 *'SimpleXMLElement' 클래스는 직렬화/비 직렬화 될 때 버그가 있거나 단순히 지원하지 않습니다. 이는 다른 문제입니다. – deceze

+0

php 레퍼런스 매뉴얼에 대한 제 링크가 문제를 명확하게 설명해줍니다 ... – MarcoS

+0

예, "세션을 XML로 정렬하는 것이 싫어"라는 일반적인 성명서가 나쁘지는 않은지 확인하고 싶습니다. – deceze

-1

include session_start(); 스크립트 상단에

관련 문제