Hi!
kann mann solche IF Anweisungen
if (isset($_GET['foo']))
if (isset($_GET['bar']))
so zusammenführen um code zu sparen
if ((isset $_GET['foo)]) || (isset $_GET['bar)])
Abgesehen vom Syntaxfehler ... du kannst dir die Frage auch selbst beantworten, wenn du dir eine Wahrheitstabelle erstellst:
isset($_GET['foo']) | isset($_GET['bar']) | Ergebnis
------------------------------------------------------------
false | false |
true | false |
false | true |
true | true |
Jetzt rufst du dein Script ohne, mit foo, mit bar und mit beidem auf und schaust, was jeweils bei
vardump(isset($_GET['foo']));
vardump(isset($_GET['bar']));
vardump(isset($_GET['foo']) || isset($_GET['bar']));
als Ergebnis erscheint. (Vorher ein <pre> ausgeben erhöht die Übersichtlichkeit der Ausgabe.)
Allerdings hast du vermutlich schon einen Logik-Fehler im Ausgangscode. Schreib mal
var_dump(isset($_GET['foo']));
var_dump(isset($_GET['bar']));
und wiederhole die vier Aufrufvarianten. Immer bei true würden deine Headerzeilen gesetzt. Du hast eine Konstellation, bei der die Headerzeilen zweimal gesetzt werden. Wenn du statt var_dump() man ein echo nimmst, siehst du das noch deutlicher, das gibt entweder nichts oder eine 1 aus. Wenn 11 dasteht, hast du eine doppelte Ausgabe, obwohl du sicher nur eine willst. Insofern ist nur die zusammengefasste Variante gegenüber den einzelnen richtig.
Lo!