【发布时间】:2016-11-02 04:50:30
【问题描述】:
我在每个页面都包含header.php 以获取标题徽标并检查SESSION 的页面权限!
- 所以如果你请求 main.php 没有登录(会话空状态),它将显示登录页面并在
header.php中退出,因为不显示当前页面内容。 - 它的 header.php 适用于除
login.php之外的每个页面。因为登录页面不显示登录表单
所以我想显示登录表单,如何在header.php 中签入?对不起我的英语不好:(
login.php
<?php
session_start();
include("header.php");
if($_POST){
//set session logged in
}
?>
<div class="login-box ">
<h3> Log In </h3>
<form method="POST">
<input type="text" name="user" placeholder="Type User Name"><br>
<input type="password" name="pass" placeholder="Type Password"><br>
<input type="submit" name="submit" value="Login" class="button">
</form>
<span id="signup_text">You are not still a member.Click <a href="signup.php">Sign Up</a></span>
</div>
header.php
<?php
session_start();
?>
<div id="header" class="container">
<div id="logo">
<h1>Online Quiz Management</h1>
</div>
</div>
<?php
if (isset($_SESSION['login'])) {
echo "<div id='menu'><ul><li><a href=\"sublist.php\">HOme</a></li><li><a href=\"signout.php\">Signout</a></li></ul></div>";
}
else {
echo "<div class=head1> Your are not logged in<br> Please <a href=login.php>Login</a><div>";
exit;
}
?>
</div>
</div>
?>
main.php
<?php
session_start();
include("header.php");
?>
//show main code if logged in
【问题讨论】:
-
更好的解决方案可能是在用户未登录时将用户重定向到登录页面(例如
login.php)。然后您将在login.php中创建、显示和检查表单。