<?php
/* PHP Kontaktformular */
//-> BITTE ANPASSEN
$pbetreff[0] = 'Bitte wählen Sie...';
$pbetreff[1] = 'Betreff 1';
$pbetreff[2] = 'Betreff 2';
$pbetreff[3] = 'Betreff 3';
$pbetreff[4] = 'Betreff 4';
$pbetreff[5] = 'Betreff 5';
$empfaenger = 'kontakt@localhost.de'; // Dorthin werden Nachrichten geschickt
$absender = 'Kontaktformular'; // Absenderanzeige des Kontaktformulars
//--------------------------------------------------------------------------------------------------------------
// Voreinstellung per Parameterübergabe
if(isset($_GET['betreff']) && (int)$_GET['betreff']>0 && (int)$_GET['betreff']<count($pbetreff))
$pflichtbetreff = true;
if(isset($_POST['submit'])) {
if(empty($_POST['name'])) {
$Nachricht .= "Bitte geben Sie Ihren <b>Namen</b> ein.<br>\n";
} elseif(strlen($_POST['name']) < 2) {
$Nachricht .= "Ihr <b>Name</b> hat bestimmt mehr als 1 Zeichen... :-)<br>\n";
}
if(empty($_POST['email']) && empty($_POST['telefon'])) {
$Nachricht .= "Bitte geben Sie ihre <b>Emailadresse oder Telefonnummer</b> an.<br>";
} elseif(!empty($_POST['email']) && !empty($_POST['email']) && !eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@([a-z0-9-]+\.){1,3}([a-z0-9-]{2,3})$",$_POST['email'])) {
$Nachricht .= "Die <b>eMail-Adresse</b> entspricht nicht der korrekten Syntax.<br>\n";
} elseif(!empty($_POST['telefon']) && eregi("[^- /0-9]",$_POST['telefon'])) {
$Nachricht .= "Die <b>Telefonnummer</b> darf nur aus Zahlen bestehen.<br>\n";
} elseif(!empty($_POST['telefon']) && strlen($_POST['telefon'])<3) {
$Nachricht .= "Die <b>Telefonnummer</b> ist nicht gültig.<br>\n";
}
if(empty($_POST['betreff'])) {
$Nachricht .= "Bitte wählen Sie einen <b>Betreff</b> aus.<br>\n";
}
if(empty($_POST['text'])) {
$Nachricht .= "Sie haben noch keinen <b>Text</b> eingegeben.<br>\n";
}
if(!$Nachricht) {
// Mailinhalt definieren:
$Text = "Folgende Anfrage wurde über das Supportformular im Internet gesendet:\n";
$Text .= "Name: ".$_POST['name']."\n";
$Text .= ($_POST['email']) ? "Email: ".$_POST['email']."\n" : "Email: Keine Angabe\n";
$Text .= ($_POST['telefon']) ? "Telefon: ".$_POST['telefon']."\n" : "Telefon: Keine Angabe\n";
$Text .= "Betreff: ".$pbetreff[(int)$_POST['betreff']]."\n\n";
$Text .= str_repeat('-',70)."\n".strip_tags($_POST['text'])."\n";
// Header definieren
$dateiname = $_FILES['anhang']['tmp_name'];
$dateiname_mail = $_FILES['anhang']['name'];
$absender = ($_POST['email']) ? $_POST['email'] : $absender;
$header = "From: $absender\nReply-To: ".$_POST['email'];
// Anhang vorhanden?
if($dateiname) {
$trenner = md5(uniqid(time()));
$header .= "\n";
$header .= "MIME-Version: 1.0";
$header .= "\n";
$header .= "Content-Type: multipart/mixed; boundary=$trenner";
$header .= "\n\n";
$header .= "This is a multi-part message in MIME format";
$header .= "\n";
$header .= "--$trenner";
$header .= "\n";
$header .= "Content-Type: text/plain";
$header .= "\n";
$header .= "Content-Transfer-Encoding: 8bit";
$header .= "\n\n";
$header .= $Text;
$header .= "\n";
$header .= "--$trenner";
$header .= "\n";
$header .= "Content-Type: ".$_FILES['anhang']['type']."; name=$dateiname_mail";
$header .= "\n";
$header .= "Content-Transfer-Encoding: base64";
$header .= "\n";
$header .= "Content-Disposition: attachment; filename=$dateiname_mail";
$header .= "\n\n";
$dateiinhalt = fread(fopen($dateiname, "r"), filesize($dateiname));
$header .= chunk_split(base64_encode($dateiinhalt));
$header .= "\n";
$header .= "--$trenner--";
// Keinen Anhang, nur Mail
} else {
$header .= "\nContent-Type: text/plain";
$header .= "\nContent-Transfer-Encoding: 8bit";
$header .= "\n\n".$Text;
}
//-> Alles ok, Mail verschicken.
mail($empfaenger,$pbetreff[(int)$_POST['betreff']],'', $header);
$gesendet = true;
}
}
//----------------------------------------------------------------------------------------------------
// Hier erfolgt die html-Ausgabe. Diese kann beliebig angepasst werden.
// Allerdings bitte darauf achten, dass die PHP-Befehle unverändert bleiben.
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Kontaktformular mit Anhang</title>
</head>
<body>
<table border="0" cellpadding="2" cellspacing="0" style="border-collapse: collapse" width="700">
<tr><td> </td>
<td></td></tr>
<?php if(!$gesendet): ?>
<tr><td> </td>
<td>Schreiben Sie uns. Auf Wunsch werden wir uns umgehend mit Ihnen in Verbindung setzen.
Damit wir Ihnen auch antworten können geben Sie bitte entweder Ihre Email-Adresse oder Ihre Telefonnummer an.<br></td></tr>
<?php endif;?>
<tr><td> </td><td><font color="red"><br><?php print $Nachricht;?><br></font></td></tr>
<tr><td> </td>
<td><?php if(!$gesendet): ?>
<form method="POST" enctype="multipart/form-data" name="kontakt" action="<?php print $Scriptpfad;?>">
<input type="hidden" value="1" name="submit">
<table border="0">
<tr><td valign="middle" align="right" nowrap><font color="#CC0000">Ihr Name <img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></font></td>
<td><input type="text" name="name" size="20" value="<?php print htmlentities($_POST['name']);?>" tabindex="1"></td></tr>
<tr><td valign="middle" align="right" nowrap><font color="#CC0000">Ihre Email <img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></font></td>
<td><input type="text" name="email" size="20" value="<?php print htmlentities($_POST['email']);?>" tabindex="2"></td></tr>
<tr><td valign="middle" align="right" nowrap><font color="#CC0000">oder Ihre Telefonnummer <img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></font></td>
<td><input type="text" name="telefon" size="20" value="<?php print htmlentities($_POST['telefon']);?>" tabindex="3"></td></tr>
<tr><td valign="middle" align="right" nowrap><font color="#CC0000">Betreff <img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></font></td>
<td><?php
if(!$pflichtbetreff) {
print '<select size="1" name="betreff" tabindex="4">';
while(list($a,$b) = each($pbetreff))
if($a == $_REQUEST['betreff'])
print '<option value="'.$a.'" selected>'.$b.'</option>';
else
print '<option value="'.$a.'">'.$b.'</option>';
print '</select>';
} else {
print $pbetreff[(int)$_GET['betreff']];
}
?></td></tr>
<tr><td valign="top" align="right"><font color="#CC0000">Text </font><img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></td>
<td><textarea rows="8" name="text" cols="55" tabindex="5" style="font-family:Verdana,Arial; font-size:9pt"><?php print htmlentities(strip_tags($_POST['text']));?></textarea></td></tr>
<?php /* WENN KEIN DATEIUPLOAD GEWÜNSCHT IST, DIE FOLGENDEN ZEILEN LÖSCHEN */ ?>
<tr><td valign="middle" align="right" nowrap><font color="#CC0000">Dateiupload <img src="http://www.psd-tutorials.de/modules/Forum/grafx/pfeil_r.gif" width="8" height="9"></font></td>
<td><input type="file" name="anhang" size="30" value="<?php print htmlentities($_POST['anhang']);?>" tabindex="6"></td></tr>
<?PHP /* DATEIUPLOAD ENDE */ ?>
<tr><td valign="top" align="right"></td>
<td><input type="submit" width="80" height="31" border="0"></td></tr>
</table>
</form><?php else: ?>
Vielen Dank für Ihre Nachricht. Wir werden Ihnen so bald wie möglich antworten.<br>
<br>
<?php endif;?>
</td></tr>
</table>
</body>
<SCRIPT tpye="text/javascript">
<!--
document.kontakt.name.focus();
-->
</script>
</html>