1

我制作了一个包含三个国家美国、英国、加利福尼亚州的分组框,所以我不知道如何使页面向签名者显示适当的州分组框(我的意思是当签名者来自加拿大时,它必须出现给他一份加拿大省份列表,美国和英国都一样),所以很明显,我不知道如何将脚本附加到我的注册页面 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;

     }
     ?>
4

1 回答 1

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

于 2013-05-25T01:58:13.153 回答