1

到目前为止,我可以将第一个 URL 参数及其值放入变量中 - 从子(iframed)页面。

例如http://google.com/?x=123 我可以得到 x=123

我已将此代码用于 iframed 页面(子)。

<?php
   //Getting the parent window parameters
    $getURLVar = str_replace("?","",strrchr($_SERVER['HTTP_REFERER'],"?"));
    $getURLVar = str_replace("&","=",$getURLVar);
    $getURLVar = str_getcsv($getURLVar,"=");
    $i=0;
    foreach ($getURLVar as $value)
      {
        if ($i % 4)
            $value1[$i]=$value;

        else
            $value2[$i]=$value;


        $i++;
      } 
   // $getURLVar =array_combine($value2,$value1);


    //print_r($getURLVar);

list($v1, $v2) = $getURLVar;
 echo "$v1";

echo "$v2";


    ?>

问题:如果我有超过 1 个参数怎么办?例如http://google.com/&x=234&results=10

请帮我修改以上内容以支持超过 1 个参数。

谢谢

4

1 回答 1

4

使用http://www.php.net/manual/function.parse-str.phphttp://www.php.net/manual/function.parse-url.php来解析 HTTP_REFERER。

//编辑:

$referer = 'http://www.google.de/?q=test&foo=bar&blub=bla';

$url = parse_url($referer);

print_r($url);

if(!empty($url['query'])){
    parse_str($url['query'], $query_params);
    print_r($query_params);
}

也许您应该阅读有关基础知识的更多信息...

于 2013-04-19T13:13:15.587 回答