2016-12-21 19 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'];