我有一个登录页面,当用户名和密码正确时,我会在会话中保存记录人员的ID和用户名:
$result = $conn->prepare("SELECT * FROM login WHERE username= :u AND password= :p");
$result->bindParam(':u', $user);
$result->bindParam(':p', $password);
$result->execute();
$rows = $result->fetch(PDO::FETCH_NUM);
if($rows > 0) {
$_SESSION['username'] = $user;
$_SESSION['login_id'] = $id_logged;
header("location: ./pages/home.php");
}
在home.php
中,我试图回应这两个会话:
<?php
require_once('../include/global.php');
$user = $_SESSION['username'];
$id_logged = $_SESSION['login_id'];
echo $dentist_user;
echo $id_logged;
?>
但我只看到没有ID的用户名。
global.php
代码是:
<?php
session_start();
$DB_host = "localhost";
$DB_user = "";
$DB_pass = "";
$DB_name = "";
if(!isset($_SESSION['username']) && !isset($_SESSION['login_id'])){
header("Location: ../index.php");
}
else{
try
{
$conn = new PDO("mysql:host={$DB_host};dbname={$DB_name}",$DB_user,$DB_pass);
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$conn->exec("SET CHARACTER SET utf8mb4");
}
catch(PDOException $e)
{
echo $e->getMessage();
}
}
?>