php - 根据 PHP 字段值显示链接

标签 php mysql session authentication

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

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

不同的“用户类型”是销售、管理员、服务、维护和管理。下面显示了如果“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> 
    ';
    }
    ?>

最佳答案

也许我误解了您的要求,但如果我没有误解,那么当用户的角色为“管理员”时,您希望更改 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 是 session 的 user_type,第一个字母为小写,并添加 .php。这应该可行。

关于php - 根据 PHP 字段值显示链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20135227/

相关文章:

php - 以结构化方式显示连接的 mysql 数据,且不会造成性能损失

php - 如何从yii2 restful api中的两个表将关系数据显示为json格式

php - 将 API 错误代码转换为异常

php - 此脚本的安全性

php - 如何在 Magento 中将值保存在我自己的 session 变量中?

jquery - 使用 jquery 保存 session 变量似乎不起作用

php - 更新记录语法错误

python - 如何获得列类型宽度 MySQLdb?

mysql - 触发将空值更改为 NULL

在 Node Express Handlebars 应用程序中找不到 javascript 文件