2017-01-11 15 views
0

私はオープンソースのphreebooksをカスタマイズしています。私はその中のモジュール名を変更したい。私はphreebooksとphreedomのモジュール名をうまく変更しましたが、私がphreedomの名前を変更すると、私はpdfを印刷できません。私はラインNo 50でこのエラーモジュール名を変更する

User: 1 Company: phree RUN-TIME WARNING: 'Creating default object from empty value' line 50 in file 

F:\wamp\www\phree\modules\report\pages\popup_gen\pre_process.php 

を取得しています、コードは正確に私が間違っているのどこ誰かが私に教えてくださいすることができ、この

if (isset($_GET['xfld'])) $report->xfilterlist[0]->fieldname = $_GET['xfld']; 

のようなものです。私は過去3日間からそれを結んでいます。

私はそれが "BLANK" と表示され、この のようでしたが、実際にisset($_GET['xfld']はURLから設定されます

if (isset($_GET['xfld'])) { // check for extra filters if (!isset($_GET['xfld'])) $xfld = new stdClass(); echo "BLANK"; if (isset($_GET['xfld'])) $report->xfilterlist[0]->fieldname = $_GET['xfld']; if (isset($_GET['xcr'])) $report->xfilterlist[0]->default = $_GET['xcr']; if (isset($_GET['xmin'])) $report->xfilterlist[0]->min_val = $_GET['xmin']; if (isset($_GET['xmax'])) $report->xfilterlist[0]->max_val = $_GET['xmax']; }

編集しました。

+0

$ report-> xfilterlist [0]が空である可能性があります。私はあなたが投稿したものから伝える方法がありません。 – Aaron

答えて

0
$_GET['xfld'] = $xfld; 


$xfld = NULL; 
    $xfld->success = false; // Warning: Creating default object from empty value 
の$ xfldはすでにいくつかの値に初期化されますが、オブジェクトではありませんされている場合

PHPは別のエラーメッセージを報告します。

$xfld = something; 
$xfld->success = false; // Warning: Attempt to assign property of non-object 

あなたはオブジェクトが既に存在するかどうかを確認shoud:

if (!isset($_GET['xfld'])) $xfld = new stdClass(); 

それ以外の場合、このコードは "古いPHP"の暗黙的オブジェクト作成に相当するものではありません。

+0

EDITEDセクションにコードを掲載しました。実際に値は 'http://localhost/phree/index.php?module = report&page = popup_gen&gID = cust:so&date = a&xfld = journal_main.id&xcr = EQUAL&xminのようなURLで'($ _GET ['xfld']) = 11 ' – user3368088

+0

あなたはxmaxの下に 'echo' BLANK"; "を入れてみることができます:if(isset($ _ GET ['xmax']))$ report-> xfilterlist [0] - > max_val = $ _GET ['xmax ']; echo "BLANK"; } 今は空白になっていますか? – proofzy

+0

'if(isset($ _ GET ['xmax'])){$ report-> xfilterlist [0] - > max_val = $ _GET ['xmax'];エコー "BLANK"; } } ' - それは、エコーを移動しようとした後にそう – user3368088

関連する問題