2011-04-20 3 views
5

폼 액션에 url get 매개 변수를 두어도 괜찮습니까? 나는에 숨겨진 필드를 추가하는 것이 가장 좋은 것입니다 URL 매개 변수를 폼에 추가하기 PHP HTML

index.php?do=search&_search=What are you looking for? 

을 읽을 수있는 URL을 선호하는 것

index.php?_search=What are you looking for? (I've stripped %20) 

: 나는 양식을 제출하면

<form method='get' action='index.php?do=search'> 
    <input name='_search' type='text' value='What are you looking for?'> 
    <button type='submit'> Search </button> 
</form> 

는 URL이 변경됩니다 양식

<input type='hidden' name='do' value='search' /> 
+0

예 당신이 그것을 (숨겨진 필드) 할 것입니다 방법 이잖아. 가장 좋은 연습은 쿼리를 할 때 포스트를 사용하고 네가 정확히 무엇을 알고 있는지를 알 때 탐색을위한 변수를 사용할 때처럼 악의적 인 do'er는 질의의 ect를 조작하기가 더 어려워 질 것입니다. –

+0

@Lawrence, 절대적으로 있습니다 보안 관점에서 GET과 POST의 차이는 없습니다. 둘 다 똑같이 일반 텍스트입니다. GET은 일반적으로 요청에 사용되며 ID가 5 인이 문서를 가져 오십시오. POST는 일반적으로 수백 바이트 이상의 데이터가 필요한 경우 (GET이 잘리는 경우가 있음) 또는 처리를 위해 데이터를 제출할 때 사용됩니다. – Brad

+0

그래, 나는 그 차이점을 알지 못했지만 jquery ajax 메서드를 사용할 때는 일반적으로 게시물을 사용합니다. 입력 녀석을위한 고맙습니다 – goingsideways

답변

14

제 의견으로는 ould를 숨겨진 필드로 추가하십시오. 당신이하거나하지 말아야 할 수없는 이유

<input type='hidden' name='do' value='search' /> 
3

A가 어떤 이유로 표시되지 않는 : 당신이 숨겨진 양식 필드를 통해

사용을 할 수 있다면 PARAMS을 통과하려고 할 점은 없습니다 그런 식으로. DO/검색의 이름/값 쌍 버튼을 눌러 통과

<form method='get' action='index.php'> 
    <input name='_search' type='text' value='What are you looking for?' /> 
    <submit name='do' value='Search'> 
</form> 

하고 폼에 여러 작업을 만들려면 당신은 다른 값을 가질 수 있지만 그것을 처리하는 나의 선호하는 방법이 될 것이다 각 제출 단추에 대해 양식을 여러 가지 방식으로 처리합니다.

if ($_GET['do'] == "Search") { 
... do Search ... 
} else if ($_GET['do'] == "Foo") { 
... do Foo ... 
} else if ($_GET['do'] == "Bar") { 
... do Bar ... 
} 

은 또는 당신은 케이스 구조 사용할 수 있습니다

switch($_GET['do']) { 
    case "Search": 
     ... do Search ... 
    case "Foo": 
     ... do Foo ... 
     break; 
    case "Bar": 
     ... do Bar ... 
     break; 
} 

내가 일반적으로 자신을 post을 사용합니다,하지만 난 get이 같은 방식으로 작동 것이라고 확신합니다. 희망이 귀하의 질문에 대한 답변.

2

나는 Teodor와 같은 것으로, 변수를 숨겨진 필드로 보내지 않아야 할 이유가 없어야한다고 생각합니다. 그러나 경우에 당신은 그 일을위한 좋은 이유가 ... 당신은 URL의 끝에 &를 추가하는 시도 해 봤나 :

<form method='get' action='index.php?do=search&'> 
+1

FWIW, URL 끝에 acion을 추가해도 액션 URL에 매개 변수를 유지하는 것은 도움이되지 않는다. –

관련 문제