Brett vorm Kopf
Sebastian
- php
Hi,
kann mir das einer erklären?
Alle Variablen sind ja augenscheinlich vorhanden und auch nicht leer.
Warum wird die if-Bedingung also erfüllt?
if ((!isset($datum_min)) || (!isset($datum_max)) || (!empty($datum_min)) || (!empty($datum_max)) || (!isset($menuepunkt)) || (!isset($menue)) || ($menuepunkt == '0') || ($menue == '0') ) {
echo("<br>$user<br>");
echo("<br>$datum_min<br>");
echo("<br>$datum_max<br>");
echo("<br>$menuepunkt<br>");
echo("<br>$menue<br>");
} else {
...
}
-----------------------------------------
Ausgabe:
User1
02-08-2010
20-08-2010
Punkt1
Menue1
Grüß, Seb
[latex]Mae govannen![/latex]
Alle Variablen sind ja augenscheinlich vorhanden und auch nicht leer.
Warum wird die if-Bedingung also erfüllt?
(!empty($datum_min)) || (!empty($datum_max)) |
Mindestens deshalb. Wenn die variable gesetzt, ist !empty erfüllt, also true.
Cü,
Kai
(!empty($datum_min)) || (!empty($datum_max)) |
Mindestens deshalb. Wenn die variable gesetzt, ist !empty erfüllt, also true.
Hi Kai,
ich sag ja, Brett vorm Kopf.
Danke fürs Abholzen und Gruß
Seb
Hello,
ich sag ja, Brett vorm Kopf.
Dann schick ich Dir mal mein Spezialbrett für Durchblicker ;-))
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg
[latex]Mae govannen![/latex]
ich sag ja, Brett vorm Kopf.
Danke fürs Abholzen und Gruß
wie dedlfix schon anmerkte: var_dump würde helfen. Wenn eine bedingte Verzweigung nicht so "erfüllt" wird, wie man es sich vorstellt, dann sollte man die einzelnen Teilbedingung testen.
Das wäre dann in deinem Fall:
var_dump((!isset($datum_min)),(!isset($datum_max)),(!empty($datum_min)),(!empty($datum_max)),(!isset($menuepunkt)),(!isset($menue)), ($menuepunkt == '0'),($menue == '0'));
oder aufwendiger
var_dump(!isset($datum_min));
var_dump(!isset($datum_max));
var_dump(!empty($datum_min));
var_dump(!empty($datum_max));
var_dump(!isset($menuepunkt));
var_dump(!isset($menue));
var_dump($menuepunkt == '0');
var_dump($menue == '0');
Cü,
Kai
Hi!
Alle Variablen sind ja augenscheinlich vorhanden und auch nicht leer.
Wie wäre es mit Kontrollausgaben statt Gedankenspielen? var_dump() ist dafür das beste Mittel. Zusätzlich empfiehlt es sich, das error_reporting auf E_ALL zu setzen. isset() und empty() arbeiten zwar stets schweigend, aber eine Notice beim var_dump()en zeigt dann an, dass die Variable nicht existiert.
Lo!