php 来访国内外IP判断代码并实现页面跳转
我大概构思了一下,有两个方案:
1. Javascript判断来访者的浏览器语言,如果是中文系统,自然使用者都是中国人,跳中文网站;
如果是非中文系统,默认使用者非中国人,跳英文网站。
优点:判断反映速度快。
缺点:不准确,有可能中国用户喜欢用英文版系统,或者外国人使用中文系统的情况。
代码
<script type="text/javascript" language="javascript"> var Browser_Agent=navigator.userAgent; //浏览器为ie的情况 if(Browser_Agent.indexOf("MSIE")!=-1){ var a=navigator.browserLanguage; if(a !="zh-cn"){ location.href="英文网站"; } } //浏览器非ie的情况 else{ var b=navigator.language; if(b!="zh-CN"){ location.href="英文网站"; } } </script>
2.使用IP库来进行来访IP的判断
优点:判断准确。
缺点:响应速度没Javascript快。
需要引用一个PHP的IP库 ip_php.zip
我在网站头部引用jquery进行判断
<script type="text/javascript" src="/js/jquery-1.3.2.min.js"></script> <script type="text/javascript" language="javascript"> function initurl() { $.ajax({ type:"GET", url:"checkip.php", dataType:"html", data:"&time="+new Date(), cache: false, async: false, beforeSend:function(XMLHttpRequest) { }, success:function(msg) { //如果返回值为1表示访问者为中国地区的ip if(msg == 1){ //alert('I am China ip'); } else { //alert('I am not China ip'); location.href="英文网站"; } }, complete:function(XMLHttpRequest,textStatus) { }, error:function() { } }); } </script> <body onload="initurl()"> ... </body>
checkip.php页面的代码:
$userip=$_SERVER['REMOTE_ADDR']; //引用ip库的文件 把ip.zip里的全部文件放在lib目录下 include_once('/lib/iplimit.class.php'); $iplimit = new iplimit; if($iplimit->setup($userip)) { echo 1; } else { echo 2; }
两种方法都可以完美实现判断来访IP,选择哪种就看你的具体需求了。
相关推荐
-
网站页面自动跳转实现方法PHP、JSP(下)
本文讨论网页自动跳转的几种实现方法.方法一:使用meta标签meta标签是html不可或缺的标签之一,它负责提供文档的元信息,其参数主要有: ① http-equiv: 与 文档中数据相关的HTTP文件首部 ② content: 与命名HTTP首部相关的数据 ③ name: 文档描述 ④ url: 与元信息相联系的URL当我们定义属性http-equiv为refresh,打开此Web页时系统将根据content规定的值在一定时间内跳转到相应页面,content="秒数;url=网址"就
-
PHP中根据IP地址判断城市实现城市切换或跳转代码
获取IP地址 复制代码 代码如下: <?phpfunction GetIP() { if ($_SERVER["HTTP_X_FORWARDED_FOR"]) $ip = $_SERVER["HTTP_X_FORWARDED_FOR"]; else if ($_SERVER["HTTP_CLIENT_IP"]) $ip = $_SERVER["HTTP_CLIENT_IP"];
-
PHP跳转页面的几种实现方法详解
•PHP页面跳转一.header()函数header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器.header()函数的定义如下:void header (string string [,bool replace [,int http_response_code]])可选参数replace指明是替换前一条类似标头还是添加一条相同类型的标头,默认为替换.第二个可选参数http_response_code强制将HT
-
php实现的仿阿里巴巴实现同类产品翻页
如果左边的记录条数小于$space(页码区段)的值,页码$start从1开始向右增值.如果左则的记录条数多于$left(左右各显示页数)的值,$start将从左边记录数减去$left值开始记数. 复制代码 代码如下: <?php /** 实现同类产品翻页 **/ class pager { protected $space; protected $left; protected $DB; protected $pageName; public function setSpace($num) {
-
php中文本数据翻页(留言本翻页)
在mysq中介绍翻页的文章不少,而文本数据表格式的翻页介绍的很少,这里我就简单的说一下翻页 主要介绍以下翻页思想1.留言本的翻页2.文本论坛的翻页 ------------------------留言本的翻页:------------------------------这个在文本数据表中的翻页是最简单的翻页,这样说明一下 golbal file Data.dat --- NOTE FILE USE user.dat --- Forum File useDat
-
浅析php header 跳转
PHP的header函数 可以很少代码就能实现HTML代码中META 标签这里只说用 header函数来做页面的跳转 1. HTML代码中页面的跳转的代码HTML meta refresh 刷新与跳转(重定向)页面refresh 属性值 -- 刷新与跳转(重定向)页面* refresh用于刷新与跳转(重定向)页面* refresh出现在http-equiv属性中,使用content属性表示刷新或跳转的开始时间与跳转的网址* 引用网址:http://www.dreamdu.com/xhtml/re
-
PHP弹出提示框并跳转到新页面即重定向到新页面
这两天写一个demo,需要用到提示并跳转,主要页面要求不高,觉得没必要使用AJAX,JS等,于是研究了下怎么在PHP提示并跳转. 开始先是用了下面这种: 复制代码 代码如下: echo "<script> alert('sucess');parent.location.href='/user/index'; </script>"; alert里面是提示的消息,href是提示后跳转的页面. 后来想起TP框架里面有个redirect()重定向的方法,就去看了看. 不
-
php+js iframe实现上传头像界面无跳转
上传头像,界面无跳转的方式很多,我用的是加个iframe那种.下面直接上代码. html: 复制代码 代码如下: //route 为后端接口 //upload/avatar 为上传的头像的保存地址 //imgurl=/upload/avatar/<?=$uid?> 这里最后的<?=$uid?>是为了后面用js实现即时显示最新的更换后的头像用的,参照下面的js部分的代码 //头像保存名称为uid.type,如1.jpg,2.png等 //$user['avatar'] 用户如果上传过
-
php用header函数实现301跳转代码实例
PHP 301跳转的小代码 复制代码 代码如下: <?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host !== 'www.jb51.net') { //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; header('HT
-
php 随机数的产生、页面跳转、件读写、文件重命名、switch语句
复制代码 代码如下: <?php num = rand(1,5); witch($num){ case 1: $fp1=fopen("f1.dat",'r'); $oname = fgets($fp1); $nname = date("YmdHis"); rename($oname,$nname); fclose($fp1); unlink("f1.dat"); $fp1=fopen("f1.dat",'w'); fwr
-
PHP 翻页 实例代码
复制代码 代码如下: <?php class Page { private $pageSize;//每一页多少行 private $absolutePage;//当前页 private $pageCount;//总页码数 private $totalNum;//总行数 private $prePage;//上一页 private $nextPage; //下一页 private $sqlStr; private $baseUrl; //不带GET参数的URL get传输网址 function _
-
一个很不错的PHP翻页类
复制代码 代码如下: <?php /* * Created on 2007-6-8 * Programmer : Alan , Msn - haowubai@hotmail.com * PHP100.com Develop a project PHP - MySQL - Apache * Window - Preferences - PHPeclipse - PHP - Code Templates */ //为了避免重复包含文件而造成错误,加了判断函数是否存在的条件: if(!function
-
ThinkPHP页面跳转success与error方法概述
ThinkPHP自身提供了success方法与error方法用于实现带提示信息的页面跳转功能,可实现添加数据后显示提示信息并跳转的效果.success 方法用于操作成功后的提示,error 用于操作失败后的提示,二者使用方法完全一致,下面以success 方法来进行说明. 1.success方法 success方法语法如下: success(message, ajax) 参数说明message可选.页面提示信息.ajax可选.是否AJAX 方式提交,默认为false . 如果是AJAX 方
-
ThinkPHP跳转页success及error模板实例教程
本文以实例讲解了ThinkPHP跳转页面的success与error方法所对应的视图与控制器的实现方法,通过本实例教程可以帮助读者更好的掌握success方法与error方法的使用. 首先是控制器中,可以使用下代码: <?php // 本文档自动生成,仅供测试运行 class IndexAction extends Action { /** +---------------------------------------------------------- * 默认操作 +----------
-
网站页面自动跳转实现方法PHP、JSP(上)
通常情况下,浏览器会收到一个网页,该页面含有自动加载一其它网页的代码.该页面有可能在服务器端被转换,这样的话,浏览器只收到一个页面,而自动转向往往意味着浏览器收到的页面具有自动将访问用户送至其它页面的功能. 对自动转向技术的合理应用包括:将用户转向到指定浏览器的网页版本:当网站的域名变更或删除后将人们转向到新域名下,等等.但现在这种技术却往往被搜索引擎优化人士用来作为提高网站的搜索引擎排名的一种手段.例如,先专门针对搜索引擎做一个高度优化的网页,也就是我们通常所说的"桥页",然后把这个
-
PHP Header用于页面跳转要注意的几个问题总结
1.header()函数 header()函数是PHP中进行页面跳转的一种十分简单的方法.header()函数的主要功能是将HTTP协议标头(header)输出到浏览器. header()函数的定义如下: void header (string string [,bool replace [,int http_response_code]]) 可选参数replace指明是替换前一条类似标头还是添加一条相(www.jb51.net)同类型的标头,默认为替换. 第二个可选参数http_respons
-
实现网页页面跳转的几种方法(meta标签、js实现、php实现)
1.meta标签实现 只需在head里加上下面这一句就行了,在当前页面停留0.1秒后跳转到目标页面 复制代码 代码如下: <meta http-equiv="refresh" content="0.1; url=http://jb51.net/"> 2.Javascript实现 方法一: 这个方法比较常用 复制代码 代码如下: window.location.href = "http://jb51.net/"; 方法二: 复制代码 代
-
php页面跳转代码 输入网址跳转到你定义的页面
代码很简单,涉及到header函数的使用,代码如下 复制代码 代码如下: <?php if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) { $uri = 'https://'; } else { $uri = 'http://'; } $uri .= $_SERVER['HTTP_HOST']; header('Location: '.$uri.'/demo/'); exit; ?> 代码解释 :我先判断
-
ThinkPHP访问不存在的模块跳转到404页面的方法
首先在ACTION中新建一个文件EmptyAction.class.php,其代码如下: <?php class EmptyAction extends Action{ function _empty(){ header("HTTP/1.0 404 Not Found");//使HTTP返回404状态码 $this->display("Public:404"); } } ?> 使用apache服务器的情况下需在apache中的网站配置中加入 Err
-
PHP 页面跳转到另一个页面的多种方法方法总结
一.用HTTP头信息 也就是用PHP的HEADER函数.PHP里的HEADER函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("Context-type: xxx/xxx"),页面的属性("No cache", "Expire")等等. 用HTTP头信息重定向到另外一个页面的方法如下: 复制代码 代码如下: <? if (isset($url)) { Header("HTT
-
PHP 登录完成后如何跳转上一访问页面
项目需求 访问网站页面时,有的页面需要授权才能访问,这时候就会要求用户登录,跳转到登录页面login.php,怎么实现登录后返回到刚才访问的页面. 解决思路1: 在跳转到登录页面之前要将当前访问页面的url保存到cookie里面,登录验证授权通过后,从cookie中取出这个url值,跳转到该url指定的页面. 具体实现 我现在的程序是基于ThinkPHP框架的,我们会有一个父类控制器,下面我就把这个设置cookie的代码加到这个BaseAction里面的_initialize()函数中,这样程序
-
php URL跳转代码 减少外链
URL跳转代码 1.代码: <? $url=$_GET["url"];header("Location:"."http://".$url);?> 如保存为aaa.php,可以实现aaa.php?url=www.baidu.com跳转到百度的效果. 这个简单的调用了默认的$_GET变量.以及php默认跳转Location: 2.实例升级:增加if循环 代码: 复制代码 代码如下: <? $url=$_GET["url&q
-
PHP翻页跳转功能实现方法
我们都知道用php+mysql在web 页实现数据库资料全部显示是非常简单而有趣的,数据库资料很少的情况下页面显示还是让人满意的,但是当数据库资料非常多的情况下,页面的显示情况将会变的非常糟糕,下面就来介绍一下如何实现当前页面数据资料显示数量及如何实现动态的翻转功能. 这里将介绍两种翻页显示功能的实现: 先介绍一下在翻页中用到的数据库语法: mysql_query("select * from table order by id desc"); 这条数据库语句再熟悉不过了,是用来搜索记
-
PHP使用CURL获取302跳转后的地址实例
直接上代码: 复制代码 代码如下: /*返回一个302地址*/ function curl_post_302($url, $vars) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, 1); c
-
php download.php实现代码 跳转到下载文件(response.redirect)
跳转核心代码实现. 复制代码 代码如下: if (isset($link)) { Header("HTTP/1.1 303 See Other"); Header("Location: $link"); exit; } 下面是国外的一篇文章说明.Hey Chris: On Wed, J
-
PHP 长文章分页函数 带使用方法,不会分割段落,翻页在底部
复制代码 代码如下: <?php function ff_page($content,$page) { global $expert_id; $PageLength = 2000; //每页字数 $CLength = strlen($content); $PageCount = floor(($CLength / $PageLength)) + 1; //计算页数 $PageArray=array(); $Seperator = array("\n","\r"
随机推荐
- Win10上VMware workstation安装图文教程
- php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
- 迅速删除非法文件名的批处理代码
- perl处理csv文件的小例子
- 扩展 Entity Framework支持复杂的过滤条件(多个关键字模糊匹配)
- asp.net中url地址传送中文参数时的两种解决方案
- asp.net textarea换行函数代码
- PHP iconv 解决utf-8和gb2312编码转换问题
- PHP获取文件扩展名的方法实例总结
- Java的布尔类型基本介绍
- 基于MySQL游标的具体使用详解
- 基于startActivityForResult方法处理两个Activity之间数据传递问题
- iOS实现动态元素的引导图效果
- C++ 构造函数中使用new时注意事项
- 抽取10万条数据,想起GetRows()
- C#自定义事件及用法实例
- EasyUI Datebox 日期验证之开始日期小于结束时间
- JS方法调用括号的问题探讨
- 阿里云服务器yum源更新问题从何而来
- Ubuntu 12.04 64位 对Python 源代码编译详解