2012-01-09 6 views
1

저희 웹 사이트에서는 때때로 $ _POST가 빈 페이지로 전달됩니다.

이것은 매일 제출되는 양식의 약 % 1-2에 대해 발생합니다. 이것은 현재 하루에 약 50-100 부패 양식 제출입니다.

데이터는 초기 페이지에 있습니다. $ _POST 및 $ _GET을 사용하여 동일한 데이터를 동일한 값으로 동시에 전송하려고했습니다. $ _GET은 항상 작업 페이지에 도달하지만 $ _POST는 비어있을 수 있습니다.

가끔씩이 오류는 Webkit으로 인한 브라우저에서 발생합니다. 또한 휴대 전화 브라우저가 이런 경향이 더 많은 것처럼 보입니다. IE 브라우저는 Webkit 브라우저보다 적은 성능을 경험합니다. 그리고 아주 드물게 Firefox에서도 마찬가지입니다.

현재 구성은 다음과 같이이다 :
PHP 버전 5.2.15
를 CentOS 5
아파치 2.2.3 우리가 논의

한 가지 5.3.x.에 대한 우리의 PHP를 업그레이드하는 것입니다 그게 합리적인 시도처럼 들리니?

어떻게 디버그 할 수 있습니까?

UPDATE : 다음과 같이 제출 양식은 다음과 같습니다

<form action="submit.php?receiver_user_id=<?php echo $_SESSION['receiver_user_id'];?>&sender_user_id=<?php echo $_SESSION['user_id']; ?>" method="post"> 
    <textarea name="message_text" ></textarea> 
    <input type="hidden" name="receiver_user_id" value="<?php echo $_SESSION['receiver_user_id'];?> 
    <input type="hidden" name="sender_user_id" value="<?php echo $_SESSION['user_id']; ?> 
    <input type="image" name="submit" src="submit.png" value="submit"/> 
</form> 
+1

"우리 웹 사이트에는 1 년 넘게 해결할 수없는 버그가 있습니다." - 어쩌면 전문가를 고용 할 시간인가? –

+4

아마도'post_max_size'보다 더 많은 데이터를 POST하는 것이기 때문에? 자세한 내용은 http://stackoverflow.com/questions/8573664/php-empty-post를 참조하십시오. – cmbuckley

+0

@MitchWheat 놀랍게도 전문가도 모든 것을 알지 못합니다. – JamesHalsall

답변

0

은 양식에 입력 일종의 만드는 될 수있는 당신이 빈에 의해 1 ~ 2 %을 판단 가정, 실패 보내거나 데이터베이스 항목은 각각 저장에 실패하게 만듭니다.

[edit] 그건 바보 같은데. 내 말은, 같은 값으로 1000 번 반복해서 제출하면 1-2 %가 여전히 비어있는 걸까? 양식이 비어 있음을 보냈습니까? <?php header("Connection: close"); ?>

추가

+0

데이터베이스에 제출하기 전에 빈 $ _POST를 포착합니다. 그러나 이메일에 대한 오류 및 기술적 세부 사항에 대한 알림을받습니다. – Haluk

+0

실패한 발송물의 "기술 세부 사항"에 언급할만한 것이 있습니까? 오류를 판별하기 위해 어떤 코드를 사용합니까? – kontur

+0

세션에서 사용자 정보를 가져옵니다. 세션이 활성 상태인지 확인합니다. 우리는 SERVER_CONTENT_LENGTH를 얻습니다. 게시물이 비어 있으면 이것은 비어 있습니다. 또한 get 변수가 url에 있는지 확인하기 위해 SERVER_REQUEST_URI를 확인합니다. – Haluk