2012-05-28 319 views
0

我正在學習如何創建一個登錄頁面,以瞭解有關會話工作方式的更多詳細信息。我搜索了不同的網站,直到找到一個能夠帶來成功的網站。但是,成功登錄後,我想設置用戶可以在其中登錄後點擊其個人資料,編輯個人資料,帳戶設置和註銷的位置。註銷沒有問題,但沒有顯示配置文件的鏈接。使用會話登錄PHP

下面是測試登錄檢查:

ob_start(); 
// To protect MySQL injection (more detail about MySQL injection) 
$email = stripslashes($email); 
$password = stripslashes($password); 
$email = mysql_real_escape_string($email); 
$password = mysql_real_escape_string($password); 

$sql="SELECT * FROM users WHERE email='$email' and password='$password'"; 
$result=mysql_query($sql); 

// Mysql_num_row is counting table row 
$count=mysql_num_rows($result); 

// If result matched $username and $password, table row must be 1 row 
if($count==1){ 

// Register $username, $password and redirect to file "login_success.php" 
session_register('email'); 
session_register('password'); 
session_register('userID'); // Tried and didn't work 
session_register('lastlogin'); // Tried and didn't work 

ob_end_flush(); 

這是最主要的頁面上

session_start(); 

// See if they are a logged in member by checking Session data 
$userlinks = ""; 

if (isset($_SESSION['email'])) { 
    // Put stored session variables into local php variable 
    $userID = $_SESSION['userID']; 
    $username = $_SESSION['username']; 
    $lastlogin = $_SESSION['lastlogin']; 

    //If session is successful, the following is available: profile, last login, account and logout. 
    $userlinks = ' 
    <a href="testuser.php?userID=' . $_SESSION['userID'] . '">' . $_SESSION['email'] . '</a> &bull; (' . $_SESSION['lastlogin'] . ') 
    <a href="testuser_account.php">Account</a> &bull; 
    <a href="testlogout.php">Log Out</a>'; 
} else { 
    // If session failed, see if the user has a Damju account. 
    $userlinks = 'Have an account? <a href="testlogin.php">Click Here</a> <br/> Not registered? <a href="testreg.php">Click Here</a>'; 
} 

這是我想要的: (a href="testuser.php?userID=#")username(/a)

正如你所看到的,我是想弄清楚我自己,所以我不會像我沒有嘗試。

參考

P.S:我看到其他的鏈接,但他們以不同的方式幾乎讓。令人困惑...

感謝任何人理解和抱歉,如果你不這樣做。

+2

第1步:停止使用mysql_並開始使用PDO或MSQLI –

+2

警告:建議不要使用session_register()。該功能已棄用。請使用$ _SESSION全局變量來存儲會話變量。 – arijeet

+0

因此,將session_register('email')更改爲$ _SESSION ['email']? – taeja87

回答

0

設置使用

$_SESSION['userid'] = $userid; 

使用

$_SESSION['userid']; 
用戶ID,然後你就可以在任何地方,只要你的會話開始訪問的每個頁面

session_start(); 

在會話變量

例如

$userid= $_SESSION['userid']; 
echo $_SESSION['userid']; 

如果你連想看到的是在會議只是做

print_r($_SESSION); 

當用戶註銷確保您取消設置則變量銷燬會話

unset($_SESSION['userid']); 
session_destroy();