2009-06-23 4 views
2

사용자가 POST 메서드를 사용한 후에 페이지에 착륙했지만 동일한 페이지에서 변수 $ find를 $ _POST [ 'find']와 같게 만들고 싶습니다. 사용자가 GET 메소드를 사용한 후 페이지에 착륙하는 경우 $ $ GET [ '찾기']와 동일하게 검색하십시오.PHP - 같은 페이지에 POST와 GET 메서드가 있습니다

어떻게하면됩니까? 사전에

감사합니다,

$find = $_GET['find']; 

$find = $_POST['find']; 
+0

덕분에 모두가 ... 모두가 나에게 올바른/좋은 것 같다. 그러나 그들은 해결하려고했던 더 큰 문제, 즉 페이지 매김을 해결하지 못했습니다. 나는 지금 막 버너에 페이지 매기기를 넣을 것입니다. –

+0

아마 PHP의 페이지 매김 기본에 관한 질문에 접근하는 것이 유용 할 것입니다. 문서화 된 프로세스이므로 많은 답변을 얻으실 수 있습니다. –

답변

11

당신은 $_REQUEST 전역 변수를 사용해야합니다. $ _GET 및 $ _POST의 모든 데이터가 들어 있습니다.

또는 요청 방법을 확인할 수 있습니다.

$find = ($_SERVER['REQUEST_METHOD'] == 'GET') ? $_GET['find'] : $_POST['find']; 
0

사용 $ _REQUEST는 [ '찾기'] $ _GET, $ _POST와 $ _COOKIE에서 결합 된 정보를 얻을 수 있습니다.

$_REQUEST은, 기본값은 $ _GET, $ _POST와 $ _COOKIE의 내용을 포함하여

0
if(isset($_GET['find'])){ 
    $find = $_GET['find']; 
}elseif(isset($_POST['find'])){ 
    $find = $_POST['find']; 
}else{ 
    $find = null; 
} 
// do stuff with $find; 
4

$_REQUEST variable$_GET의 내용을 포함 (당신은 php.ini "request_order" directive와 기본 내용을 변경할 수 있습니다) 것을 연관 배열을 반환 $_POST$_COOKIEvariables_order option은 변수가 읽히는 순서를 정의하고 이미 존재하는 내용을 덮어 씁니다.

$_REQUEST['find']을 사용할 수 있습니다 (find의 쿠키 값이 POST와 GET을 모두 무시한다는 점을 고려하십시오). 또는 당신은 당신의 자신에 그것을 구현 : $_GET['find']에서 값을 대체하는 $_POST['find']가없는 존재하는 경우 그 코드 $find

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

$_GET['find'] 될 것입니다.

2

은 말 그대로 당신을 위해 무엇을 요구하는지 것은 : 또는

if ($_SERVER['REQUEST_METHOD']=='POST') { 
    $find = $_POST['find']; 
} else { 
    $find = $_GET['find']; 
} 

, 당신은 사용할 수 있습니다

$find = $_REQUEST['find']; 

$ _REQUEST는 $ _GET, $ _POST와 $ _COOKIE의 조합입니다.

0

어떤 방법을 사용하든 신경 쓰이지 않는다면 $_REQUEST 슈퍼 전역을 사용하십시오.

은 문제가있는 경우 방법이 사용되었다 : 답변에 대한

$find = isset($_GET['find']) ? $_GET['find'] : false; 
if ($find === false) { 
    $find = isset($_POST['find']) ? $_POST['find'] : ''; 
    // do a POST-specific thing 
} 
else { 
    // do a GET-specific thing 
} 
관련 문제