Hi,
Nun wollte ich ihn in die Webseite einbinden über die switch-Funktion
case 2:
include("kontakt.php");
break;
und schon klappt es nicht mehr.
Natürlich entstehen schnell Probleme, wenn man Code einfach per Copy&Paste übernimmt, ohne seine Funktionsweise verstanden zu haben.
Rufe ich aber separat die Datei auf, funktioniert wieder alles. Hat einer eine Idee woran das liegt??
Wenn du das erste mal über content.php?id=2 dein Script aufrufst, dann steht im Script $_GET['id'] zur Verfügung, und dein case 2 im switch bindet das include-File ein.
In dem darin enthaltenen Formular wird $_SERVER['PHP_SELF'] als Zieladresse angegeben - das dürfte aber nur "content.php" sein, der GET-Parameter fehlt hier.
Dann schickst du das Formular ab, deine content.php bekommt aber keinen Parameter id übergeben - und kann deshalb auch nicht per switch-case das include-File erneut einbinden.
Und schon steht jemand, der Copy&Paste mit Programmieren verwechselt, mit offenem Mund da, und kann seiner Verwunderung nur noch durch ein "klappt nich" Ausdruck verleihen.
und wie man Abhilfe schaffen kann??
Passende Adresse im action-Attribut des Formulars ausgeben lassen.
Entweder fix und statisch - oder mal überlegen/informieren, wie man dort dynamisch für die Ausgabe der richtigen Adresse sorgen könnte. (Dabei Sicherheit nicht ausser Acht lassen, sonst gibt's schnell eine XSS-Lücke.)
MfG ChrisB
Light travels faster than sound - that's why most people appear bright until you hear them speak.