Überall auf Webseiten sieht man vermehrt Kontaktformulare anstatt von Emailadressen.
Das hat den Vorteil das sogenannte Snifferprogramme, welche auf der Suche nach Emailadressen den Quelltext von
Internetseiten durchscannen, keine Chance mehr haben.
Ein weiterer Vorteit ist, dass der Beuscher der Seite eine Bestätigungsmail erhält und ausserdem gezwungen wird alles auszufüllen.
Hier mal ein ganz einfaches Beispiel wie soetwas aussehen könnte (nicht getestet):
kontakt.php
- Code: Alles auswählen
<HTML>
<HEAD>
<TITLE>Kontaktformular in PHP</TITLE>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
<style>
<!--
body {
SCROLLBAR-FACE-COLOR: #666666; SCROLLBAR-HIGHLIGHT-COLOR: #333333; SCROLLBAR-SHADOW-COLOR: #333333; SCROLLBAR-3DLIGHT-COLOR: #344556; SCROLLBAR-ARROW-COLOR: #fefefe; SCROLLBAR-TRACK-COLOR: #000011; SCROLLBAR-DARKSHADOW-COLOR: #333333;
}
input, textarea, select {
border: 2px solid #333333;
background: #FFFFFF;
font: bold 11px Verdana, Arial, Helvetica, sans-serif;
color: #000000;
}
td {
font: bold 14px Verdana, Arial, Helvetica, sans-serif;
color: #000000;
}
//-->
</style>
</HEAD>
<BODY BGCOLOR=#FFFFFF>
<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>
<TR>
<td align="center">
<font size="6">Kontakt</font>
</td>
<tr>
<td>
<?php
function check_email($email) //Emailadresse prüfen (Keine Umlaute etc.)
{
if( !preg_match("/^[_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,4}|museum$/i", $email) ) return true;
return false;
}
// Allgemeine Variablen
$name_tag[0] = "Sonntag";
$name_tag[1] = "Montag";
$name_tag[2] = "Dienstag";
$name_tag[3] = "Mittwoch";
$name_tag[4] = "Donnerstag";
$name_tag[5] = "Freitag";
$name_tag[6] = "Samstag";
$num_tag = date( "w");
$day = $name_tag[$num_tag];
$year = date("Y");
$day_num = date("d");
$month = date("m");
$time = (date("H:i"));
$empfaenger = "meine@email.de"; //Die eigene emailadresse
$subject01 = "Mein Kontaktformular wurde ausgefüllt"; //Der Betreff der Email
$subject02 = "Danke das Sie das Kontaktformular ausgefüllt haben"; //Betreff der Bestätigungsmail
if ($flag==1) //Wenn das Fromular ausgefüllt wurde.
{
//Die Eingaben prüfen
if(!$namer){$fehler="Bitte Namen eingeben<br>";}
if(!$vorname){$fehler.="Bitte Vornamen eingeben<br>";}
if(check_email($email) & $email!="") {$fehler.="Emailadresse ist ungültig<br>";}
if(!$email) {$fehler.="Bitte die Emailadresse eingeben<br>";}
if(!$text) {$fehler.="Bitte eine Nachricht eingeben<br>";}
if($fehler) //Bei Fehlern, Meldung ausgeben
{
$meldung="<b>" .$fehler. "</b>";
unset($flag);
echo "<font color='red'>Es sind folgede Fehler aufgetreten: <br> " .$meldung. "</font>";
}
else //Wenn es keine Fehler gibt kann ja gemailt werden.
{
//Der Body für die Mail
$body01 = "Nachricht gesendet am $day, $day_num.$month.$year um $time:
----------------------------------------------------------------
Vorname : $vorname
Name : $namer
eMail : $email
----------------------------------------------------------------
Nachricht:
$text";
//Body für die Bestätigungsmail
$body02 = "Am $day, $day_num.$month.$year um $time haben wir folgende Nachricht von Ihnen erhalten:
-----------------------------------------------------------------------------------
Name : $namer
Vorname : $vorname
eMail : $email
-----------------------------------------------------------------------------------
Nachricht:
$text
-----------------------------------------------------------------------------------
Ihre Mail wird so schnell wie möglich bearbeitet.
Bei Fragen schreiben Sie an: mailto:$empfaenger";
//Nun kann gemailt werden
//Erst die Mail an den Webmaster
mail ($empfaenger, $subject01, $body01, "From:$email");
//Dann die Bestätigungsmail
mail ($email, $subject02, $body02, "From:$email");
echo "Die Mail wurde gesendet.";
}
}
if(!$flag) //Formular noch nicht abgesendet
{
?>
<form action='<? echo $PHP_SELF; ?>' method='post' enctype='multipart/form-data' name='form' id="form">
<input type="hidden" name="flag" id="flag" value=1>
<p align="center">Bitte füllen Sie alles aus<br></p>
<div align="center">
<center>
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" style="border-collapse: collapse">
<tr><td>
<table border="0" cellpadding="4">
<tr>
<td>Name:</td>
<td>
<input name="namer" type="text" id="namer" size="30" value='<?php echo $namer; ?>'>
</td>
</tr>
<tr>
<td>Vorname:</td>
<td>
<input name="vorname" type="text" id="vorname" size="30" value='<?php echo $vorname; ?>'>
</td>
</tr>
<tr>
<td>Emailadresse:</td>
<td>
<input name="email" type="text" id="email" size="30" value='<?php echo $email; ?>'>
</td>
</tr>
<tr>
<td valign="top" class="textb">Nachricht:</td>
<td>
<textarea name="text" id="text" cols="50" rows="5"><?php echo $text; ?></textarea>
</td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="Submit" value="Abschicken">
</td>
</tr>
</table>
</td></tr>
</table>
</center>
</div>
</form>
<?php
}
?>
</TD>
</TR>
</TABLE>
</BODY>
</HTML>