You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在URL中添加多个GET参数且不丢失原有参数

错误原因

你当前的写法不符合URL查询参数的规范:URL中仅能使用1个?标识查询字符串的起始位置,多个参数之间需要用&拼接,你的写法用了两个?,会导致服务端无法正常识别第二个参数。

解决方法

1. 直接修改拼接符号(简单场景快速修复)

把第二个参数前的?替换为&即可,修改后的正确URL为:
http://www.c.com/app.php?doctor_id=12&appoin_date=11pm

2. 用PHP内置函数实现动态拼接(推荐,适用于复杂场景)

如果参数是动态获取、或者现有参数数量不固定,推荐用http_build_query函数自动处理参数拼接,完全避免符号错误,也不会丢失已有参数,示例代码如下:

// 读取当前URL中已有的所有GET参数
$params = $_GET;
// 新增需要传递的预约时间参数
$params['appoin_date'] = '11pm';
// 自动生成符合规范的查询字符串
$queryString = http_build_query($params);
// 拼接为完整的跳转URL,执行跳转
header('Location: http://www.c.com/app.php?' . $queryString);
exit();
额外提示
  • 如果参数值包含中文、特殊符号,http_build_query会自动做URL编码,不需要手动处理
  • 执行header跳转前不要有任何内容输出(包括空格、HTML标签等),否则会触发 headers already sent 错误

内容的提问来源于stack exchange,提问作者user15950411

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:42:03