Monday 15 June 2015

sql - Display content to certain rank PHP -



sql - Display content to certain rank PHP -

i'm creating simple staff panel consists of 10 pages , uses single sql table. sql table consists of user_id, user_name, user_email, password , rank

i'm trying display specific content based on users rank in database although, i'm beginner @ php i'm not sure if i'm pulling database properly.

$sql = "select user_name, user_email, user_password_hash, user_id, rank users user_name = '" . $user_name . "' or user_email = '" . $user_name . "';"; $result_of_login_check = $this->db_connection->query($sql); // if user exists if ($result_of_login_check->num_rows == 1) { // result row (as object) $result_row = $result_of_login_check->fetch_object(); // using php 5.5's password_verify() function check if provided password fits // hash of user's password if (password_verify($_post['user_password'], $result_row->user_password_hash)) { // write user info php session (a file on server) $_session['user_name'] = $result_row->user_name; $_session['rank'] = $result_row->rank; $_session['user_email'] = $result_row->user_email; $_session['user_login_status'] = 1;

this login.php file. code i'm using seek , display specific rank.

i've managed display depending on users name leads me believe haven't called rank properly.

<?php if (isset($_session['rank']) && $_session['rank'] == admin) { echo '<a href="/admin/" class="btn btn-danger">admin</a>'; } else { echo " "; } ?>

if code have posted exact same code have on files, believe next line of code problem:

if (isset($_session['rank']) && $_session['rank'] == admin) {

unless admin been defined through define function take it string, hence code should be:

if (isset($_session['rank']) && $_session['rank'] == 'admin') {

or:

if (isset($_session['rank']) && $_session['rank'] == "admin") {

either single or double quotes fine. don't see other reason code fail.

i hope helps.

follow up:

you can utilize next piece of code utilize different ranks per comment:

if (isset($_session['rank'])) { if ($_session['rank'] == 'admin') { // admin } elseif ($_session['rank'] == 'mod') { // mod } elseif ($_session['rank'] == 'member') { // fellow member } }

you can utilize switch / case clause:

if (isset($_session['rank'])) { switch ($_session['rank']) { case: 'admin': // admin break; // not forget breaks! case: 'mod': // mod break; case: 'member': // fellow member break; } }

hope helps more.

php sql

No comments:

Post a Comment