AW: PHP-Kontaktformular, Sicherheit und Fragen
Oh, wow. Du hast ein paar grundlegende Konzepte noch nicht verstanden. Das ist kein Problem, ich hatte nur nicht damit gerechnet
Sowas
PHP:
function isDefined($name) {
return isset($name) && !empty($name);}
function isDefined($email) {
return isset($email) && !empty($email);}
function isDefined($nachricht) {
return isset($nachricht) && !empty($nachricht);}
ist komplett am Ziel vorbei. Eine Funktion dient zur Abstraktion eines Stück Codes, repräsentiert also einen kleinen Algorithmus den du häufiger benutzt.
Eine Funktion kann
Parameter haben, die für diesen Algorithmus irgendwie wichtig sind. Damit kannst du die allgemeine Funktion für etwas spezifisches ausführen.
Ich vergleiche es gern mit einer Paketsendung: du als Kunde packst irgendwas (= Parameter) in ein Paket und lässt dieses per Post verschicken (= Funktion). Der Post ist der Inhalt recht egal, sie macht einfach das gleiche wie für jedes andere Paket.
Offensichtlich hat die Post nicht 42 verschiedene Paketversand-Mechanismen für 42 unterschiedliche Inhalte. Nein, es gibt einen (abstrakten) Ablauf, der für die meisten Inhalte funktioniert.
Gleiches gilt für die Funktionen:
PHP:
function isDefined($foo) {
return isset($foo) && !empty($foo);
}
Diese eine Funktion kann für alle möglichen Variablen benutzt werden. Der Parametername ist vollkommen egal und hat nichts mit dem Code ausserhalb der Funktion zu tun. Deshalb habe ich in meinen Beispielen stets
Platzhalternamen benutzt.
Wenn die Funktion einmal definiert ist, kannst du sie wie isset() oder empty() benutzen.
Das mehrfache definieren der Funktion führt auch zu einem
Fatal error: Cannot redeclare isDefined()
was die leere Seite erklärt.
Du müsstest mglw. in der php.ini display_errors und display_startup_errors auf 1 setzen, oder temporär im Script
PHP:
ini_set('display_errors',1);
ini_set('display_startup_errors',1);
ganz oben, damit du die Fehler siehst.
Duddle