【发布时间】:2025-07-12 10:25:03
【问题描述】:
<?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_name”和“model”名称的值设置到我的会话变量中。
当我尝试访问表单提交页面中存储变量的值时:
<?php
session_start();
?>
<html>
<body>
<?php
echo $_SESSION["first_name"];
echo $_SESSION["model"];
?>
</body>
</html>
我只收到模型值之外的值,而不是 first_name 值。我不明白我在这里做错了什么。
【问题讨论】:
-
实际上我希望
model也会丢失。也许它来自你之前的测试。 -
提交后,您的代码永远不会到达
if (isset($_POST['submit'])),因为您将被重定向到second.php页面。最好将此代码移到顶部,提交到self设置会话变量,然后使用header()重定向到第二页。或白色直接将会话变量放入 second.php,即将整个if移动到第二页.. -
这个问题解决了吗?鉴于下面的答案,听起来是这样。如果是这样,应该接受以解决问题结束。
-
是的,解决了。