2016-12-21 44 views
0

請從我的數據庫中顯示用戶數據使用會話成功登錄後 下面是我的程序代碼頁面中我想要數據出現 注意:此頁面已包含會話和註銷功能使用登錄會話顯示用戶數據

<?php 
//initialize the session 
if (!isset($_SESSION)) { 
    session_start(); 
} 

// ** Logout the current user. ** 
$logoutAction = $_SERVER['PHP_SELF']."?doLogout=true"; 
if ((isset($_SERVER['QUERY_STRING'])) && ($_SERVER['QUERY_STRING'] != "")){ 
    $logoutAction .="&". htmlentities($_SERVER['QUERY_STRING']); 
} 

if ((isset($_GET['doLogout'])) &&($_GET['doLogout']=="true")){ 
    //to fully log out a visitor we need to clear the session varialbles 
    $_SESSION['MM_Username'] = NULL; 
    $_SESSION['MM_UserGroup'] = NULL; 
    $_SESSION['PrevUrl'] = NULL; 
    unset($_SESSION['MM_Username']); 
    unset($_SESSION['MM_UserGroup']); 
    unset($_SESSION['PrevUrl']); 

    $logoutGoTo = "INDEX.PHP"; 
    if ($logoutGoTo) { 
    header("Location: $logoutGoTo"); 
    exit; 
    } 
} 
?> 
<?php 
$servername = "localhost"; 
$username = "Ark_softwares"; 
$password = ""; 
$dbname = "digitals"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT id, firstname, lastname FROM admin_login WHERE username = '$session'"; 
$result = $conn->query($sql); 
+1

你確定這是正確的'username ='$ session''? –

+0

做兩件事: 1)print_r()你的會話變量 2)檢查你的$ sql =「SELECT id,firstname,lastname FROM admin_login WHERE username ='$ session'」;查詢。 –

+0

你的變量'$ session'來自任何地方 – Beginner

回答

-1

我無法找到你在哪裏defigning值「$會議」的地方,它看起來像你甚至沒有檢查或會話不爲空。我應該做的就是使用PHP的session_destroy()http://php.net/manual/en/function.session-destroy.php)函數來註銷。

if(isset($_GET['logout'])) 
{ 
    session_destroy(); 
} 

只有在URL後面加上「?logout」,才能註銷。

除此之外,如果我是你,我應該只在會話中存儲用戶標識,以便您擁有一個可以從中獲取用戶信息的唯一字段。

$id = mysqli_real_escape_string($conn, $_SESSION['user_id']); 
$sql = 'SELECT firstname, lastname, username FROM admin_login WHERE id=\'' . $id . '\''; 
$query = $conn->query($sql); 
$row = mysqli_fetch_assoc($query); 
echo $row['firstname'];