2011-08-02 2 views
1

내 코드는 다음과 같습니다. 내가 생각했던 어떤if (! session_id())가 예상대로 작동하지 않습니까?

if(!session_id()) 
{ 
session_set_cookie_params(2592000, "/", ".domain.com", false); 
session_name("VALCODE"); 
session_start(); 
} else { 
echo "Testing 123"; 
} 

따라서 (SESSION_ID)와 세션이 이미 설정된 경우하지 않을 경우 123은 어떻게됩니까

이 테스트를 에코, 그렇다면, 세션을 시작 설정을 참조 볼 수 있었다 처음로드 될 때 세션을 설정하지만, 다시로드하면 "Testing 123"이 표시되지 않으므로 아무 것도하지 않는다는 것을 알게됩니다.

누군가 내게 코드가 이미 활성화되어 있는지 또는 내 코드에 댓글이 있는지 확인하기 위해 올바른 방향으로 알려 주시겠습니까?

모든 댓글, 정보 또는 조언을 크게 높이세요!

session_start() 

아무것도하기 전에 :

+1

[세션 시작] (http://www.php.net/manual/en/functionsession-start.php)을 먼저 수행해야합니다. –

+0

나는 여기에서 벗어날지도 모르지만, 그것은 나에게왔다. 이미 세션이있는 경우 session_set_cookie_params 등이 무시됩니까? 다른 말로하면,이 스크립트는 이미 활성화되어 있지 않은 경우 세션을 설정하도록 설계되었습니다. 사이트 홈페이지에서 session_set_cookie_params(), session_name(), session_start() 등이있는 경우, 하위 페이지에서 이들을 호출하면 기존의 자격 증명을 덮어 씁니까? 그냥 그걸 가지고 다니니? – Fireworksable

+1

'session'은'session'입니다. 그것을 지나치게 생각하지 마십시오. PHP는이 경우에 필요한 모든 세션 기능을 제공하므로 만들 필요가 없습니다. 그냥'session_start()'를 호출하십시오. –

답변

1

당신은 작성해야합니다. 그런 다음 특정 세션을 확인하려는 경우 이러한 대안은 당신이 할 수 있습니다 ..

if($_SESSION['session_name']!='' && isset($_SESSION['session_name'])){} 

if(count($_SESSION)>0){} 

과 : 당신은 개미 세션이 설정할지 여부를보고 싶다면 당신은 간단하게 작성해야 사용하기 ...

+1

'if (empty ($ _ SESSION))'가'count' 메소드보다 낫다. – Phil

관련 문제