私はPHPがあまり得意ではなく、少し問題があります。私はこのスクリプトで遊んでいます。
そして、ログインしているユーザーのユーザー名をエコーする方法を理解することはできません。セッションのすべての情報を次のように出力しようとしました。
var_dump($_SESSION)
しかし、ハッシュされたパスワードとユーザーレベルのintを取得しました。
誰かがここで私を助けることができますか?ユーザー名をエコーできるようにしたいだけです。
私はPHPがあまり得意ではなく、少し問題があります。私はこのスクリプトで遊んでいます。
そして、ログインしているユーザーのユーザー名をエコーする方法を理解することはできません。セッションのすべての情報を次のように出力しようとしました。
var_dump($_SESSION)
しかし、ハッシュされたパスワードとユーザーレベルのintを取得しました。
誰かがここで私を助けることができますか?ユーザー名をエコーできるようにしたいだけです。
ユーザー名を別のページの読み込みで使用できるようにするには、セッションにユーザー名を保存する必要があります。現在、スクリプトはこれらの値のみをセッションに保存します。
$_SESSION['loggedin'] = $row[$this->pass_column];
$_SESSION['userlevel'] = $row[$this->user_level];
以下のように、関数に$username
渡されるセッションに を追加する必要があります。login
$_SESSION['username'] = $username;
ユーザー名は、キーのユーザー名とともにセッションに保存されます。
別のページで使用できるようにするには、使用する前に関数を呼び出してセッションを開始してくださいsession_start()
。
基本的には、
session_start();
echo $_SESSION['username'];
また
echo $_SESSION['password'];
最初にセッションを開始し、任意の値をセッションに割り当てます。例:
session_start();
$_SESSION['username'] = 'john';
エコーは次のように機能します。
echo $_SESSION['username']; // will echo out 'jonh'
メモ session_start()
は、セッションを使用するページ間で共有する必要があります
<?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();
?>
session_start(); があります。上に?
ログイン機能では、ログインが成功した後にユーザー名をセッションに書き込む必要があります。
//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
}
}