Передать идентификатор входа на другую страницу через переменную сеанса со страницей PDO - PullRequest
0 голосов
/ 01 марта 2019

Я не могу передать идентификатор входа через переменную 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";} ?>
...