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這個詞完成!留在頁面上,直到我刪除會話。我想在這種情況下。 –
@KlausGF。我得到的問題是會議不會繼續。我不知道爲什麼。我嘗試過,但文字不在頁面上。 - 'if(isset($ _ SESSION [「Logged_in」])){ \t \t \t echo「THIS TEXT REMAINS!」; \t \t} ' –