개발! 딱 깔끔하고 센스있게!

u POST 는 PHP 에서 빈 데이터입니다. 본문

개발 스크랩 메모/PHP

u POST 는 PHP 에서 빈 데이터입니다.

렉사이 2020. 12. 22. 23:54

나는 이상한 문제가 하나 있는데, 나의 POST 데이터가 통과되지 않았다.

우선 로컬 호스트에서 잘 운영되지만 웹의 공유 호스트에서 작용하지 않는다.

이것은 양식:

Name :
Description :
Logo:
Date : Time : :
Your Email : [email protected]"/>
Zip code : Radius : mi

문제는 리스트 제출 후 POST 데이터가 없다는 것이다.

만약 내가 echo 서열화 ($u POST) 를 실행한다면, 나는 a: 0: 0 {} 을 얻을 것이다.

그러나 내가 이렇게 한다면, echo fileu getu conntes('php://input);나는 다음과 같은 결과를 얻을 것이다.

------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[name]" Some Name ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[description]" Some Description ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[image_name]"; filename="" Content-Type: application/octet-stream ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[date]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[hr]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[min]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[ampm]" am ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[email]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[zipcode]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO Content-Disposition: form-data; name="form[radius]" ------WebKitFormBoundaryLCabCxfMMHCvWsAO-- 

그리고 더 이상한 것은 내가 시계를 세 가지의 원소로 떨어뜨리면 일을 할 수 있다는 것이다.

어떤 세 개의 원소도 괜찮지만 네 개의 원소는 작용하지 않는다.

이 외에도 사이트의 다른 양식 (3개 이상 원소 포함) 작업이 정상적이다.

그냥 이거예요.

다음은 나의 공유 호스트의 관련 PHP 설정:

PHP Version 5.3.16 max_execution_time 300 max_file_uploads 20 max_input_time -1 -1 max_input_vars 1000 1000 memory_limit 128M 128M post_max_size 500M 500M 

서버 설정이라면, 그것이 무엇인지 아십니까?크기의 문제인 것 같지만, 그렇게 많은 데이터가 전달되지 않았다.

나는 htaccess 가 하나 있는데, 나는 그것과 관련이 있다고 생각하지 않는다.

(codeigniter, 표준 CI htaccesss, 나의 다른 폼 목록 제출 a-ok):

AddDefaultCharset UTF-8  RewriteEngine On RewriteBase / #Removes access to the system folder by users. #Additionally this will allow you to create a System.php controller, #previously this would not have been possible. #'system' can be replaced if you have renamed your system folder. RewriteCond %{REQUEST_URI} ^system.* RewriteRule ^(.*)$ /index.php?/$1 [L] #When your application folder isn't in the system folder #This snippet prevents user access to the application folder #Submitted by: Fabdrol #Rename 'application' to your applications folder name. RewriteCond %{REQUEST_URI} ^application.* RewriteRule ^(.*)$ /index.php?/$1 [L] #Checks to see if the user is attempting to access a valid file, #such as an image or css document, if this isn't true it sends the #request to index.php RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php?/$1 [L]  

다음은 print u ($ SERVER) 에서 발생한 결과 (안전을 위해 조금 수정했습니다):

Array ( [CONTENT_LENGTH] => 1077 [CONTENT_TYPE] => multipart/form-data; boundary=----WebKitFormBoundarydBnbAkAUNJntI6dz [DOCUMENT_ROOT] => [redaced] [GATEWAY_INTERFACE] => CGI/1.1 [HTTP_ACCEPT] => text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 [HTTP_ACCEPT_CHARSET] => ISO-8859-1,utf-8;q=0.7,*;q=0.3 [HTTP_ACCEPT_ENCODING] => gzip,deflate,sdch [HTTP_ACCEPT_LANGUAGE] => en-US,en;q=0.8 [HTTP_CACHE_CONTROL] => max-age=0 [HTTP_CONNECTION] => keep-alive [HTTP_COOKIE] => vrsession=8pO1KwOg4OPzCYqsJHX0Qr6FPfLteTimRjIKQPRC%2F83GlFRTepX%2FnrfE1yDxYxDXiPa2JcX4kQviV6lezxrXmJHjqVbWMe%2FgRne%2Bp9P4%2FfxlZrxta2Zl4DACs2C2nsp1SkqYj6k6xhP6Wc9Zlpxgsma752%2BGxHkvwnT6%2F%2FTey699wnV5je99kZe%2FIhSa04DZvoGXoFc6bx1%2B%2FZRtSvojD86ktpWK91AUFUvltcoj8%2F31jeX0h%2BR7VEOPMZLBeqJrcn7qZGeQ6N2XvCIsh6gqTRZIPdsvyAIW%2FTTibBiY0qUvh50yE5MH060D8utqsiv4S54UrXypBsCP3H2w66pLXHTQKKrK%2FAsn1SEWb2pew%2BEOE4prm%2BJKGxcAq0efCGhkpsHZoP9ZDKDekMzaJTIxUin99RUeXVZTF0yqsMD5A%2FFF0AdZuz343VWsJcV9zru4hPHaAky5NMoZa6R1be9PwA%3D%3D; __utma=74945813.1164249566.1347560100.1347560100.1347560100.1; __utmb=74945813.176.10.1347560100; __utmc=74945813; __utmz=74945813.1347560100.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none) [HTTP_HOST] => [redacted] [HTTP_ORIGIN] => [redacted] [HTTP_REFERER] => [redacted]/add [HTTP_USER_AGENT] => Mozilla/5.0 (Macintosh; Intel Mac OS X 10_6_8) AppleWebKit/537.1 (KHTML, like Gecko) Chrome/21.0.1180.89 Safari/537.1 [PATH] => /bin:/usr/bin [PHPRC] => [redacted] [QUERY_STRING] => [REDIRECT_QUERY_STRING] => /add [REDIRECT_STATUS] => 200 [REDIRECT_UNIQUE_ID] => UFJZCUoyAC0AAE5v7ps [REDIRECT_URL] => /add [REMOTE_ADDR] => [redacted] [REMOTE_PORT] => 48098 [REQUEST_METHOD] => POST [REQUEST_URI] => /add [SCRIPT_FILENAME] => [redacted]/index.php [SCRIPT_NAME] => /index.php [SERVER_ADDR] => [redacted] [SERVER_ADMIN] => [redacted] [SERVER_NAME] => [redacted] [SERVER_PORT] => 80 [SERVER_PROTOCOL] => HTTP/1.1 [SERVER_SIGNATURE] => 
Apache/1.3.42 Server at [redacted] Port 80
[SERVER_SOFTWARE] => Apache/1.3.42 (Unix) Sun-ONE-ASP/4.0.2 Resin/2.1.13 mod_fastcgi/2.4.6 mod_log_bytes/1.2 mod_bwlimited/1.4 mod_auth_passthrough/1.8 FrontPage/5.0.2.2635 mod_ssl/2.8.31 OpenSSL/0.9.7a [UNIQUE_ID] => UFJZCUoyAC0AAE5v7ps [PHP_SELF] => /index.php [REQUEST_TIME] => 1347574025 [argv] => Array ( [0] => /add ) [argc] => 1 )

대답

비슷한 질문은 여기에서 대답을 받았다.

PHP 는 일부 POST 가 부족하지만 PHP: input 에 존재합니다

여기에:

php://input<>>u POST?

리스트를 제출할 때 php$u POST 그룹이 비어 있습니다

Comments