简体   繁体   中英

need help on php if statement

<?php
if (!isset($_SESSION['loginAdmin']) || ($_SESSION['loginAdmin'] == '')) {
    header ("Location: loginam.php");
} else {
    include('head2.php');
}


  if (!isset($_SESSION['login']) || ($_SESSION['login'] == '')) {
    header ("Location: login.php");
} else {
    include('head3.php'); 
}

?>  

I'm really stuck at this problem. What I want to do is to be able to redirect the user to another page base on the information entered.

My problem is:

if this statement is true:

else {
        include('head3.php'); 
    }

This one would also be true:

if (!isset($_SESSION['loginAdmin']) || ($_SESSION['loginAdmin'] == '')) {
        header ("Location: loginam.php");
    } 

Leading me to the login page whether I'm admin or just ordinary user. Is it possible two separate the two if statements so that if this is true:

else {
    include('head3.php'); 
}

Then this statement shouldn't get in the way and redirect me back to the login page:

if (!isset($_SESSION['loginAdmin']) || ($_SESSION['loginAdmin'] == '')) {
    header ("Location: loginam.php");
} 

Always use exit after sending Location: header

Tip: (!isset($var || $var == '') could be shortened to empty($var)

What you can do is.. have a variable called usertype...

$_SESSION['usertype'] = 1 //for admin
$_SESSION['usertype'] = 2 //for regular user

Now Depending on the type of user, you can redirect the user.

if($_SESSION['usertype'] == 1)
header ("Location: admin.php");
else if($_SESSION['usertype'] == 2)
header ("Location: user.php");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM