0

I'm making a login page well i've actually finished the login but how would i go about having the web page display diffren't things based on a users privileges and how would i set the privileges in my mysql database? and then use them in my php code?

7
  • Do you have phpmyadmin installed? Also mysql workbench will help you write queries and setup your schema. Commented Jan 29, 2012 at 0:30
  • Yes i have phpmyadmin and i will get mysql workbench Commented Jan 29, 2012 at 0:36
  • Have you done a successful mysql_connect to the mysql database from php? Commented Jan 29, 2012 at 0:37
  • Yes, I've got a perfectly working log in . I just need to know how to separate certain users by their privileges Commented Jan 29, 2012 at 0:40
  • Do you have a table for users yet? Commented Jan 29, 2012 at 0:49

2 Answers 2

3

I usually make a field in the users table called admin or in this case maybe privilege_level, then in your php, you define what values of that field correspond to what levels of privilege.

EDIT (example):

// start session on every page using $_SESSION array
session_start();
session_name("Your Site Name");
header("Cache-control: private");

// in login file:
$q = mysql_query("SELECT uid, privilege_level FROM users WHERE pw = 'escaped_and_preferrably_hashed_password' AND username = 'escaped_username' LIMIT 0,1");

// if row found:
if($q && mysql_num_rows($q) > 0){

    // get associative array
    $array = mysql_fetch_assoc($q);

    // set session vars
    $_SESSION['privilege_level'] = $array['privilege_level'];

}

Then, on pages where you want to check the privilege level you can use a switch or other control structure/design pattern to load content dynamically, ie:

switch($_SESSION['privilege_level']){
    default:
        echo 'you have no privileges';
    break;
    case "1":
        echo 'you have some privileges';
    break;
    case "2":
        echo 'you have lots of privileges';
    break;
}
Sign up to request clarification or add additional context in comments.

3 Comments

So once i connect to my database and select that table and the field privilege_level then what would i do ? could you give me a code example of this ? i'm kind of new to this. Thanks :)
Your example is better than mine +1
Sorry its been a couple days but how are the privilege levels default, 1 and 2 set ?
0

When the user logs on they are giving a username/password. The database should store this username and a hash of the password. For Ex.md5($password). You first do a query like "SELECT privilege_level FROM table WHERE username = ".mysql_real_escape_string ($_POST["username"])." AND password=".md5($_POST["password"])

Then save that privilege_level to the session. $_SESSION["privilege_level"] = $privilege_level

Now when they load the next page, that page should refer to the privilege level in session variable to construct the page.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.