PHP-Variablen nicht vorhanden und bildet

Von Steven Lloyd Watkin , 31. Juli 2008 10:36 Uhr Donnerstag

Ich stieß auf etwas, das ich hatte keine Kenntnis von heute, dass sehr praktisch ist .... die Fehlerkontrolle Betreiber '@' A in PHP .

Also für einige Hintergrundinformationen, wie bin ich auf dieses Problem in meinem Web-Applikationen Ich neige dazu, Daten zu verwenden das gleiche Formular zum Einfügen in eine mySQL -Datenbank. Wenn ich eine gewisse 'id' Reihe eine Menge über GET-Variable dann löst eine Last von der Datenbank, sonst bin ich mit neuen Daten.

In meinem Formular-Elemente habe ich oft den Wert des Formularfeldes, so etwas wie <? = $ Data ['fieldValue'];?> das funktioniert gut, wenn das Laden von Daten, aber wenn ich das Einfügen neuer Daten bekomme ich das Formular so ausgefüllt folgt (Anmerkung auf meinem Login oder wenn ich Prüfung habe ich Fehlerberichterstattung setzen auf E_ALL so dass ich sicher, dass alles ordnungsgemäß läuft können):

Notice: Undefined variable: Daten in / home / public_html / dataEdit.php auf Linie 69

Also, was ich schliesslich doch tat, war das Schreiben von längeren (hässlicher) Code, der sagte: <? if (isset ($ data ['fieldValue'])) {echo $ data ['fieldValue'];}?> groß. Nicht genau

Dann stolperte ich über den Operator zur Fehlerkontrolle in PHP, indem Sie einfach ein '@'-Symbol vor einem Operator (im Grunde alles, was ein Ergebnis zurückgeben können) das oben genannte Problem ist gelöst. Zum Beispiel kann ich jetzt meinen Wert für Parameter <;? = @ $ Data ['fieldValue']?>. Wenn die Variable nicht gesetzt ist (dh eine Fehlermeldung erzeugt würde), dann die Fehlermeldung wird unterdrückt.

Hinweis: Mit dem "@"-Symbol können größere Fehler zu unterdrücken und verbergen die Tatsache, dass ein Teil Ihrer Website läuft nicht ordnungsgemäß, also Vorsicht!

Lassen Sie eine Antwort













Panorama Thema von Themocracy

4 Besucher jetzt online
3 Personen, 1 Bots, 0 Mitglieder
Max Besucher heute: 17 um 12:28 Uhr UTC
Diesen Monat: 26 am 2011.07.05 00.35 UTC
Dieses Jahr: 130 an 28-03-2011 10.40 UTC
Insgesamt: 130 an 28-03-2011 22.40 UTC