• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Frage Ich brauche eure Hilfe [HTML-Formular versenden]

kretzschi

Neues Mitglied
Guten Tag zusammen,
ich arbeite immoment an einem kleinen Projekt, dazu wollte ich ein bewerbungsformular auf meiner seite anbringen. Dies lief auch alles gut. Wen ich das Formular abschicke werde ich auch auf die seite der php weitergeleitet und es kommt keine Fehlermeldung. Dennoch bekomme ich keine Email. (Ich lade beide Quelltext-abschnitte mit hoch.)

Woran könnte das liegen ?
Ps: Die Seite ist noch nicht online gestellt und wird nur im Browser ausgeführt.

Schonmal Danke im vorraus.
 

Anhänge

  • html.PNG
    html.PNG
    45,5 KB · Aufrufe: 8
  • php.PNG
    php.PNG
    20,7 KB · Aufrufe: 8
Werbung:
Versuche doch mal die Variable $_POST['submit'] als Erstes per 'echo' auszugeben.
Wenn ich das richtig sehe, ist die gar nicht gesetzt und dann wird die if Abfrage auch gar nicht ausgeführt.
 
Werbung:
Also zuerst solltest du mal Sachen wie "rn" in "\r\n" umwandeln. Ansonsten ist es einfach Text und kein Zeilenumbruch.

Die if-Abfrage am Anfang kannst du weglassen. Ich schätze nämlich, dass du es allein im File stehen hast.

Dein $mail-header kannst du so schreiben:
Code:
$mail-header  = "From: <".$email.">\r\n";
$mail-header  .= "Reply-To: ".$email."\r\n";
$mail-header  .= "Content-type: text/html; charset=utf-8";

In $message willst du, wenn die E-Mail gesendet wird, Variablen anzeigen. Im Moment zeigst du sie aber als Text an. Sprich, es wird dann nicht der Name, sonder $name in der E-Mail stehen. Änder es zu:
PHP:
$message= "Name: ".$name."\r\n"
und so weiter.

Übergib die input-Felder richtig. Du schreibst name="Nachricht", also musst du auch
PHP:
$nachricht = $_POST['Nachricht'];
schreiben.

Außerdem hast du keinen Betreff als input-Feld, in deiner mail-Funktion ist aber $betreff angegeben.
Du kannst als Betreff z.B.
$betreff = "Support-Anfrage";
schreiben.

So das sind erstmal ein paar Fehler. Falls es dann immer noch nicht funktioniert, schau ich nochmal genauer.
 
Also zuerst solltest du mal Sachen wie "rn" in "\r\n" umwandeln. Ansonsten ist es einfach Text und kein Zeilenumbruch.

Die if-Abfrage am Anfang kannst du weglassen. Ich schätze nämlich, dass du es allein im File stehen hast.

Dein $mail-header kannst du so schreiben:
Code:
$mail-header  = "From: <".$email.">\r\n";
$mail-header  .= "Reply-To: ".$email."\r\n";
$mail-header  .= "Content-type: text/html; charset=utf-8";

In $message willst du, wenn die E-Mail gesendet wird, Variablen anzeigen. Im Moment zeigst du sie aber als Text an. Sprich, es wird dann nicht der Name, sonder $name in der E-Mail stehen. Änder es zu:
PHP:
$message= "Name: ".$name."\r\n"
und so weiter.

Übergib die input-Felder richtig. Du schreibst name="Nachricht", also musst du auch
PHP:
$nachricht = $_POST['Nachricht'];
schreiben.

Außerdem hast du keinen Betreff als input-Feld, in deiner mail-Funktion ist aber $betreff angegeben.
Du kannst als Betreff z.B.
$betreff = "Support-Anfrage";
schreiben.

So das sind erstmal ein paar Fehler. Falls es dann immer noch nicht funktioniert, schau ich nochmal genauer.



Habe alle gemacht nur erscheint quellltext im browser seihst du meinen fehler ?
 

Anhänge

  • fehler.PNG
    fehler.PNG
    33,5 KB · Aufrufe: 4
  • browser.PNG
    browser.PNG
    13,9 KB · Aufrufe: 7
Werbung:
Könntest du den Code bitte nicht mehr Screenshoten, sondern ihn einfach reinschicken?
Du musst doch einfach nur ein ";" am ENDE der Zeile der $mail-header setzen.
PHP:
$mail-header .= ......;

Edit:
Oh noch ein Fehler!!!
Man darf keine "-"-Zeichen in PHP-Variablennamen verwenden.
Schreibe einfach;
$mailHeader
 
Zuletzt bearbeitet:
$mail-header .= "From: <".$email.">\r\n";
$mail-header .= "Reply-To:<" $email.">\r\n";
$mail-header .= "Content-type: text/html; charset=utf-8";

hab ich uns habe sie dir extra rot makiert, trz kommt das gleiche immernoch ( sry weiss nicht wie ich es osnt reinschreiben soll ( mit php ) und so
 
Werbung:
PHP:
$mailHeader  = "From: <".$email.">\r\n";
$mailHeader  .= "Reply-To: ".$email."\r\n";
$mailHeader  .= "Content-type: text/html; charset=utf-8";
Also mehr als das geht nicht
 
genau so habe ich es doch auch schon voher gehabt außer dem glaube ich das du in deiner ersten zeile einen punkt vergessen hast und zwar nach $mailHeader
habe alles gleich es ist immernoch das gleich spiel.
und habe um sicher zu gehen deins gerade nochmal in meine php rein kopiert.
 
Verwende besser eine fertige Mailer-Klasse w.z.B. den phpMailer, denn die mail()-Funktionvon PHP ist eine Krücke, die man besser meiden sollte.
 
Werbung:
Werbung:
Zurück
Oben