php - 通过带有 PDO 页面的会话变量将登录 ID 传递到另一个页面
问题描述
使用 pdo 登录后,我无法通过 SESSION 变量传递登录 ID。
这是 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";} ?>
解决方案
推荐阅读
- sql - Oracle SQL - 在 PIVOT 之前更新值
- arrays - 数组和范围 vba excel 的 Sumifs
- asp.net-mvc - 如何使用 LINQ 显示名称
- python - 使用 python 多处理池时绘图不显示
- excel - 如何为在 MS Teams 上作为应用程序运行的 Excel 工作簿创建“宏”
- javascript - 如何使用ajax将文件发送到aspx
- docker - 如何将共享库的分支名称指定为环境变量
- java - 用于课堂程序的多个扫描仪,我不知道如何拥有多个
- python - 如何使用pyspark仅检索s3文件夹路径中的文件名
- python - 使用 Boto3 列出具有访问点的 S3 存储桶对象