Max Max - 1 month ago 6
PHP Question

replace not session_is_registered() with not isset($_SESSSION)?

I was working in a login system

session_is_registered
but this function doesnt work in
php5.4+
so I replaced:

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


to

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


...and it works.

But what happens if a want to replace (becouse I need to use this expression)

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


Do I need to use
!isset()
or
empty()
?

Answer

You can use like this way

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 will give true if variable is set
empty will give true if variable is set and its blank or null

isset() is NOT equivalent to empty().