Я хочу посмотреть, действительно ли при авторизации пользователем присваивается id данной сессии. Я подключил базу данных, подготовил запрос, проверил пароль на правильность и решил через print_r($_SESSION['user_id']) посмотреть id. Моя логика - если id есть, значит он был присвоен.
$_SESSION['user_id'] = htmlspecialchars($row['id']);
#code...
echo "Ваш id: " . print_r($_SESSION['user_id'])
Я вроде присваивал id сессии = id пользователя, но было показано, что id = 1, в то время, как в базе данных id у пользователя: 3. Что я сделал не так?
Если я что-то не так обьяснил, то лучше, наверное, показать исходный код:
session_start();
include '../db.php';
$login = strip_tags($_POST['login']);
$password = strip_tags($_POST['password']);
try {
$stmt = $dbh->prepare("SELECT login, password FROM users");
$stmt->execute();
while ( $row = $stmt->fetch() ) { /
$login_in_data = $row['login'];
$password_in_data = $row['password'];
$name_in_data = $row['name'];
}
if ( !isset($login_in_data) ) {
echo "Не получен логин!"; ?><br><br><?
}
}
catch (exeption $e) {
echo $e->getMessage();
}
if ( isset($login) && isset($password) ) {
$hashed_password = password_hash($_POST["password"],PASSWORD_DEFAULT);
$stmt = $dbh->prepare("SELECT * FROM users WHERE (`login`, `password`) = (:login, :hashed_password)");
$stmt->bindParam(':login', $login);
$stmt->bindParam(':hashed_password', $hashed_password);
$row = $stmt->fetch();
$stmt->execute();
if ( (password_verify($password, $hashed_password) )) {
$_SESSION['user_id'] = htmlspecialchars($row['id']);
echo "Вы вошли, как " . $login . " !";?> <br> <?php
?> <a href="/personalAccount.php">Личный кабинет</a> <br>
<?php echo "Ваш id: " . print_r($_SESSION['user_id']) ;
$_SESSION['login'] = htmlspecialchars($row['login']); //htmlsp предотвр. XSS атаку
$_SESSION['username'] = htmlspecialchars($row['name']);
} else {
echo "Вы не вошли!";
}
}
P.S. Если я уж в корне не правильно делаю - то как тогда стоит присвоить id сессии при авторизации пользователем?
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Хочу получить результаты из формы на странице https://rosreestrru/wps/portal/p/cc_ib_portal_services/online_request/
Экспериментирую с созданием сайта-каталога с админ панелью на laravel 58