So noch mal langsam:
- Es gibt einen Code-Teil A, der die Variable $forum_id mit einem Wert versorgt, der Code-Teil ist im Beitrag
http://www.tutorials.de/php/387348-php-debug-meldung-beheben.html#post2005878 zu finden, den du gepostet hast.
- Es gibt einen Code-Teil B, der die Fehlermeldung wirft, weil er auch auf die Variable $forum_id zugreift, diese aber offensichtlich nicht gesetzt (versorgt, gefüllt, wie du es nennen willst) ist.
Bisher gibt es zwei (eigentlich sogar drei) Annahmen:
- Code-Teil B wird vor dem Code-Teil A ausgeführt (das hast du bereits verneint, und dann von mir vermeintlich wieder bejaht, es ist aber anscheinend doch nicht so) => Annahme falsch
- Code-Teil A befindet sich in einer Funktion und somit ist die Variable $forum_id nur innerhalb dieser Funktion gültig und kann von außerhalb nicht zugegriffen werden => Annahme wurde bisher nicht bestätigt oder verneint
- Das gleiche kann umgekehrt für Code-Teil B gelten; Dieser befindet sich in einer Funktion und kann deshalb nicht auf die Variable $forum_id von Code-Teil zugreifen.
Da es aber anscheinend kein Problem ist, die Variable bei Code-Teil B noch einmal mit einem Wert zu versorgen und es wirkt sich nicht auf den Rest des Scriptes aus, wäre die vermutlich beste Lösung, den Code aus Teil A zu kopieren, der die Variable $forum_id versorgt, und das macht der hier:
PHP:
$forum_id = request_var('f', 0);
und diesen bei Code-Teil einzufügen und zwar vor die Zeile, die den Fehler verursacht.
Da du anscheinend noch nicht lange mit PHP arbeitest, möchte ich mal kurz erklären, wie PHP arbeitet. Grundsätzlich wird ein PHP-Script von oben nach unten Zeile für Zeile abgearbeitet. Außer es handelt sich um eine Funktion oder eine Kommentar-Zeile. Funktionszeilen werden erst dann abgearbeitet, wenn die Funktion auch aufgerufen wird.
PHP:
function funkA()
{
// Dieser Code wird erst abgearbeitet, wenn die Funktion "funkA" aufgerufen wird
echo "Welt";
}
function funkB()
{
// Dieser Code wird erst abgearbeitet, wenn die Funktion "funkB" aufgerufen wird
echo "Hallo";
}
funkB();
funkA();
Wenn also ein Code in einer Funktion drin steht, muss man suchen, wo die Funktion aufgerufen wird, erst dann kann man entscheiden, welcher Code-Teil zu erst ausgeführt wird.