<form method="post">
을 사용하여 간단한 로그인 시스템을 구축하려고합니다. 내 랩톱에서 MAMP는 모든 것이 잘 작동하지만 서버에 스크립트를 업로드하면 (Windows) 작동하지 않습니다. $ _POST 배열이 비어있는 것 같습니다.
맨손의 뼈를 제외한 모든 것을 주석으로 처리했지만 여전히 작동하지 않습니다.
의 index.php :
<form id="login-form" method="POST" action="_scripts/check_login.php">
Email Address
<input name="login-email" type="text" id="login-email">
Password
<input name="login-password" type="text" id="login-password">
<input type="submit" name="Submit" id="login-button" value="Login">
</form>
_scripts/check_login.php : (I 디버깅에 대한 몇 가지 var_dumps를 제외한 모든 것을 삭제했습니다)
var_dump($_POST);
$loginEmail = trim($_POST['login-email']);
echo '<br>';
$loginPassword = ($_POST['login-password']);
var_dump($loginEmail);
echo '<br>';
var_dump($loginPassword);
나는 상관없이 양식을 제출하지 않을 때 내가 텍스트 필드에 넣으면 다음과 같이 표시됩니다.
array(0) { }
string(0) ""
NULL
"post"의 모든 인스턴스를 "get"으로 변경하면 bove 두 파일, 다 잘 작동합니다. 그러나 나는 get을 사용하고 싶지 않습니다. (method = "post"를 사용하여 양식을 제출하면 $ _REQUEST가 작동하지 않습니다.)
NB이 모든 것이 localhost에서 제대로 작동하지만 (Windows를 실행하는) 서버에서는 작동하지 않습니다. 따라서 서버에 문제가있는 것처럼 보일 수 있지만 무엇이 있는지 전혀 모릅니다. 당신은 여기에 PHPInfo를 볼 수 있습니다 : http://brailleapps.org/phpinf0.php
어떤 아이디어?
편집 : 해결! 아래를 참조하십시오.
http://www.iis.net/configreference/system.webserver/security/requestfiltering/verbs
무엇이'$ _SERVER'에 POST 요청을 포함합니까? 엔티티 타입을 사용해 보셨습니까? FastCGI 클라이언트가 [POST 동사 IIS] (http : // stackoverflow.com/questions/313188/empty-post-array-in-php-5-2-6-iis-cgi)? – mario
우리는 같은 문제가 있었지만 라이브 서버로 이동하면 아약스 게시물이 작동하지 않습니다. 오랜 고투 끝에 서버의 모드 재 작성 모듈이 꺼져 있음을 발견했습니다. 일단 켜져 있으면 모든 것이 괜찮아. 그래서 확인해.하지만 내 지식에 의하면 POST와 MOD 재 작성과는 아무런 관련이 없다. 한번 시도 해보자. – Samy
내용 유형에 문제가있을 수 있습니다. 콘텐츠 유형이 재 검증되거나 누락 된 경우 '$ _POST'는 비어 있습니다. '$ ($ _ SERVER [ 'CONTENT_TYPE'])) {$ _SERVER [ 'CONTENT_TYPE'] = "application/x-www-form-urlencoded";}'를 설정해보십시오. 그리고'var_dump (file_get_contents ('php : // input'));은 무엇을 말합니까? – Quasdunk