AkoBook入れました

2006/02/05 2006/02/06

掲示板はちょっと時間がかかりそうなので、先に簡単そうなゲストブック(AkoBook)を入れてみました。
が、今までで一番最悪です。

以下のように最初は書いていましたが、結局自分のJoomlaに対する設定が関係していたようです。
お詫びして訂正致します。

どうもPHPのNotice系のハンドリングを一部行っていない箇所があり、それが原因でコメント入力画面にバンバンそのメッセージが出てきます。
多分開発した環境のエラーレポートレベルが低いんでしょうけど、PHPをJoomlaだけに使っているとは限らないユーザーもいる訳だから、もうちょっと考えて作って欲しいです。
使わせてもらっておいて失礼だとは思いますが。

という事で、以下のように直しました。

Notice: Undefined variable: mosConfig_live_site に、新しいメッセージがゲストブックに投稿されました。 in /www/htdocs/joomla/components/com_akobook/languages/japanese.php on line 57

この行の$mosConfig_live_siteを${mosConfig_live_site}にて完了
変数名の後ろにゴミが付いて別の名前として認識されてたみたい

Notice: Undefined variable: func in /www/htdocs/joomla/components/com_akobook/akobook.php on line 166
似たようなのが4行くらい出る

この近くのswitchの上に、
if ( !isset($func) ) $func = ”;
を書けばオッケー

Notice: Undefined index: is_editor in /www/htdocs/joomla/components/com_akobook/sub_writeentry.php on line 14

if (($_REQUEST[‘is_editor’])) {

if (isset($_REQUEST[‘is_editor’])) {
に換えればオッケー
ここだけ二重カッコになってて明らかにisset書き忘れたような誤り方してます。

Notice: Undefined property: mosUser::$usermail in /www/htdocs/joomla/components/com_akobook/sub_writeentry.php on line 172

$gbmail = $my->usermail;

if ( isset($my->usermail) ) $gbmail = $my->usermail; else $gbmail = ”;
# $gbmail = $my->usermail;
に換えればオッケー

Notice: Undefined variable: row in /www/htdocs/joomla/components/com_akobook/sub_writeentry.php on line 189

この行の少し上辺りにある
# Check if User is Admin and if he wants to edit
if (($is_editor) AND ($gbid)) {
echo "
";
$database->setQuery( "SELECT * FROM #__akobook WHERE gbid = $gbid" );
$row = NULL;
$database->loadObject( $row );
}

# Check if User is Admin and if he wants to edit
if (($is_editor) AND ($gbid)) {
echo "
";
$database->setQuery( "SELECT * FROM #__akobook WHERE gbid = $gbid" );
$row = NULL;
# $database->loadObject( $row );
}
$database->loadObject( $row );
if ( !isset($row->gbname) ) $row->gbname=”;
if ( !isset($row->gbmail) ) $row->gbmail=”;
if ( !isset($row->gbpage) ) $row->gbpage=”;
if ( !isset($row->gbtext) ) $row->gbtext=”;
に換えればオッケー

これで表向きエラーは出なくなりました。
登録ユーザーが記入するときは今回直した事で名前が入らなかったりとか起こるかもしれません。
まぁ、うちのサイトはユーザーログインは無しの方向で行く予定なのでその辺は使う事になった時に考えます。

関連記事

関連記事はありません。

 

コメントとトラックバック

    コメントはありません

    コメントを残す

    CAPTCHA


    トラックバックURLhttps://e-tune-mt.net/ylab/176/trackback