2016-12-21 13 views
0

ログイン後、セッションを使用してデータベースからユーザーデータを表示するのに問題があります。 注:このページには既にあなたもチェックしていないか、セッションがnullでないように私はあなたが値「$セッション」をdefigningている場所を見つけることができませんログインしたセッションを使用してユーザーデータを表示

<?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

セッションとログアウト機能は、それが見えます。私があなたのところでやるべきことは、PHPのsession_destroy()http://php.net/manual/en/function.session-destroy.php)機能を使ってログアウトすることです。

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

あなたのURLの後に "?logout"を置くだけでログアウトすることができます。

私の場合は、ユーザーIDをセッションに保存するだけで、ユーザー情報を取得できる一意のフィールドが得られるはずです。

$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']; 
関連する問題