Lieber Bernd,
Hat deine Schreibweise Vorteile gegenüber meine oder ist dieses einfach eine Geschmackssache?
es ist wohl eher letzteres. Die Funktion array_key_exists tut genau das, was man von ihrem Namen her vermuten würde. isset dagegen prüft auf das generelle Vorhandensein einer Variable - obwohl wir ja wissen, dass es $_POST unbedingt geben muss, nur nicht, ob es den speziellen Schlüssel "abschicken" hat. Vom Schreibaufwand her ist isset schlanker und leistet in diesem speziellen Fall das gleiche.
Was das Verschachteln von if-Statements angeht, so hat das selbstverständlich auch seinen Sinn, wenn Du innerhalb des "äußeren if" noch weitere Anweisungsblöcke notieren willst:
if (isset($_POST['abschicken'])) {
if ($a) { ... }
if ($b) { ... }
}
Ansonsten notiere ich ein if-Statement, in dem ich alle benötigten Teile der Bedingung verwende (s.o.).
Was mich an Deinem Beispiel ein bisschen wundert: Warum muss $_POST['abschicken'] exakt den Wert "Abschicken" enthalten? Könnte es noch andere Werte enthalten? Und wenn ja, warum? Genügt es nicht, rein und allein auf das Vorhandensein dieses Schlüssels zu prüfen?
Liebe Grüße,
Felix Riesterer.