2013-03-13 3 views
12

<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

+0

무엇이'$ _SERVER'에 POST 요청을 포함합니까? 엔티티 타입을 사용해 보셨습니까? FastCGI 클라이언트가 [POST 동사 IIS] (http : // stackoverflow.com/questions/313188/empty-post-array-in-php-5-2-6-iis-cgi)? – mario

+0

우리는 같은 문제가 있었지만 라이브 서버로 이동하면 아약스 게시물이 작동하지 않습니다. 오랜 고투 끝에 서버의 모드 재 작성 모듈이 꺼져 있음을 발견했습니다. 일단 켜져 있으면 모든 것이 괜찮아. 그래서 확인해.하지만 내 지식에 의하면 POST와 MOD 재 작성과는 아무런 관련이 없다. 한번 시도 해보자. – Samy

+3

내용 유형에 문제가있을 수 있습니다. 콘텐츠 유형이 재 검증되거나 누락 된 경우 '$ _POST'는 비어 있습니다. '$ ($ _ SERVER [ 'CONTENT_TYPE'])) {$ _SERVER [ 'CONTENT_TYPE'] = "application/x-www-form-urlencoded";}'를 설정해보십시오. 그리고'var_dump (file_get_contents ('php : // input'));은 무엇을 말합니까? – Quasdunk

답변

3

나는 그것이 결국 고정있어, 숫자 나뿐만 아니라 게시 할 수있는 경우 다른 사람이 여기 일 것 같은 문제를했습니다

2

하나의 가능성은 POST는 서버에서 허용 된 동사가되지 않는 것입니다 앞으로는.

이 HTTP 모듈 중 하나를 밝혀하는 POST를 방해했다 :

RadCompression이 모듈로
RadUploadModule

는 POST는 괜찮 았는데, 꺼져.

(NB 이것은 완전히 새로운 앱에 있었는데, 그 모듈 중 하나에 의존할만한 기존 코드가 없다는 것을 알았습니다 ... 이들을 끄면 의도하지 않은 결과를 초래할 수 있습니다. YMMV .)

+0

을 참조하십시오. 질문은 아파치에 관한 것입니다. – Kermit

+0

DOH. 나는 그 질문을 너무 빨리 읽었다. 나는 Windows를보고 IIS를 사용했습니다. – Bart

+1

@AarolamaBluenk - PHPinfo는 IIS라고 거의 확실하게 말합니다. – slugonamission

0

$ _POST가 공백/NULL 인 것과 동일한 문제가 있었으며 SO와 Google을 검색하는 데 30 분을 소비 한 후에 드디어 나에게 도움이되는 솔루션을 발견했습니다. 내가 MAMP에 대한 php.ini 파일을 변경하는 방법을 알고하지 않기 때문에

나는이 포함 내 htaccess로 편집 :

php_value post_max_size 60M 
php_value upload_max_filesize 60M 

을하고 난 괜찮아 지금 제출 된 입력을 ($ _ POST) 위해서 var_dump 수 있습니다.

참조 링크 : http://helpfulcoder.blogspot.ca/2011/01/empty-post-array-in-mamp.html

관련 문제