jQuery字符串无法在PHP中正确解析 [英] JQuery string not parsing correctly in PHP
本文介绍了jQuery字符串无法在PHP中正确解析的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在以前的文章中,我询问了如何反序列化JQuery字符串,并被告知要使用parse_str().但是,直到后来我才发布代码.所以,这是我的JQuery字符串:
In a previous post, I asked about how to deserialize a JQuery string, and was told to use parse_str(). However, I didn't post my code until later. So, here is my JQuery string:
age_gender=1&age_gender=2&age_gender=3&age_gender=4&age_gender=5&age_gender=6
这是我的PHP代码:
if(isset($_POST['age_gender'])) {
$formSerialized = $_POST['age_gender'];
$formData = array();
parse_str($formSerialized, $formData);
addRow($formData, $link);
}
function addRow($dataArray, $link) {
$age_group = $dataArray[0];
$populations = array(intval($dataArray[1]) + intval($dataArray[2]), intval($dataArray[1]), intval($dataArray[2]));
$percents = array(doubleval($dataArray[3]) + doubleval($dataArray[4]), doubleval($dataArray[3]), doubleval($dataArray[4]));
$m_per_100_f = doubleval($dataArray[6]);
$query = "INSERT INTO national_age_gender_demographics (age_group, both_pop, male_pop, female_pop, both_percent, male_percent, female_percent, males_per_100_females)
VALUES ('$age_group','$populations[0]','$populations[1]','$populations[2]','$percents[0]','$percents[1]','$percents[2]','$m_per_100_f')";
$result = mysqli_query($link,$query);
if(!$result) die( "Query: " . $query . "\nError:" . mysql_error() );
}
由于某种原因,我在$ age_group中得到了一个空白字符串,对于所有其他值都得到了0.有人可以在这里帮助我吗?
For some reason, I am getting a blank string for $age_group, and 0's for all other values. Could anyone help me here?
推荐答案
尝试像这样传递数据:
age_gender[]=1&age_gender[]=2&age_gender[]=3&age_gender[]=4&age_gender[]=5&age_gender[]=6
在名称后记下'[]'
,如果它们来自html输入,则只需将html输入命名为age_gender[]
.
然后您的功能addRow应该看起来像:
note the '[]'
after the name, if they come from html input you would just have to name your html input age_gender[]
.
Then you function addRow should look like:
function addRow($dataArray, $link) {
$dataArray = $dataArray['age_gender'];//Added this line
$age_group = $dataArray[0];
$populations = array(intval($dataArray[1]) + intval($dataArray[2]), intval($dataArray[1]), intval($dataArray[2]));
$percents = array(doubleval($dataArray[3]) + doubleval($dataArray[4]), doubleval($dataArray[3]), doubleval($dataArray[4]));
$m_per_100_f = doubleval($dataArray[6]);
$query = "INSERT INTO national_age_gender_demographics (age_group, both_pop, male_pop, female_pop, both_percent, male_percent, female_percent, males_per_100_females)
VALUES ('$age_group','$populations[0]','$populations[1]','$populations[2]','$percents[0]','$percents[1]','$percents[2]','$m_per_100_f')";
$result = mysqli_query($link,$query);
if(!$result) die( "Query: " . $query . "\nError:" . mysql_error() );
}
这篇关于jQuery字符串无法在PHP中正确解析的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文