我仔细分析一下你的问题
①首先要建一个IP对应学校的表realation
主要字段有id(自动增加),ip,school_name
然后你就将你知道的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,因为有客户会使用代理服务器...
$link = mysql_connect("localhost", "数据库用户名", "数据库密码");//连接数据库
mysql_select_db("你的数据库");//选择数据库
$sql="select * from relation";
$set=mysql_query($sql);
//$row=mysql_fetch_arry($set); 得出所有记录!
while ($row = mysql_fetch_array($set)) {
if($clinet_IP==$row['ip']){
echo "欢迎".row['school_name']."的同学来光临!"
像你这样为每个ip访问者保存一份搜索记录,这样太耗费资源了.因为访问者的IP是会变的,而且访问者多的话,这样记录是会死人的,如果你要是想做的话,建个访问记录表就可以了,不用每个ip建个表,字段有:访问者ip,访问者输入的关键词.没见过你这样按访问者Ip来记录搜索数据的,一般搞个热搜关键词、跟地区有关的关键词就可以了.
不建议使用js进行这个处理,你这样做的话完整过程为
① 用户访问php页面
你想想这要多长时间.所以呢最好是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"];
$ip = $_SERVER["REMOTE_ADDR"];
if (getenv("HTTP_X_FORWARDED_FOR")){
$ip = getenv("HTTP_X_FORWARDED_FOR");
} else if (getenv("HTTP_CLIENT_IP")) {
$ip = getenv("HTTP_CLIENT_IP");
$ip = getenv("REMOTE_ADDR");
if (false === $ip) {
return false;
$file = fopen(';ip=' . $ip, 'r');
fclose($file);
if (! preg_match("/^var remote_ip_info = (\\{[^\\}]+\\});$/", $content, $_match)) {
$ipInfo = json_decode($_match[1]);
return $ipInfo;
返回的数组中包括 country, province, city等,如果返回false表示无法获得ip或该ip没有在大陆地区匹配的记录(港澳台似乎有province,但是没有city).
以上就是土嘎嘎小编为大家整理的php兑现不同ip不同语言包相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!