#php #post
#php #Публикация
Вопрос:
Итак, я отправляю некоторые формы на веб-сайт (через jQuery.post) и пытаюсь проанализировать результаты. Это работает для простых вещей, но в моей реальной форме многие значения заполняются строковыми нулями. Так, например, medicalProvider=MediCo
становится $_POST['medicalProvider']="0"
.
Эта страница отлично работает с более короткими строками POST, и раньше она отлично работала с этой точной формой, но я не трогал конфигурацию, поэтому я не знаю, в чем проблема.
Вот результаты readfile('php://input')
и var_dump($_POST)
, буквально первые две строки файла:
// readfile('php://input'):
medicalProvider=MediCoamp;medicalPremium=7000amp;medicalOccurs=0amp;medicalKind=0amp;medicalEmpOnly=50amp;medicalEmpSpouse=0amp;medicalEmpDependant=0amp;medicalEmpFamily=0amp;medicalProvider=0amp;medicalPremium=0amp;dentalProvider=DentCoamp;dentalPremium=500amp;dentalOccurs=0amp;dentalKind=1amp;dentalEmpOnly=0amp;dentalEmpSpouse=2amp;dentalEmpDependant=0amp;dentalEmpFamily=0amp;dentalProvider=0amp;dentalPremium=0amp;longTermProvider=HappCoamp;longTermPremium=9000amp;longTermOccurs=1amp;longTermKind=2amp;longTermEmpOnly=0amp;longTermEmpSpouse=0amp;longTermEmpDependant=0amp;longTermEmpFamily=0amp;longTermProvider=0amp;longTermPremium=0amp;shortTermProvider=amp;shortTermPremium=amp;shortTermOccurs=amp;shortTermKind=amp;shortTermEmpOnly=amp;shortTermEmpSpouse=amp;shortTermEmpDependant=amp;shortTermEmpFamily=amp;shortTermProvider=amp;shortTermPremium=amp;lifeProvider=DeathCoamp;lifePremium=70000amp;lifeOccurs=1amp;lifeKind=4amp;lifeEmpOnly=80amp;lifeEmpSpouse=2amp;lifeEmpDependant=0amp;lifeEmpFamily=0amp;lifeProvider=0amp;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. Возникает ли у вас такая же проблема при использовании веб-страницы и публикации из реальной формы вместо использования метода ввода php: //?
2. Как выглядит HTML-форма?
Ответ №1:
medicalProvider устанавливается дважды. Если у вас одна и та же переменная POST (или GET) более одного раза, для нее устанавливается последняя.
Комментарии:
1. Верно, это определенно проблема. Спасибо.