使用PHP传递会话变量时出现问题
我试图通过尝试以下代码来理解会话变量。为了测试的目的,我创建了3个页面并尝试传递会话变量。我注意到,会话变量没有填充在第3页中。我一直在寻找问题所在,但我还没有找到答案 第1页使用PHP传递会话变量时出现问题,php,Php,我试图通过尝试以下代码来理解会话变量。为了测试的目的,我创建了3个页面并尝试传递会话变量。我注意到,会话变量没有填充在第3页中。我一直在寻找问题所在,但我还没有找到答案 第1页 生物数据 名字 姓 第2页 生物数据显示 PHP中的会话通过保存一个由特殊cookie(默认名为PHPSESSID)引用的数据文件服务器端来工作,因此当浏览器发送正确的cookie时,PHP会从保存的数据文件中获取上一个$\u会话值。这意味着: 您的服务器必须能够写入文件(通常在tmp目录中,检查与会话保存路径相关
生物数据
名字
姓
第2页
生物数据显示
PHP中的会话通过保存一个由特殊cookie(默认名为PHPSESSID)引用的数据文件服务器端来工作,因此当浏览器发送正确的cookie时,PHP会从保存的数据文件中获取上一个$\u会话值。这意味着:
<?php
session_start();
header("Content-Type: text/plain");
var_dump($_COOKIE);
var_dump($_SESSION);
$_SESSION['hello'] = "world";
我觉得这没问题。您是否测试了第2页中的$\u SESSION['fst\u name']
是否具有预期值,或者$\u POST是否具有预期值?“SESSION变量未填充在第3页中”-哪一页,您有两个,并且看不到您已将任何内容分配给$\u SESSION['last']
@Jeff$\u SESSION['fst\u name
]在第2页上有值。@Fred ii-我已更正了代码。第3页上没有任何会话变量。我想在第2页上看到$\u SESSION中的数据。我真的不知道为什么它会出现在第3页上。
<?php
session_start();
if (isset($_POST["submit"])){
$_SESSION['fst_name'] = $_POST['fst_name'] ;
$_SESSION['lst_name' ] = $_POST['lst_name'] ;
header("location:display.php");
}else{
echo "Error";
}
<?php
session_start();
echo $_SESSION['fst_name'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Biodata Display</title>
</head>
<body>
<table>
<tr>
<td><?php echo "Hello " . $_SESSION['fst_name']; ?></td>
<td><?php echo $_SESSION['lst_name']; ?></td>
</tr>
</table>
</body>
</html>
<?php
session_start();
header("Content-Type: text/plain");
var_dump($_COOKIE);
var_dump($_SESSION);
$_SESSION['hello'] = "world";