2016-06-10 96 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

我已經添加了,所以應該怎麼做? (抱歉提問啞巴問題=() –