Claudia: Formular mit PHP versenden

Hallo!

Ich habe in html ein Formular programmiert:

<form action="mail.php" method="POST" accept-charset="utf-8" enctype="multipart/form-data">

<table border="0" cellpadding="5" cellspacing="0" style="margin-left:30px; margin-right:20px;">

<tr><td align="left">Vorname:</td>
<td><input id="Vorname" name="Vorname" type="text" size="67" maxlength="67"></td></tr>

<tr><td align="left">Nachname:</td><td><input ide="Nachname" name="Nachname" type="text" size="67" maxlength="67"></td></tr>

<tr><td align="left" valign="top">eMail:</td><td><input id="eMail" name="eMail" type="text" size="67" maxlength="67"></td></tr>

<tr><td align="left" valign="top">Upload der Rechnung:</td><td><input id="Datei" name="Datei" type="file" size="50" maxlength="100" accept="text/*"></td></tr>

<tr>  <td><br><table border="0" cellpadding="0" cellspacing="0" bgcolor="#0096d6">
<tr><td align="right" valign="bottom" height="26">
<img src="button_left.png" width="7" alt="" border="0" style="display:block;"></td><td align="center" valign="middle">
<div style="margin-left:3px; margin-right:3px;">
<input type="image" alt="Absenden&nbsp;" style="font-family: Arial; color: #ffffff; text-decoration: none; font-weight: bold; font-size: 14px;">
</span></font></a></div>    </tr></table></form>

Dazu habe ich eine PHP Datei erstellt, damit ich die Daten aus dem Formular "im Hintergrund" an meine eMail Adresse senden kann:

<?php $Vorname = $POST['Vorname']; $Nachname = $POST['Nachname']; $eMail = $_POST['eMail'];

$empfaenger = "email@email.at";
$betreff = "Gewinnspiel";
$mailtext = "$Vorname $Nachname $eMail";

$erfolg = mail($empfaenger, $betreff, $mailtext);

if ($erfolg) { echo "Die Nachricht wurde erfolgreich versendet!"; } else { echo "Die Nachricht konnte leider nicht gesendet werden."; } ?>

So weit so gut. Das Problem dabei: Die eMail wird verschickt, aber es kommen nur die Daten an, die im Feld "eMail" ausgefüllt wurden. Leider komme ich grad echt nicht auf den Fehler drauf...

Weiters hätte ich gerne die Datei, die man uploaded im Anhang von der eMail. Keine Idee wie ich das noch integrieren kann....

Bitte um eure Hilfe.

LG Claudia

  1. Tach!

    So weit so gut. Das Problem dabei: Die eMail wird verschickt, aber es kommen nur die Daten an, die im Feld "eMail" ausgefüllt wurden. Leider komme ich grad echt nicht auf den Fehler drauf...

    Nun, dann kommt wie in solchen Fällen üblich, das Debugging an die Reihe. Stehen denn alle Werte in $mailtext drin? Nein, wie wird $mailtext zusammengebaut, stehen in den Variablen die gewünschten Werte? Nein, dann weiter zurückverfolgen, bis dahin, wo die Werte entstehen.

    Weiters hätte ich gerne die Datei, die man uploaded im Anhang von der eMail. Keine Idee wie ich das noch integrieren kann....

    Das selbst zu machen, ist nichts für Anfänger. Schau dir den fortgeschrittenen PHP-Formmailer an, der kann Anhänge mitsenden.

    dedlfix.

    1. Hey danke für deine schnelle antwort.

      das erste problem konnte ich bereits lösen. mir hat lediglich ein _ gefehlt --> $_POST --> bei der eMail war der _ dabei, deswegen kam der inhalt an und die anderen nicht.

      <?php $Vorname = $POST['Vorname']; $Nachname = $POST['Nachname']; $eMail = $_POST['eMail'];

      Ich hab heute echt schon viel gelesen, aber leider hab ich es bisher nicht geschafft meinen dateianhang zu integrieren. das ist das letzte puzzleteil und dann funktioniert es.... ich dachte ihr habt vl. eine einfache lösung?

      1. Tach!

        Ich hab heute echt schon viel gelesen, aber leider hab ich es bisher nicht geschafft meinen dateianhang zu integrieren. das ist das letzte puzzleteil und dann funktioniert es.... ich dachte ihr habt vl. eine einfache lösung?

        Eine Mail mit Anhang zu versenden ist ein komplexes Vorhaben. Eine einfache Lösung dafür gibt es nur mit etwas vorgefertigtem, das dir die Komplexität abnimmt.

        dedlfix.

  2. hi,

    Bitte um eure Hilfe.

    Guck Dir die üblichen Verdächtigen RFCs an, Stichwort MIME, Multipart Message, Header...
    Hilfreiche Links hier im Forum können Dir ein solches Studium nicht ersetzen. Du brauchst keine n Semester um zu verstehen, wie eine Mail aufgebaut ist. Du brauchst vielleicht einen halben Tag, eine Investition, die sich auf Jahre auszahlt, sofern Du bereit bist, Dein zukünftiges Leben der Welt des Internet zu widmen.

    Zum freundlichen Geleit,
    Horst

    --
    Innovation stützt sich nicht auf preiswerten Nachwuchs!
    Verschachtelte Strukturen in MySQL