Moin,
»» if (isset($uhr) && !empty($uhr) && $uhr === '9-12 Uhr')
wenn !isset() zutrifft, trifft empty() auch zu.
... und wenn empty() zutrifft, kann ==='9-12 Uhr' niemals zutreffen.
Ergo: Du hast Recht, empty() ist in dieser Prüfung redundant.
if (!isset($_POST['uhr']) or $_POST['uhr'] != '9-12 Uhr')
{
echo "uhr wurde nicht gesetzt";
}
else
{
echo "uhr wurde gesetzt";
}Das sollte genügen.
Ja, aber man sollte darauf achten, dass der logische ODER-Operator unterschiedliche Prioritäten hat, je nachdem ob man ihn als || oder als or schreibt. Das ist hier unerheblich, weil der Vergleichsoperator in beiden Fällen stärker bindet. Aber es gibt Ausdrücke, in denen das einen Unterschied ausmacht.
Ich ahne und befürchte, dass Du mit "register_globals = on" arbeitest. Google mal nach diesem Begriff oder suche hier im Archiv danach. Du solltest diese Einstellung nicht mehr benutzen. Ich habe deshalb gleich $_POST['uhr'] benutzt.
Guter Hinweis - auch wenn das aus dem Codeschnipsel des OP nicht direkt hervorgeht.
Fröhliche (F)eiertage,
Martin
Schon gewusst, dass Aftershave trotz des Namens eigentlich eher fürs Gesicht gedacht ist?