POST 요청을 통해 HTML 양식을 제출할 때 제출된 모든 값이 $_POST 슈퍼 전역을 채울 것으로 예상됩니다. 그러나 경우에 따라 특정 값이 누락될 수 있습니다.
값 누락의 원인은 무엇입니까?
PHP는 특정 문자(예: 공백, 점, 대괄호 열기) 더 이상 사용되지 않는 Register_globals 기능과의 호환성을 보장합니다. 이 수정으로 인해 $_POST에서 값이 생략될 수 있습니다.
문제 해결
이 문제를 해결하려면 다양한 해결 방법을 사용할 수 있습니다. 널리 사용되는 방법 중 하나는 file_get_contents('php://input')를 사용하여 원시 POST 데이터를 읽고 수동으로 구문 분석하여 누락된 값을 추출하는 것입니다.
아래는 "수정"하는 데 사용할 수 있는 예제 함수입니다. $_POST 값:
<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>
이 함수나 유사한 해결 방법을 사용하면 제출된 모든 값이 올바르게 구문 분석되고 $_POST 배열에서 사용 가능한지 확인할 수 있습니다.
위 내용은 PHP에서 일부 $_POST 값이 누락되는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!