统一查询字符串中相同的URL参数

时间:2019-02-03 08:15:28

标签: php url-rewriting get query-string url-parameters

我对php还是很陌生,并且正在研究通过GET方法过滤数据库条目的脚本。提交表单后,我得到如下URL结果(仅query_string):

?mode=compilation&user_filter=Gerhard&user_filter=Harry

出于简短和适合现有脚本的原因,我需要这样精确地设置 格式的URL(没有其他选择):

?mode=compilation&user_filter=Gerhard,Harry

“ user_filter”是过滤变量的名称。另外还有两个名为“ category_filter”和“ tag_filter”的URL,因此URL可能会变得很长。另外,现有的php脚本仅过滤最后一个user_filter参数,而在第二个示例中,该参数仅包含一个user_filter并以逗号分隔值,结果如我所愿进行过滤,并包含用户“ Gerhard”和“哈利”。当我手动输入URL时,此方法可以完美地工作,并且可以与预期的其他两个过滤器变量完美结合,但是我需要对其进行解析/重写并在提交表单时自动发送。这样,用户将能够选择其他名称/类别/标签(在下拉列表中提供),并将它们作为附加的逗号分隔值一一添加到现有参数中。

我想我必须通过$_SERVER['QUERY_STRING']接收字符串,并利用parse_str()或其他方法来操纵它。但是,如何自动将每个附加的相同名称的user_filter-parameter和一个预先存在的user_filter-parameter合并为一个逗号分隔的值数组,并将其发送到页面?
还是还有其他方法?

用户,类别和标签过滤器以三种不同的选择形式提供,每种形式都有其自己的下拉列表和自己的提交按钮。提交后,页面将使用新的URL参数重新加载,并在选择表单下方以额外的html表格显示结果。预先存在的选择通过input type="hidden"(隐藏的输入字段)传递,所有这些都可以正常工作。 如果我有针对用户过滤器的解决方案(例如),我想我也可以为其他两个过滤器变量实现该解决方案。

致谢
牛磺酸

0 个答案:

没有答案