function pagename() Warnung im debugmodus

CMSimple 4.0 und höher
Post Reply
robertP
Posts: 2
Joined: Fri 27. Jan 2023, 20:09

function pagename() Warnung im debugmodus

Post by robertP »

Hallo,
beim versuch den Seiteneditor zu verlassen wurde ich ausgeloggt und hatte danach eine leere Seite.
Danach forschte ich nach möglichen Ursachen. Im Debugmodus lies ich mir die aktuelle Seite anzeigen
mit der function pagename. Beim Wechsel zwischen Bearbeiten Seiten Dateien Einstellungen liefert pagename() teileweise keinen Rückgabewert
/* cmsimple/functions.php Zeile 914 */
function pagename1()
{
global $pd_current, $h, $s;
return($pd_current['show_heading'] == '1' ? htmlspecialchars(strip_tags($pd_current['heading']), ENT_QUOTES, 'UTF-8'): $h[$s]);
}
Notice: Debug-Modus is enabled!

WARNING: 2 Trying to access array offset on value of type null
/home/www/start.robisys.de/plugins/rp_plugin/index.php:36
WARNING: 2 Undefined array key -1
/home/www/start.robisys.de/plugins/rp_plugin/index.php:36
WARNING: 2 Trying to access array offset on value of type null
/home/www/start.robisys.de/cmsimple/functions.php:914
WARNING: 2 Undefined array key -1
/home/www/start.robisys.de/cmsimple/functions.php:914

wget https://dl.robisys.de/CMSimple_RP/rp_plugin-01.22.zip mit diesem plugin sollte die Situation reproduzierbar sein

CMSimple da gibt es noch viel zu probieren --
Gert
Posts: 2082
Joined: Sun 18. Nov 2012, 14:18

Re: function pagename() Warnung im debugmodus

Post by Gert »

robertP wrote: Sat 25. Feb 2023, 21:06 beim versuch den Seiteneditor zu verlassen wurde ich ausgeloggt und hatte danach eine leere Seite.
Geht es etwas genauer? Auf welchem Weg hast Du versucht, den Editor zu verlassen?

Was hast Du zuvor gemacht? Warst Du eingeloggt und Kaffee trinken? ;) - dann schlägt irgendwann die CSRF Protection zu, oder Dein Provider beendet die Session. Die CSRF Protection kannst Du ausschalten.
robertP wrote: Sat 25. Feb 2023, 21:06 Beim Wechsel zwischen Bearbeiten Seiten Dateien Einstellungen liefert pagename() teileweise keinen Rückgabewert
Das ist normal. Einen "Pagename" gibt es nur, wenn auch eine Seite aufgerufen ist. Das ist z. B. nicht der Fall, wenn das mailform oder sitemap aufgerufen sind, oder eben im Backend. Der Einsatz der Funktion pagename() ist nicht an jeder Stelle sinnvoll, aber gut, ich notiere das mal für die nächste Version. Man kann da ja was ausgeben lassen ... für php 8.2 :roll:

Die Ursache für das ausloggen sollte das aber nicht sein.
robertP wrote: Sat 25. Feb 2023, 21:06 CMSimple da gibt es noch viel zu probieren ...
Viel Spass - Gert :mrgreen:
Gert Ebersbach | CMSimple | Templates - Plugins - Services
Gert
Posts: 2082
Joined: Sun 18. Nov 2012, 14:18

Re: function pagename() Warnung im debugmodus

Post by Gert »

Gert wrote: Sat 25. Feb 2023, 22:04 Man kann da ja was ausgeben lassen ...
... oder auch nicht. Ein simples if(isset($h[$s])) beseitigt die Warnung:

Code: Select all

function pagename() 
{
    global $pd_current, $h, $s;
    if(isset($h[$s]))return($pd_current['show_heading'] == '1' ? htmlspecialchars(strip_tags($pd_current['heading']), ENT_QUOTES, 'UTF-8'): $h[$s]);
}
Ist notiert - Gert
Gert Ebersbach | CMSimple | Templates - Plugins - Services
robertP
Posts: 2
Joined: Fri 27. Jan 2023, 20:09

Re: function pagename() Warnung im debugmodus

Post by robertP »

Danke Gert,
da wäre ich erst viel ... viel später drauf gekommen
funktioniert prima.
in function.php dann beim nächsten update -- notiert
Gruß Robert
Post Reply