2016-06-10 83 views
0

我创建了一个登录页面,但只使用PHP(没有MySQL),但是当你登录时,“menu.php”(这是导航栏)永不刷新。我尝试了一种方法,当您登录到我的服务器时,它会自动重新加载,但是当页面重新加载时,您将在我的登录页面中重定向。有没有办法解决这个问题? [对不起,如果我的英语不好=(]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

你检查的loggedIn会议这样的:

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

,但要设置这样

$_SESSION['ingelogd'] = true; 

的会议,以便改变

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

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

变化,在login.php中。确保所有会话密钥都是相同的 –

+0

我已经添加了,所以应该怎么做? (抱歉提问哑巴问题=() –