如何只发送一些GET参数

时间:2012-05-20 10:18:12

标签: php forms get

我有一个使用GET方法的表单。此表单可能包含大量要更新的字段。所以有时URL太长了。所以我想我可以添加更多按钮来分别更新每组字段。

问题,即使我添加了新按钮,也会发送所有 FORMs参数。我怎样才能发送一些参数?


编辑:我无法将GET替换为POST,因为此页面不仅从其自身调用,而且还从其他页面调用,因此必须将两个参数用作GET。我试过了

if(isset($_GET['param_id1'])) {
           $param_id1 = $_GET['param_id1'];
       } else if(isset($_POST['param_id1'])){
           $param_id1 = $_POST['param_id1'];
       }

并在表单中 -

printf ("<form method='post' action='update_order.php'>"); // Use POST instead of GET
printf ("  <input type='hidden' name='param_id1' value='$param_id1'>");

但它也无效。

编辑2:它无效,因为我忘了也更改网址 -

<form method='post' action='update_order_test_post.php'> 

我的表格: [我使用PHP]

<form method='get' action='update_me.php'> 
 . . . 
<input type='submit' name='Submit' value='Update All'>   <!-- Original button -->
 . . . 
<input type='submit' name='Submit' value='Update One Line'> <!-- New button -->

原始网址:使用newLines分隔清除

http://mySite.com/update_order.php?
&infoA=aaa
&infoB=bbb
&infoC=ccc
&Submit=Update
&param1[1]=11
&param2[1]=21
&param3[1]=31
&param4[1]=41
. . . 
&param1[2]=211
&param2[2]=221
&param3[2]=231
&param4[2]=241
. . . 
&param1[3]=3311
&param2[3]=3321
&param3[3]=3331
&param4[3]=3341
. . . 
&param1[4]=411
&param2[4]=421
&param3[4]=431
&param4[4]=441
. . . 
. . . 

我只想将以下字段发送到新网址,例如如果单击第3行中的按钮:

http://mySite.com/update_order.php?
&infoA=aaa
&infoB=bbb
&infoC=ccc
&Submit=UpdateOneLine
&param1[3]=3311
&param2[3]=3321
&param3[3]=3331
&param4[3]=3341
. . . 

谢谢, Atara。

2 个答案:

答案 0 :(得分:2)

使用POST,这就是它的用途。

如果您使用POST,则无需担心减少提交的项目数量。它可能看起来像是大量的项目,但就数据而言,您可能只处理最多10K的数据。你的页面的其余部分可能在50到300K之间,所以它只是一小部分。

只需将表单方法更改为POST并使用php接收页面中所需的参数。

<强>更新 要回答您的具体问题,如果您将每行设为单独的表单,则只有在用户单击提交按钮时才会提交该行

答案 1 :(得分:1)