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

PHP如何通过URL传递多个变量?单变量传递已实现

多变量通过URL跳转传递的实现方法

问题背景

因include功能无法正常使用,采用URL跳转方式在脚本间传递变量,单变量传递可正常运行:

  • Skript 1 代码:
$QT = $_POST["QT"];
header("location: ../main/Skript2.php/?number=$QT");
  • Skript 2 代码:
<?php
$QT = $_GET['number'];
echo $QT;
?>

但尝试传递多个变量时写法错误导致失效,错误写法:

header("location: ../main/ProcessOrder.php/?number=$QT/url=$var2");

解决方案

URL中多个GET变量的分隔符是&,不是/,同时为避免变量值包含特殊字符导致传递异常,建议对变量值做URL编码处理(使用urlencode()函数)。

正确的Skript 1 写法:

$QT = $_POST["QT"];
$var2 = "你的第二个变量值";
// 对变量值进行URL编码
$encoded_QT = urlencode($QT);
$encoded_var2 = urlencode($var2);
// 使用&分隔多个GET参数
header("location: ../main/ProcessOrder.php?number=$encoded_QT&url=$encoded_var2");
exit; // 跳转后终止脚本执行,避免后续代码运行

目标脚本(ProcessOrder.php)接收变量的写法:

<?php
$QT = $_GET['number'];
$var2 = $_GET['url'];
// 按需处理变量值
echo $QT . "<br>" . $var2;
?>

注意事项

  • 多个GET参数必须用&分隔,标准格式为?参数1=值1&参数2=值2
  • 变量值包含空格、&、=等特殊字符时,必须用urlencode()编码,否则会引发参数传递错误
  • 执行header("location: ...")后,一定要添加exit;或die();,防止脚本继续执行后续代码

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 21:50:53