Kontaktformular PHP und HTML (kann nicht programmieren)?
https://pastebin.com/VTR6DSJ7
Alles wird übermittelt, aber:
Dann öffnet sich nach dem abschicken diese .php als Seite - wie verhindere ich das?
Ich will einfach nur auf der Seite normalen index.html bleiben, oder diese wenigstens neu laden lassen.
1 Antwort
a) Statt dem echo-Befehl, kannst du auch noch einmal auf die index.html zurückleiten:
header("Location: URL-to-index.html");
b) Ändere die Endung deiner index.html zu .php und kopiere den PHP-Block aus deinem Skript hinein. Im einfachsten Fall genau dort im body, wo später die Erfolgsmeldung stehen soll. Das action-Attribut des Formulars entfernst du.
Angedeutetes Beispiel:
<!doctype html>
<!-- head ... -->
<body>
<form method="post">
<!-- form fields ... -->
<p class="result">
<!-- your php block ... -->
</p>
</form>
</body>
Den else-Block kannst du entfernen, da du ihn nicht mehr brauchst.
Die Seite wird folgend bei Formularversand neu geladen. Die Daten werden an die selbe Seite geschickt und dann vom PHP-Skript ausgewertet.