php成功登录后,在页面顶部显示用户名?

时间:2016-04-28 08:46:35

标签: php html

我能够使用php进行用户注册并登录。我现在要做的是,如果我登录,它会转到index.html,然后在顶部菜单栏中添加“welcome”+ username,其中列表如下:

<ul class="nav navbar-nav navbar-right">
    <li><a href="mypage.html">My Page</a></li>
    <li><a href="register.php">Sign up</a></li>
    <li><a href="login.php">Sign in</a></li>
</ul>

我希望仅在用户登录时才能在“我的页面”之前使用“欢迎”+用户名。请帮忙!

并且有什么办法可以在同一个index.html中更改“登录”以“注销”吗?我是否必须创建另一个替换“登录”以“注销”的html文件?

谢谢!

1 个答案:

答案 0 :(得分:2)

在记录用户的脚本中,存储用户的用户名和一个值,该值表示用户已登录$_SESSION,如下所示:

(将其放在文件的顶部,以便会话管理可以工作):

session_start();

然后在valdiating之后,用户将他们的用户名和布尔值添加到会话超全局数组中:

$_SESSION['username'] = <USERNAME>;
$_SESSION['loggedIn'] = true;

要使工作正常,您需要将index.html文件重命名为index.php,以便在其中加入php个标记。

完成后,您可以有条件地呈现问候语和适当的按钮(登录/注销),如下所示:

首先在文件开头调用session_start

<?php session_start(); ?>

然后,只有在用户登录时才执行此操作以呈现问候语:

<?php if($_SESSION['loggedIn']): ?>
<span>Welcome <?php echo $_SESSION['username']; ?></span>
<?php endif; ?>

这是为了呈现登录或注销按钮:

<?php if($_SESSION['loggedIn']): ?>
<button>Log Out</button>
<?php else: ?>
<button>Log In</button>
<?php endif; ?>