我如何将国家识别脚本附加到我的注册页面并制作if语句?

时间:2013-05-25 01:40:24

标签: php webpage

我制作了一个由三个国家组成的小组我们,英国,他们州的州所以问题我不知道如何使页面向签名者显示状态的不成熟的组合框(我的意思是当签名者来自加拿大它必须出现给他一个加拿大省份的列表,对于美国和英国一样),所以很明显我不知道如何将脚本附加到我的注册页面 ps:在php中不是那么好所以请大家,如果你可以详细解释,如果可能那将是伟大的

    <?php

    $IPaddress=$_SERVER['REMOTE_ADDR']; 
    $two_letter_country_code=iptocountry("$IPaddress");

    function iptocountry($ip) {   
    $numbers = preg_split( "/\./", $ip);   
    include("ip_files/0.php");
include("ip_files/1.php");
include("ip_files/2.php");
    $code=($numbers[0] * 16777216) + ($numbers[1] * 65536) + ($numbers[2] * 256) + ($numbers[3]);   
    foreach($ranges as $key => $value){
    if($key<=$code){
        if($ranges[$key][0]>=$code){$country=$ranges[$key][1];break;}
        }
    }
    if ($country==""){$country="unkown";}
    return $country;

     }
     ?>

1 个答案:

答案 0 :(得分:0)

我建议你使用hostinfo API。 http://www.hostip.info/use.html

http_GET('http://api.hostip.info/country.php?ip=12.215.42.19'.$ip);

返回国家/地区ID(例如美国的“美国”)

将此<?php ?>放在<select>元素中。 然后,一旦确定了国家/地区,请使用状态数组,然后循环将选项元素添加到选择节点:

switch ($country) {
case "US":
$states = array("state1", "state2" );
    break;
case "UK":
....
}
foreach($states as $state) 
{
   $state = htmlspecialchars($state);
   echo '<option value="'. $state .'">'. $state .'</option>';
}

以下是一个示例 - 您需要自己将国家/地区代码生成器放入代码中(我没有nessecary i_files):http://pastebin.com/pTpEStHj

工作示例(示例国家/地区代码):http://fotest.co.nf/index%20-%20Copy.html