Wer kann mir helfen einen Fehler in PHP zu finden?

Hallo,

ich habe ein Kontaktformular mit HTML und PHP erstellt damit Kunden eine Bestellung abschicken können.

Beim Testen des Formulars kam aber keine Mail an der hinterlegten E-Mailadresse an. Vermutlich habe ich irgendwo einen Fehler in den PHP – Befehlen gemacht.
Vielleicht kann mir ja ein PHP – Experte weiterhelfen.

Dann habe ich noch eine zweite Frage.

Bei dem E-Mailpostfach habe ich „Autoreply“ aktiviert.
In dem Formular ist ein Eingabefeld für die E-Mailadresse. Was muss ich bei den PHP – Befehlen machen, damit an die eingegebene E-Mail eine vorgefertigte Antwort geschickt wird.

Um es genauer auszudrücken: Was muss ich machen, damit die eingegebene E-Mailadresse an PHP übergeben wird und PHP dann eine Aktion auslöst, damit die vorgefertigte Antwort verschickt wird.

Den HTML- und PHP - Code habe ich hier mal als PDF gespeichert.
PDF - Datei

Ach ja, ich habe die E-Mailadresse mit Sternchen unkenntlich gemacht. In der Datei ist sie natürlich richtig angegben.

Vielen Dank für’s Lesen

Hi!

Da ich weder gewillt bin, deinen Code zu lesen, geschweige denn zu korrigieren, wäre eine kurze Suche hier geendet:
PHP-Code auf Syntax prüfen
PHP-Code testen

Grüße,
Tomh

Hi!

Hast du schon einmal versucht, eine Test-Email zu senden (mail(’-=Adresse=-’,‚Testbetreff‘,‚Testnachricht‘);)?
Steht etwas in den PHP-Logs?
Ich hatte mal das Problem, das Emails nicht verschickt wurden weil fakemail (? ich weiß den Begriff nicht mehr genau) aktiviert war. Nach Deaktivierung gings dann.

Noch etwas ist mir aufgefallen: man sollte NIEMALS direkt die Parameter (POST, GET) verwenden. Sie sollten IMMER vorher validiert werden (z.B.: Ist die Emailadresse des Absenders gültig?).

LG,
Volker

Hallo,

vielen Dank für eure Hilfe.

PHP -Code auf Syntax prüfen habe ich jetzt ausgeführt. Da wurden keine Fehler gefunden. Alles andere werde ich heute Abend mal ausprobieren.

Ich würde erstmal versuchen, deine If-Bedingung zu prüfen. Also mach dir eine Ausgabe dahin, wo dein mail()-Aufruf steht. Erst, wenn die Bedingung sauber funktioniert würde ich mich um die Mails kümmern.

Dein Skript wirft übrigens Warnungen, wenn - aus welchen Gründen auch immer - Felder des Formulars fehlen.

Warum die Bestätigung der AGB als Geschichte bezeichnet wird versteh ich auch nicht, das ist aber hier nicht Thema.

Hallo,

das hat sich jetzt hier erledigt,

Ich habe einfach zig PHP – Anweisungen für Kontaktformulare kopiert und dann in meines eingefügt, bis es irgendwann einmal klappte. Ich weiß zwar nicht wo bei mir der Fehler lag aber das ist ja auch völlig gleichgültig. Hauptsache es funktioniert. :smile:

Danke an alle die versucht haben mir zu helfen.

Oh mein Gott! Damit hast du dir mit Sicherheit Sicherheitsrisiken á la XSS oder CSRF ins Haus geholt. Und eventuell hast du einen neuen Spambot erzeugt, der frei im Netz steht und unter deinem Namen Spams verschickt. Das hat eventuell strafrechtliche Konsequenzen. In jedem Fall aber droht die Sperrung deiner Webseite.

Was eine beschissene Einstellung. Leute wie du sind das Problem, wenn es um Spam oder Hacks geht.

Nein. Das ist nur notwendige Bedingung. Da fehlt noch die hinreichende Bedingung.