我正在测试一些东西。我想在我传递GET值时将我的网站(http://mywebsite.com)重定向到目标网页(http://landingpage.com)。例如:id = 23。所以当它存在时,页面会重定向。
我的问题是,是否有任何脚本可以捕获我重定向的列表?我想要完整的链接,例如:http://mywebsite.com/index.php?id=23
是否有可能捕捉到它?
也有可能对POST做同样的事情并在登陆页面上捕获POST值吗?
答案 0 :(得分: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。
答案 1 :(得分:0)
FOR GET:
您只需将$_SERVER['QUERY_STRING']
附加到目标网页:
<?php
$get = ($_SERVER['QUERY_STRING']) ? "?".$_SERVER['QUERY_STRING']: "";
$url = 'http://landingpage.com'.$get;
header("Location: $url");
?>
FOR 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);
}