2016-10-23 2 views
0

나는 로그인 시스템 session_is_registered에서 일했지만 php5.4+에서이 기능을 나던 작품은 그래서 대체 :

if (session_is_registered('id_user') == true && session_is_registered ('username') == true){} 

if (isset($_SESSION['id_user']) && isset($_SESSION['username'])){} 

에 ... 그리고 그것은 작동합니다.

그러나

if (!session_is_registered('id_user') || !session_is_registered('username')){} 

내가 !isset() 또는 empty()를 사용해야합니까 (나는이 표현을 사용할 필요가 렸기 때문에) 찾는 교체하면 어떻게됩니까?

+0

당신은 아마 – Brett

+0

봐 http://stackoverflow.com/questions/4559925/why-check-both-isset-and-empty –

+0

@Brett에 id_user와 이름 모두) (는 isset 빈을 모두! 사용해야합니다 이게 무슨 뜻이야? ($ _ SESSION [ 'username']) ($ _ SESSION [ '사용자 이름]]) && empty ($ _ SESSION ['username '])) $ {SESSION [ 'id_user']) && empty ($ _ SESSION [ ')]) {}'당신은 이것에 대해 확신합니까? – Max

답변

0

당신은 변수가 설정되어있는 경우

if (isset($_SESSION['id_user']) && isset($_SESSION['username'])){ 
     /* this will true if both are set */ 
} 

if (!isset($_SESSION['id_user']) || !isset($_SESSION['username'])){ 
     /* this will true if one of them is not set */ 
} 

는 isset 사실 줄 것이다 이런 식으로 같이 사용할 수 있습니다
)을 (변수가 설정되어있는 경우에 true를 줄 것이다 빈과 그 공백 또는 널 (null)

는 isset입니다 empty()와 동등하지 않습니다.

+0

감사합니다. – Max

+1

이것을 사용하면'if (! isset()))를 사용하는 것이 더 안전합니다. ($ _ SESSION [ 'username'])) $ {SESSION [ 'id_user']) 공백 ($ _ SESSION [ 'username'])/* 이것은 사용자가 로그인하지 않았다는 것을 의미합니다 * /}' – Jazzzzz

관련 문제