Hi!
Bitte zitiere nur das, worauf du dich konkret beziehst, nicht einfach alles.
Es tut mir leid ich habe diese kontrollmethoden falsch interpretiert, hab sie verwechselt, ich kenne mich mit solhen kontrollsachen net aus wie muss ich die einbauen, also die basis methoden baue ich schon ein, mhh var dum ist bestimmt eine, kannst du mir des mal an meinem beispiel zeien wie man des einbaut
Leid muss es dir nicht tun, wen du etwas nicht weißt oder vestehst, aber darüber reden ist ein möglicher Schritt zum Abbau des Wissensdefizits
Angenommen, du hast irgendwo die Variable $foo verwendet und sie sollte deiner Meinung nach wen Wert 'bar' enthalten. Dann kanst du das kontrollieren, indem du
var_dump($foo);
in dein Script einbaust, und zwar an der Stelle, an der du den Variableninhalt überprüfen möchtest. Als Ausgabe erhältst du in dem Beispielfall
string(3) "bar"
Zumindest wäre das das Erwartete. Wenn du was anderes bekommst, ist das ein Zeichen dafür, dass irgendwas nicht funktioniert hat. Also solltest du dich auf die Suche begeben, warum da was anderes war als vorgesehen. Möglicherweise ist ein bedingter Zweig nicht abgearbeitet worden, dann kann man mit einer Kontrollausgabe nachsehen, wie das Ergebnis der Bedingung aussieht und auch die Inhalte der beteiligten Variablen.
Soll:
if ($qux == $baz)
$foo = 'bar';
Prüfung:
var_dump($qux);
var_dump($baz);
var_dump($qux == $baz);
if ($qux == $baz) ...
$foo = 'bar';
var_dump($foo);
Diese Prüfung war sehr ausführlich. Wenn man genug Erfahrung hat, kann man das auch abkürzen.
error_reporting ist eine Konfigurationsdirektive von PHP. Diese lässt sich auch mit einer extra dafür vorgesehenen Funktion setzen:
error_reporting(E_ALL);
Das stellst du am besten an den Scriptanfang. In der Produktivversion solltest du das wieder ausbauen oder auskommentieren, denn detaillierte Meldungen gehen keinen was an außer den Programmierer. Für Produktivversionen gibt es andere Methoden der Fehlerverfolgung, doch das ist für jetzt ein zu umfangreiches Thema.
Die Auswirkungen eines error_reporting(E_ALL); kannst du dir zum Test ansehen, indem du beispielsweise mal
echo $foo;
schreibst und $foo dabei vorher noch nichts zugewiesen hast. Du bekommst dann keine Ausgabe, aber die Notice-Meldung. Mit var_dump($foo); bekämest du NULL angezeigt und die Notice. Nicht vorhandene Variablen ergeben beim Lesezugriff den Spezialwert NULL.
Lo!