2012-05-20 3 views
-1

GET 메서드를 사용하는 양식이 있습니다. 이 양식에는 업데이트 할 많은 양의 필드가있을 수 있습니다. 때때로 URL이 너무 길어집니다. 그래서 나는 필드의 각 그룹을 개별적으로 업데이트하기 위해 더 많은 버튼을 추가 할 수 있다고 생각했습니다.어떻게 GET 매개 변수 중 일부만 보낼 수 있습니까?

문제가인데, 새 버튼을 추가하더라도 모두 FORMs 매개 변수를 보냅니다. 일부 매개 변수 만 보내려면 어떻게해야합니까?


편집 : 내가이 페이지 자체에서뿐만 아니라 다른 페이지에서 단지라고, 그래서 두 개의 매개 변수가 GET으로 사용되어야하기 때문에 게시 할 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 : 나는 또한 URL 변경 깜빡 때문에 작동하지 않았다 -

<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 --> 

원본 URL : clearence 용 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 
. . . 
. . . 

나는 새로운 URL, 예를 들어, 만 다음 필드를 보내려면 라인 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.

+5

업데이트 데이터는 POST와 함께 사용해야합니다. 얻지 마라. –

+0

POST를 사용하지 않는 이유는 무엇입니까? – JJJ

+0

GET을 POST로 대체한다고 가정합니다. 일부 매개 변수 만 보내려면 어떻게해야합니까? – Atara

답변

2

POST를 사용하십시오.

POST를 사용하는 경우 제출 된 항목 수를 줄이는 것에 대해 걱정할 필요가 없습니다. 많은 항목이있는 것처럼 보일 수 있지만 데이터 측면에서 볼 때 최대 10K 개의 데이터 만 전송할 수 있습니다. 귀하의 페이지의 나머지 부분은 아마도 50 - 300K 정도의 작은 부분 일 가능성이 큽니다.

양식 메서드를 POST로 변경하고 PHP 수신 페이지에서 필요한 매개 변수를 사용하십시오. 사용자가 버튼

1

POST의 @Atara 사용이 확실히 해결할 제출을 클릭하면

UPDATE 는 다음 각 행을 별도의 양식을 만들 경우에만 해당 행을 제출하지만 특정 질문에 대한 답을 당신의 문제. 브라우저의 주소창에서 POST 작업을 수행 할 수 없기 때문입니다.

관련 문제