PHP-Kontaktformular
Ich habe den Code im Tutorial überprüft, erfahren, wie er funktioniert, und ihn dann programmiert. Ich habe es zum Laufen gebracht und es hat alle meine Tests bestanden und es lokal auf meinem PC ausgeführt. Es funktioniert perfekt.
Dann habe ich es als Teil einer bestehenden Website auf einen Server gestellt. Es ist fehlgeschlagen. Durch Klicken auf die Schaltfläche „Senden“ wird der Bildschirm gelöscht und das Formular kann nicht mehr angezeigt werden. Keine Fehlermeldungen. Nichts.
Sowohl XAMPP als auch der eigentliche Server führen PHP-Version 8.1.12 aus.
Es schlägt in dieser PHP-Codezeile fehl: header('Location: contact.php', true, 303);
Ich habe viel Zeit damit verbracht, dies zu debuggen, mehr über PHP zu lernen, die Ratschläge hier auf Stack Overflow zu befolgen und die PHP-Dokumentation über die Funktion header() zu lesen. Ich habe zwei LinkedIn Learning-Kurse zum Thema PHP besucht. Ich kann nicht herausfinden, was falsch ist.
Dann habe ich das Problem auf diesen einfachen Code reduziert und es so einfach wie möglich gemacht, ein Formular nur mit einer Senden-Schaltfläche. Es besteht das gleiche Problem wie beim vollständigen Formular.
Hier ist mein Testcode:
Code: Select all
Contact
Send Message
Ich habe absichtlich alle Einrückungen entfernt, weil ich erfahren habe, dass ein häufiges Problem darin besteht, dass unsichtbare Leerzeichen Fehler in der PHP-Funktion header() verursachen.
Dieses Programm (und mein vollständiges Formular) funktioniert jeweils einwandfrei:
- funktioniert perfekt, wenn ich es lokal auf meinem PC teste;
- schlägt bei der Ausführung auf dem echten Server, auf meinem Website-Hosting-Konto, fehl.
Was ist los? Was könnte falsch sein? Was verstehe ich nicht?
Mobile version