本文目录一览:
根据不同ip段 网站如何 来显示不同的内容(php)
我仔细分析一下你的问题
1.首先要建一个IP对应学校的表realation
主要字段有id(自动增加),ip,school_name
然后你就将你知道的IP地址和学校输入到此表中!
如:1 58.240.89.1 中华大学
2.这样你在页面获得访问者的IP地址语句如下:
if(getenv('HTTP_CLIENT_IP')) {
$client_ip = getenv('HTTP_CLIENT_IP');
} elseif(getenv('HTTP_X_FORWARDED_FOR')) {
$client_ip = getenv('HTTP_X_FORWARDED_FOR');
} elseif(getenv('REMOTE_ADDR')) {
$client_ip = getenv('REMOTE_ADDR');
} else {
$client_ip = $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
不能单单只使用getenv('REMOTE_ADDR')获得IP,因为有客户会使用代理服务器...
3.查询数据库,获取表中记录语句如下:
$link = mysql_connect("localhost", "数据库用户名", "数据库密码");//连接数据库
mysql_select_db("你的数据库");//选择数据库
$sql="select * from relation";
$set=mysql_query($sql);
//$row=mysql_fetch_arry($set); 得出所有记录!
4.这个时候可以循环进行判断了
while ($row = mysql_fetch_array($set)) {
if($clinet_IP==$row['ip']){
echo "欢迎".row['school_name']."的同学来光临!"
}
}
php根据来访者不同IP显示不同内容
像你这样为每个ip访问者保存一份搜索记录,这样太耗费资源了。因为访问者的IP是会变的,而且访问者多的话,这样记录是会死人的,如果你要是想做的话,建个访问记录表就可以了,不用每个ip建个表,字段有:访问者ip,访问者输入的关键词。没见过你这样按访问者Ip来记录搜索数据的,一般搞个热搜关键词、跟地区有关的关键词就可以了。
php程序 js判断ip地区根据不同ip输出不同内容(商务通代码)
不建议使用js进行这个处理,你这样做的话完整过程为
1. 用户访问php页面
2. 服务端输出html
3. 浏览器运行js检查ip所属区域
4. ajax方式提交区域信息给服务器
5. 服务器返回查询结果
6. js将查询结果显示到当前页面
你想想这要多长时间。因此最好是php端直接判断区域,然后直接查询并输出就行了。
提供一个php写的函数,如果有用望采纳
function getCityByUserIp() {
$ip = false;
if (isset($_SERVER)){
if (isset($_SERVER["HTTP_X_FORWARDED_FOR"])){
$ip = $_SERVER["HTTP_X_FORWARDED_FOR"];
} else if (isset($_SERVER["HTTP_CLIENT_IP"])) {
$ip = $_SERVER["HTTP_CLIENT_IP"];
} else {
$ip = $_SERVER["REMOTE_ADDR"];
}
} else {
if (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
} else {
$ip = getenv("REMOTE_ADDR");
}
}
if (false === $ip) {
return false;
}
$file = fopen(';ip=' . $ip, 'r');
$content = fread($file, 1024);
fclose($file);
if (! preg_match("/^var remote_ip_info = (\\{[^\\}]+\\});$/", $content, $_match)) {
return false;
}
$ipInfo = json_decode($_match[1]);
return $ipInfo;
}
返回的数组中包括 country, province, city等,如果返回false表示无法获得ip或该ip没有在大陆地区匹配的记录(港澳台似乎有province,但是没有city)。