Mailinglisten-Archive |
Christian Knorr wrote: > Am Mittwoch 09 Juli 2008 17:54:29 schrieb Sebastian Mendel: >>> Theoretisch schon. Aber dies war nur ein Beispiel. In Wirklichkeit wird >>> meistens der value="" der Schaltfläche mit ausgewertet. >> wo ist da der Unterschied? auch du müsstest du eigentlich erstmal prüfen ob >> die Variable überhaupt existiert ... oder? > Wie Du und andere wahrscheinlich auch schon bemerkt haben, bin ich noch nicht > sehr fit in Sachen PHP. Dies ist meine erste Anwendung - ohne Lehre ;-) > Deshalb bitte ich um Nachsicht wenn ich Blödsinn erzähle. Aber wenn ich doch > die Taste <input name=\"cancel\" type=\"submit\" value=\"Zurück\"> drücke, > und an entsprechender Stelle dies überprüfe mit > if ( $_POST["cancel"] == "Zurück" ) {} > Ist es dann nicht egal ob die Variable gesetzt ist oder nicht? Wenn sie nicht > gesetzt ist, ist sie ja auch nicht "Zurück", und es passiert nichts was in > der if Anweisung steht. > Hab ich was falsch verstanden? Teste mal folgendes Script: --- error_reporting(E_ALL); if ($ichExistiereNicht =="unsinn") ; --- Um das kurz zu machen: Du wirst eine Fehlermeldung sehen. Nur eine Notice, die php nicht dazu bringt abzubrechen... Aber immerhin. Dass es diese Notice gibt ist auch durchaus sinnvoll, denn dadurch, dass man auf Variabeln zugreift, die nicht existieren entstehen ganz schnell mal neue "Features" in einem Script. Nicht der Zugriff auf eine Variable, die nicht existiert grundsätzlich böse ist... Aber es gibt ein paar andere dumme Sachen. Stell dir mal vor du schreibst irgendwo $sinnlos =1; und irgendwo anders dann if ($sinlos ==1) Solche Fehler findest du dank der Notice sofort, wenn du mit error_reporting(E_ALL) entwickelst. Aber ohne suchst du möglicherweise sehr sehr lange. In ganz ungünstigen Konstruktionen kann man sich so auch seine Sicherheitslücken bauen etc. Und natürlich ist es auch einfach übersichtlicher isset oder empty zu verwenden: Du selbst oder ein anderer coder weiss dann beim lesen: Es kann sein, dass die Variable nicht gesetzt ist und du bist dir bewusst, dass dies passieren kann. > > Chris....... Yannik
php::bar PHP Wiki - Listenarchive