2017-12-19 8 views
0

ログインした/認証されたユーザーのIDをhtmlページに表示する必要があります。私のサインインスクリプトは、以下に表示スクリプトが続きます。私はかなり長い間それをしてきました。私はログインしたユーザのIDをmysqlデータベースからhtmlに表示する必要があります。ログインしたユーザーのIDを表示できません

 <?php 
     session_start(); 
     include_once('server.php'); 

    $error = false; 
     if(isset($_POST['btn-login'])){ 
     $username = trim($_POST['username']); 
     $username = htmlspecialchars(strip_tags($username)); 

     $password = trim($_POST['password']); 
     $password = htmlspecialchars(strip_tags($password)); 


    if(empty($username)){ 
    $error = true; 
    $errorUsername = 'Please Input Username'; 
    } 

    if(empty($password)){ 
    $error = true; 
    $errorPassword = 'Please Input Password';  
    }elseif(strlen($password)< 6){ 
    $error = true; 
    $errorPassword = 'Password must be at least six characters'; 
    } 

    if(!$error) 
     { 
    $password = md5($password); 
    $sql = "select * from users where username = '$username'"; 
    $result = mysqli_query($conn, $sql); 
    $count = mysqli_num_rows($result); 
    $row = mysqli_fetch_assoc($result); 
    if($count==1 && $row['password'] == $password){ 
     $_SESSION['username'] = $row['username']; 
     header('location: loggedin.php'); 
    }else{ 
     $errorMsg = 'Invalid Username or Password'; 
    } 


    ?> 

    //display script 
    <?php 
     session_start(); 
     echo 'welcome user'.$_SESSION['id']; 
    ?> 
+0

これは完全なコードですか?なぜなら私はあなたのサインインコードでセッション値を設定する前に、最初の部分の周りにphpタグは見当たりませんし、 'session_start();'もありません。 – Geshode

+0

下に表示スクリプトがあります。 –

+0

ok .. plsはスクリプトを見ます。 –

答えて

2

このようにセッションを設定する必要があります。

$_SESSION['id'] = row['id'];

$ _SESSION [ 'idは'] nullであるので、あなたは、id値を取得されていません。

+0

これはすでにコメントに書かれており、データベースから取得したIDを表示したい場合は、答えにすぎません。しかし、質問と彼のコメントを読んで、彼はデータベースからの "ID"と、二つの異なるものである 'session_id()'について話しました。だから最初に彼は彼が欲しい/意味するものを明確にする必要があります。 – Geshode

0

このlogedユーザー 変更を表示するには:$ _SESSION [ 'idは']に設定し、あなたはおそらくそれを表示したくないされていないため、

echo 'welcome user'.$_SESSION['username']; 

:これまで

echo 'welcome user'.$_SESSION['id']; 

htmlページでは単にユーザー名を使用するか、db行に存在する場合は実際の名前のように自然なものに設定してください。

+0

あなたの答えは以前のコメントに書かれています。また、OPはコメントに "username"ではなく "id"を表示したいと書きました。 – Geshode

+0

あなたは通常彼/彼女の名前とIDを表示しません –

+0

さて、OPがIDを表示したい場合、それは彼の決定です。 – Geshode

関連する問題