Bin am verzweifeln weil ich mittlerweile schon seit fast 2-3 h versuche, ein ganz simples Kontaktformular zu erstellen.
Habe auch schon ewig gesucht und eigentlich ist der Code ja richtig, denke ich, aber es klappt irgendwie doch nicht… Sehe ich den Wald vor lauter Bäumen nicht?..
Mein PHP (in der Datei kontakt.php im gleichen Verzeichnis):
[PHP]<?php
Das ist keine Problembeschreibung, mit der wir etwas anfangen können.
Richtig debuggen
Man bemerkt, dass ein Skript nicht das tut, was es soll.
Man schreibt an den Anfang des Scriptes die Zeile: error_reporting(-1);
Man verwendet ini_set(‚display_errors‘, true); damit die Fehler auch angezeigt werden.
Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde. Wichtig bei MySQL Fehlern (…not a valid MySQL result resource…): mysqli_error() verwenden oder Abfrage ausgeben und zb mit phpmyadmin testen.
Schritt 5 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.
Ich will nach ewigem Herumsuchen und Zusammenstückeln von Code-Snippets halt nun einfach einmal auch ein positives Ergebnis bekommen…
Ja, ich habe beide Dateien auf meinem Server hochgeladen, PHP steht mir zur Verfügung und läuft auch alles problemlos.(Wordpress und Forensoftware läuft auch)
Ich weiß einfach nicht mehr, was ich noch tun soll. Meiner Ansicht nach werden die Daten ja mit name=„xx“ ausgegeben und dann an die PHP-Datei weitergegeben. Die URL stimmt, „POST“ als Methode müsste ja auch richtig sein. Dann soll einfach eine der Variablen per Mail geschickt werden, wenn das mal funktionieren würde, könnte ich mir den Rest bestimmt auch wieder zusammenbasteln.
Aber nicht einmal der PHP-Einzeiler mit mail() und einer Variablen funktioniert.
Das Problem liegt daran, dass ich keine Email erhalte…
Ich denke, dass es nur an der Übermittlung zwischen der HTML- und PHP-Datei scheitert.
Ich habe den PHP Code in die PHP Datei eingefügt und dann das Formular ausgefüllt, es ist aber nichts passiert.
Nur wenn ich die PHP-Datei richtig aufrufe, kommt die Meldung „Mail ist raus,…“ und es kommt auch eine leere Email an.
Kann es evtl. daran liegen, dass sich das Kontaktformular in einem Lightbox-DIV befindet, das standardmäßig display:none hat und nur beim Klick auf einen Link geföffnet wird?
Das Problem hatte ich nämlich auch schon mit dem HTML 5 Audio Tag, der wurde darin irgendwie nicht verarbeitet…
EDIT: Ich habe gerade einmal das Formular außerhalb des DIVs, das als Lightbox geöffnet wird, platziert und es funktioniert nun. Ich verwende die „Featherlight“ Lightbox. Diese blockiert anscheinend irgendwie das Öffnen der PHP-Datei, denn es erscheint auch gar kein Fenster, wenn man auf Submit klickt.
Ich habe gerade einmal das Formular außerhalb des DIVs, das als Lightbox geöffnet wird, platziert und es funktioniert nun. Es öffnet sich die PHP Datei und eine Email wird verschickt.
Ich verwende die „Featherlight“ Lightbox. Diese blockiert anscheinend irgendwie das Öffnen der PHP-Datei, denn es erscheint auch gar kein Fenster, wenn man auf Submit klickt…