2013-11-22 3 views
0

Ниже приведен код, который отображает ссылки для зарегистрированных/зарегистрированных пользователей и незарегистрированных пользователей для сайта, над которым я работаю. Пользователи регистрируются в таблице с именем «пользователи», и это извлекает первичный ключ SESSION (users_id) и отображает зарегистрированные ссылки.Отображение ссылок на основе значения поля PHP

То, что я пытаюсь сделать, это сценарий, который изменяет отображаемые ссылки в зависимости от того, какие значения находятся в поле под названием «users_type» (также в таблице «users»).

Различные «user_types» - это Sales, Admin, Service, Maintenance and Management. Ниже показано, что произойдет, если «user_type» - это Sales.

Что мне нужно - это скрипт, который изменит ссылку «sales.php» на «admin.php», если у зарегистрированного пользователя был «Admin» в качестве «user_type» (или «service.php» для «Сервис» и т. Д.).

Любая помощь или точку в правильном направлении было бы весьма признателен

<?php # loginnav.php> 
    if (isset($_SESSION['users_id']) AND 
    (substr($_SERVER['PHP_SELF'], -10) 
    != 'logout.php')) { 
     echo ' 
       <ul id="navlist"> 
       <li><a href="welcome.php">Welcome</a></li> 
       <li><a href="sales.php">SALES</a></li> 
       <li><a href="logout.php">Log out</a></li> 
       </ul> 

    '; 
    } else { // Not logged in. 
     echo ' <ul id="navlist"> 
       <li><a href="login.php">Login</a></li> 
       </ul> 
    '; 
    } 
    ?> 

ответ

0

Возможно, я понял, что вы просили, но если у меня нет, то вы хотите изменить форму ссылки admin/sales.php, когда роль пользователя - «Администратор». Если это так, то это ниже код должен работать:

$link = $_SESSION['role'] == 'Admin' : 'Admin' ? 'Sales'; 

echo '<li><a href="', lcfirst($link), '.php'">', $link ,'</a></li>'; 

EDIT

Основываясь на ваш комментарий ниже, это звучит, как имя файла и user_type всегда одинаковы, поэтому вы можете просто сделать:

echo '<li><a href="', lcfirst($_SESSION['user_type']) ,'.php">', $_SESSION['user_type'] ,'</a></li>'; 

Который приведет к file_name.php где file_name является user_type на сессии, с первой буквой в нижнем регистре и .php добавил. Это должно сработать.

+0

Я не мог заставить это работать – AdamMc

+0

Что задает @Ohgodwhy правильно, но мне нужно иметь возможность поместить в сценарий все 5 разных типов ролей (Sales, Admin, Service, Maintenance and Management). – AdamMc

+0

@AdamMC См. Мое редактирование. – Ohgodwhy

Смежные вопросы