PHP:在页面之间传递非表单变量?

时间:2010-11-04 19:25:45

标签: php forms xhtml

我有一个页面。用户提交页面并将其发送到PHP结果页面。它工作正常。现在,我希望结果页面链接到另一个页面,并且该页面上的元素依赖于结果页面上的内容。我知道如何将表单变量传递给另一个页面,但我对传递非表单变量一无所知。

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

6 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:1)

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

答案 2 :(得分:1)

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

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

答案 3 :(得分:1)

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

答案 4 :(得分:0)

您可以将非表单数据嵌入到第二个表单中作为隐藏字段。要确保它也在链接中传递,您只需将其作为查询字符串添加到URL,例如:

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

只要您传递的数据适合URL。请务必将urlencode()添加到网址中。

答案 5 :(得分:0)

<?php

start_session();

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

?>