PHP导航栏和登录页面

时间:2016-06-10 10:49:13

标签: php

我创建了一个登录页面,但只使用了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">

如果您需要查看其他文件,我很高兴发送它只是为了帮助我:)

1 个答案:

答案 0 :(得分:0)

您正在检查登录会话,如下所示:

if (!isset($_SESSION['logged_in']))

但你正在设置这样的会议

$_SESSION['ingelogd'] = true;

所以改变

if (!isset($_SESSION['logged_in']))

if (!isset($_SESSION['ingelogd']))