如何将表单值以其他形式传递给下一页?
我的代码在:
<form action="confirm.php" method="post">
First name: <input type="text" name="firstname"><br>
Last name: <input type="text" name="lastname"><br>
Email: <input type="text" name="email">
</form>
现在我想在confirm.php中添加一些带有此值的隐藏输入字段,我试过这段代码:
<form action="nextpage.php" method="post">
//some other input fields...
<input type="hidden" name="firstname" value="<?php $_POST['firstname']?>">
<input type="hidden" name="lastname" value="<?php $_POST['lastname']?>">
<input type="hidden" name="email" value="<?php $_POST['email']?>">
</form>
在其他两个页面中等等,在最后一页我想通过电子邮件发送所有这些字段,我尝试了PHP _SESSION,但没有运气,所以我认为这对我来说更容易!
还有别的我忘了告诉,在第二页(nextpage.php)动作表单变量我指的是使用这段代码的文件:
<?php
header('Location: dear-'.$_POST['firstname'].'.php');
?>
<html>
<form>
<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']?>">
<input type="hidden" name="lastname" value="<?php echo $_POST['lastname']?>">
<input type="hidden" name="email" value="<?php echo $_POST['email']?>">
</form>
</html>
在这种情况下,如何在下一页传递此值(名字,姓氏和电子邮件)?我使用它是因为我想生成一个像这样的网站www.site.com/dear-name.php
答案 0 :(得分:2)
在confirm.php
中试试<form action="nextpage.php" method="post">
//some other input fields...
<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']?>">
<input type="hidden" name="lastname" value="<?php echo $_POST['lastname']?>">
<input type="hidden" name="email" value="<?php echo $_POST['email']?>">
</form>
答案 1 :(得分:1)
您忘了echo
您的变量。
<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']; ?>">
<强>更新强>
您有两种选择:
session
并检索到另一个页面。使用query string
传递您的数据。
header('Location: dear-'.$_POST['firstname'].'.php?firstname='.$_POST['firstname'].'&lastname='.$_POST['lastname'].'&email='.$_POST['email']);
答案 2 :(得分:0)
使用 echo :
<input type="hidden" name="firstname" value="<?php echo $_POST['firstname']; ?>">
<input type="hidden" name="lastname" value="<?php echo $_POST['lastname']; ?>">
<input type="hidden" name="email" value="<?php echo $_POST['email']; ?>">
如果这仍然不起作用,isset()
你的帖子变量:
if(isset($_POST['firstname'],$_POST['lastname'],$_POST['email'])) {
$firstname = $_POST['firstname'];
$lastname = $_POST['lastname'];
$email = $_POST['email'];
echo '<input type="hidden" name="firstname" value="$firstname">';
echo '<input type="hidden" name="lastname" value="$lastname">';
echo '<input type="hidden" name="email" value="$email">';
}
答案 3 :(得分:0)
在输入文本字段中,由于缺少echo
,值为空。您需要添加echo
才能在表单中打印值。这样它就可以发送到另一个页面了。
答案 4 :(得分:0)
第二个选项是您可以在每个页面的顶部使用session_start()
。
并在会话中存储变量的值。
$_SESSION['name'] = "value_of_session"// in your case that is POST data
这可以在下一页中使用,您不需要包含hidden
个字段。
最重要的是你必须写
<?php session_start() ?> // in each(you've three) page.