<?php
// HTML-Code für selektierte Liste
$selcode = 'selected = "selected"';
// Einlesen Textdatei
function lesen($dateiname) {
return file_get_contents($dateiname);
}
// Einlesen Template
function template($was) {
$dateiname = '_tmpl_' . $was . '.html';
return file_get_contents($dateiname);
}
// POST-Eingabe prüfen/Filtern
function eingabe($var) {
$was = trim($_POST[$var]);
$was = strip_tags($was);
if (get_magic_quotes_gpc()) {
$was = stripslashes($was);
}
return $was;
}
// IP-Adresse ermitteln
function getIP() {
if ($_SERVER['HTTP_X_FORWARDED_FOR']) {
$realip = $_SERVER['HTTP_X_FORWARDED_FOR'];
} else {
$realip = $_SERVER['REMOTE_ADDR'];
}
return $realip;
}
// gewünschte Seite aus GET-Parameter 's'
$seite = strtolower($_GET['s']);
if (!$seite) {
$seite='newsletter';
}
if ($_POST['fs']=='austragen') {
$seite = 'austragen';
}
if ($_POST['fs']=='newsletter') {
$seite = 'newsletter';
}
// Konfiguration einlesen
include 'config/inc_config.php';
// Tabellennamen
include 'config/inc_tab.php';
// Seitensteuerung
switch ($seite) {
case 'newsletter':
$html = template('newsletter');
$email = '';
$anrede = '0';
$selected_nichts = $selcode;
$selected_frau = '';
$selected_herr = '';
if ($_POST['submit']) {
// Formular abgeschickt - eingegebene Daten prüfen
$email = eingabe('email');
$email = strtolower($email);
$agb = eingabe('agb');
$anrede = eingabe('anrede');
$vorname = eingabe('vorname');
$name = eingabe('name');
// Eingaben auf Vollständigkeit prüfen, ggf. Fehlermeldungen in $fehler erzeugen
$fehler = '';
if ($anrede != 'Herr' and $anrede != 'Frau') $fehler.='Bitte die passende Anrede Frau/Herr anklicken<br>';
if (!$vorname) $fehler.='Bitte geben Sie Ihren Vornamen ein.<br>';
if (!$name) $fehler.='Bitte geben Sie Ihren Familiennamen ein.<br>';
if ($tt == '00') $fehler.='Bitte geben Sie Ihr Geburtsdatum (Tag) ein<br>';
if ($mm == '00') $fehler.='Bitte geben Sie Ihr Geburtsdatum (Monat) ein<br>';
if ($jjjj == '00') $fehler.='Bitte geben Sie Ihr Geburtsdatum (Jahr) ein<br>';
if (!preg_match('/^([\w|\.|\-|_]+)@([\w||\-|_]+)\.([\w|\.|\-|_]+)$/i',$email)) $fehler.='Bitte geben Sie Ihre Emailadresse ein<br>';
if (!$agb) $fehler.='Bitte akzeptieren Sie die AGB durch Ankreuzen des Feldes<br>';
if ($fehler == '') {
// Zu MySql verbinden und richtige Datenbank wählen
include 'config/inc_connect.php';
// Check vorhanden Mailtabelle
$vorhanden = 'n';
$sql = "SELECT email,userstatus,usercode,ip_anmeldung FROM " . $tab_adr . " WHERE email = '" . $email . "'";
$erg = mysql_query($sql);
if (mysql_num_rows($erg)) {
$row = mysql_fetch_assoc($erg);
$code = $row['usercode'];
$realip = $row['ip_anmeldung'];
if ($row['userstatus'] == 'aktiv') $fehler.='Email ist bereits gespeichert und nimmt am newsletter teil<br>';
if ($row['userstatus'] == 'ausgetragen') $fehler.='Email ist für Neueintragungen gesperrt<br>';
if ($row['userstatus'] == 'unbestaetigt') $vorhanden='j';
}
if ($fehler == '') {
// Eingegebene Daten speichern
$jetzt=strftime("%Y-%m-%d %H:%M:%S" );
$anmeldedatum = substr($jetzt,8,2).'.'. substr($jetzt,5,2).'.'.substr($jetzt,0,4);
$anmeldezeit = substr($jetzt,11,8);
$gebdat = "$jjjj-$mm-$tt";
if($vorhanden != 'j') {
$realip = getIP();
mt_srand((double)microtime()*1000000);
$id1 = mt_rand(0,100000);
mt_srand((double)microtime()*1000000);
$id2 = mt_rand(0,100000);
$code = substr(md5($id1*$id2),0,14);
$sql_ins = "INSERT INTO
" . $tab_adr . "
SET
anrede = '" . mysql_real_escape_string($anrede) . "',
vorname = '" . mysql_real_escape_string($vorname) . "',
name = '" . mysql_real_escape_string($name) . "',
email = '" . $email . "',
geburtsdatum = '" . mysql_real_escape_string($gebdat) . "',
userstatus = 'unbestaetigt',
usercode = '" . mysql_real_escape_string($code) . "',
newsletter = '" . mysql_real_escape_string($newsletter) . "',
dat_anmeldung = '" . $jetzt . "',
agb = '" . mysql_real_escape_string($agb) . "',
ip_anmeldung = '" . mysql_real_escape_string($realip) . "'";
mysql_query($sql_ins) or die(mysql_error());
}
// Kontrollmail aussenden
$text = lesen('_mail_kontrollmail.txt');
$teile=explode('[TEILUNG]',$text);
$subject = $teile[0];
$message_text = $teile[1];
$subject=str_replace('{email}',htmlspecialchars($email),$subject);
$subject=str_replace('{code}',$code,$subject);
$subject=str_replace('{anrede}',$anrede,$subject);
$subject=str_replace('{vorname}',htmlspecialchars($vorname),$subject);
$subject=str_replace('{name}',htmlspecialchars($name),$subject);
$message_text=str_replace('{email}',$email,$message_text);
$message_text=str_replace('{code}',$code,$message_text);
$message_text=str_replace('{anrede}',$anrede,$message_text);
$message_text=str_replace('{vorname}',htmlspecialchars($vorname),$message_text);
$message_text=str_replace('{name}',htmlspecialchars($name),$message_text);
$message_text=str_replace('{gewpfad}',$cfg['gewpfad'],$message_text);
$message_text=str_replace('{ip}',htmlspecialchars($realip),$message_text);
$message_text=str_replace('{zeit}',$anmeldezeit,$message_text);
$message_text=str_replace('{datum}',$anmeldedatum,$message_text);
$from=$cfg['kontrollmail'];
$cc=$bcc='';
// Der 5. Parameter in mail() funktioniert nicht bei safe mode = on
// mail( "$email", "$subject", "$message_text", "From:$from\nCC:$cc\nBCC:$bcc\n","-f$from" );
mail( "$email", "$subject", "$message_text", "From:$from\nCC:$cc\nBCC:$bcc\n");
$html = template('danke_anmeldung');
}
mysql_close($conn);
}
}
// Selected-Codes für HTML-Liste "Anrede"
$selected_nichts = $selected_frau = $selected_herr = '';
if ($anrede == '0') {
$selected_nichts = $selcode;
}
if ($anrede == 'Frau') {
$selected_frau = $selcode;
}
if ($anrede == 'Herr') {
$selected_herr = $selcode;
}