0

我想知道是否有人可以帮助我。

如果我在页面 details.php (下面的代码)上有一个带有提交按钮的表单(除其他外)。

当单击表单的提交按钮时,您将被带到 process_tenant.php。

问题是会话变量 valid_user 似乎没有附带。我在两个页面的开头都有 session_start() 并且 session 变量肯定已设置并且永远不会在 details.php 上覆盖

谁能告诉我为什么?

详细信息.php

<?php
session_start();

    $_SESSION['valid_user'] = 'admin';

    echo $_SESSION['valid_user'];       //This prints out admin 
?>

<!DOCTYPE HTML>
<html>
<head>
        ...
    </head>

    <body>
        ...

        <form action='process_tenant.php' method='POST'>
            ...
        </form>
    </body>
</html>

process_tenant.php

<?php
   session_start();

   if (isset($_SESSION['valid_user']))
   {
       echo 'heya';          //This does not print
   }

   echo 'hi' . $_SESSION['valid_user'];    //This just prints 'hi'
?>

...
4

3 回答 3

0

配置文件

<?php
ob_start();
session_start();
$_SESSION['valid_user'] = admin;
?>

详细信息.php

<?php
include('Config.php');
?>

process_tenant.php

<?php
include('Config.php');

if (isset($_SESSION['valid_user']))
{
     echo 'heya';
}
echo 'hi' . $_SESSION['valid_user'];
?>
于 2012-07-18T11:56:16.483 回答
0

在 details.php 中,值 admin 不等于任何东西。它必须是变量或字符串或某种有效类型,否则它将被取消设置。

尝试将您的代码更改为:

$_SESSION['valid_user'] = 'admin';
于 2012-07-18T11:48:27.530 回答
-1

只开始一次,即session_start()只使用一次,删除process_tenant.php并让我知道,然后一旦完成。

于 2012-07-18T11:41:43.167 回答