每个人 我在 login.php 页面的顶部启动了 session 变量。然后设置 session ,我使用 include 语句调用第二页。我用 if 语句进行了测试,它似乎通过了。然后我尝试在新显示的页面中回显变量的内容。该页面显示意味着它通过了 if block ,但 session 变量的内容没有显示。就好像 session 变量超出了范围。如何在不同的页面中访问我的 session 变量。
<?php
session_start();
$username = "";
if (isset($_POST['submit']))
{
$username = $_POST["username"];
$password = $_POST["password"];
$_SESSION["username"] = $found_admin["username"];
if (isset($_SESSION["username"]));
{
redirect_to("index.php");
}
else
{
$_SESSION["message"] = "Username/password not found.";
}
}
?>
<?php include("login.html"); ?>
这是我的 php 文件调用的 html 页面:
<!doctype html>
<head>
</head>
<body>
<?php
echo $_SESSION["username"];
$loggenOnUser=$_SESSION["username"];
?>
<div class="gridContainer clearfix">
<div id="div1" class="fluid">
This page is being called by my login.php file.</div><div id="LoggedInUser" class="fluid ">Hi. I'm <?php $loggenOnUser?> </div>
<img id="homeImage" src="images/home.gif" /> </div>
</div>
</body>
</html>
似乎不明白为什么我无法访问另一个页面上的 session 变量。任何帮助将不胜感激。谢谢!
最佳答案
确保你使用
session_start();
在每个页面的开头,或任何需要访问 session 的 PHP 文件。
最简单的方法是拥有一个类似 header.php 的文件,并在您网站或公共(public)页面的每个页面的顶部包含/要求它。
在这个 header.php 中你会有类似的东西
<?php
session_start();
if (isset($_SESSION['username'])) {
// This session already exists, should already contain data
echo "User ID:", $_SESSION['id'], "<br />"
} else {
// New PHP Session / Should Only Be Run Once/Rarely/Login/Logout
$_SESSION['username'] = "yourloginprocesshere";
$_SESSION['id'] = 444;
}
?>
只需让您的页面像这样
<?php require "header.php"; ?>
<!doctype html>
<head></head>
<body>
<?php
if (isset($_SESSION["username"])) {
$loggenOnUser = $_SESSION["username"];
echo "Found User: ", $loggenOnUser, "<br />"
} else {
$loggenOnUser = " a public user";
}
?>
<div class="gridContainer clearfix">
<div id="div1" class="fluid">
This page is being called by my login.php file.
</div>
<div id="LoggedInUser" class="fluid ">
Hi. I'm <?php echo $loggenOnUser; ?>
</div>
<img id="homeImage" src="images/home.gif" /> </div>
</div>
</body>
</html>
关于php - 如何使用 php 访问不同页面中的 session 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28403784/