Sebastian: Formmailer (Parse error)

Hallo,

ich bin gerade dabei einen Formmailer zu bauen. Ich bin noch total unerfahren in der Verwendung von PHP und es will auch nicht so wie ich das.

Parse error: parse error in /homepages/27/d24442236/htdocs/zabdesign/temp/form-test.php on line 53

Zeile 53 ist der Anfang der mail() funktion!

Hier seht ihr den Code: (ganz simples Form)

<!-- FORMBEGIN -->
<form action="form-test.php" method="post" name="my_form">
Name: <input name="Name" type="text" size="20" maxlength="50">
<br>
<br>
E-Mail-Adresse: <input name="email" type="text" size="20" maxlength="50">
<br>
<br>
Telefon: <input name="fon" type="text" size="30" maxlength="80">
<br>
<br>
Betreff: <input name="subject" type="text" size="40" maxlength="100">
<br>
<br>
Ihre Nachricht:<br >
<textarea name="text" cols="10" rows="5"></textarea>
<input name="to" type="hidden" value="zab@zabdesign.de">
<input name="topage" type="hidden" value="http://www.zabdesign.de">
<input type="submit" value="hau raus">
</form>
<!-- FORMEND -->

<?php

$dontsend = array('to', 'topage');
    $mailtext = 'SimpleForm - generated Mail.';

//Referer gesetzt?
    if (isset($HTTP_REFERER)) {
        //Ja, also in die Mail schreiben
        $mailtext.= "from URL $HTTP_REFERER.\n";
    }
    else {
        //Nein, also Satz beenden
        $mailtext.= ".\n";
    }

//Vorsichtshalber das Array vor dem Durchlaufen zurücksetzen
    reset ($_POST);

while (list ($varname, $varvalue) = each ($_POST)) {
            if (!in_array($varname, $dontsend)) $mailtext.= "$varname:\n $varvalue\n\n";
    }

mail($_POST["to"], $_POST["subject"], $mailtext, "From: ".$_POST["name"]."\nContent-Type: text/plain; charset="iso-8859-1"\nContent-Transfer-Encoding: 8bit\nX-Mailer: SimpleForm");

header("Location: ".$_POST["topage"]);

?>

Vielleicht sieht ja jemand den Fehler,
das wäre super!

Gruß
ZAB

  1. Holladiewaldfee,

    mail($_POST["to"], $_POST["subject"], $mailtext, "From: ".$_POST["name"]."\nContent-Type: text/plain; charset="iso-8859-1"\nContent-Transfer-Encoding: 8bit\nX-Mailer: SimpleForm");

    Die Anführungszeichen bei charset benötigen ein Escape-Zeichen, also:

    charset="iso-8859-1"

    Ciao,

    Harry

    --
      Hä? Was? Signatur?! Kann man das essen?
      Wirrwarr: sh:| fo:) ch:] rl:° br:& n4:° ie:% mo:) va:) de:[ zu:) fl:( ss:) ls:[ js:|
    1. Die Anführungszeichen bei charset benötigen ein Escape-Zeichen, also:
      charset="iso-8859-1"

      Vielen Dank,
      jetzt läufts wie gewollt! Yiepiii!

      Gruß
      ZAB

  2. mail($_POST["to"], $_POST["subject"], $mailtext, "From: ".$_POST["name"]."\nContent-Type: text/plain; charset="iso-8859-1"\nContent-Transfer-Encoding: 8bit\nX-Mailer: SimpleForm");

    der fehler: charset="iso-8859-1"
    du musst backslash vorsetzen: charset="iso-8859-1"

    1. der fehler: charset="iso-8859-1"
      du musst backslash vorsetzen: charset="iso-8859-1"

      Vielen Dank,
      jetzt läufts wie gewollt! Yiepiii!

      Gruß
      ZAB

  3. Hallo Sebastian,

    warum es nicht geht haben dir ja Harry und lexx schon gesagt, aber...

    <input name="to" type="hidden" value="zab@zabdesign.de">

    ...mit dieser Zeile...

    mail($_POST["to"], [...]);

    ...kann hier an jede beliebige Person eine E-Mail geschickt werden, wodurch dein Script hervorragend dazu taugt Spam zu verschicken.

    Grüße aus Nürnberg
    Tobias

    --
    Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
    1. <input name="to" type="hidden" value="zab@zabdesign.de">

      Moin,

      sicherlich hast du recht! Ich bin auch wirklich gerade nur am Üben und das Formular erhebt keinerlei Ansprüche darauf fertig zu sein, geschweige denn eine ausgereifte Lösung zu sein.

      Aber danke für deinen Hinweis!

      Gruß
      ZAB