php - 如果用户已登录,则更改导航栏

标签 php html mysql session navigation

我希望导航栏中的“登录/注册”按钮在用户登录后更改为“我的帐户”。我遇到了一个问题,因为我的 index.html 页面不显示导航栏。

index.html 页面:

<html lang="en" xmlns="http://www.w3.org/1999/xhtml">
<head>
      <meta charset="utf-8" />
      <title>Index Page</title>
</head>

<body>

<?php include("navigation.php"); ?>

</body>
</html>

导航.php

<?php 
include("check.php");   
?>


<?php 
if ($loginst == 1){ ?>
    <div id="nav">
        <ul >               
            <li class="navbar-left"><a href="page2.html">Page 2</a></li>
            <li class="navbar-left"><a href="page3.html">Page 3</a></li>
            <li class="navbar-right"><a href="account.php">My Account</a></li>
            <li class="navbar-right"><a href="logout.php">Sign Out</a</li>
        </ul>
    </div>
<?php } else { ?>
    <div id="nav">
        <ul >               
            <li class="navbar-left"><a href="page2.html">Page 2</a></li>
            <li class="navbar-left"><a href="page3.html">Page 3</a></li>
            <li class="navbar-right"><a href="login.php">Login</a</li>
        </ul>
    </div> 
<?php } ?>

检查.php

<?php
include('connection.php');
session_start();
$loginst = 0;
if ($_SESSION['username']){ 

$user_check = $_SESSION['username'];

$ses_sql = mysqli_query($db,"SELECT username FROM users WHERE username='$user_check' ");

$row=mysqli_fetch_array($ses_sql,MYSQLI_ASSOC);

$login_user=$row['username'];

if(!empty($login_user)) 
{
   $loginst = 1;
}   
}

?>

如果我转到 index.html,则不会显示导航栏。我究竟做错了什么?谢谢。

最佳答案

因为你的文件格式是html,不支持php标签:

<?php include("navigation.php"); ?>

将 index.html 重命名为 index.php 以支持 php include。

关于php - 如果用户已登录,则更改导航栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56306747/

相关文章:

PHP Javascript 显示/隐藏按钮不起作用

php - 在 while 循环中回显 css 类

php - php 变量的算术运算

mysql - 从一个表中按当前和上个月汇总数据

mysql - 添加表中的两列作为另一个表中的外键

mysql - 设置 innodb_log_file_size 会使 MySQL 崩溃

php - shell_exec 命令找不到库

php - codeigniter 中的相对路径

html - 好的网站创建教程

javascript - jquery添加动态选项选择列表