2012-07-05 21 views
0

我創建了一個登錄頁面的login.php,當他們的用戶記錄被重定向到登錄-home.php,我那麼,創建的登錄,但是當重定向不工作

if (isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == true) { 
echo "Welcome to the member's area, " . $_SESSION['username'] . "!"; 
} else { 
echo "Please log in first to see this page."; 
} 

和我得到的請先登錄。

爲什麼這不會實際登錄?

的login.php

<?PHP 
error_reporting(9); 

require_once("./include/membersite_config.php"); 
if(isset($_POST['submitted'])) 
{ 
$users['admin'] = array('password' => 'admin', 'redirect' => 'admin.php'); 
$users[$username] = array('password' => $password, 'redirect' => 'login-home.php'); 

if(array_key_exists($_POST['username'],$users)) { 
if($_POST['password'] == $users[$_POST['username']]['password']) { 
    $_SESSION['loggedIn'] = true; 
    header('Location:'.$users[$_POST['username']]['redirect']); 
    exit(); 
} 
} 
if($fgmembersite->Login()) 
{ 
    $fgmembersite->RedirectToURL("login-home.php"); 
} 
} 
?> 
+1

你應該張貼您的logincode – Daniel 2012-07-05 14:36:05

+0

在第一剪斷你使用「的loggedIn」作爲關鍵,和「的loggedIn」中的第二個。不是PHP區分大小寫? – Arcadien 2012-07-06 07:37:42

回答

2

隨着記錄和使用會話,請確保您正在使用$_SESSION VAR任何頁面上使用session_start()。查看php session manual瞭解更多信息。

有了重定向,林不知道你是否有這個問題,但你需要確保在重定向之前沒有任何東西寫入瀏覽器。在<?php之外的重定向之前的空行甚至會導致重定向失效。任何形式的回聲或打印都會導致這種情況。

UPDATE

看到你的代碼後,這說明你沒有做以下session_start()見代碼:

<?PHP 
session_start(); 
error_reporting(9); 

require_once("./include/membersite_config.php"); 
if(isset($_POST['submitted'])) 
{ 
$users['admin'] = array('password' => 'admin', 'redirect' => 'admin.php'); 
$users[$username] = array('password' => $password, 'redirect' => 'login-home.php'); 

if(array_key_exists($_POST['username'],$users)) { 
if($_POST['password'] == $users[$_POST['username']]['password']) { 
    $_SESSION['loggedIn'] = true; 
    header('Location:'.$users[$_POST['username']]['redirect']); 
    exit(); 
} 
} 
if($fgmembersite->Login()) 
{ 
    $fgmembersite->RedirectToURL("login-home.php"); 
} 
} 
?> 

然後登錄-home.php頁面上任何事情之前與檢查會議,把session_start()。一旦用戶登錄了,你會想要做以下

session_start(); 
session_unset(); 
header('Location:url/to/redirect/to'); 
+0

什麼是session_unset – user1491556 2012-07-05 14:53:24

+0

session_unset - 釋放所有會話變量。基本上它會清除$ _SESSION變量,並使它們不明確 – bretterer 2012-07-05 14:53:59

+0

此外,當我把選擇*從用戶,每個人的信息出現,而不是登錄的用戶 – user1491556 2012-07-05 14:57:39