【发布时间】:2010-10-14 16:25:29
【问题描述】:
我有一个多步骤表单,为了方便起见,我们假设它是 2 个步骤。第一步我想选择一个单选按钮,并根据该单选按钮选择将我带到某个页面,但我也希望将该选择存储在会话中。我有 2 页: page1.php
session_start();
if(isset($_POST['post'])) {
if (($_POST['country'] == 'US')) {
header("Location: US_Products.php"); }
elseif (($_POST['country'] == 'CDN')) {
header("Location: CDN_Products.php"); }
else { die("Error"); }
exit;
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<label for="USA">USA:</label>
<input type="radio" name="country" value="US">
<label for="CDN">Canada:</label>
<input type="radio" name="country" value="CDN">
<input type="submit" name="post" value="Go To Filter">
</form>
Page2.php(A 或 B)
session_start();
$_SESSION['country'] = $_POST['country'];
<?php echo $_SESSION['country']; ?>
当我让它执行此条件重定向时,没有通过国家选择。会话变量和重定向或会话变量和 PHP_SELF 是否有问题?
【问题讨论】:
-
会话变量可以正常传输,但 POST 变量不能。发送 Location 标头不会发送任何 POST 数据。
-
我可以用什么方法来解决这个问题?
标签: php forms session cookies redirect