糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > php获取多个参数值 php-获取多个过滤器值参数

php获取多个参数值 php-获取多个过滤器值参数

时间:2021-06-11 22:18:52

相关推荐

php获取多个参数值 php-获取多个过滤器值参数

我正在使用此SO question来使用复选框处理过滤器搜索.

这是JS

$('input[type="checkbox"]').on('change', function (e) {

var data = {},

fdata = [],

loc = $('', { href: window.location })[0];

$('input[type="checkbox"]').each(function (i) {

if (this.checked) {

if (!data.hasOwnProperty(this.name)) {

data[this.name] = [];

}

data[this.name].push(this.value);

}

});

// get all keys.

var keys = Object.keys(data);

var fdata = "";

// iterate over them and create the fdata

keys.forEach(function(key,i){

if (i>0) fdata += '&'; // if its not the first key add &

fdata += key+"="+data[key].join(',');

});

$.ajax({

type: "get",

url: "/ajax/get",

data: {

"_token": "{{ csrf_token() }}",

"fdata": fdata

},

success: function (response) {

$('#d2d-results').html(response);

}

});

if (history.pushState) {

history.pushState(null, null, loc.pathname + '?' + fdata);

}

});

现在,我尝试将fdata的价值传递给PHP.

在PHP上,我得到了变量echo $_GET [‘fdata’];的以下值:

discount=Y&brand=BR0006,BR0003

我想要的是

$discount="Y";

$brand="BR0006,BR0003";

有可能这样做吗?

解决方法:

若要执行您想要的,您必须执行两个步骤:

> parse将查询字符串转换为数组:

parse_str($_GET['fdata'], $result);

>然后,将数组extract作为变量:

extract($result);

注意事项:

使用提取物是非常不安全的(而且有些丑陋).用户可以在URL中输入诸如isAdmin = 1之类的内容,这将影响您的代码.基本上,您不能再信任变量了.

我将跳过步骤2(提取内容),直接使用$result,例如echo $result [‘discount’].

标签:query-string,php

来源: https://codeday.me/bug/1025/1927148.html

如果觉得《php获取多个参数值 php-获取多个过滤器值参数》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。