PHP $ _POST填充不正确

时间:2011-05-10 19:52:58

标签: php post

所以我在网站上提交了一些表格,(通过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"
}

1 个答案:

答案 0 :(得分:2)

medicalProvider正在设置两次。如果您有多次使用相同的POST(或GET)变量,则将其设置为后者。