PHP脚本调试,语法错误

时间:2012-04-30 14:11:24

标签: php

我在获得一些经验后第一次开始我的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>

这个脚本没有运行,我也想学习。如何以更简单的方式编写代码。任何替代和有效的编码方式?

有些人指出错误,但我仍然无法解决问题。 请毫无错误地发布整个代码。而不是发布只是错误。 此致

4 个答案:

答案 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');
}

?>