在页面之间来回发送PHP变量
我创建了一个注册表单,成功将其变量从注册页面(go-gold.php)传递到摘要/验证页面(go-gold-summary.php)。 数据在第二页上正确显示。
但是,我希望能够使用图像按钮返回到注册页面,以防用户输入错误。 回过头来,原始表单现在应该填入首次输入的数据。
问题是我无法将第二页的数据重新发送/返回到第一页。 我的文本字段显示为空白。 我不想使用会话变量。
代码从整个页面被截断。
注册页面(go-gold.php):
<?php
$customer_name = $_POST['customer_name'];
?>
<form action="go-gold-summary.php" method="post">
Name: <input type="text" name="customer_name" id="customer_name" value= "<?php echo $customer_name ?>" />
<input name="<?php echo $customer_name ?>" type="hidden" id="<?php echo $customer_name ?>">
</form>
摘要页面(go-gold-summary.php)
<?php
$customer_name = $_POST['customer_name'];
?>
<form action="go-gold.php" method="post">
Name: <?php echo $customer_name ?> <input type="hidden" id="<?php echo $customer_name ?>" name="<?php echo $customer_name ?>">
<INPUT TYPE="image" src="images/arrow_back.png" id="arrow" alt="Back to Registration"> (Button to go back to Registration Page)
</form>
谢谢!
go-gold-summary.php应该像这样改变。
<?php
$customer_name = $_POST['customer_name'];
?>
<form action="go-gold.php" method="post">
Name: <?php echo $customer_name ?> <input type="hidden" value="<?php echo $customer_name ?>" name="customer_name">
<INPUT TYPE="submit" src="images/arrow_back.png" id="arrow" alt="Back to Registration"> (Button to go back to Registration Page)
</form>
注意我是如何改变这条线的
<input type="hidden" id="<?php echo $customer_name ?>" name="<?php echo $customer_name ?>">
进入这个
<input type="hidden" value="<?php echo $customer_name ?>" name="customer_name">
$ _POST是一个关联数组,当你提交表单时,它将像这样被填充:
$_POST["index"] = value;
其中"index"
是文本字段“名称”, value
是文本字段值。
你错过了你的代码。 只需使用我的代码进行更新即可使用
为什么你不想使用PHP会话? 请给出任何不使用它的理由。 我这样问,因为我的名声不允许我评论除我自己以外的任何问题或答案。 请为此不要-1。
另一种方式可能是使用cookie来临时存储数据,但与会话相比,在发布请求中来回发送数据实际上是不安全的。
几乎没有办法在页面间维护变量。 另一种方法是在第二页上使用包含$ _POST数据的隐藏文本字段的单独表单,并使用submit按钮调用上一页。 不幸的是,没有办法绕过浏览器上的“后退按钮”。
我错过了有关会话变量的粗体文本 - 无视这种情况不适用:
在服务器端跨页面维护变量的一种方法是使用$ _SESSION
首先在您的PHP页面的顶部包含以下内容以保持会话处于活动状态:
session_start();
一旦您提交并转到第2页,请添加以下内容:
$_SESSION['customer_name'] = $_POST['customer_name'];
同样,在第一页上,您可以像这样更改表单元素:
<input type="text" name="customer_name" value="<?PHP if isset($_SESSION['customer_name'] || !empty($_SESSION['customer_name'])) { echo $_SESSION['customer_name']; } ?>">
这会保持填充数据并在用户返回页面时显示它,如果他们放入不同的东西,它们会在再次打到第2页时更新。
链接地址: http://www.djcxy.com/p/12901.html上一篇: Sending PHP variables back and forth between pages
下一篇: Best way to package a JavaScript library that requires jQuery?