MyBB.de Forum

Normale Version: Forumlist > PHP-Error
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Habe unter PHP 8.1.13 folgende Fehlermeldung:
Code:
Warning [2] Undefined array key "fid" - Line: 24 - File: inc/functions_forumlist.php(454) : eval()'d code PHP 8.1.13 (Linux)

Im MyBB Logfile steht (mehrmals):
Code:
<error>
<dateline>1677503039</dateline>
<script>inc/functions_forumlist.php(454) : eval()'d code</script>
<line>24</line>
<type>2</type>
<friendly_type>Warning</friendly_type>
<message>Undefined array key "fid"</message>
<back_trace>#0  errorHandler->error() called at [/inc/class_error.php:153]
#1  errorHandler->error_callback() called at [/inc/functions_forumlist.php(454) : eval()'d code:24]
#2  eval() called at [/inc/functions_forumlist.php:454]
#3  build_forumbits() called at [/inc/functions_forumlist.php:163]
#4  build_forumbits() called at [/index.php:463]
</back_trace>
</error>

Zeile 454 functions_forumlist.php ruft das Template auf, da dürfte sich die Fehlerquelle jedoch nicht befinden:
PHP-Code:
eval("\$forum_list .= \"".$templates->get("forumbit_depth$depth$forumcat")."\";"); 
Zeile 163 functions_forumlist.php lautet:
PHP-Code:
$forum_info build_forumbits($forum['fid'], $depth+1); 

Was ist zu tun?

Danke vorab für Tipps und Hinweise.
kennst du schon diese Sammlung von Fixes für PHP8-Warnings?

Github

deine Datei ist da auch gelistet, ob es jetzt dein Problem löst oder ein weiteres ist, das bisher noch nicht aufgefallen ist, ausprobieren Wink
Danke für den Hinweis/Tipp welcher sehr nützlich ist.

Habe die dort enthaltenen Änderungen/Anpassungen durchgeführt, die gepostete Fehlermeldung ist jedoch weiterhin gegeben.
(27.02.2023, 14:14)Gerti schrieb: [ -> ]Zeile 454 functions_forumlist.php ruft das Template auf, da dürfte sich die Fehlerquelle jedoch nicht befinden:

Solltest du das Plugin "PHP in Templates" benutzen, könnte das Problem durchaus im Template zu suchen sein. Evtl. hast du ja irgendwo eine fid definiert, die nicht (mehr) existiert o.ä.
Ein Problem in MyBB selbst ist das m.M. nach nicht.
welche Aktion / welcher Aufruf löst diese Meldungen aus?

Ich kann das gerade leider in keinem meiner 3 Testboards auf PHP 8.1 nachstellen
@Schnapsnase,
Danke für den Hinweis, denke auch das es nicht an MyBB selbst liegt. Werde nachprüfen und berichten.

@geprüft:
Wenn ich das PlugIn deaktiviere ist der Fehler weg.
Im Template steht die Abfrage:
PHP-Code:
<if ($mybb->input['fid'] == xxxthen>
tu etwas nicht
<if> 
xxx = FID des Forums welche die Abfrage betrifft.

Hast Du eine Lösungsansatz für die PHP-Anweisung?
Funktioniert es nicht, wenn du statt $mybb->input['fid'] einfach $forum['fid'] in der Abfrage im Template verwendest?
(27.02.2023, 14:16)bv64 schrieb: [ -> ]kennst du schon diese Sammlung von Fixes für PHP8-Warnings?

Github

deine Datei ist da auch gelistet, ob es jetzt dein Problem löst oder ein weiteres ist, das bisher noch nicht aufgefallen ist, ausprobieren Wink

Das ist ja geil! Ich kannte diese Sammlung bisher noch nicht und habe mich damit abgefunden, tausende Fehlermeldungen bis zum nächsten Update zu ertragen.
Wenn jetzt jemand die zu aktualisierenden Dateien fix und fertig zum Download bereitstellt, dem wird mein Dank ewig nachschleichen.... Oder gibts das irgendwo? Eigentlich isses ja "nur" eine Fleißaufgabe...
Moe
(28.02.2023, 17:31)Moe schrieb: [ -> ]Wenn jetzt jemand die zu aktualisierenden Dateien fix und fertig zum Download bereitstellt...
Eigentlich isses ja "nur" eine Fleißaufgabe...

Dann mach dich mal ran. Bin gespannt.
Eine Community lebt u.a. auch vom Geben, nicht nur vom Nehmen. Wink