捕获原始URL的GET / POST值?

时间:2013-04-03 16:08:35

标签: php javascript html

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

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

是否有可能捕捉到它?

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

2 个答案:

答案 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);
}