www.mikrocontroller.net

Forum: PC-Programmierung PHP-Formular am EMail übertragen


Autor: Relchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,
ich habe Probleme bei der Verwirklichung meines Formulars. Ich habe mich 
schon stunndenlang durch Foren und Tutorials gewühlt, aber die 
letztendliche Lösung hab ich noch nicht gefunden. Vielleicht kann mir 
hier jemand einen Tip geben?
Das Formuar soll ausgefüllt werden und dann an eine E-Mailadresse 
gesendet werden. Die Mail wird auch verschickt, aber ich schaffe es noch 
nicht, dass alle Ihnalte angezeigt werden. So viel ich verstanden hab, 
muss ich das mit additional headers machen, aber ich hab nicht 
verstanden WO und WIE ich die einbauen muss, also an welcher Stelle und 
in welcher Form. Ich habe das Manual gelesen aber es klappt trotzdem 
nicht. Vielleicht kann mir jemand, dass an einem Beispiel in meinen 
PHP-Code einfügen???

Im Vorraus schon mal danke für Eure Hilfe!
Relchen


Hier der php-Code:
<?PHP

mail("aurelia_wolters@yahoo.de", "Nachricht von $_POST[Nachname]", $_POST[Anfrage], "From: " . $_POST[emailadresse] );
?>

und hier der html-Code:
<p> Gerne können Sie auch das folgende Kontaktformular verwenden: </p> <br/>
 <form method="post" action="formular.php">
   <fieldset>
      <legend> persönliche Daten </legend>
        <p> <label for="vorname"> Vorname: </label> <br/> <input id = "vorname" type="text" name="Vorname" size="25"     /> </p>
        
        <p> <label for="Nachname"> Nachname: </label> <br/> <input id = "nachname" type="text" name="Nachname" size="25"     /> </p>
        <p> <label for="strasse"> Straße: </label> <br/> <input id = "strasse" type="text" name="Strasse" size="25"     /> </p>
        <p> <label for="postleitzahl"> Postleitzahl: </label> <br/> <input id = "postleitzahl" type="text" name="Postleitzahl" size="5"     /> </p>
        
        <p> <label for="ort"> Ort: </label>
        <br/> <input id = "ort" type="text" name="Ort" size="25"     /> </p>
        
        <p> <label for="telefon"> Telefon: </label> <br/> <input id = "telefon" type="text" name="Telefon" size="15"     /> </p>
        <p> <label for="email"> E-Mailadresse: </label> <br/> <input id = "emailadresse" type="text" name="E-Mailadresse:" size="30"     /> </p>
        
      
      <p> <label for="anfrage"> Ihre Anfrage: </label> <br/> <textarea id="anfrage" name="Anfrage" cols="30" rows="5"> Anfrage </textarea> </p>
      
      <p> <input type="submit" value="Formular absenden" /> </p>
      
</fieldset>  
</form>

Autor: Chris R. (hownottobeseen)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

hast du display_errors aktiviert?
Vermutlich nicht, da dir PHP sonst schon gesagt hätte, was falsch ist ;)

dir fehlen zum einen Anführungszeichen, zum anderen solltest du auch die 
anderen Eingabefelder mitsenden:

$msg = "Hallo Relchen,\n".
"Hier ist eine Nachricht von ".$_POST["Vorname"]." ".$_POST["Nachname"].":\n".
"...";

mail("aurelia_wolters@yahoo.de", "Nachricht von ". $_POST["Nachname"], $msg, "From: " . $_POST["emailadresse"] );

Siehe auch: http://www.php.net/manual/en/function.mail.php

Autor: Relchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für den Tip. Leider funktioniert es immernoch nicht fehlerfrei.

Die EMail kommt an und im Betreff steht auch "Nachtricht von XXX" aber 
die E-Mail ist leer.
Wenn ich den Code so verwende müsste doch in der E-Mail der Text stehen:
"Hallo Relcen,
hier ist eine Nachricht von YYY XXX.

Wo liegt der Fehler?
<?PHP
$msg = "Hallo Relchen,\n".
"Hier ist eine Nachricht von ".$_POST["Vorname"]." ".$_POST["Nachname"].":\n".


mail("xxxxx_wwwww@yahoo.de", "Nachricht von ". $_POST["Nachname"], $msg, "From: " . $_POST["emailadresse"] );
?>

Wenn ich weitere Inhalte in der E-Mail angezeigt bekommen will, muss ich 
dann schreiben:
<?PHP
$msg = "Hallo Relchen,\n".
"Hier ist eine Nachricht von ".$_POST["Vorname"]." ".$_POST["Nachname"].":\n".
".$_POST["Strasse"]."
".$_POST["Postleitzahl"]."  


Muss da noch ein Semikolon irgendwo hin??

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
[ ] Irgendeine Form von Handbuch zu PHP gelesen.
[x] Trial & Error.

Sei versichert, Trial & Error geht meistens in die Hose, vorallem bei 
einer Programmiersprache, die derart kaputt ist, wie PHP.

Ja, da fehlt ein Semikolon. Da fehlt auch jegliche Form von Überprüfung 
der Eingaben.

Autor: hui buh (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte mal ein Heft aus dem Knowware-verlag für 4€. Einstig in PHP 
oder so ähnlich. Da hat er beschrieben, wie man damit eine Seite 
aufziehen kann, Formulare einbindet, auswertet,.... Für 4€ ok, wenn man 
zum ersten Mal damit in Kontakt kommt, da alles auf Beispielen basiert.

Autor: Relchen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt funktionierts. Danke nochmal an Chris :-)

Hier noch die "Lösung", falls es mal wieder jemand braucht:
<?PHP

$text = $_POST[Vorname]."\n".$_POST[Nachname]."\n".$_POST[Strasse]."\n".$_POST[Postleitzahl]."\n".$_POST[Ort]."\n".$_POST[Telefon]."\n".$_POST[E-Mailadresse]."\n".$_POST[Anfrage];

mail("xxxxx_yyyyyyy@yahoo.de","Email per Formular",$text);

?>


Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Relchen schrieb:
> Hier noch die "Lösung", falls es mal wieder jemand braucht:
> ...

Es fehlen wieder Anführungszeichen um die Array-Indizes. Bei 
$_POST[E-Mailadresse] wird das unter Umständen in die Hose gehen.
Empfehlenswert wäre auch ein Blick auf isset(), um die Formulareingaben 
zu prüfen. Anschließend kommt eine Maskierung auch ganz gut, damit nicht 
jeder willkürlich Zeugs einbetten kann.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.