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>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值