将表单数据发送到一个页面,然后是另一个页面?

时间:2012-02-27 03:30:46

标签: php html html5

我对这个问题有点麻烦,尽可能基本。我有一个简单的表单,名称,电子邮件,评论等,将自己输出到一个php页面,但我希望有一个链接将其发送到第二页,例如:

<label for="name">Name:</label><input type="text" name="name" size="20" />

使用此代码转到第二页(second.php)并打印出来就好了:

print "<div>Thank you, $name.</p></div>";

但是如果我尝试使用类似的代码将$ name发送到第三页(third.php),它会显示如下:

Thank you, $name.

使用实际变量而不是$ name中存储的内容。

我觉得我错过了一件小事,但我不确定它是什么。我用过这个:

$name = $_POST['name'];

将它带到second.php并将其带到third.php:

print 'Click <a href="third.php? name=' . $name . '">here</a> to proceed.';

只是为了看看它是否会从second.php获得相同的信息,但我不认为它是这样的。我还应该在第三页上做些什么吗?我觉得这是一件令人难以置信的微不足道的事情,但在我学习的时候,我无法理解它。

4 个答案:

答案 0 :(得分:1)

你可以这样做。

宣布

$name = $_POST['name'];

您可以在标题中使用来传递此变量

if(isset($_POST['btnname']))
{
header('Location: second.php?name='.$name);
}

你的第二个php

你可以通过这种方式得到它

 Thank you, <php echo $_GET['name']; ?>

或者,如果您希望所有页面都可以使用会话

$_SESSION['name'] = $_POST['name'];

= d

答案 1 :(得分:0)

您可以使用隐藏输入

进行尝试
<label for="name">Name:</label>
<input type="hidden" name="name" value="<? echo $name; ?>" size="20" />

答案 2 :(得分:0)

网站是无状态的,这意味着变量仅在服务器上持续几秒钟,然后呈现html,并发送到客户端浏览器。然后释放服务器内存以服务其他客户端。

您有几个选择:
1)使用隐藏的表单字段并将其名称打印(使用php)隐藏的表单字段,这样当它们再次发布时,它会被保存(如果它们再次发布)。
2)会议
3)饼干
4)在url中打印出来(即page.php?name =“。$ name;)

这一切都取决于你如何到达你的第三页(从一个链接?一个表单?一个PHP重定向?)

答案 3 :(得分:0)

您可以将名称存储在第二页中,并在调用第三页之前再次设置$ _GET变量。这是因为变量仅对该特定请求有效,并且在发出另一个请求时需要再次设置它们。