2013-05-28 43 views
2

在HTML表單上,用戶填寫註冊數據,然後將其提交到PHP頁面以處理POST數據。大約20%的時間,當用戶點擊「提交」時,POST數據是空的。使用招一些調查表明瞭這一點:正常工作:表單提交導致多個請求加載相同頁面

58 200 HTTP www.awebsite.com /?page_id=337 22,433 no-cache, must-revalidate, max-age=0; Expires: Wed, 11 Jan 1984 05:00:00 GMT text/html; charset=UTF-8 firefox:9116      

當它打破了,我看到:

56 200 HTTP www.awebsite.com /?page_id=337 144 no-store, no-cache, must-revalidate, post-check=0, pre-check=0; Expires: Sat, 6 May 1995 12:00:00 GMT  firefox:9116    
57 200 HTTP www.awebsite.com /?page_id=337 144 no-store, no-cache, must-revalidate, post-check=0, pre-check=0; Expires: Sat, 6 May 1995 12:00:00 GMT  firefox:9116    
58 302 HTTP www.awebsite.com /?page_id=337 16,561 no-cache, must-revalidate, max-age=0; Expires: Wed, 11 Jan 1984 05:00:00 GMT text/html; charset=UTF-8 firefox:9116    
59 200 HTTP www.awebsite.com /?page_id=445 19,989 no-cache, must-revalidate, max-age=0; Expires: Wed, 11 Jan 1984 05:00:00 GMT text/html; charset=UTF-8 firefox:9116  

這就像提交的三次提交頁面。順便說一句,HTML和PHP頁面是WordPress網站的一部分......不知道這是否與你密切相關,但希望包含儘可能多的信息。

有什麼想法發生了什麼?我是否犯過事件冒泡?我會很高興地展示這些代碼,如果這會有所幫助的話,如果沒有必要的話,不想把地點弄亂。

編輯迴應意見: 首先感謝FDinoff做格式化...我正在學習,我希望這可以工作。 8 ^)

爲了:

@ 3dgoo:我很小心點擊一次只能提交,所以我不認爲這是個問題。希望它是!

@jereon:這是間歇性的,PITA是什麼,但我可以通過提交頁面四五次來實現它......它會發生。

@Eduardo:是的,這就是我正在做的事情,你會在我的回覆@meewoK中看到。

@meewoK:你的願望是我的命令先生!下面是我的HTML表單標籤:

<form class="contact_form" action="/?page_id=337" method="post" name="contact_form" onsubmit="return validateForm();"> 

並且假定validateForm()返回true,POST數據被髮送到目前正使用PHP構建一個WordPress頁面。這是page_id=337。這裏是頂部20行或使得文件的:

<?php 
/* 
Template Name: DisplaySummaryToApplicant.php 
*/ 
?> 

<?php 
$ipaddress = $_SERVER["REMOTE_ADDR"]; 
if (count($_POST) == 0) { 
    header("location: http://www.awebsite.com/?page_id=445"); 
} 
require('wp-load.php'); 
get_header("header_reg"); 
//echo '<meta http-equiv="expires" content="0">'; 
require_once (dirname(__FILE__)."/dbLog.php"); 

global $current_user; 
get_currentuserinfo(); 

當代碼失敗,$_POST數組爲空,並且用戶被重定向到annuciating該錯誤的頁面。這是page_id=445系列。

謝謝大家,你的想法和建議會讓我思考沿着正確的路線。

+1

是否有可能多次按下提交按鈕? – 3dgoo

+0

你可以自己重現問題嗎?術語'事件冒泡'表明ajax/javascript提交,你有客戶端和服務器端驗證? – jeroen

+0

也許你正在做這樣的事情: '' –

回答

0

您可以爲每個帖子添加驗證驗證碼。因此,當它多次點擊時,它會生成一個新的驗證碼並將其返回false。

希望它有幫助!

相關問題