POST를 통해 대규모 HTML 양식을 제출할 때 일부 $_POST 값이 PHP에서 누락될 수 있습니다. 이는 php://input을 통해 액세스할 수 있는 원시 요청 본문에 값이 있음에도 불구하고 발생합니다.
PHP가 더 이상 사용되지 않는 Register_globals를 준수하기 위해 필드 이름에서 공백 및 점과 같은 특정 문자를 수정하기 때문에 문제가 발생합니다. 환경. 결과적으로 일부 키가 $_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>
예를 들어 HTML 조각:
<code class="html"><input type="text" name="my_field.value" value="test"></code>
PHP 코드:
<code class="php">$my_field_value = $_POST['my_field.value'];</code>
위 내용은 php://input에 일부 $_POST 값이 누락된 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!