>  기사  >  백엔드 개발  >  내 PHP 스크립트에서 내 $_POST 값이 누락되는 이유는 무엇입니까?

내 PHP 스크립트에서 내 $_POST 값이 누락되는 이유는 무엇입니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-10-28 12:18:02979검색

Why are My $_POST Values Missing from My PHP Script?

php://input에서 PHP $_POST 값 누락

POST 요청을 통해 양식 데이터를 받았음에도 불구하고 특정 값이 표시되지 않습니다. PHP $_POST 배열. 디버깅을 통해 php://input을 통해 검색된 원시 요청 문자열에 이러한 값이 있음이 드러납니다.

원인:

PHP는 특정 문자(공백, 공백, 점, 여는 대괄호 등)을 사용하여 더 이상 사용되지 않는 Register_globals를 준수합니다.

해결책:

  • register_globals 비활성화: 이 설정은 더 이상 사용되지 않으므로 php.ini 구성 파일에서 비활성화하십시오.
  • 해결 방법 사용: 원시 요청 문자열을 구문 분석하고 값을 추출 및 디코딩하여 새 문자열을 구성하는 함수를 활용하십시오. 누락된 값이 포함된 $vars 배열입니다. 예는 다음과 같습니다.
<code class="php">function getRealPOST() {
    $pairs = explode("&", file_get_contents("php://input"));
    $vars = array();
    foreach ($pairs as $pair) {
        $nv = explode("=", $pair);
        $name = urldecode($nv[0]);
        $value = urldecode($nv[1]);
        $vars[$name] = $value;
    }
    return $vars;
}</code>

위 내용은 내 PHP 스크립트에서 내 $_POST 값이 누락되는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.