Frage von Toides, 83

PHP soll ein Formular per E-Mail an mich versenden!?

Hallo, heute habe ich angefangen mir PHP selber bei zu bringen. Anfangen wollte ich damit, dass PHP ein Formular auswertetr und es an meine Mail-Adresse weiterleitet. (Dazu unten mein aktueller Quelltext)

Den Quelltext hab ich zumGroßteil aus dem Internet und habe ich auch verstanden, aber wenn ich auf der "Kontakt.html"-Seite auf den Button Submit klicke wird mir der Text auf einer Seite angezeigt und nicht passiert. --> Weder ich, noch der Autor der Anfrage bekommt eine Nachricht.

Meine Frage ist es, ob vllt jemand von Ihnen eine solche Funktion erklären kann, bzw mir eine funktionierende Version zukommen lassen kann.

Mit freundlichen Grüßen und schonmal Danke!!

Toides

Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von userfromberlin, 65

Da sind viele Fehler.

<?php $vorname = $_POST['vorname']; $nachname = $_POST['nachname']; $mail = $_POST['mail']; $betreff = $_POST['betreff']; $nachricht = $_POST['nachricht']; $empfaenger = "*****@outlook.de"; $betreffwebmaster= "Kontaktanfrage ($vorname $nachname)";

$koerperwebmaster= "$vorname $nachname hat über die Website '*' folgende Kontaktanfrage gestellt: \nKontaktdaten: $vorname $nachname \nE-Mail: $mail \n $nachricht";

$betreffkunde= "Kontaktanfrage ($vorname $nachname)";

$koerperkunde= "Sie $vorname $nachname haben über die Website '*' folgende Kontaktanfrage gestellt: \nKontaktdaten: $vorname $nachname \nE-Mail: $mail \n $nachricht";

mail("$empfaenger","$betreffwebmaster", "$koerperwebmaster\n", "FROM: $mail\n"); mail("$mail","$betreffkunde", "$koerperkunde\n", "FROM: $mail\n"); ?>
Kommentar von Toides ,

Vielen Dank erstmal!

Nun bekomme ich eine automatisch Generierte Mail.

Das Problem ist das die Email die Nachricht nicht beinhaltet. Alles andere ist in der Mail drin. Betreff, Name, Email - nur die Nachricht fehlt. Die Namen stimmen.

Kommentar von userfromberlin ,

Wenn Du meinst, dass die Variable $nachricht null ist, könnte das daran liegen, dass das HTML-Element mit name="nachricht", nicht zwischen <form> und </form> liegt. 

Kommentar von Toides ,

Ja, $nachricht ist null.
Dass das HTML-Element nicht zwischen <form> xyz </form> liegt hatte ich schon überprüft, da es auch mein erster Gedanke war. Aber nachdem ich es nun nochmal kontrolliert habe und dabei auch darauf geachtet habe, dass kein Tippfehler vorliegt, wunder ich mich umso mehr.

Kommentar von userfromberlin ,

Poste am besten mal den entsprechenden HTML-Code, sonst ist es schwer, das Problem weiter zu analysieren.

Antwort
von mm78pr, 83

GF verkleinert leider die Bilder automatisch wodurch dein Code leider unlesbar ist.

Kommentar von Toides ,

<?php$vorname = $_REQUEST['vorname']$nachname = $_REQUEST['nachname']$mail = $_REQUEST['mail']$betreff = $_REQUEST['betreff']$nachricht = $_REQUEST['nachricht']$empfaenger = "ToGuSpilles@outlook.de"$absender = $mailmail("$empfaenger","$betreffwebmaster", "$koerperwebmaster\n", "FROM: $absender\n")mail("$mail","$betreffkunde", "$koerperkunde\n", "FROM: $absender\n")$betreffwebmaster= "Kontaktanfrage ($vorname $nachname)"$koerperwebmaster= "$vorname $nachname hat über die Website 'www.Dach-und-Wand-Henrich.de' folgende Kontaktanfrage gestellt: \n\n""\n\nKontaktdaten: $vorname $nachname \nE-Mail: $mail \n\n\n"$nachricht;$betreffkunde= "Kontaktanfrage ($vorname $nachname)"$koerperkunde= "Sie $vorname $nachname haben über die Website 'www.Dach-und-Wand-Henrich.de' folgende Kontaktanfrage gestellt: \n\n""\n\nKontaktdaten: $vorname $nachname \nE-Mail: $mail \n\n\n"$nachricht;?>

Hoffe das ist halbwegs lesbar.

Kommentar von mm78pr ,

Leider auch nicht wirklich lesbar, das posten von Code in GF ist leider nicht so einfach.

Aber die Hilfeseite von php erklärt eigentlich alles was man wissen muss mit Beispielen.

http://php.net/manual/de/function.mail.php

Hast du die Möglichkeit ins Fehler Logfile zu schauen ? Die mail Funktion gibt TRUE zurück wenn in php alles funktioniert hat mit dem Versand.
if ( false==mail(....) ) {echo "Fehler"}

Kommentar von spaghetticode ,

Insbesondere die Anmerkungen der verlinkten Hilfeseite (ganz unten) solltest du mal lesen. Ich vermute, dass die Lösung für dein Problem da ziemlich wortwörtlich drin steht. ;-)

Kommentar von Toides ,

Was ich aber immer noch nicht verstehe, wieso sich die "Kontakt.php" öffnet, wenn ich den Button drücke.

Auf der HTML-Seite sieht das folgend aus:

<form name="frm_kontakt" action="kontakt.php" method="post">

Wissen sie vielleicht wieso die E-Mail nicht versendet wird?

-Vielen Dank für den Link, hat mir geholfen, habe Befehle vorher fehlinterpretiert.- 

 

Kommentar von mm78pr ,

action="kontakt.php"

die im action Parameter eingetragene Datei wird aufgerufen wenn man das Submit Ererignis durch Drücken des Buttons auslöst.

Antwort
von maximilianus7, 46

zum posten von programmcodes:

der gute-frage-editor ist nicht geeignet für source code.
programmcode bitte in zukunft auf z.b. http://pastie.org/ ablegen.

Keine passende Antwort gefunden?

Fragen Sie die Community