0

我正在测试一些东西。仅当我传递 GET 值时,我想将我的网站 ( http://mywebsite.com ) 重定向到登录页面 ( http://landingpage.com )。例如:id=23。因此,当它存在时,页面会重定向。

我的问题是是否有任何脚本可以捕获我被重定向的列表?我想要完整的链接,例如:http ://mywebsite.com/index.php?id=23

有没有可能捕捉到它?

还有没有可能对 POST 做同样的事情并在登陆页面上捕获该 POST 值?

4

2 回答 2

0

忘记:

您可以简单地附加$_SERVER['QUERY_STRING']到登录页面:

<?php
$get = ($_SERVER['QUERY_STRING']) ? "?".$_SERVER['QUERY_STRING']: "";
$url = 'http://landingpage.com'.$get;
header("Location: $url");
?>

对于 POST:使用 CURL

if($_POST){
$ch = curl_init();
$curlConfig = array(
    CURLOPT_URL => "http://landingpage.com",
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POSTFIELDS     => $_POST,
);
curl_setopt_array($ch, $curlConfig)
$result = curl_exec($ch);
curl_close($ch);
}
于 2013-04-03T16:38:33.780 回答
0

为什么不将数据存储在会话变量中?您所要做的就是在重定向页面上再次启动会话,并在那里检索会话变量。

教程如果你还没有意识到它:http ://www.tizag.com/phpT/phpsessions.php

例如,在 mywebsite.com 上:

session_start();

if (isset($_REQUEST['id'])) {
    $_SESSION['id'] = $_REQUEST['id'];
    $_SESSION['url'] = "http://" . $_SERVER['SERVER_NAME'] . $_SERVER['PHP_SELF']; 
}

在landingpage.com 上:

session_start();

$url = $_SESSION['url'] . '?id=' . $_SESSION['id'];
echo $url;

虽然很确定如果页面存储在两个不同的服务器上,这将不起作用,所以我可能会误解这个问题。如果它在服务器之间,您可以改用 cookie。

于 2013-04-03T16:33:49.710 回答