Page 1 of 1

function pagename() Warnung im debugmodus

Posted: Sat 25. Feb 2023, 21:06
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 --

Re: function pagename() Warnung im debugmodus

Posted: Sat 25. Feb 2023, 22:04
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:

Re: function pagename() Warnung im debugmodus

Posted: Sat 25. Feb 2023, 22:26
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

Re: function pagename() Warnung im debugmodus

Posted: Sat 25. Feb 2023, 23:00
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