echo $begrüßung;
if ((isset ($_GET['keywords']) && empty ($_GET['keywords'])) && (isset ($_GET['pfrom']) && empty ($_GET['pfrom'])) && (isset ($_GET['pto']) && empty ($_GET['pto']))) {
$errorno += 1;
$error = 1;
}
elseif (isset ($_GET['keywords']) && empty ($_GET['keywords']) && !(isset ($_GET['pfrom'])) && !(isset ($_GET['pto']))) {
$errorno += 1;
$error = 1;
}
>
> 1. Ich versteh leider beim besten Willen nicht was der Unterschied zwischen dem ersten if und dem zweiten elseif ist.
Die erste Bedingung wird nur wahr bei ?keywords=0&pfrom=0&pto=0. Wobei die 0 auch wegbleiben kann. Sobald einer der Parameter fehlt, kommt die nächste zum Zug. Dann darf der Querystring nur ein leeres (oder 0) keywords enthalten, aber weder pfrom noch pto vorhanden sein, damit die Bedingung wahr wird.
> 2. Warum hat der Coder bei der zweiten elseif die ! vor die Klammer gemacht?
Das ist ein Negationsoperator. Der dreht die Logik um, von "wenn a ist" zu "wenn a nicht ist"
> 3. Warum schreibt er immer zuerst isset() um danach zu fragen ob es empty() ist?
Das Glas ist da aber leer, ist sicher oftmals gleichbedeutend mit einem nicht vorhandenen Glas. In beiden Fällen hat man nichts zu trinken. Im ersten aber immerhin ein Glas.
echo "$verabschiedung $name";