Php 我如何将国家识别脚本附加到我的注册页面并做出if声明?
我制作了一个由三个国家组成的分组框,分别是美国、英国和加拿大,因此我不知道如何让页面向签名者显示相应的国家分组框(我的意思是,如果签名者来自加拿大,则必须向他显示一份加拿大省份列表,与美国和英国省份列表相同),很明显,我不知道如何将脚本附加到我的注册页面 ps:我对php不是很在行,所以请各位朋友们,如果可能的话,如果你们能详细解释的话,那就太好了Php 我如何将国家识别脚本附加到我的注册页面并做出if声明?,php,webpage,Php,Webpage,我制作了一个由三个国家组成的分组框,分别是美国、英国和加拿大,因此我不知道如何让页面向签名者显示相应的国家分组框(我的意思是,如果签名者来自加拿大,则必须向他显示一份加拿大省份列表,与美国和英国省份列表相同),很明显,我不知道如何将脚本附加到我的注册页面 ps:我对php不是很在行,所以请各位朋友们,如果可能的话,如果你们能详细解释的话,那就太好了 <?php $IPaddress=$_SERVER['REMOTE_ADDR']; $two_letter_cou
<?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;
}
?>
我建议您使用hostinfo API 返回国家id(例如,美国的“US”) 将其放入
元素中。
然后,一旦您确定了国家,使用一个状态数组,在其中循环添加选项元素到选择节点:
switch ($country) {
case "US":
$states = array("state1", "state2" );
break;
case "UK":
....
}
foreach($states as $state)
{
$state = htmlspecialchars($state);
echo '<option value="'. $state .'">'. $state .'</option>';
}
交换机($country){
案例“美国”:
$states=数组(“state1”、“state2”);
打破
案例“英国”:
....
}
foreach($states作为$state)
{
$state=htmlspecialchars($state);
回显“.$state.”;
}
下面是一个示例-您需要自己将国家代码生成器放入代码中(我没有nessecaryI_文件
):
工作示例(示例国家代码):但这并没有回答我的问题:/n问题不在标识中。请注意——误读问题——如果您能够获得国家,您可以使用一个州数组,然后使用
foreach
循环该数组以添加选项元素。我会在一分钟内添加代码。嗯,不完全是这样,但非常感谢你的帮助,我感谢你,好吧,看,我用英语做了一个注册页面,在注册页面中,我没有为每个国家制作副本,我只是为适当的国家制作了不同的详细信息,比如国家分组框,比如加拿大,我制作了一个加拿大分组框各省和我们同样的事情也为英国和身份,我使用上面的脚本(工作良好)所以问题是,我不知道如何让注册页面向签名者显示相应的州框,我的意思是,当签名者是加拿大人时,他只会发现加拿大的省份不包括美国和英国的省份。事实上,这只是一个if语句的问题,以及如何将上面的脚本附加到注册页面上,以便if语句将被删除很好地执行
switch ($country) {
case "US":
$states = array("state1", "state2" );
break;
case "UK":
....
}
foreach($states as $state)
{
$state = htmlspecialchars($state);
echo '<option value="'. $state .'">'. $state .'</option>';
}