我创建了一个登录页面,但只使用了PHP(没有MySQL),但是当你登录时,“menu.php”(这是导航栏)永远不会刷新。我登录到我的服务器时尝试了一种方法,它会自动重新加载,但是当页面重新加载时,您将被重定向到我的登录页面。有没有办法解决这个问题? [对不起,如果我的英语不好=(]
这是我的“login.php”
<?php
session_start();
$user["stackoverflow"] = "isawesome";
if (!isset($_SESSION['logged_in']))
{
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
if (empty($_POST['username']) || empty($_POST['password']))
{
exit('<br /><br /><html><body><div id="center"><h2> Login Status: <br/></h2><span style="color:red; font-weight: bold">Please fill in all fields!</span></div><meta http-equiv="refresh" content="1"></body>');
}
elseif ($user[$_POST['username']] != $_POST['password'])
{
exit('<br /><br /><div id="center"><h2> Login Status: <br/></h2><span style="color:red; font-weight: bold">Your username/password is wrong!</span></div><meta http-equiv="refresh" content="1"></body>');
}
else
{
if (!isset($_SESSION['ingelogd']))
echo '<div id="center"><h2> Login Status: <br/></h2><span style="color:green; font-weight: bold">You are now logged in!</span></div>';
}
else
{
exit('<br /><br />
<link rel="stylesheet" href="/css/body.css">
<link rel="stylesheet" href="/css/button.css">
<div id="center">
<form method="POST" action=""><p>
Username:<br />
<input type="text" name="username" /><br /><br />
Password:<br />
<input type="password" name="password" /><br /><br />
<input type="submit" value="Login" /> <input type="reset" value="Empty fields" />
</form></div>');
}
}
?>
<link rel="stylesheet" href="/css/body.css">
这是我的“menu.php”(导航栏)
<?php
session_start();
//if user is logged in, \"user\" toolbox will show
if (isset($_SESSION['ingelogd']) && $_SESSION['ingelogd'] == true) {
echo "<ul id=\"menu\">
<li class=\"li\"><a class=\"active\" href=\"#home\">Home</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/news.html\">News</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/contact.html\">Contact</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/about.html\">About</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/auth/logout.php\" style=\"float:right\">Log out</a></li>
</ul>
<br/>";
}
//if not logged in, this will show
else {
echo "<ul id=\"menu\">
<li class=\"li\"><a class=\"active\" href=\"#home\">Home</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/news.html\">News</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/contact.html\">Contact</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/info/about.html\">About</a></li>
<li class=\"li\"><a id=\"a\" href=\"html/auth/login.php\" style=\"float:right\">Log in</a></li>
</ul>
<br/>";
}
?>
<link rel="stylesheet" href="/css/menu.css">
如果您需要查看其他文件,我很高兴发送它只是为了帮助我:)
答案 0 :(得分:0)
您正在检查登录会话,如下所示:
if (!isset($_SESSION['logged_in']))
但你正在设置这样的会议
$_SESSION['ingelogd'] = true;
所以改变
if (!isset($_SESSION['logged_in']))
到
if (!isset($_SESSION['ingelogd']))