$name = $_POST['author'] ?? null;
if(is_null($name) || $name == '')ließe sich wohl auch im if mit
(empty($_POST['name']))
abhandeln.
Bist du das sicher?
Erkennt empty(), ob eine Variable zwar existent, aber leer ist?
Ich dachte immer, empty() vereint isset() und ob die Variable "false" ist.