php - 如何使用 php 访问不同页面中的 session 变量?

标签 php html session redirect

每个人 我在 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/

相关文章:

session 数组中的php Post数组

javascript - 是否可以将 javascript 中的文本缩短为 php get 请求?

php - 什么是 "Resource#' s”?

php - Composer 内存不足 - 需要替代方法来增加 PHP memory_limit

java - 在 JTable 中显示 HTML

python - Google 应用引擎中的 Webapp2 session

python - 如何在sklearn中保存自定义转换器?

php - 按 seriq asc 排序显示错误结果

javascript - mmenu - 如何知道菜单的状态(如果它打开或关闭)

html - CSS |向内的盒子阴影?