我有两页第一页和page_two,在page_one中,用户输入一些信息,这些信息将被插入数据库中,当他按下回车键时,他应该被定向到page_two,在这个页面里面有他输入的相同信息在page_one中。问题是每当用户刷新page_two时,数据再次插入数据库。我尝试通过将标题用于新页面来解决此问题,但是在page_two中,在page_one中输入的信息将丢失。
page_one
<form action="page_one.php" method="post" name="info" >
<input name="userName" type="text" />
<input name="userEmail" type="text" />
<input name="userPass" type="text" />
<input name="submit" type="submit" />
</form>
<?php
include('db.php');
if(isset($_POST['Login']))
{
$user_name = $_POST['userName'];
$user_email = $_POST['userEmail'];
$password = $_POST['userPass'];
mysql_query("INSERT INTO users VALUES ('$user_name',' $user_email',' $password')");
header("Location:page_two.php.php");
exit;
}
?>
page_two
<?php
$user_name = $_POST['userName'];
$user_email = $_POST['userEmail'];
$password = $_POST['userPass'];
echo 'your user name: '.$user_name;
echo 'your email: '.$user_email;
echo 'your password: '.$password;
<input name="userName" type="hidden" value="<?php echo $user_name; ?>" />
<input name="userEmail" type="hidden" value="<?php echo$user_email; ?>" />
<input name="userPass" type="hidden" value="<?php echo $password; ?>" />
当我尝试这段代码时,它给出了来自page_two的错误消息:
notice undefined index userName
notice undefined index userEmail
notice undefined index userPass
答案 0 :(得分:0)
插入数据后,使用header
重定向到某个安全页面。您可以使用插入行的id来获取第2页的数据。
希望这有帮助。
答案 1 :(得分:0)
您有正确的方法,但是在第2页上,您应该从数据库中检索它们,而不是从$ _POST数组中检索这些值,因为它们现在存在于数据库中。这将删除未定义的索引问题。
答案 2 :(得分:0)
通过url将变量传递给page_two。
所以你的标题将是
header("Location:page_two.php.php?userName=user_name&userEmail=user_email&userPass=password");
现在使用$ _GET在page_two
上捕获这些变量<?php
$user_name = $_GET ['userName'];
$user_email = $_GET ['userEmail'];
$password = $_GET ['userPass'];
echo 'your user name: '.$user_name;
echo 'your email: '.$user_email;
echo 'your password: '.$password;
答案 3 :(得分:0)
因为您正在构建一个多页面的网络应用程序。我建议您必须使用SESSION保存第1页的发布信息,然后使用SESSION变量作为第2页。 我希望下面的链接有所帮助。
答案 4 :(得分:-1)
在第二页上,您应该包含一个Select语句,它将选择存储在表中的所有值。
mysql_query("SELECT * FROM users ");