显示基于字段值PHP的链接

时间:2013-11-22 01:20:32

标签: php mysql session login

下面是显示我正在处理的网站的登录/注册用户和未登录用户的链接的代码。用户登录到名为“users”的表,并检索其SESSION主键(users_id)并显示登录的链接。

我想要做的是一个脚本,它根据名为'users_type'的字段(也在'users'表中)中的值来更改显示的链接。

不同的'user_types'是销售,管理,服务,维护和管理。下面显示了如果'user_type'是Sales,会发生什么。

我所追求的是一个脚本,如果登录的人将“Admin”作为他们的“user_type”(或“service.php”代表'',则将“sales.php”链接更改为“admin.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> 
    ';
    }
    ?>

1 个答案:

答案 0 :(得分:0)

也许我误解了你的问题,但如果我没有,那么当用户的角色为“管理员”时,你想要改变链接形式admin / sales.php。如果是这种情况,下面的代码应该有效:

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

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

修改

根据您在下方的评论,听起来文件名和user_type始终相同,因此您可以这样做:

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

这将导致file_name.php其中file_name是会话的user_type,第一个字母为小写,.php已添加。这应该有用。