Bedingungen in If-Abfrage nicht erfüllt
| Beiträge: 1004 Registriert: Jul 2008
| 30.04.2010, 13:28
Hallo,
hab hier grad ein Problem was ich mir nicht erklären kann, aber vielleicht hilft mir ja jemand mit einem Wink mit dem Zaunpfahl ;)
Codebeispiel:
PHP:1 2 3 4 5 6 7 8 9 10 11 12 13
|
$id = (int) $_GET['id'];
$status = (int) $_GET['status']; // Wert: 0 oder 1
// funktioniert:
if ($id != "" && ($status == 1 || $status == 0)) {
// Code wird ausgeführt
}
// funktioniert nicht:
if ($id != "" && $status != "")) {
// Code wird nicht ausgeführt
}
|
Mal abgesehen davon, daß die erste Variante die sichere ist, würde mich trotzdem mal interessieren, warum die Bedingungen in der zweiten Variante nicht erfüllt werden.
KerstinWer Rechtschreibfehler findet, darf sie gerne behalten. | | | Beiträge: 579 Wohnort: Halle Registriert: Apr 2005
| 30.04.2010, 13:56
Hallo Kerstin,
ich tippe mal darauf, dass die Abfrage in deiner ersten Schleife $status == 0 (Zeile 5) nicht richtig klappt. Trotz dass du die Variable $status als integer deklariert hast, ist meines Wissens die Abfrage auf 0 gleichbedeutend mit false. Mit $status == "0" || $status == "1" könnte es klappen.
Patrick_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0' | | | Beiträge: 1004 Registriert: Jul 2008
Themenautor/in
| 30.04.2010, 13:59
Gerade die erste Abfrage funktioniert doch!Wer Rechtschreibfehler findet, darf sie gerne behalten. | | | Beiträge: 579 Wohnort: Halle Registriert: Apr 2005
| 30.04.2010, 14:24
Mist, hab ich mal wieder Müll erzählt ;)
Ich hatte es nur mal schnell getestet und da ist mir aufgefallen, dass die erste Schleife ja verlangt, dass keine leere id UND einen Status von 0 oder 1 übergeben wird. Sie hat bei mir aber auch funktioniert, wenn ich NUR eine id übergeben hatte ohne einen status anzugeben. Also:
...?id=1&status=
Normalerweise hätte die Schleife dann ja gar nicht ausgeführt werden dürfen.
Werd aber mal weiter basteln...vielleicht komm ich noch drauf ;)
Patrick_________________________________________________________
Um Rekursion wirklich zu verstehen, muss man zuerst Rekursion verstehen.
null != 'null' != 0 != '0' | | | Beiträge: 6981 Wohnort: München Registriert: Jan 2002
| 08.05.2010, 23:12
Wenn Du genau nach "" abfragen möchtest, geht das so:
D.h. der String muss wirklich leer sein. 0 wäre nicht leer, false auch nicht. Wenn Du es nur so schreibst:
Dann trifft dies auch bei 0, false, null und "" zu.JavaScript & JavaFX Freelancer || Flashhilfe @ Twitter || XING Profil | | | Beiträge: 1004 Registriert: Jul 2008
Themenautor/in
| 09.05.2010, 20:33
Ok, danke :-)Wer Rechtschreibfehler findet, darf sie gerne behalten. | |
| Ähnliche Beiträge zum Thema | 13.09.2021 - Willisquirion 08.05.2022 - Indy_Crossover 04.10.2019 - pmvTaucha.4 15.04.2021 - hansi24 |
|
Flashhilfe.de Flash Platform Tipps & Tutorials Flash Platform Andere Programmiersprachen Jobangebote Diskussionen
Flashhilfe News 
Regeln & Bedingungen
|