2010-11-04 78 views
1

我有一个页面。用户提交页面并将其发送到PHP结果页面。它工作正常。现在,我希望结果页面链接到另一个页面,并且该页面上的元素取决于结果页面上的内容。我知道如何将表单变量传递到另一个页面,但我不知道任何有关传递非表单变量的信息。PHP:在页面之间传递非表单变量?

从我在网上搜索,我最好的猜测是我应该通过URL传递。它是否正确?如果是这样,一个可能的问题:我希望结果页面传递给的页面将有一个表单,用户将通过单击提交转到另一个结果页面(表单数据将通过POST发送)。如果用户使用POST转到其他页面,我可以发送非表单数据(旧结果页面变量)以及表单数据吗?

+0

可能重复(http://stackoverflow.com/questions/871858/php-pass-variable-to-next-page) – outis 2011-12-28 11:26:43

回答

1

有几种选择。然而,最简单的可能是简单地使用隐藏的输入字段传递数据。

其他选项将使用会话,存储到表单之间的数据库或其中的某种组合。

1

如果您打算使用POST转到下一页,最简单的选择是在表单中使用input type =“hidden”元素包含要发送的数据。

0

您可以将非表单数据作为隐藏字段嵌入到第二个表单中。只要

http://..../blah.php?var1=val1&var2=val2

为你传递可以放入一个网址的数据:要确保它也是在链路中传递,你可以将它添加到URL作为查询字符串,如。请确保urlencode()您追加到URL的任何内容。

1

您可能会考虑使用会话来传递数据。

2

我强烈建议使用会话。这并不难,PHP使用http://php.net/session_start$_SESSION变量非常容易。 优点是您无需每次点击都提交表单,也不会在URL中以纯文本形式显示任何信息。

+0

这是一个很好的(或可能即使是最好的)解决方案,如果你的应用程序不只是一系列的形式。 – 2010-11-04 20:28:41

0
<?php 

start_session(); 

$_SESSION['Foo'] = 'Bar' // Add stuff here. 

?> 
[PHP变量传递到下一个页面]的