我能够使用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文件?
谢谢!
答案 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; ?>