Page 1 of 1

Notice bei RT Last update artikel & cp

Posted: Sun 12. Oct 2014, 15:51
by Uwe367
Hallo zusammen,
Dieses Script aus dem Wiki
http://www.phpwcms-howto.de/wiki/doku.p ... s[]=update
gab mir eine Notice aus.

Code: Select all

Notice: Undefined index: acat_archive in E:\xampp\htdocs\newsite\template\inc_script\frontend_render\rt_date_last_update.php on line 85
Ok.. ne Notice ist zwar noch kein Fehler, aber man sollte sie nicht mißachten.
Die Zeile sah im Original so aus:

Code: Select all

if ($content["struct"]['0']['acat_permit']['acat_archive'] == 1)
und ich habe das nun folgendermaßen gefixt:

Code: Select all

if (isset($content["struct"]['0']['acat_permit']['acat_archive']) == 1)
Die Notice ist weg und das Script arbeitet einwandfrei.
Ist das so ok?

Re: Notice bei RT Last update artikel & cp

Posted: Sun 12. Oct 2014, 17:23
by Oliver Georgi
Nein, ist grundsätzlich falsch. Es gibt keinen solchen Wert.

Entweder $content["struct"][0]['acat_permit'] oder $content["struct"][0]['acat_archive'].

Code: Select all

if(!empty($content["struct"][0]['acat_archive']))

Re: Notice bei RT Last update artikel & cp

Posted: Sun 12. Oct 2014, 18:43
by Uwe367
Danke Oliver :)

Re: Notice bei RT Last update artikel & cp

Posted: Mon 13. Oct 2014, 09:45
by juergen
Das ist der lachse Umgang von PHP mit Variablentypen... string und integer

Der Link zum Wiki ist auch von forum zerfetzt, hat das jemand mal geändert ?

Re: Notice bei RT Last update artikel & cp

Posted: Mon 13. Oct 2014, 10:05
by Oliver Georgi
juergen wrote:Das ist der laxe Umgang von PHP mit Variablentypen... string und integer
Nein, das ist wirklich falsch und hat nichts mit den Variablentypen zu tun. Die meisten Anwender nehmen es nur nicht wahr, da sie zu laxe Fehlerreporting-Einstellungen verwenden und so eben NULL Fehler sehen. Jede Notice oder Warning sollte ausgemerzt werden. Entwicklung also immer nur mit E_ALL besser E_STRICT, ^E_NOTICE und ^E_DEPRICATED meiden.

Re: Notice bei RT Last update artikel & cp

Posted: Mon 13. Oct 2014, 11:39
by Uwe367
Kleines OT....

Ich arbeite mit xampp. Dieser verfügt über 2 php.ini Dateien, zum einen über php.ini-developement, zum anderen über die php.ini-production.
Bei beiden waren folgende Standartwerte gesetzt:

Code: Select all

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_ALL
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
Wenn ich das nun richtig verstehe wäre es besser diese auf

Code: Select all

; error_reporting
;   Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
;   Development Value: E_STRICT
;   Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
zu ändern?