php debug meldung beheben?

Danke das habe ich gemerkt und konnte es beheben,aber wie hätte ich bei dieser meldung ein ergebniss wie bei einem var_dump(); bekommen als Fehlerausgabe?

Die letzte macht mir sorgen die ist zu hoch für mich.

Folgende meldung:
Code:
[phpBB Debug] PHP Notice: in file [ROOT]/includes/acp/acp_auto_answer.php on line 271: Undefined variable: check_tips
[phpBB Debug] PHP Notice: in file [ROOT]/includes/acp/acp_auto_answer.php on line 271: Undefined index: SEARCH_TIP_
Die Zeile 271 sieht so aus:
Code:
$tips .= $user->lang['SEARCH_TIP_' . $check_tips[$i]] . '<br />';
Wie kann ich diese nun eine fehler ausgabe entlocken oder wie bekomme ich da jetzt herraus was der Fehler ist?
 
Danke das habe ich gemerkt und konnte es beheben,aber wie hätte ich bei dieser meldung ein ergebniss wie bei einem var_dump(); bekommen als Fehlerausgabe?

1. var_dump macht keine Fehlerausgabe. Lies. Keine definierte Variable = kein Wert zum Ausgeben.
2. Wie hast du das jetzt "behoben"? Ich mein du kriegst denselben Fehler jetzt nochmal und weißt nicht was du machen sollst.
Wie kann ich diese nun eine fehler ausgabe entlocken oder wie bekomme ich da jetzt herraus was der Fehler ist?
Du hast eine detaillierte, eindeutige Fehlerausgabe zitiert. $check_tips ist nicht definiert. Erster Fehler. Wenn $check_tips nicht definiert ist, kann dann an dieser Stelle
PHP:
$tips .= $user->lang['SEARCH_TIP_' . $check_tips[$i]] . '<br />';
auf einen vorhandenen Index zugegriffen werden? Was, glaubst du, passiert an dieser Stelle (wenn es keine Fehler gäbe)?
 
*EDIT*
Ich habe den Debug nun so behoben:
Code:
if ($check_tips = 0)
					{
						$tips = '';
						
						for ($i = 0, $size = sizeof($check_tips); $i < $size; $i++)
						{
							$tips .= $user->lang['SEARCH_TIP_' . $check_tips[$i]] . '<br />';
						}
					}
 
Zuletzt bearbeitet:
Streich mal bitte das Wort "beheben" aus deinem Vokabular solange du nicht weißt, was du tust...
Ich mein, es ist ja ganz löblich, dass du die Funktionsweise von isset verstanden hast. Damit wird man so nervige Fehlerchen beim Aufruf einer Variable schon los. Aber spätesten an dem Punkt, an dem du eine Variable dringend brauchst, hilft dir das ganze Gepfusche jar nüscht mehr.

Du hast leider meine letzte Frage nicht beantwortet. Das wäre aber gut, für den Lernprozess den du hier anstrebst. Wenn du Code ausbessern willst, musst du wissen, was er tut. Dass das nicht der Fall ist sieht man an deinem....Lösungsansatz.

$tips .= $user->lang['SEARCH_TIP_' . $check_tips[$i]] . $check_tips = 0 . '<br />';

Jetzt mal ohne Witz: was zum Geier hast du hier vor?

Also wenn du lernen willst, sag mir mal in deinen Worten was der gesamte Codeabschnitt aus deiner Sicht machen würde, und was du für Verbesserungen getätigt hast (haben wollen würdest). Ich weiß das klingt wie die Sendung mit der Maus, aber anders wird das aus meiner Sicht nix.
 
Ok erst einmal ich habe meinen beitrag über dir Editiert.;-)

Es geht um diesen Code abschnitt:
Code:
if ($check_tips = 0)
					{
						$tips = '';
						
						for ($i = 0, $size = sizeof($check_tips); $i < $size; $i++)
						{
							$tips .= $user->lang['SEARCH_TIP_' . $check_tips[$i]] . '<br />';
						}
					}
mit der Ansicht im ACP und aus diesem code ersichtlichen Funktion Checkt dieser die Wörter die im Forum in den beiträgen auftauchen könnten und mit diesem Code habe ich die Debugfehler im ACP behoben und ihn eben gestetet es Funktioniert alles,also muss ja etwas hängen geblieben sein.;)
 
also muss ja etwas hängen geblieben sein

Ja, aber nicht sonderlich viel.

PHP:
if ($check_tips = 0)

Du prüfst hier eine Zuweisung - keinen Vergleich. Du weist der Variable den Wert 0 zu und prüfst dann auf true. Dasselbe wie


PHP:
if (0)
Dasselbe wie
PHP:
if (false)
was immer false gibt - heißt, dieser if-Zweig wird nie durchlaufen. Prüf das meinetwegen mit nem Echo in dem Zweig.
Glückwunsch - du hast jetzt erreicht, dass dieser Codeblock niemals ausgeführt wird. Du hättest den Teil auch einfach auskommentieren und dir die Arbeit sparen können...

Und genau das meinte ich mit erklären. Was der Teil des Mods im Optimalfall in deinem ACP machen würde geht mir vollkommen vorbei. Du sollst nachvollziehen können, was dort Zeile für Zeile abgeht (es wird auf Variable xy geprüft, wenn true dann usw.). Wenn du stattdessen nur wild mit issets und 0-Zuweisungen um dich wirfst hast du am Ende zwar keine Debugmeldungen, aber auch keine Funktionalität mehr.

Ich mein, das tut in dem Fall keinen weh; dir entgehen halt irgendwelche Tips, die sonst an irgendeiner Stelle angezeigt würden. Ich könnte mir vorstellen dass du damit den Fehler
Undefined variable: tips
hinzugewonnen hast, aber den kannst du ja dann wieder mit nem isset "beheben"...
 
Ich gebe zu ich verstehe das nicht,aber wie auch ich bin nicht vom Fach und so etwas hatte ich auch noch nicht mit if , true , false usw.

mir bleibt nichts anderes als zu raten und zu testen,ich würde das alles gerne selber machen und beheben können.
 
Genau das hab ich gestern gemeint.
Mit Raten wirst du nie zum Ziel kommen.

Wenn du in der Lage sein willst, diese Fehler ganz allein zu beheben,
musst du dich wohl oder übel hinsetzen und unabhängig
von Phpbb die Grundlagen von PHP lernen.

Es kann schon sein, dass hier was hängen bleibt,
und dass du dadurch später vielleicht bestimmte Fehler selbst beheben kannst.
Aber das Programmieren ist leider nicht immer so linear,
kein Fehler ist 100% wie ein Anderer.

Wenn du diese Variablenfehler wegbekommen und ein funktionierendes Board haben willst
darfst du dich nicht nur auf die Fehlerzeile konzentrieren. Da hängt alles Andere auch mit drin.
 
Das weiss ich und ich habe versucht mich mit den php Grundlagen zu befassen,aber ich verstehe es einfach nicht.
Wie ich schon sagte ich bin ein Typ der beim machen , Testen usw lernt,oder wenn jemand neben mir sitz und sagt das muss so und so gemacht werde , das und das benötigst du usw.
Ich habe mit lesen und verstehen ein Problem,das hat bei noch nie Funktioniert,was das angeht bin ich ein schwiriger fall.

Ich wünsche es gebe einen weg jemanden wie mir die Grundlagen oder php,mysql usw einfach bei zu bringen,aber das gibt es warscheinlich leider nicht.
 
Kauf dir ein einfaches Einsteiger-Buch. Ich hab den Einstieg in PHP mit einem Buch von Markt&Technik gemacht, das hat < 10 € gekostet. Da lernst du alle Grundlagen und die werden anhand eines Beispiel-Projekts praktisch vorgeführt.

Sehr viel ausführlicher findest du eine Einführung im PHP-Praxisbuch von SelfPHP unter http://selfphp.info/praxisbuch/index.php

Zum Nachschlagen empfehle ich die Befehlsreferenz von SelfPHP (http://selfphp.info/) und natürlich die PHP-Dokumentation (http://de2.php.net/manual/de/). Da findest du auch die genaue Spezifikation aller Funktionen, die PHP bietet.

Und natürlich brauchst du Zeit, um dir das alles durchzuschauen und selbst auszuprobieren. Aber wenn ich mir anschau, wann du den Thread gestartet hast, dann scheinst du die ja zu haben ;-)

Viele Grüße
Frezl
 
Zurück