abdülmecit: php-mailer gibt fehler aus... brauche eure hilfe

ich hab einen php-mailer geschrieben. die datei heisst mail.php und der quellcode ist:

<?php
$email_to = "$email";
$email_betreff = "PHP Test-Mailer";
?>

<html>

<head>
<title>PHP Test-Mailer</title>
</head>

<body>
<?php
if(!isset($email_freund)){
?>
<form method="POST" action="dank.htm">
  <p><input type="text" name="email" size="20"> E-Mail</p>
  <p><input type="checkbox" name="newsletter" value="OFF">Newsletter</p>
  <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
</form>

<?php
}
else{
 $header="From:$email";
 mail($email_betreff,$newsletter,$header);
}
?>
</body>

</html>

sobald ich das ausgefüllte formular versenden möchte, erscheint die fehlermeldung:

Method Not Allowed
The requested method POST is not allowed for the URL /dank.htm.
Apache/1.3.23 Server at eaclan.ngz-server.de Port 80

könnt ihr mir vielleicht sagen, was ich ändern muss damit das ganze funktioniert? schonmal danke.

mfg abdülmecit

  1. hi,
    ich würde denken, dass man an eine *.htm-datei nix per GET oder POST schicken kann, da diese das nicht verarbeiten kann...
    du musst dafür extra eine *.php datei schreiben, die die formulareingaben korrekt auswertet und dann die email verschickt, anders geht's IMHO nicht

    Fabian

    1. hier noch das funktionierende resultat...

      1. irgendwie würde ich da noch
        1. einen adressen-validator einbauen, weil sonst kann ich auch an webmaster@t-online schreiben und das gefällt dem bestimmt nicht...
        2. eine antwortmeldung á la _mailgesendet_
        einbauen...

        Fabian

  2. Hi,

    Fuer die action im Form-tag darfst Du nicht "dank.htm" verwenden, sondern Deine PHP Seite (mail.php), die ja die Formangaben verwerten soll.
    Die Weiterleitung auf dank.htm kommt dann am Ende der If-Else-Schleife. Versuch's mal so (Frage - wo wird $email-freund denn gesetzt?):

    <?php
    if(!isset($email_freund)){
    ?>
    <form method="POST" action="mail.php">

    ^^^

    <p><input type="text" name="email" size="20"> E-Mail</p>
      <p><input type="checkbox" name="newsletter" value="OFF">Newsletter</p>
      <p><input type="submit" value="Abschicken" name="B1"><input type="reset" value="Zurücksetzen" name="B2"></p>
    </form>

    <?php
    }
    else{
    $header="From:$email";
    mail($email_betreff,$newsletter,$header);

    header("Location: dank.htm");
        exit;
        ^^^^

    }
    ?>

    Gruss, Mel

    1. ich habe die datei so ergänzt mel, wie du gesagt hast... und es funktioniert. mal sehen ob ich noch die mail erhalte.

      1. ich habe die datei so ergänzt mel, wie du gesagt hast... und es funktioniert. mal sehen ob ich noch die mail erhalte.

        ich hab grad gesehen, dass beim mail befehl die variable mit der e-mail adresse fehlt. *sich schäm* ... jetzt funktionierts logischerweise :-)

        thx a lot an mel