2011-05-10 104 views
1

所以我在網站上提交了一些表單(通過jQuery.post)並試圖解析結果。它適用於簡單的事情,但對於我的實際表單很多值都填充了字符串零。所以例如medicalProvider=MediCo變成$_POST['medicalProvider']="0"

這個頁面可以很好地處理較短的POST字符串,並且它使用這個確切的表單很好地工作,但是我沒有觸及配置,所以我不知道問題是什麼。

下面是readfile('php://input')var_dump($_POST),字面上的文件的頭兩行的結果:

// readfile('php://input'): 
medicalProvider=MediCo&medicalPremium=7000&medicalOccurs=0&medicalKind=0&medicalEmpOnly=50&medicalEmpSpouse=0&medicalEmpDependant=0&medicalEmpFamily=0&medicalProvider=0&medicalPremium=0&dentalProvider=DentCo&dentalPremium=500&dentalOccurs=0&dentalKind=1&dentalEmpOnly=0&dentalEmpSpouse=2&dentalEmpDependant=0&dentalEmpFamily=0&dentalProvider=0&dentalPremium=0&longTermProvider=HappCo&longTermPremium=9000&longTermOccurs=1&longTermKind=2&longTermEmpOnly=0&longTermEmpSpouse=0&longTermEmpDependant=0&longTermEmpFamily=0&longTermProvider=0&longTermPremium=0&shortTermProvider=&shortTermPremium=&shortTermOccurs=&shortTermKind=&shortTermEmpOnly=&shortTermEmpSpouse=&shortTermEmpDependant=&shortTermEmpFamily=&shortTermProvider=&shortTermPremium=&lifeProvider=DeathCo&lifePremium=70000&lifeOccurs=1&lifeKind=4&lifeEmpOnly=80&lifeEmpSpouse=2&lifeEmpDependant=0&lifeEmpFamily=0&lifeProvider=0&lifePremium=0 
//var_dump($_POST): 
array(40) { 
    ["medicalProvider"]=> 
    string(1) "0" 
    ["medicalPremium"]=> 
    string(1) "0" 
    ["medicalOccurs"]=> 
    string(1) "0" 
    ["medicalKind"]=> 
    string(1) "0" 
    ["medicalEmpOnly"]=> 
    string(2) "50" 
    ["medicalEmpSpouse"]=> 
    string(1) "0" 
    ["medicalEmpDependant"]=> 
    string(1) "0" 
    ["medicalEmpFamily"]=> 
    string(1) "0" 
    ["dentalProvider"]=> 
    string(1) "0" 
    ["dentalPremium"]=> 
    string(1) "0" 
    ["dentalOccurs"]=> 
    string(1) "0" 
    ["dentalKind"]=> 
    string(1) "1" 
    ["dentalEmpOnly"]=> 
    string(1) "0" 
    ["dentalEmpSpouse"]=> 
    string(1) "2" 
    ["dentalEmpDependant"]=> 
    string(1) "0" 
    ["dentalEmpFamily"]=> 
    string(1) "0" 
    ["longTermProvider"]=> 
    string(1) "0" 
    ["longTermPremium"]=> 
    string(1) "0" 
    ["longTermOccurs"]=> 
    string(1) "1" 
    ["longTermKind"]=> 
    string(1) "2" 
    ["longTermEmpOnly"]=> 
    string(1) "0" 
    ["longTermEmpSpouse"]=> 
    string(1) "0" 
    ["longTermEmpDependant"]=> 
    string(1) "0" 
    ["longTermEmpFamily"]=> 
    string(1) "0" 
    ["shortTermProvider"]=> 
    string(0) "" 
    ["shortTermPremium"]=> 
    string(0) "" 
    ["shortTermOccurs"]=> 
    string(0) "" 
    ["shortTermKind"]=> 
    string(0) "" 
    ["shortTermEmpOnly"]=> 
    string(0) "" 
    ["shortTermEmpSpouse"]=> 
    string(0) "" 
    ["shortTermEmpDependant"]=> 
    string(0) "" 
    ["shortTermEmpFamily"]=> 
    string(0) "" 
    ["lifeProvider"]=> 
    string(1) "0" 
    ["lifePremium"]=> 
    string(1) "0" 
    ["lifeOccurs"]=> 
    string(1) "1" 
    ["lifeKind"]=> 
    string(1) "4" 
    ["lifeEmpOnly"]=> 
    string(2) "80" 
    ["lifeEmpSpouse"]=> 
    string(1) "2" 
    ["lifeEmpDependant"]=> 
    string(1) "0" 
    ["lifeEmpFamily"]=> 
    string(1) "0" 
} 
+0

作爲一個網頁,並從一個真實的形式發佈,而不是使用php://輸入法時,你有同樣的問題嗎? – 2011-05-10 19:55:04

+0

html表單看起來像什麼? – Arjan 2011-05-10 19:57:01

回答

2

medicalProvider被設定兩次。如果您多次使用相同的POST(或GET)變量,則會將其設置爲後者。

+0

對,這絕對是問題所在。謝謝。 – quodlibetor 2011-05-10 20:00:09