skip to Main Content

Before we start, I’m a beginner. I’m sure it’s a simple solution but just not for me.

I’m using a session so no one can’t access an admin page unless they’re an admin.

The code is:

if ( $_SESSION['admin'] != 1 ) {
$_SESSION['message'] = "You're not admin!";
header("location: ../error.php");    
}

Which works perfectly. regular users can’t access it but admins can. BUT.

In my main cpanel I want to have a button linking to the admin panel that will only appear if the user is admin. I did the same piece of code:

if ( $_SESSION['admin'] != 1 ) {
echo '<a href="admin/index.php"><button class="butto button-bloc" name="admin"/>Admin Panel</button></a>';
}

Problem is, it seems like the button shows up whether the user is an admin or not and now I think that my code is just trying to make me blow my lid as I spent a full hour trying to find what the f– is on the go.

Any help would be greatly appreciated! I’m sure someone who’s good with PHP will have it solved in under a minute lol

3

Answers


  1. You can use

    if (isset($_SESSION['admin']) && ($_SESSION['admin'] == 1 )) {
        echo '<a href="admin/index.php"><button class="butto button-bloc" name="admin"/>Admin Panel</button></a>';
    }
    

    This way the button will show when you set the $_SESSION['admin'] and if it is TRUE (i.e. 1).

    Login or Signup to reply.
  2. The condition you have written is same for user who is admin and not an admin

    Please check the condition

    For having a button linking to the admin panel that will only appear if the user is admin.

    if ( $_SESSION['admin'] == 1 ) { // you have written $_SESSION['admin'] != 1
    echo '<a href="admin/index.php"><button class="butto button-bloc" name="admin"/>Admin Panel</button></a>';
    }
    
    Login or Signup to reply.
  3. Try This:

    if (isset($_SESSION['admin']) {
        if ( ($_SESSION['admin'] == 1) ) {
            echo '<a href="admin/index.php"><button class="butto button-bloc" name="admin"/>Admin Panel</button></a>';
        }
    }
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search