Steffi: Formmailer klappt - auf der Homepage nicht!

Hallo,

ich habe ein Formmailer gebastelt und er klappt wunderbar! Nur auf der Homepage nicht. Ich habe die Datei mit switch() includet, aber es geht nicht, obwohl es gehen sollte.

Aber es liegt nicht an Include, weil es sich includen lässt.

Problem:
http://www.digimon-chronic.de/index.php?site=feedback
Klappt:
http://www.digimon-chronic.de/feedback-minyu.php
Include klappt auch:
http://www.digimon-chronic.de/feedback1.php
In feedback1.php habe ich feedback-minyu.php includet.

Hier der Code von meinem Formmailer:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table>
<tr>
<td>Name:</td><td> <input type="text" name="Name" value="<?php echo htmlspecialchars(stripslashes($_POST['Name'])); ?>"<br></td>
</tr>
<tr>
<td>E-Mail-Adresse:</td><td> <input type="text" name="Email" value="<?php echo htmlspecialchars(stripslashes($_POST['Email'])); ?>"><br></td>
</tr>
<tr>
<td>Kommentar:</td><td>
<textarea name="botschaft" cols="50" rows="5">
<?php echo htmlspecialchars(stripslashes($_POST['botschaft'])); ?>
</textarea></td><br>
</tr>
</table>
<input type="submit" value="Absenden" name="submit">
</form>
<?php
if (isset($_POST['submit'])) {

$fehler=false;
$fehlertext="";

if (empty($_POST['Name'])) {
$fehler=true;
$fehlertext.="Der Name fehlt!<br>\n";
}

else if (strlen($_POST['Name'])<3) {
$fehler=true;
$fehlertext.="Der Name ist zu kurz!<br>\n";
}

$muster="/[1]+@[a-zA-Z0-9-_.]+.[a-zA-Z]{2,4}$/";
if (empty($_POST['Email'])) {
$fehler=true;
$fehlertext.="Die E-Mail-Adresse fehlt!<br>\n";
}

else if (preg_match($muster, $_POST['Email']) == 0) {
        $fehler = true;
        $fehlertext .= "Die E-Mail-Adresse ist ungültig!<br>\n";
    }

if (empty($_POST['botschaft'])) {
$fehler=true;
$fehlertext.="Das Kommentar-Feld muss ausgefüllt werden!<br>\n";
}

else if (strlen($_POST['botschaft'])<3) {
$fehler=true;
$fehlertext.="Der Kommentar ist zu kurz!<br>\n";
}

if ($fehler) {
echo "<p>$fehlertext</p>";
}
else {

$mailbody = $_POST['Name'] . " schrieb\n\n";
        $mailbody .= $_POST['botschaft'];
        $mailbody = stripslashes($mailbody);
        $Email = $_POST['Email'];
        if (@mail("Steffi.Chan@web.de", "Digimon Chronic - Feedback", $mailbody, "From: $Email")) {
            echo "<p>Danke! Die Botschaft wurde weitergeleitet!</p>\n";
        } else {
            echo "<p>Leider gab es einen Sendefehler!</p>\n";
}
}
}
?>

Vielen Dank.

LG
Steffi


  1. a-zA-Z0-9-_. ↩︎

  1. hi,

    Ich habe die Datei mit switch() includet, aber es geht nicht, obwohl es gehen sollte.

    Aber es liegt nicht an Include, weil es sich includen lässt.

    bitte lies </faq/#Q-07> (und </faq/#Q-19>), und starte dann einen neuen versuche, dein problem _verständlich_ zu erklären (und wenn möglich nur mit dem _relevanten_ code).
    dieser hier ging erst mal in die hose.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }
  2. Hi,

    Ich habe die Datei mit switch() includet, aber es geht nicht, obwohl es gehen sollte.

    geht das auch etwas genauer?

    echo "<p>Leider gab es einen Sendefehler!</p>\n";

    kommt er denn in diesen else-Zweig?

    wenn ja, dann tippe ich auf einen falsch konfigurierten Mailserver.

    Gruß
    MrWurf