【问题标题】:How to create two different Menu in one page for different type of user in HTML using PHP and CSS如何使用 PHP 和 CSS 在 HTML 中为不同类型的用户在一个页面中创建两个不同的菜单
【发布时间】:2024-05-21 09:10:01
【问题描述】:

我对 php 和 HTML 很陌生,我需要在用户登录后创建一个页面来为不同类型的用户显示菜单。 第一个用户 = 雇主 第二个用户 = 求职者

求职者的菜单应至少显示以下选项:

菜单

编辑个人资料

申请历史

搜索职位

按类别查看职位

按公司查看职位

退出

雇主菜单应至少显示以下选项:

菜单

编辑公司资料

发布新职位

编辑/删除发布的职位

审核职位申请

搜索申请人

退出

我能够修复我的代码并使用两种不同类型的用户登录。 现在唯一的问题是我的第二个用户 - 雇主,不会显示我创建的 css 样式。求职者菜单中一切正常。

<!DOCTYPE html>
<?php
    session_start();
    if (!isset($_SESSION['usertype'])){
        Header('Location:login.php?msg=Hacker');
    }
?>

<html>
    <head>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
    body{
        background-image:
        url('background.jpg');
        background-repeat: no-repeat;
        background-attachment: fixed;
        background-size: cover;
        margin:0;
        font-family:Lucida Sans Unicode, Lucida Grande, sans-serif;
        }
    .topnav {
        background-color: #333;
        overflow: hidden;
    }
    .topnav a{
        float: left;
        color: #c7e1db;
        text-align: center;
        padding: 18px 70px;
        text-decoration: none;
        font-size: 17px;
    }
    .topnav a:hover{
        background-color: #ddd;
        color: #1d77dd;
    }
    .topnav a.active{
        background-color: #ec5e5e;
        color: white;
    }
    </style>
    </head>

    <body>
        <center>
        <?php 
            if($_SESSION['usertype'] == 'JobSeeker') {
        ?>
        <div class="topnav">
        <a class="active" href="http://localhost/a2/menu.php">Menu</a>
        <a href="profile.php"> Profile</a>
        <a href="#appHist">History</a>
        <a href="#jobCat">View Jobs by Category</a>
        <a href="#jobCom">View Jobs by Company</a>
        <a href="logout.php"> Not <?php echo $_SESSION['username'] ?>?  Logout Here</a> 
        </div>
        <br>    
    <?php  } //for employer
        elseif($_SESSION['usertype'] == 'employer') { 
        ?>
        <a class="active" href="menu.php">Menu</a>
        <a href="#profile">Edit Profile</a>
        <a href="#appHist">Application History</a>
        <a href="#jobCat">View Jobs by Category</a>
        <a href="#jobCom">View Jobs by Company</a>
        <a href="logout.php"> Not <?php echo $_SESSION['username'] ?> ? Logout Here</a> 
        </div>
        <br>
        <br>
        <?php 
            echo 'Welcome ' . $_SESSION['username']; 
        ?>
        <?php } ?>
        </center>
    </body>
</html>

【问题讨论】:

    标签: php html css


    【解决方案1】:

    您的代码应该可以运行,但在进行会话时出现了一些问题,这就是它无法运行的原因。注册时您可以做一件事,您可以在数据库中获取usertype。假设我正在注册为求职者,那么您可以将usertype 作为jobseeker 的值,否则usertype 的值将是employer

    当用户登录时,显然您正在使用用户名和密码登录会话。

    所以登录后,您就有了用户名,您可以轻松获得该特定用户名的usertype。 然后你可以做一个 if else 条件。

    假设当一个用户登录时,你使用该用户的用户名会话是

    $admin = $_SESSION['username'];
    

    然后获取$admin 的用户类型 查询应该是这样的

    $fetch_usertype = mysqli_fetch_assoc(mysqli_query($con,"SELECT * FROM 'ypor_user_table' WHERE 'username_column' = '$admin'"));
     $usertype = $fetch_usertype['user_type_column'];
    

    现在你有了usertype,所以你可以去一个if else条件。

    <?php if ($usertype ==  'employer') {?>
         <ul>
                <li><a class="active" href="menu.php">Menu</a></li>
                <li><a href="#application.php">Edit Profile</a></li>
                <li><a href="#appHist">Application History</a></li>
                <li><a href="#jobCat">View Jobs by Category</a></li>
                <li><a href="#jobCom">View Jobs by Company</a></li>
                <li style="float:right"><a class="active" href="#user">
            <ul> <?php; } 
        elseif ($usertype == 'JobSeeker') { ?>
            <ul>
                <li><a class="active" href="#menu">Menu</a></li>
                <li><a href="#profile">Edit Profile</a></li>
                <li><a href="#appHist">Application History</a></li>
                <li><a href="#jobCat">View Jobs by Category</a></li>
                <li><a href="#jobCom">View Jobs by Company</a></li>       
            </ul> 
        <?php } ?>
    

    【讨论】:

    • 我刚刚在上面添加了我的验证码。你能指出如何使用 $fetch_usertype 吗?目前,我被告知使用 $hash 创建密码,并且我使用 $_SESSION['usertype']='JobSeeker';获取用户类型
    最近更新 更多