我有一个页面,其中的表单需要通过邮寄发送。 我的htaccess重定向到其中,导致帖子数据丢失,因此我想将该数据放入会话变量中,以供其他页面使用。
下面的表单页面上的会话变量“ favcolor”只是一个测试器。 第二页上的输出应显示表单中的数据,但不是。这是一个空数组。它显示的颜色变量还可以。
我已经在这里将代码切回到最简单的几行以进行测试,并且无法使其正常工作。有人可以帮我指出正确的方向吗?
表单页面:
<?php
session_start();
$_SESSION['post-data'] = $_POST;
?>
<form action="zv.php" method="post">
Name:<br>
<input type="text" id="inputName" name="inputName">
<br>
Email:<br>
<input type="text" id="inputEmail" name="inputEmail">
<br>
Telephone Number:<br>
<input type="text" id="inputTel" name="inputTel">
<input type="submit" id="submit" value="Submit">
</form>
<?php
$_SESSION["favcolor"] = "green";
?>
第二页(zv.php):
<?php
session_start();
print_r($_SESSION['post-data']);
echo "<br>";
print_r($_SESSION);
?>
第二页(zv.php)的输出:
Array ( )
Array ( [post_data] => Array ( ) [post-data] => Array ( ) [favcolor] => green )
答案 0 :(得分:-1)
仅当您有发布请求时,才需要设置它($ _SESSION ['post-data'] = $ _POST)。
<?php
session_start();
if (isset($_POST['Submit'])) {
$_SESSION['post-data'] = $_POST;
header('location: zv.php');
}
?>
<form action="<?=$_SEVER['PHP_SELF']?>" method="post">
Name:<br>
<input type="text" id="inputName" name="inputName">
<br>
Email:<br>
<input type="text" id="inputEmail" name="inputEmail">
<br>
Telephone Number:<br>
<input type="text" id="inputTel" name="inputTel">
<input type="submit" id="submit" value="Submit">
</form>
然后,您可以在第二页中访问会话数据。
答案 1 :(得分:-1)
<?php
if (isset($_POST['inputName'])) {
session_start();
$_SESSION['post-data'] = $_POST;
header('location: zv.php');
}
?>
<form method="post" action="<?php echo $_SEVER['PHP_SELF']; ?>" >
Name:<br>
<input type="text" id="inputName" name="inputName">
<br>
Email:<br>
<input type="text" id="inputEmail" name="inputEmail">
<br>
Telephone Number:<br>
<input type="text" id="inputTel" name="inputTel">
<input type="submit" id="submit" value="Submit">
</form>