PHP会话未显示值
我将代码设置为将first_name和model name的值设置到会话变量中 当我尝试访问表单提交页面中存储变量的值时:PHP会话未显示值,php,html,session,Php,Html,Session,我将代码设置为将first_name和model name的值设置到会话变量中 当我尝试访问表单提交页面中存储变量的值时: <?php session_start(); ?> <html> <head> <link href="style.css" rel="stylesheet" type="text/css"> </head> <body> <div
<?php
session_start();
?>
<html>
<head>
<link href="style.css" rel="stylesheet" type="text/css">
</head>
<body>
<div class="pageContainer">
<form action="second.php" class="formLayout" method="post">
<div class="formGroup">
<label>Name:</label>
<input type="text" name="first_name"><br>
<input type="hidden" name="postback" value="true"><br>
</div>
<div class="formGroup">
<label> Car model:</label>
<div class="formElements">
<input type="radio" name="model" value="Mustang">Ford Mustang<br>
<input type="radio" name="model" value="Subaru">Subaru WRX STI<br>
<input type="radio" name="model" value="Corvette">Corvette<br>
</div>
<input type="submit" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {
$_SESSION["first_name"] = $_POST["first_name"];
$_SESSION["model"] = $_POST["model"];
}
?>
</div>
</body>
</html>
我只接收模型外的值,而不是第一个名称值。我不明白我做错了什么。假设您的第一个文件名为first.php。如图所示,第二个是second.php 看起来您正在将数据写入first.php文件中的会话中,但是这段代码永远不会运行,因为您将表单提交给second.php而不是first.php 因此,将用于将会话变量写入second.php的代码移到second.php中。为了测试它是否真的有效,您可以创建第三个.php来显示它们
我不知道为什么会看到模型集,但我想从您之前的测试中可以看出它仍然在那里。实际上,我希望模型也会丢失。在提交代码时,如果您被重定向到second.php页面,那么您的代码将永远无法到达if-isset$\u POST['submit']。最好将这段代码移到最上面,提交给self-set会话变量,然后用header重定向到第二页。或者直接将会话变量放入second.php,即将整个if移到第二页。这个问题解决了吗?给出下面的答案,听起来是这样的。如果是这样的话,应该接受在问题解决后关闭。是的,问题解决了。哇,谢谢。我能得到想要的结果。如果我可以问你一个后续问题,如果我在第一页有a表格,在第一页有第二张表格,我会做同样的事情吗?我是否会在第三页中使用相同的语法来回送输出?我想知道语法是否会有点不同,因为这样做,我只得到第一页模型的输出,而不是第二页first_name的输出。
<?php
session_start();
?>
<html>
<body>
<?php
echo $_SESSION["first_name"];
echo $_SESSION["model"];
?>
</body>
</html>