我想知道是否有人可以帮助我。
如果我在页面详情.php(下面的代码),则有一个带有提交按钮的表单(除其他外)。
单击表单的提交按钮后,您将进入process_tenant.php。
问题是会话变量valid_user似乎没有附带它。我在两个页面的开头都有session_start(),会话变量是明确设置的,并且从未覆盖过details.php
任何人都能告诉我原因吗?
details.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'
?>
...
答案 0 :(得分:0)
在details.php中,值admin不等于任何东西。它必须是变量或字符串或某种有效类型,否则将被取消设置。
尝试将代码更改为:
$_SESSION['valid_user'] = 'admin';
答案 1 :(得分:0)
的config.php
<?php
ob_start();
session_start();
$_SESSION['valid_user'] = admin;
?>
Details.php
<?php
include('Config.php');
?>
process_tenant.php
<?php
include('Config.php');
if (isset($_SESSION['valid_user']))
{
echo 'heya';
}
echo 'hi' . $_SESSION['valid_user'];
?>
答案 2 :(得分:-1)
只启动一次,即仅使用session_start()
一次,从process_tenant.php
中删除,然后在完成后告诉我。