PHP调用新浪API并JS自动跳转城市带Cookie记忆功能

因为工作做的是全国性的网站,所以要做一个根据客户端IP所在的城市,提示用户并自动跳转到所对应城市的分站点的功能。
实现起来非常的简单,主要就是获取客户端的IP地址,然后进行判断IP所在地,以前有人写过,都是用的”纯真IP数据库”,不过这种办法以后如果有新增的内容还得自己去修改,所以偷懒了一下,利用新浪的API进行判断城市,哈哈,懒人必备呀。判断完城市后提示用户所在城市,并进行JS自动跳转到分站的URL地址。还有Cookie功能。
注:本人也是菜鸟,昨天发布的方法有错误,今天修改了一下,并去掉js做跳转,改用PHP的header函数。代码写的很罗嗦,所以只是提供一共思路。老鸟飞过!
演示网址:http://www.2tblog.com/code/js/SimMan_Ip_Tz.php

下面是代码,大家可以看下。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312" /> <title>PHP调用新浪API并JS自动跳转城市带Cookie记忆功能-李伟的博客</title> <style type="text/css"> body{ text-align:center;font:normal 12px Arial;color:#333;} a:link,a:visited{color:#669900; text-decoration:none;} a:hover{color:#FF0000; text-decoration:underline;} #wrap{width:300px;margin:60px auto;padding:16px;border:1px dashed #ccc;} #wrap h3{font:bold 18px Aria;color:#333;} #lh{margin-top:24px;padding-top:12px;border-top:1px solid #eee;} #lh a:link,#lh a:visited{color:#6666; text-decoration:none;} #lh a:hover{color:#FF0000; text-decoration:underline;} </style> </head> <body> <div id="wrap"> <?php setcookie("mycity","",time() - 3600); //exit; ?> <?php if (isset($_COOKIE['mycity'])){ $myipd=$_COOKIE['mycity']; switch($myipd){ case 北京; $myipd = bj; break; case 上海; $myipd = sh; break; case 广州; $myipd = gz; break; } header("Refresh: 0 ; URL=http://www.2tblog.com/?city=$myipd"); exit; }else{ $IP_ip=$_SERVER["REMOTE_ADDR"]; $IP_str=file_get_contents('http://int.dpool.sina.com.cn/iplookup/iplookup.php?ip='.$IP_ip); $IP_tmp = explode(" ", $IP_str); $IP_city=$IP_tmp[5]; $IP_city1=$IP_tmp[5]; $expire=time()+60*60*24; setcookie('mycity', $IP_city, $expire); switch($IP_city){ case 北京; $IP_city = bj; break; case 上海; $IP_city = sh; break; case 广州; $IP_city = gz; break; } ?> <h3>当前所在城市: <a href="http://www.2tblog.com?city=<?php echo $IP_city?>"><?php echo $IP_city1?></a></h3> <center style="margin-top:50px;">网站正在跳转到 <span style="color:red"> <?php echo $IP_city1?> 站</span>,请稍等……</center> <?php echo header("Refresh: 2 ; URL=http://www.2tblog.com/?city=$IP_city");?> <?php } ?> <p id="lh"> </p> </div> </body> </html>

转载于:https://www.cnblogs.com/simman/archive/2011/07/15/2240678.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值