我做网址导航,客户要求外链需要统计点击数,所以准备做个页面转发,但发现有些链接的URL是自带参数的,如GOOGLE的IB链接是http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524,如果用$_GET['url']总取不到完整的URL值,郁闷了很久,诚心求解

解决方案 »

  1.   

    这个IB连接里面没有url参数啊,当然取不到值
      

  2.   

    $_GET['url'] 这个是获取get参数,没url 这个键,你啥也没获得。用 server 服务器参数echo $_SERVER['REQUEST_HOST'].$_SERVER['REQUEST_URI'];
      

  3.   

    不是,这个IB链接就是$_GET['url']的值
      

  4.   

    也就是要获取整个 url 了??二楼的可以实现
      

  5.   

    你自己保存文件试试……<?php
    if(empty($_GET))
    {
    echo '<a href="?url=' . urlencode('http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524') . '">click me</a>';
    }
    else
    {
    echo urldecode($_GET['url']);
    }
    ?>
      

  6.   

    也就是要获取整个 url 了??二楼的可以实现
      

  7.   

    http://localhost/xxx.php?url=http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524XXX.PHP,我就写了一行:echo $_GET['url'];想先看下是不是可以取到完整的URL
      

  8.   

    这样做
    <?php
    $string = "http://localhost/url.php?url=http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524";
    $array = explode("url=", $string);
    echo $array[1];
    ?>
      

  9.   

    纠结呢,这么说吧,如果客户要你们统计友情链接的点击次数,而友情链接里面又有这类带参数的URL,你们会怎么做呢
      

  10.   

    试了,可以,单url=后面好像不能给变量
      

  11.   

    看这个地址的后面有:
    client=pub-0194889602661524不知道你的程序里是否用了伪静态。
    如:
    index/htm/id-1123.html
    这种类型的?如果是,那估计你的代码里有:
    $self_array = explode('-',$_SERVER['QUERY_STRING']);
    $s_count=count($self_array);
    for($i=0;$i<$s_count;$i++){
    $_key = $self_array[$i];
    $_value = $self_array[++$i];
    $$_key = addslashes(rawurldecode($_value));
    }
    这种类型的代码。
    如果有的话,那就是这里和你的需求起冲突了。纯熟猜测。!!
      

  12.   


    晕了,说错了,可以给变量,但这个页面能否用GET方式访问呢?怎么做?
      

  13.   


    用smarty生成纯静态,没用过URL编码相关的函数
      

  14.   

    建个1.php
    :
    <?php
    print_r($_GET);
    ?>

    1.php?url=http%3A%2F%2Fwww.google.com.hk%2Fwebhp%3Fprog%3Daff%26client%3Dpub-0194889602661524
    的方式访问,看是否可以打印出参数???可以的话,绝对是你程序的问题。估计是你程序前面什么地方对$_GET参数做了什么处理。
      

  15.   

    不需要用GET访问,你用$_SERVER['REQUEST_URI']可以获取访问你的php程序的原url。
      

  16.   

    汗,用print_r($_GET);可以把完整URL打印出来,搞不懂了Array ( [url] => http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524 )