В качестве практики изучения PHP решил написать самую простую регистрацию-авторизацию на чистом PHP, но возникли проблемы с выводом данных из БД после авторизации (не выводится имя авторизовавшегося пользователя)
Код авторизации:
<?php
session_start();
require_once 'db_connect.php';
$password = md5($_POST['password']);
$username = $_POST['username'];
$sql = "SELECT * FROM users WHERE username = :username AND password = :password";
if (empty($password) || empty($username)) {
$_SESSION['message'] = 'Please, fill all the lines';
header('Location: /index.php');
}
$stmt = $pdo->prepare($sql);
$stmt->execute(array(
'username' => $username,
'password' => $password
));
$row_count = $stmt->fetchColumn();
if ($row_count > 0 ){
$user_data = $stmt->fetchAll();
$_SESSION['user'] = [
"id" => $user_data['id'],
"username" => $user_data['username'],
"email" => $user_data['email']
];
header('Location: authorized_page.php');
} else {
$_SESSION['message'] = 'Incorrect password or login';
header('Location: /index.php');
Код страницы, где должно выводится имя пользователя:
<?php session_start(); ?>
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<p>Hello, <?= $_SESSION['user']['username']; ?></p>
<p><a href="log_out.php">Log out</a></p>
</body>
</html>
В чем может быть проблема?