2011-08-02 25 views
5

我正在研究显示来自MySQL数据库的数据的查询工具。用户会看到一个包含几十个动态生成复选框的表单,以便他们可以选择如何查看数据。这些数据是作为GET请求提交的,并且在请求的页面加载时(显然)显示在url中。以一种形式提交POST和GET变量

在同一页上的输入形式,我有一个PHP数组,我动态地生成并需要被发送到相同的地方作为GET请求。但是,我不希望这个数组中的值显示在URL中(我在内部使用它们),所以我想将它们作为POST请求提交。

很显然,我不能这样做既GET,并在同一时间POST请求。我是网络开发新手(计算机科学家,否则),并一直在摸索如何解决这个问题。

让我知道,如果这个问题不明确。

编辑:很多人建议我将它们添加到行动变量A LA:

形式行动=“process.php GET1 =值...

所有这些投入动态生成,从而把他们的行为变量是不可行的

+1

您可以在阵列这样它就会从用户(如果你不保持隐藏存储在会话变量不会将它作为cookie发送),但为什么不使用隐藏的表单元素并以邮件提交? –

+1

如果它是一个PHP数组,只需将它存储在一个会话中。 – Endophage

+1

您通过表单输入提交POST参数。您可以通过将它们包含在'

'的'form action =“process.php?get1 = value ...”'参数中来发送GET参数。 –

回答

1

Endophage:

如果它是一个PHP数组,请将其存储在一个会话中。

这伟大的工作。显然,我在这里展示了我的网络开发绿色,因为我没有真正考虑使用会话。

0

您可以设置通过更改URL GET瓦尔:

<form action="foo.php?getvar=15" method="POST"> 
<input name="postvar"> 
</form> 

对于动态GET瓦尔我相信你需要使用Javascript。

+0

没错,但所有这些变量都是动态生成的,所以把它们放在动作变量中是不可行的。 – SemperFly

11

GET参数走在操作URL,POST参数形式的输入

<form method="post" action="/somepage.php?get=parameters&are=here"> 
    <input type="text" name="postParameter" value="this value will be sent as POST"> 
    ... etc 
</form> 
+0

这个工作适合你吗?我刚才尝试了一个类似的东西,它只是删除get参数(使用chrome) – Arninja

+0

@Arninja工作正常。 Chrome浏览器(以及任何其他浏览器)都会发送这两组参数,并且您可以使用'$ _REQUEST'从两个集合中访问参数,或分别使用'$ _GET'和'$ _POST'访问它们 – Flambino

+0

有关PHP表单get张贴收集您可以参考我的帖子http://www.techflirt.com/form-handling-php并转到“在一个页面上的操作”部分 –

1

你不能做一个职位,并在相同的形式一个让你甚至说,你的问题。

您必须要么:

  1. 有2种形式
  2. 有一件事提交通过AJAX后,然后提交的其它形式与一个得到
+0

我知道我不能以相同的形式。我想达到同样的目的。 – SemperFly

+0

@SemperFly和我给你做的方法。 – Neal

+2

@Neal:恩,我想你的意思是“你可以用同样的方式做POST和GET”。那么,好吧,实际的http请求将是POST或GET,但这并不意味着您不能在url中包含查询字符串。有问题的服务器正在运行PHP,所以它会读取两组参数就好了 – Flambino

0
<form action="page.php?id=15" method="POST"> 
<input name="ref_code_cust" type="text" value="some data"> 
<input name="send" type="submit" value="send"> 
</form> 

www.mywebsite/page.php文件?ID = 15

<form action="page.php" method="POST"> 
<input name="id" type="hidden" value="<?php echo htmlspecialchars($_GET['id'], ENT_QUOTES); ?>"> 
<input name="email" type="text" value="some data"> 
<input name="send" type="submit" value="send"> 
</form> 

我们需要看到你的代码也更容易,特殊此阵的事情