PEAK XOOPS - myalbum にゲスト投稿で Fatal error が出ます in englishin japanese

myalbum にゲスト投稿で Fatal error が出ます

  • You cannot open a new topic into this forum
  • Guests cannot post into this forum
Previous post - Next post | Parent - Children.1 | Posted on 2006/8/20 10:54
wye  二等兵   Posts: 4
GIJOE さん、こんにちは

myalbum をゲスト投稿を許可してゲストが投稿すると

Fatal error: Call to a member function incrementPost() on a non-object in ・・/myalbum/submit.php on line 199
というエラーが発生します。

submit.php 199行目あたりに以下のような赤字部分を追加してみました
if( $submitter > 0 ){
    $user_handler =& xoops_gethandler('user') ;
    $submitter_obj =& $user_handler->get( $submitter ) ;
    for( $i = 0 ; $i < $myalbum_addposts ; $i ++ ) {
        $submitter_obj->incrementPost() ;
    }
}

このような回避方法でいいでしょうか?
Votes:2 Average:5.00
Previous post - Next post | Parent - Children.1 | Posted on 2006/8/20 13:25
GIJOE  先任軍曹   Posts: 4110
バグ報告ありがとうございます。
確かに、そこを変更した時に何もチェックしていませんでした。

ちなみにコードは、wyeさんの書かれたものでほとんど問題ありませんが、今回のfatalは、$submitter_objがObjectじゃない、ということに由来するので、

	$user_handler =& xoops_gethandler('user') ;
	$submitter_obj =& $user_handler->get( $submitter ) ;
	if( is_object( $submitter_obj ) ) {
		for( $i = 0 ; $i < $myalbum_addposts ; $i ++ ) {
			$submitter_obj->incrementPost() ;
		}
	}

こんな感じにすると思います。

Votes:1 Average:10.00
Previous post - Next post | Parent - No child | Posted on 2006/8/20 17:54
wye  二等兵   Posts: 4
返信ありがとうございます
$submitter で判定するか、$submitter_obj で判定するかでちょっと迷ったんですが、$summitter を選んだのは最初の2行の処理をしない方が負荷が少ないのかなぁと思ったからです。

Quote:
今回のfatalは、$submitter_objがObjectじゃない、ということに由来するので、
$submitter_obj で判定したほうがエラーの所在というかポイントがはっきりしてますね
Votes:0 Average:0.00

  Advanced search


Login
Username or e-mail:

Password:

Remember Me

Lost Password?

Register now!