PHP 변수 $_GET 및 $_POST

클라이언트 브라우저에서 웹 서버로 데이터를 전송하는 방법에는 두 가지가 있습니다.
  • GET
  • POST
메서드 전송된 데이터는 전역 변수의 일부인 PHP 변수 $_GET 및 $_POST에 저장되며 호출할 수 있습니다. PHP 코드의 어느 곳에서나 가능합니다. 두 변수 $_GET 및 $_POST는 get 및 post 메서드를 사용하여 HTML 코드에서 테이블로 전송되고 PHP 서버에서 캡처한 정보를 읽는 데 사용됩니다. 즉, $_GET 및 $_POST 변수를 사용하면 페이지가 서로 통신할 수 있습니다.

아래 HTML 페이지에는 텍스트, 비밀번호, 확인란, 라디오, 선택... 사용자가 이러한 요소를 채우고 제출 버튼을 클릭하면 데이터가 양식의 action 속성에 지정된 대상 파일 "exemple.php"로 전송됩니다.

다음 이미지는 GET 메서드가 있는 HTML 양식의 예와 PHP.

HTML 및 PHP 양식의 예

GET 메서드

GET 메서드는 인코딩된 정보를 대상 페이지로 보냅니다. 페이지와 인코딩된 정보는 문자로 구분됩니다. ?

http://www.exemple.com/index.php?name1=valeur1& name2=value2
아래 HTML 양식을 살펴 보겠습니다. form 요소에서 "method".

< 양식 action="imprime_infos.php" method="GET"> 
사용자 이름: < 입력 유형 = "텍스트"이름 = "이름"/>
나이: < 입력 유형 = "텍스트"이름 = "나이"/ >
< input type="submit" value="제출">


get 메소드를 사용하는 HTML 양식의 예

"imprime_infos.php" 파일 내에서 $_GET 변수를 사용하여 수신된 값(이름 및 나이)을 수집했습니다.

 if( $_GET["이름"] || $_GET["나이"] ) {
echo "안녕하세요". $_GET['이름']입니다. "< 브롬/>";
echo "있습니다". $_GET['age']입니다. " 년.";
}
?>
WampServer 서버에서 코드를 실행한 후 주소 표시줄에 정보가 표시되는 위의 결과를 얻었습니다.

$_GET 및 양식

- GET 메소드는 서버 로그 및 브라우저 기록에 나타나는 긴 문자열을 생성합니다.
- GET 메서드로 전송되는 문자 수는 1024자로 제한됩니다. 따라서 긴 텍스트를 보낼 수 없습니다.
- GET 메서드를 사용하여 암호 또는 신용 카드 번호 및 코드와 같은 민감한 정보를 보내지 마십시오.
- GET은 이미지 및 문서와 같은 바이너리 데이터를 서버로 보낼 수 없습니다.
- GET 메서드에서 보낸 데이터는 환경 변수 QUERY_STRING.
- PHP_GET에는 GET.
- GET은 정보를 검색하는 데만 사용해야 합니다.

The POST

위에서 설명한 바와 같이 GET 메서드는 전혀 안전하지 않으므로 PHP 개발자는 주소 표시줄에 나타나지 않고 정보를 보내는 효율적인 솔루션을 개발하게 되었습니다. 또한 GET은 1024자로 제한됩니다. 따라서 POST 메서드를 사용하여 양식의 데이터를 보내는 것이 좋습니다. POST 메소드는 GET 메소드처럼 작동하지만, 값이 브라우저의 주소 표시줄에 표시되지 않고 브라우저의 기록에 저장되지 않기 때문에 GET보다 더 안전합니다.

POST를 사용하려면 GET.

< 양식 action="imprime_infos.php" method="POST"> 
사용자 이름: < 입력 유형 = "텍스트"이름 = "이름"/>
나이: < 입력 유형 = "텍스트"이름 = "나이"/ >
< input type="submit" value="제출">
그리고 정보를 수집하려면 $_POST:

 if( $_POST["이름"] || $_POST["나이"] ) {
echo "안녕하세요". $_POST['이름']입니다. "< 브롬/>";
echo "있습니다". $_POST['age']입니다. " 년.";
}
?>
런타임은 주소 표시줄에 정보가 표시되지 않음을 보여줍니다.

변수 $_POST 및 양식

POST:

- POST 메서드는 전송할 데이터의 크기에 제한이 없습니다.
- 전송된 데이터는 브라우저 기록에 저장되지 않습니다.
- POST를 사용하여 바이너리 데이터를 보낼 수 있습니다.
- POST 메서드에서 보낸 데이터는 HTTP 헤더를 통해 전달되므로 보안은 HTTP 프로토콜에 따라 다릅니다. 보안 HTTP를 사용하면 정보가 보호된다는 것을 확신할 수 있습니다.
- PHP에는 POST.

$_REQUEST

$_REQUEST 변수에는 $_GET, $_POST 및 $_COOKIE의 내용이 포함됩니다. $_REQUEST 는 $_GET 및 $_POST.

메소드 모두에서 오는 경우 데이터를 수신하는 데 유용합니다. "imprime_infos.php" 파일에서 다음 예제를 시도하십시오 :

 if( $_REQUEST["이름"] || $_REQUEST["나이"] ) {
echo "안녕하세요". $_REQUEST['이름']. "< 브롬/>";
echo "있습니다". $_REQUEST['age']입니다. " 년.";
}
?>