我从未能够多次回显$_POST['']变量。为什么会这样,我做错了什么?请看下面的例子。
第1页:用户填写一个小表格,例如:用户名和密码。
第2页:(表单的作用):我回显$_POST['Username'] and $_POST['Password']
。
第3页(您通过header("Location: page3.php")
从第2页重定向到的页面:我无法在此处回显$_POST['Username'] and $_POST['Password']
?为什么?
说明:
第1页:用户通过您的表单将数据发送到第2页
第2页:您使用从POST收到的数据。
第3页:您已经不在第2页上了,因为您没有以任何可以在多个页面中使用的方式保存变量,所以您无法从这里访问它们。
举个简单的例子:
Page 1 : FORM
Page 2 :
<?php
//Save your data like with a SESSION
session_start();
$_SESSION['username'] = $_POST['Username'];
$_SESSION['password'] = $_POST['Password'];
//Display your data
echo $_POST['Username'].'-'.$_POST['Password'];
?>
Page 3 :
<?php
echo $_SESSION['username'].'-'.$_SESSION['password'];
?>
您需要将数据从一个页面传递到另一个
第1页:向第2页提交数据
第2页:您没有将数据提交到第3页,因此无法访问第3页的
如果您想将数据传递到第3页,请使用
1.url
如header("Location: page3.php?username=$_POST['Username'] and password = $_POST['Password']")
另一个解决方案是用户"SESSION"
2.会话
将数据存储在会话中并在所有页面中使用
这只是因为您只将数据发布到page2。在你重定向到第3页后,你会丢失所有的帖子数据。如果你想将数据发送到你的第3页,你需要从第2页再次发布。如果你只想让你的数据出现在第3页上,你可以把它作为$_GET-parameter发送,并带有这样的头函数:
$loginname = $_POST["loginname"];
$pw = $_POST["password"];
header("Location: page3.php?loginname=$loginname&password=$pw");
现在你可以通过$_GET访问你的数据,如下所示:
$_GET["loginname"];
$_GET["password"];
注意,像这样,你会在你的url中发送登录名和密码,可以读取和修改,所以这不是发送登录数据的安全方式