1

私はPHPがあまり得意ではなく、少し問題があります。私はこのスクリプトで遊んでいます。

そして、ログインしているユーザーのユーザー名をエコーする方法を理解することはできません。セッションのすべての情報を次のように出力しようとしました。

var_dump($_SESSION)

しかし、ハッシュされたパスワードとユーザーレベルのintを取得しました。

誰かがここで私を助けることができますか?ユーザー名をエコーできるようにしたいだけです。

4

5 に答える 5

4

ユーザー名を別のページの読み込みで使用できるようにするには、セッションにユーザー名を保存する必要があります。現在、スクリプトはこれらの値のみをセッションに保存します。

 $_SESSION['loggedin'] = $row[$this->pass_column];
 $_SESSION['userlevel'] = $row[$this->user_level];

以下のように、関数に$username渡されるセッションに を追加する必要があります。login

$_SESSION['username'] = $username;

ユーザー名は、キーのユーザー名とともにセッションに保存されます。

別のページで使用できるようにするには、使用する前に関数を呼び出してセッションを開始してくださいsession_start()

于 2013-05-20T20:42:24.667 に答える
1

基本的には、

session_start();
echo $_SESSION['username']; 

また

 echo $_SESSION['password'];

セッションの仕組みの簡単な説明。

最初にセッションを開始し、任意の値をセッションに割り当てます。例:

session_start();
$_SESSION['username'] = 'john';

エコーは次のように機能します。

echo $_SESSION['username']; // will echo out 'jonh'

メモ session_start()は、セッションを使用するページ間で共有する必要があります

于 2013-05-20T20:40:02.040 に答える
0
<?php
include('db.php');
session_start();
$name=$_POST['name'];
$password=$_POST['password'];
echo $sql="SELECT * FROM register WHERE (name='$name' OR email='$name') AND password='$password'";
$result=mysqli_query($conn,$sql);
$num_rows = mysqli_num_rows($result);
if ($num_rows > 0)
 {
    $_SESSION['user']=mysqli_fetch_assoc($result);
    $row = $_SESSION['user'];
    $role = $row['role'];

            if($role == 1)
            {
                header('location:usermanagement.php');
            }
            else{
                header('location:user.php');
            }

}
else
 {

    echo "Wrong Username or Password";
    header('location:login.php');
}
$conn->close();
?>
于 2016-02-01T08:26:15.260 に答える
0

session_start(); があります。上に?

于 2013-05-20T20:39:50.987 に答える
0

ログイン機能では、ログインが成功した後にユーザー名をセッションに書き込む必要があります。

//instantiate if needed
include("class.login.php");
$log = new logmein();
$log->encrypt = true; //set encryption
if($_REQUEST['action'] == "login"){
    if($log->login("logon", $_REQUEST['username'], $_REQUEST['password']) == true){
         //do something on successful login
         $_SESSION['username'] = $_REQUEST['username'];
    }else{
         //do something on FAILED login
    }
}
于 2013-05-20T20:49:02.043 に答える