郁闷,再开个高分贴,详细说下URL取值的问题 我做网址导航,客户要求外链需要统计点击数,所以准备做个页面转发,但发现有些链接的URL是自带参数的,如GOOGLE的IB链接是http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524,如果用$_GET['url']总取不到完整的URL值,郁闷了很久,诚心求解 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个IB连接里面没有url参数啊,当然取不到值 $_GET['url'] 这个是获取get参数,没url 这个键,你啥也没获得。用 server 服务器参数echo $_SERVER['REQUEST_HOST'].$_SERVER['REQUEST_URI']; 不是,这个IB链接就是$_GET['url']的值 也就是要获取整个 url 了??二楼的可以实现 你自己保存文件试试……<?phpif(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']);}?> 也就是要获取整个 url 了??二楼的可以实现 http://localhost/xxx.php?url=http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524XXX.PHP,我就写了一行:echo $_GET['url'];想先看下是不是可以取到完整的URL 这样做<?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];?> 纠结呢,这么说吧,如果客户要你们统计友情链接的点击次数,而友情链接里面又有这类带参数的URL,你们会怎么做呢 试了,可以,单url=后面好像不能给变量 看这个地址的后面有: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));}这种类型的代码。如果有的话,那就是这里和你的需求起冲突了。纯熟猜测。!! 晕了,说错了,可以给变量,但这个页面能否用GET方式访问呢?怎么做? 用smarty生成纯静态,没用过URL编码相关的函数 建个1.php:<?phpprint_r($_GET);?>以1.php?url=http%3A%2F%2Fwww.google.com.hk%2Fwebhp%3Fprog%3Daff%26client%3Dpub-0194889602661524的方式访问,看是否可以打印出参数???可以的话,绝对是你程序的问题。估计是你程序前面什么地方对$_GET参数做了什么处理。 不需要用GET访问,你用$_SERVER['REQUEST_URI']可以获取访问你的php程序的原url。 汗,用print_r($_GET);可以把完整URL打印出来,搞不懂了Array ( [url] => http://www.google.com.hk/webhp?prog=aff&client=pub-0194889602661524 ) 下一步该干嘛 一个小问题 aparche的设置问题? 深圳·急招PHP程序员(请版本保留一天,多谢!) 急求问号解决方法??? array_key_exists()如何配合switch()使用 请问哪位有PHP4.3.0以上的版本??或者下载地址。请告之。谢谢!!急!!!在线等!! php4+apache+mysql在2000下配置运行出现的问题,急等解决 phplib 中的 Template 的一个小问题? thinkph如何判断是否有图片上传? php中设置include_path跟apache中设置include_path有什么区别 处理一个二维数组的问题
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']);
}
?>
<?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];
?>
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));
}
这种类型的代码。
如果有的话,那就是这里和你的需求起冲突了。纯熟猜测。!!
晕了,说错了,可以给变量,但这个页面能否用GET方式访问呢?怎么做?
用smarty生成纯静态,没用过URL编码相关的函数
:
<?php
print_r($_GET);
?>
以
1.php?url=http%3A%2F%2Fwww.google.com.hk%2Fwebhp%3Fprog%3Daff%26client%3Dpub-0194889602661524
的方式访问,看是否可以打印出参数???可以的话,绝对是你程序的问题。估计是你程序前面什么地方对$_GET参数做了什么处理。