Liebe Community
Ich habe für meine (private) Homepage ein Kontaktformular gebaut, d. h. ein Formular, wo Besucher mir direkt eine Mail schreiben können. Das funktioniert auch einwandfrei. So weit so gut. Es gibt aber seit einer Weile (ich kann leider nicht sagen seit wann genau, da das Formular ja sonst funktioniert, d. h. ich habe es erst kürzlich bemerkt) ein etwas skurriles Problem: Das Format "tut so", beim blossen Aufrufen (also ohne dass irgendetwas eingegeben worden wäre), als hätte bereits ein fehlerhafter Versuch stattgefunden, und klatscht die entsprechende Fehlerangabe mit der Detailbegründung Mailer error: Message body empty hin. Das ist natürlich unsinnig, weil der Besucher ja tatsächlich noch gar nichts eingegeben, geschweige denn Senden gedrückt hat. - Ich erwähne noch, dass die etwas veraltete PHPMailer-Version 5.2.6 aufgespielt ist und ich die natürlich durch die aktuelle 5.2.9 ersetzen werde; einen Zusammenhang zum Problem halte ich aber für nicht so wahrscheinlich (man weiss ja aber nie).
Der Code:
kontaktformular.php
Das Ganze kann in echt hier bewundert werden.
Wie immer danke ich für jede Hilfe.
Lg X.
Ich habe für meine (private) Homepage ein Kontaktformular gebaut, d. h. ein Formular, wo Besucher mir direkt eine Mail schreiben können. Das funktioniert auch einwandfrei. So weit so gut. Es gibt aber seit einer Weile (ich kann leider nicht sagen seit wann genau, da das Formular ja sonst funktioniert, d. h. ich habe es erst kürzlich bemerkt) ein etwas skurriles Problem: Das Format "tut so", beim blossen Aufrufen (also ohne dass irgendetwas eingegeben worden wäre), als hätte bereits ein fehlerhafter Versuch stattgefunden, und klatscht die entsprechende Fehlerangabe mit der Detailbegründung Mailer error: Message body empty hin. Das ist natürlich unsinnig, weil der Besucher ja tatsächlich noch gar nichts eingegeben, geschweige denn Senden gedrückt hat. - Ich erwähne noch, dass die etwas veraltete PHPMailer-Version 5.2.6 aufgespielt ist und ich die natürlich durch die aktuelle 5.2.9 ersetzen werde; einen Zusammenhang zum Problem halte ich aber für nicht so wahrscheinlich (man weiss ja aber nie).
Der Code:
kontaktformular.php
PHP-Code:
<?php
error_reporting(E_ALL ^ E_NOTICE);
ini_set("display_errors", true);
?>
<!DOCTYPE html>
<html lang="de">
<?php
include ("head.php");
?>
<body>
<div id="wrapper">
<?php
include("header.php");
?>
<div id="inhalt">
<div id="inhalt2">
<div id="links">
<h1>
Kontaktformular
</h1>
<p>
Mit dem nachfolgenden Kontaktformular können Sie mir eine Nachricht hinterlassen. Technisch hat das Benutzen des Formulars denselben Effekt wie das Schreiben eines Mails an meine <a href="mailto:michael.ritter@sunrise.ch">Mailadresse</a>. Der Vorteil für Sie ist, dass Sie zum Abschicken des Formulars kein Mailprogramm benutzen müssen.
</p>
<fieldset>
<legend>
Ihre Nachricht
</legend>
<form action="kontaktformular.php" method="post"><br>
<input type="hidden" value="set" name="formular">
Ihr Name:<br><input type="text" value="" placeholder="Name" name="name"><br><br>
<span id="bot">Ihr Titel: <input type="text" name="titel"> </span>
Ihre Mailadresse:<br><input type="text" value="" placeholder="Mail" name="mail"><br><br>
Betreff:<br><input type="text" value="" placeholder="Betreff" name="betreff"><br><br>
Ihr Text:<br><textarea name="inhalt" placeholder="Text" rows="10">
</textarea><br><br>
<input type="submit" value="Senden">
<br>
<br>
<?php
require("class.phpmailer.php");
$mail = new PHPMailer();
$mail->AddAddress("haha.hihi@huhu.ch");
$mail->From = $_POST['mail'];
$mail->FromName = $_POST['name'];
$mail->Subject = "Vom Homepage-Kontaktformular:" . $_POST['betreff'];
$mail->Body = $_POST['inhalt'];
$mail->WordWrap = 50;
if(!$mail->Send())
{
echo 'Das ist etwas schief gegangen. Ihre Nachricht wurde leider nicht abgeschickt.';
echo 'Mailer error: ' . $mail->ErrorInfo;
}
else
{
echo "<h5>" . 'Ihre Nachricht wurde abgeschickt.' . "</h5>";
}
?>
</form>
<p id="guestbook">
<a href="index.php">Zurück zur Hauptseite</a>
</p>
</fieldset>
<br>
<br>
</div>
<?php
include("rechts.php");
include("footer.php");
?>
</div>
</body>
</html>
Wie immer danke ich für jede Hilfe.
Lg X.
Kommentar