[개정]
PHP는 그것을 처리하지 않습니다 (그리고 버그가 아닙니다) 때문에 대답입니다 :
https://bugs.php.net/bug.php?id=33741
Valid values for enctype in <form> tag are:
application/x-www-form-urlencoded
multipart/form-data
첫 번째는 기본입니다 두 번째 파일은 파일을 업로드 할 때만 필요합니다. PHP는 $_POST
배열을 채울 수 있지만, 변수 $HTTP_RAW_POST_DATA
내부의 값을 저장하지 않는 이유를 설명을 제공
@Alohci.
text/plain
에 enctype으로 잘못 될 수 있는지의 예 :
file1.php :
<form method="post" enctype="text/plain" action="file2.php">
<textarea name="input1">abc
input2=def</textarea>
<input name="input2" value="ghi" />
<input type="submit">
</form>
file2.php :
<?php
print($HTTP_RAW_POST_DATA);
?>
결과 :
input1=abc
input2=def
input2=ghi
없음 distin에가는 길 input1
및 input2
변수의 값이 무엇인지 guish. 그것은 될 수
- 입력 1 =
abc\r\ninput2=def
, 입력 2 = ghi
뿐만 아니라
- 입력 1 =
abc
, 입력 2 = def\r\ninput2=ghi
앞서 언급 한 다른 두 인코딩을 사용하여 이러한 문제.
GET 및 POST 차이 :
GET에
- 이 변수는 URL의 일부 쿼리 문자열 URL에 존재하고, 따라서 그들이 가 URL로 인코딩되어야한다 (그리고 그들이은 심지어
enctype="text/plain"
으로 작성하면 브라우저에서 무시되므로 Wireshark를 사용하여 요청 패킷을 스니핑하여 테스트 할 수 있습니다.
- POST를 보낼 때 변수는 URL의 일부가 아니지만 HTTP의 마지막 헤더로 전송됩니다 요청 (POSTDATA)을 보내고
text/plain
또는 application/x-www-form-urlencoded
, bu로 보낼지 여부를 선택할 수 있습니다. 두 번째 것은 모호하지 않은 유일한 해결책입니다.
난 당신이 파일 업로드를하고있는 경우가 아니면, PHP 버전을 정의 할 필요가 없습니다 확신, 그것은해야한다 : 에 enctype = "multipart/form-data"로 [링크] (HTTP ://www.w3.org/TR/html4/interact/forms.html#adef-enctype) – rwyland
w3schools ([link] (http://www.w3schools.com/tags/att_form_enctype.asp))에 따르면 'application/x-www-form-urlencoded'가 기본값입니다. –
제 질문은 왜 method = "post"이고 enctype = "text/plain"이 함께 작동하지 않는 것입니까? 내 HTML 코드가 더 이상 중요하지 않고 사용해야하는 것은 중요하지 않습니다 !!!!!!!!!!!!!!!!!!! – Narek