2012-01-06 40 views
0

在index.php中,我创建了一个表单,并在form标签的action属性中指定了“page2.php” 。

page2.php也是一种形式,(从index.php继续)和我已经指定“page3.php”的表单tage的action属性中。我可以检索用户输入到“位置”文本框,在index.php上的形式,并通过方法显示它在page2.php <?php echo $_GET["location"]; ?>

但我现在也想显示用户位置page3.php,但是当我使用上面的方法时,它不起作用。它给了我错误:“未定义的索引:位置”。我认为这是因为page3.php无法访问index.php中的字段,但我如何获得这个工作?

在此先感谢

+2

来人,会议?是的,这是一个选择,但如果这个人这样问这个问题,那么简单地说出USE SESSIONS并没有什么帮助,甚至连一个简短的例子都没有。一个链接可以用一个简单的例子来说明,但只是一个链接是懒惰的,可能会让新程序员感到困惑,而没有某种起点。 – 2012-01-06 21:49:51

+0

[Use a Session!](http://us.php.net/manual/en/book.session.php) – 2012-01-06 21:46:22

回答

1

您将需要存储的$ _GET [ “所在地”]的价值;在提交给page3.php的表单中的page2.php中的隐藏字段中。

更新实例

使page2.php

<form action="page3.php"> 
    <input type="hidden" value="<?php print $_GET['location']; ?>" name="location_from_page2" /> 

page3.php

$location = $_GET["location_from_page2"]; 

你在做什么这里打印出位置的内容到一个隐藏字段的值然后你正在阅读page3.php

这个隐藏的领域这是一种方法要做到这一点,但你可能要考虑查看php会话。

+0

我在另一篇文章中看到了一些关于“隐藏”的内容,但似乎无法找到它。你能举个例子吗? – user1135192 2012-01-06 21:51:04

+0

我刚刚编辑它给你一些想法。 – evasilchenko 2012-01-06 22:01:02

+0

现在有效。感谢这个例子! – user1135192 2012-01-06 22:31:23

1

尝试使用会话变量

$_SESSION['location'] = $_GET['location']; 
+0

http://www.php.net/manual/en/session.examples.basic.php – Brett 2012-01-06 21:46:34

+0

将会话值存储在会话中后,您将可以从其他页面访问它们。 您在$ _GET或$ _POST中拥有的值是您从'

'元素收到的值,并且只存在于接收它们的页面中(表单提交后的那个)。如果您使用隐藏字段,则会再次将它们放入第二个表单中,当用户提交表单时您将再次收到它们,但如果在验证这些值之前必须重新验证它们(因为用户可以篡改隐藏字段并更改它们)。 – 2012-01-06 22:04:21

+0

另外,如果你正在处理几个值,我建议使用'>'(而不是'get'),并且他们从$ _POST获取值。 发布可以处理更大的数据,并且这些值在URL中将不可见。 – 2012-01-06 22:08:02

1

您可以使用隐藏字段来实现此目的。

使page2.php:

<form id="myform" action="/page3.php" method="get"> 
    <fieldset> 
     <label>x</label> <input type="text" name="something" value=""><br><br> 
     <input type="hidden" name="location" value="<?php echo $_GET['location']; ?>"> 
     <input type="submit" name="submit" value="submit"> 
    </fieldset> 
</form> 
+0

感谢您的支持! – user1135192 2012-01-06 22:29:36

0

您需要在第二页上的表单中的值。

像:<input type="hidden" name="location" value="<?= $_GET["location"]; ?>">

或追加的变量的形式你的行动。

否则,您可以使用会话 - 这可能是最简单的。

+0

谢谢,它的工作原理 – user1135192 2012-01-06 22:33:40

相关问题