我在获得一些经验后第一次开始我的php开发。并根据我的朋友要求编写了一个脚本。
这是脚本但是我无法在我的服务器上运行它。
<?php
include("geoip.inc");
$ip=$_SERVER['REMOTE_ADDR'];
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, "$ip");
// Country name is not used so commented
// Get Country Name based on source IP
//$country = geoip_country_name_by_addr($gi, "$ip");
$real=false;
geoip_close($gi);
{if ($_SERVER[’HTTP_USER_AGENT’]!= “Googlebot”)
{if ($_COOKIE['iwashere'] != "yes")
{setcookie("iwashere", "yes", time()+315360000);
if ($country_code="US")
{
if(preg_match("/google\.com(.+?)sa=(.+?)/", $_SERVER['HTTP_REFERER']))
include_once("Biggenius.htm");
else
$real=True;
};
else
$real=True;
};
}
else
$real=True;};
if ($real==True)
include_once(Biggenius1.htm);
?php>
这个脚本没有运行,我也想学习。如何以更简单的方式编写代码。任何替代和有效的编码方式?
有些人指出错误,但我仍然无法解决问题。 请毫无错误地发布整个代码。而不是发布只是错误。 此致
答案 0 :(得分:0)
您有三次出现:
};
您需要更改为:
}
您的脚本中可能会有更多错误,错误消息可能有所帮助。
答案 1 :(得分:0)
您需要移动括号:
if ($_SERVER[’HTTP_USER_AGENT’] != “Googlebot”) {
//Do stuff
}
括号位于if
条件之后,因此if (condition) { code }
。你在很多地方都做得很好,但不是到处都是。请参阅特定行号的PHP输出错误。
答案 2 :(得分:0)
条件块应该像{ //code }
而不是{ //code };
结束标记?php>
也无效。它是?>
如果它是一个纯PHP文件,你可以省略结束标记。
答案 3 :(得分:0)
您的代码充斥着语法错误!这是清理过的版本。
<?php
include("geoip.inc");
$ip=$_SERVER['REMOTE_ADDR'];
$gi = geoip_open("GeoIP.dat",GEOIP_STANDARD);
$country_code = geoip_country_code_by_addr($gi, "$ip");
// Country name is not used so commented
// Get Country Name based on source IP
//$country = geoip_country_name_by_addr($gi, "$ip");
$real=false;
geoip_close($gi);
if ($_SERVER['HTTP_USER_AGENT']!= 'Googlebot') {
if ($_COOKIE['iwashere'] != "yes") {
setcookie("iwashere", "yes", time()+315360000);
if ($country_code="US") {
if(preg_match("/google\.com(.+?)sa=(.+?)/", $_SERVER['HTTP_REFERER'])) {
include_once("Biggenius.htm");
} else {
$real = true;
}
} else {
$real = true;
}
}
} else {
$real = true;
}
if ($real) {
include_once('Biggenius1.htm');
}
?>