0

我有这个代码:

$username = $_POST["username"];
$password = $_POST["password"];

if(mysql_num_rows($result80)>0)
 {
    $row80 = mysql_fetch_assoc($result80);
    $_SESSION["loginmng"] = 1;
    $_SESSION["username"] = $username;
    $_SESSION["password"] = $password;
    $fname = $row80["fname"];
    $lname = $row80["lname"];
    $userid = $row80["id"];
 }

一切都很好,因为我试图在同一页面(index.php)中回显会话及其工作现在我有这个检查:

if(($_SESSION["loginmng"]!=1)||(!isset($_SESSION["username"]))||(!isset($_SESSION["password"])))
{
   header("Location: index.php");
}

当我将它放入新文件夹时: newfolder/index.php 检查不正常,当我登录并设置会话时....当我尝试echo $_SESSION["loginmng"]和其他会话时,它的值为空就像没有设置会话并且标题运行...然后转到索引...我也放入session_start();了第一行 php 我也尝试过:

if($_SESSION["loginmng"]!=1)
{
  header("Location: ../index.php");
}

和同样的事情......就像没有设置会话,可能是什么问题

4

2 回答 2

1

PHP 会话变量用于存储有关用户会话的信息或更改用户会话的设置。会话变量保存有关单个用户的信息,并且可用于一个应用程序中的所有页面。PHP 会话变量

当您使用应用程序时,您打开它,进行一些更改,然后关闭它。这很像一个会话。电脑知道你是谁。它知道您何时启动应用程序以及何时结束。但是在互联网上存在一个问题:Web 服务器不知道您是谁以及您在做什么,因为 HTTP 地址不保持状态。

PHP 会话通过允许您将用户信息存储在服务器上供以后使用(即用户名、购物项目等)来解决这个问题。但是,会话信息是临时的,将在用户离开网站后被删除。如果您需要永久存储,您可能希望将数据存储在数据库中。

会话通过为每个访问者创建唯一 ID (UID) 并基于此 UID 存储变量来工作。UID 要么存储在 cookie 中,要么在 URL 中传播。启动 PHP 会话

在您可以在 PHP 会话中存储用户信息之前,您必须首先启动会话。

注意:session_start()函数必须出现在<html>标签之前。

于 2012-09-27T07:24:50.133 回答
1

也许您忘记session_start();在文件顶部添加。

要在每个页面上启动会话,您需要在每个页面上启动会话。

session_start()GET根据通过orPOST请求或通过 cookie 传递的会话标识符创建会话或恢复当前会话。

于 2012-09-27T07:26:24.117 回答