Die überwindung Warnung in NetBeans - PHP - keine Verwendung von Superglobalen Array direkt $_GET
Habe ich einige code-Zeilen wie diese;
A.
if ( isset($_GET["logout"]) && $_GET["logout"] == 1){
do_something;
}
Ersetze ich mit ( loswerden der Warnung) ;
B.
if ( isset( filter_input(INPUT_GET,'logout',FILTER_SANITIZE_NUMBER_INT) ) &&
filter_input(INPUT_GET,'logout',FILTER_SANITIZE_NUMBER_INT) == 1){
do_something;
}
aber ich am Ende brechen Sie die Anwendung mit B. Der login-Bildschirm nicht selbst erscheinen. Keine Fehler im apache-error-log auch.
Dies ist der Beispiel-url;
http://192.168.0.91/test-app/?logout=1
Was ist Los mit meinem B. syntax - /code? Ich denke, ich bin mit filter_input falsch?
Update1:
php-version ->php5-5.4.20-34.3.x86_64
netbeans version -> 8.0.1
- ich arbeite mit netbeans 8.0.1
Du musst angemeldet sein, um einen Kommentar abzugeben.
Es ist nichts falsch mit A. Deaktivieren Sie die Hinweis in Netbeans, oder ignorieren es.
Nein, es ist nichts falsch mit B.
filter_input
zurücknull
wenn der Schlüssel nicht vorhanden ist, undisset
zurückfalse
wenn die Bedingungnull
, so Ihre Logik ist in Ordnung und die Verwendung der Funktion ist zu. Das einzige problem könnte sein, dass Ihre PHP-version ist zu alt. filter_input eingeführt wurde 5.2.0.Code B. wurde behoben, durch den Wechsel zu ;
Anwendung läuft jetzt gut.
Die inspiration für dieses Update ist eine fantastische Artikel auf http://kunststube.net/isset/ von David Zentgraf.
Wünschte, es gäbe eine Möglichkeit, ihn zu Kontaktieren, um ihm zu danken, aber ... anscheinend ist er regelmäßig hier.
Danke Bro 🙂