[PHP] != funktioniert nicht
-
Hallo ich habe eine If Abfrage für mein Script. Also so als Errorseite.
Sinn des unten stehenden Scripts liegt darin, nur die von mir vorgegebenen Werte möglich sein sollen.
Also wenn der ungleich meiner Vorgabe ist, dann soll er den Error anzeigen.Wie man unten sieht, soll wenn die "cat" nicht freeware, default oder shareware ist der Error kommen. Aber wenn ich
.php?cat=default
angebe, dann kommt der Inhalt für default UND der Error.
Find ich ziemlich blöd.Könnt ihr mirn da helfen?
if ($_GET['cat'] != "freeware" || $_GET['cat'] != "shareware" || $_GET['cat'] == "default" || $_GET['subcat'] != "programme" || $_GET['subcat'] != "updates" || $_GET['subcat'] == "statistik" || $_GET['action'] != "show") { include ('error/tpl_error_108.php'); }
Achso noch eine Frage:
Wie kann ich folgende if abfrage ausdrücken...
Wenn irgendwas vorhanden ist dann tu dies
Also ich weiß nicht welcher Wert es ist, aber etwas ist vorhanden.Gruß Wubbel
-
Hi,
wenn du die Fehlerseite ausgibst, darfst du natürlich nicht mehr die normale anzeigen!
Wie kann ich folgende if abfrage ausdrücken...
Wenn irgendwas vorhanden ist dann tu dies
Also ich weiß nicht welcher Wert es ist, aber etwas ist vorhanden.(in deinen else()-Zweig, wo du weißt, dass die Abfrage unbekannt ist, also quasi in das obenstehende if hinein)
if ($string != "")
...ChrisM
-
ChrisM schrieb:
Hi,
wenn du die Fehlerseite ausgibst, darfst du natürlich nicht mehr die normale anzeigen!
Wie kann ich folgende if abfrage ausdrücken...
Wenn irgendwas vorhanden ist dann tu dies
Also ich weiß nicht welcher Wert es ist, aber etwas ist vorhanden.(in deinen else()-Zweig, wo du weißt, dass die Abfrage unbekannt ist, also quasi in das obenstehende if hinein)
if ($string != "")
...ChrisM
Tut mir leid, aber ich habe dich jetzt nicht wirklich verstanden.
-
Wubbel schrieb:
Wie kann ich folgende if abfrage ausdrücken...
Wenn irgendwas vorhanden ist dann tu dies
Also ich weiß nicht welcher Wert es ist, aber etwas ist vorhanden.So ganz verstehe ich dich auch nicht
willst du überprüfen, ob eine Variable gesetzt ist?
if(isset($deinevariable)) { // hier käme der Code hin }
Je nach dem, was genau du suchst evtl. auch empty() o.ä.
-
Hi Wubbel,
sorry, aber deine IF Anweisung passt nicht !
du übergibst .php?cat=default
und bei
if ($_GET['cat'] != "freeware" || .... ist doch schon die Bedingung Wahr, da ja
cat=default unterschiedlicher als freeware ist, also wird include ('error/tpl_error_108.php'); ausgeführt.
-
hmm mit isset könnte das klappen daran ahtte ich nicht gedacht. danke @ flenders
hmm kann ich das dann alles zugleich abfragen
if ($_GET['cat'] != "freeware" || "shareware" || "default""
-
Also wenn du nach bestimmten Werten abfragen willst, dann bastle dir doch einfach eine Funktion, der du den Parameter cat übergibst. In dieser Funktion hast du ein Array, in dem alle deine möglichen Werte stehen. Den Übergabewert vergleichst du dann einfach mit den Werten im Array, wenn der passende gefunden wurde, dann gibst du z. B. den Index zurück und wenn der Wert nicht gefunden wurde, dann gibst du einfach eine Zahl <0 zurück.
-
hmmm wow
also ich hab das jetzt soweit gemacht wie ich das wusste:$cat_content = array("freeware", "shareware", "default"); $subcat_content = array("programme", "updates", "statistik"); if ($_GET['cat'] != $cat_content || $_GET['subcat'] != $subcat_content || $_GET['action'] != "show") { include ('error/tpl_error_108.php'); }
hmmmm eine Funktion?!?!? Seit ich da übelst dran gescheiteert bin, habe ich es gelassen. Aber irgendwann muss man es ja mal lernen. Also array hab ich und wie kommt die Funktion jetzt ins Spiel?
-
Wenn du PHP 4 laufen hast kannst du auch gleich in_array() nehmen
-
Ohh Prima es funktionert. Ich hatte zwar erst einen fehler, aber den hab ich auch wieder hingekriegt.