1
セッションにログインしたユーザ名を関連付けることができない理由がわかりません。 ここで私を助けることができるのであれば、本当に感謝しますか?あなたは本当にまだあなたを助けるために私たちに十分な情報を与えられていませんでしたが、私は推測を作るつもりですセッションがユーザ名に関連付けられていないPHP
session_start();
include 'includes/connect.php';
if (isset($_POST['user'], $_POST['pass'])) {
//assigning parameters to variables.
$user = $_POST['user'];
$pass = $_POST['pass'];
$sql = 'SELECT id FROM users WHERE username=(:user) AND password=(:pass)';
try {
$connect = new PDO("mysql:host=$host; dbname=$dbname;", $username, $password);
$connect->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$values = $connect->prepare($sql);
$values->bindParam('user', $user, PDO::PARAM_STR);
$values->bindParam('pass', $pass, PDO::PARAM_STR);
$values->execute();
$row_count = $values->rowCount();
$row = $values->fetch(PDO::FETCH_ASSOC);
////////////////////////////
//user and pass section [DB]
//$usr_db = $row['username'];
//$pwd_db = $row['password'];
////////////////////////////
if ($row_count === 1) {
$_SESSION['Logged_in'] = $user;
echo 'THIS TEXT REMAINS..';
}
} catch (PDOException $e) {
echo 'Error: ' . $e->getMessage();
}
}
セッション情報をもう使用していないため、セッション変数 "Logged_in"をユーザー名に設定するだけです。 ユーザ名を再度取得したい場合は、 '$ user = $ _SESSION [" Logged_in "]' –
のようにする必要があります。これをテストのために行いました: '<?php session_start(); $ user = $ _GET ["name"]; if($ user == "admin"){ \t $ _SESSION ["user_login"] = $ user; } if(isset($ _ SESSION ["user_login"])){ \t echo "DONE!"; } ?> 'いったんやったら?name = admin DONE!私はセッションを削除するまで、ページにとどまります。私はその場合も同じようにしたい。 –
@KlausGF。私が得ている問題はセッションが残っていないことです。どうしてか分かりません。私は試みましたが、テキストはページに残っていません。 - 'if(isset($ _ SESSION [" Logged_in "])){ \t \t \tエコー"このテキストは残っています! \t \t} ' –