Я не могу передать идентификатор входа через переменную SESSION после входа в систему с помощью pdo.
Это loginc.php
<?php
session_start();
include('../../configPan/config.php');
extract($_POST);
$q = $pdo->prepare("select * from `distributor` where psa_id= ? and password= ? ");
$q->execute(array($un,$pw));
if($q->fetch())
{
$_SESSION['psa_id'] = $un;
header("location:home_page.php");
}
else
{
$_SESSION['e']="Sorry...! Your username or password is incorrect.";
header('location:../index.php');
}
?>
Это config.php
<?php
$host = '127.0.0.1';
$db = 'pan_online';
$user = 'root';
$pass = '';
$charset = 'utf8mb4';
$dsn = "mysql:host=$host;dbname=$db;charset=$charset";
$options = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false,
];
try {
$pdo = new PDO($dsn, $user, $pass, $options);
} catch (\PDOException $e) {
throw new \PDOException($e->getMessage(), (int)$e->getCode());
}
?>
На странице home.php я хочу получить psa id со следующим кодом.но не удается получить данные.всегда отображается «нет данных»
<?php $user = $_SESSION['psa_id'];
$_q=$pdo->prepare("select * from distributor where psa_id=?");
$_q->execute([$user]);
if($_q->fetch()){
echo "Center: " . $_q['psa_id']; }else{echo "no data";} ?>