如何通过php头重定向传递在GET字符串中收到的变量?

use*_*707 13 php variables get header

我在用户提交表单时收到来自Aweber的GET字符串中的值.我将他们发送的变量提交给SMS网关,通过短信通知第三方提交.

这是我的问题.我需要将执行php标头中的传出SMS命令的页面重定向到另一个页面,该页面最终显示从Aweber发送的GET变量.

我可以在第一页中检索变量及其值.如何将它们传递到第二页?

这是我在第一页(sms.php)上使用的代码,用于收集Aweber发送的变量:

   $fname   = $_GET['name'];
   $femail  = $_GET['email'];
   $fphone  = $_GET['telephone'];
   ....etc

   header('Location: confirmed.php');
   exit;
Run Code Online (Sandbox Code Playgroud)

小智 24

首先使用$_GETHTTP 将HTTP变量转换为查询字符串

$query = http_build_query($_GET);
Run Code Online (Sandbox Code Playgroud)

然后将查询字符串变量附加到重定向标头

header('location: domain.com'."?".$query);
Run Code Online (Sandbox Code Playgroud)

完成.


Kal*_*esh 16

session_start();
$_SESSION['fname']   = $_GET['name'];
$_SESSION['femail']  = $_GET['email'];
$_SESSION['fphone']  = $_GET['telephone'];
....etc

header('Location: confirmed.php');
Run Code Online (Sandbox Code Playgroud)

并在下一页得到它,如:

session_start();
$fname   = $_SESSION['fname'];
$femail  = $_SESSION['femail'];
$fphone  = $_SESSION['fphone'];
Run Code Online (Sandbox Code Playgroud)

....等等

  • 或者只是`$ _SESSION ['get'] = $ _GET;` (3认同)

Dje*_*eth 10

您无需将它们存储在会话中,您可以使用您的位置标头轻松传递它们:

$fname   = $_GET['name'];
$femail  = $_GET['email'];
$fphone  = $_GET['telephone'];
//now a header with these var's:
header("Location: confirmed.php?name=".$fname."&email=".$femail."&telephone=".$fphone);
Run Code Online (Sandbox Code Playgroud)

在confirmed.php中,您可以使用$ _GET方法获取这些变量.