Es wird zwar nicht gemekert, dass keine Kategorie ausgewählt worden ist und man bekommt auch eine bestätigungs email, in der man über einen link die registrierung nochmals bestätigt und zur Bestätigungsseite geleitet wird. Wo steht das alles i.O. ist und man sich Registriert hat. Aber wenn ich mich als admin anmelde sehe ich das die email-Adressen nicht eingetragen worden sind.
Nur wenn ich den Original code lasse. Ich poste mal die ganzen php code, vielleicht steckt da irgendwo anders der Wurm drin.....
PHP-Code:
<?php
############ der absolute Pfad zum Script-Verzeichnis ############
$script_pfad = '.'; #Bsp.: /home/sitename.de/html/newsletter
##################################################################
#error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);
ignore_user_abort(true);
clearstatcache();
if(file_exists($script_pfad."/protected/variablen.php")) {include($script_pfad."/protected/variablen.php"); }
if(file_exists($script_pfad."/protected/kategorien.php")) {include($script_pfad."/protected/kategorien.php"); }
if(file_exists($script_pfad."/protected/data/betreffs.php")){include($script_pfad."/protected/data/betreffs.php");}
if(file_exists($script_pfad."/protected/subs.php")) {include($script_pfad."/protected/subs.php");}
$in = init_cgi(); #param init
$in["ses"] = (!isset($in["ses"])) ? '' : $in["ses"];
if($in["ac"] == "eintragen" && $in["ses"] == "") {eintragen($in);}
elseif($in["ac"] == "eintragen" && $in["ses"] != "") {eintragen2($in);}
elseif($in["ac"] == "austragen" && $in["ses"] == "") {austragen($in);}
elseif($in["ac"] == "austragen" && $in["ses"] != "") {austragen2($in);}
else {
Interf();
}
function Interf() {
global $script_url, $cat;
print '
<table width="100" border="0" cellspacing="0" cellpadding="0">
<form name="letter" method="post" action="'.$script_url.'/newsletter.php">
<tr><td align="center"> <font size="1" face="Arial, Helvetica, sans-serif">E-Mail Adresse: </font><input type="text" name="email" size="20"></td></tr>
<tr><td align="center"><font size="1" face="Arial, Helvetica, sans-serif">welche News möchten Sie erhalten?</font><br>
<select name="cat">
';
asort($cat);
for($x=0;$x<sizeof($cat);$x++) {
print '<option value="'.key($cat).'">'.current($cat).'</option>'."\n";
next($cat);
}
print '
</select></td></tr>
<tr><td><font face="Arial, Helvetica, sans-serif" size="1">
<input type="radio" name="ac" value="eintragen" checked> Eintragen<br>
<input type="radio" name="ac" value="austragen"> Austragen</font>
</td></tr>
<tr><td align="center"><input type="submit" name="btn" value="senden"></td></tr>
</form>
</table>
';
}
################################################################################
function eintragen($in){
global $script_url, $script_pfad, $cat, $flock, $betreff, $sender, $sender_name, $redirect_anm1, $redirect_anm3;
$time=time();
$in['email'] = (!isset($in['email'])) ? '' : $in['email'];
$in['cat'] = (!isset($in['cat'])) ? '' : $in['cat'];
$cat[$in['cat']] = (!isset($cat[$in['cat']])) ? '' : $cat[$in['cat']];
if($in['email'] == '') fehler("Bitte geben Sie eine E-Mail Adresse ein!");
if(!is_valid_email($in['email'])) fehler("Bitte geben Sie eine gültige E-Mail Adresse ein!");
if($cat[$in['cat']] == '') fehler("Bitte wählen Sie eine Kategorie aus!");
if(IsAddressInCat($in['cat'],$in['email'])){
if($redirect_anm3 != ''){
header("Location: $redirect_anm3");
}else{
redirect_anm3();
}
}else{
//anmeldung (schritt 1) in eine temp-datei speichern
$file = "$script_pfad/protected/data/ses/$time";
store($file, $in["email"]."|".$in["cat"]);
if(!file_exists($file)) fehler("Fehler beim Speichern einer Datei!<br>Line 102<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/data/ses/ falsch gesetzt!");
//email template lesen
$inhalt = saGetFileContent("$script_pfad/protected/data/anmeledebestaetigung.txt");
//mail versenden
$bestaetigungslink="$script_url/newsletter.php?ac=eintragen&ses=$time";
global $mailformat, $mail_header, $mail_footer;
$mailformat = "text";
$mail_header="";
$mail_footer="";
sendmail($in["email"], $betreff["anmeledebestaetigung"], str_replace("<!--bestaetigungslink-->", $bestaetigungslink, join("", $inhalt)));
if($redirect_anm1 != ''){
header("Location: $redirect_anm1");
}else{
redirect_anm1();
}
}
exit;
}
################################################################################
function eintragen2($in){
global $script_url, $script_pfad, $cat, $flock, $betreff, $sender, $sender_name, $redirect_anm2, $redirect_anm3;
if(!file_exists("$script_pfad/protected/data/ses/".$in['ses'])) fehler("Anmeldung ungültig oder bereits aktiviert!");
$ses_zeile=file("$script_pfad/protected/data/ses/".$in['ses']);
list($in['email'],$in['cat'])=explode("|", $ses_zeile[0]);
$in['cat']=trim($in['cat']);
if($cat[$in['cat']] == '') fehler("Bitte wählen Sie eine Kategorie aus!");
if(IsAddressInCat($in['cat'],$in['email'])){
if($redirect_anm3 != ''){
header("Location: $redirect_anm3");
}else{
redirect_anm3();
}
}else{
//speicherung der benutzerdaten
$file = "$script_pfad/protected/abonnenten/".$in['cat'].".txt";
store($file,$in['email']."\n","a+");
if(!file_exists($file)) fehler("Fehler beim Speichern der Benutzerdaten!<br>Line 139<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/abonnenten/ falsch gesetzt!");
//mail template laden
$inhalt = saGetFileContent("$script_pfad/protected/data/angemeldet.txt");
//temp-datei löschen
$file = "$script_pfad/protected/data/ses/".$in['ses'];
@unlink($file);
if(file_exists($file)) fehler("Fehler beim Löschen einer Datei!<br>Line 147<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/data/ses/ falsch gesetzt!");
//mail versenden
global $mailformat, $mail_header, $mail_footer;
$mailformat = "text";
$mail_header="";
$mail_footer="";
sendmail($in["email"], $betreff["angemeldet"], join("", $inhalt));
if($redirect_anm2 != ''){
header("Location: $redirect_anm2");
}else{
redirect_anm2();
}
}
exit;
}
################################################################################
function austragen($in){
global $script_url, $script_pfad, $cat, $flock, $betreff, $sender, $sender_name, $redirect_abm1,$redirect_abm3;
$time=time();
if($in['email'] == '') fehler("Bitte geben Sie eine E-Mail Adresse ein!");
if(!is_valid_email($in['email'])) fehler("Bitte geben Sie eine gültige E-Mail Adresse ein!");
if($cat[$in['cat']] == '') fehler("Bitte wählen Sie eine Kategorie aus!");
if(IsAddressInCat($in['cat'],$in['email'])){
#print "ist eingetragen!!!!!!! ";
//austragung (schritt 1) in eine tmp-datei speichern
$file = "$script_pfad/protected/data/ses/$time";
store($file,$in['email']."|".$in['cat']);
if(!file_exists($file)) fehler("Fehler beim Speichern einer Datei!<br>Line 168<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/data/ses/ falsch gesetzt!");
//mail template lesen
$inhalt = saGetFileContent("$script_pfad/protected/data/abmeldebestaetigung.txt");
//mail senden
$bestaetigungslink="$script_url/newsletter.php?ac=austragen&ses=$time";
global $mailformat, $mail_header, $mail_footer;
$mailformat = "text";
$mail_header="";
$mail_footer="";
sendmail($in["email"], $betreff["abmeldebestaetigung"], str_replace("<!--bestaetigungslink-->", $bestaetigungslink,join("", $inhalt)));
if($redirect_abm1 != ''){
header("Location: $redirect_abm1");
}else{
redirect_abm1();
}
}else{
if($redirect_abm3 != ''){
header("Location: $redirect_abm3");
}else{
redirect_abm3();
}
}
exit;
}
################################################################################
function austragen2($in){
global $script_url, $script_pfad, $cat, $flock, $betreff, $sender, $sender_name, $redirect_abm2, $redirect_abm3;
if(!file_exists("$script_pfad/protected/data/ses/".$in['ses'])) fehler("Anmeldung ungültig oder bereits aktiviert!");
$ses_zeile=file("$script_pfad/protected/data/ses/".$in['ses']);
list($in['email'],$in['cat'])=explode("|", $ses_zeile[0]);
$in['cat']=trim($in['cat']);
if($cat[$in['cat']] == '') fehler("Bitte wählen Sie eine Kategorie aus!");
if(IsAddressInCat($in['cat'],$in['email'])){
$adressen = saEMailAddress($in['cat']);
$new_addr=array();
for($i=0; $i < count($adressen); $i++){
$addr = $adressen[$i];
if(strtolower($in['email'])."\n" != $addr){
array_push($new_addr, $addr);
}
}
//neuen abonnenten in die etsprechende cat-datei speichern
$file = "$script_pfad/protected/abonnenten/".$in['cat'].".txt";
store($file,join("",$new_addr));
if(!file_exists($file)) fehler("Fehler beim Speichern der Benutzerdaten!<br>Line 218<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/abonnenten/ falsch gesetzt!");
//email template laden
$inhalt = saGetFileContent("$script_pfad/protected/data/abgemeldet.txt");
//temp datei löschen
$file = "$script_pfad/protected/data/ses/".$in['ses'];
@unlink($file);
if(file_exists($file)) fehler("Fehler beim Löschen einer Datei!<br>Line 226<br><br>Evtl. wurden die Rechte auf das Verzeichnis $script_pfad/protected/data/ses/ falsch gesetzt!");
//mail senden
global $mailformat, $mail_header, $mail_footer;
$mailformat = "text";
$mail_header="";
$mail_footer="";
$header="";
sendmail($in["email"], $betreff["abgemeldet"], join("", $inhalt), $header);
//bestätigungsseite
if($redirect_abm2 != ''){
header("Location: $redirect_abm2");
}else{
redirect_abm2();
}
}else{
if($redirect_abm3 != ''){
header("Location: $redirect_abm3");
}else{
redirect_abm3();
}
}
exit;
}
################################################################################
function is_valid_email($email_address) {
$regex = '^([._a-z0-9-]+[._a-z0-9-]*)@(([a-z0-9-]+\.)*([a-z0-9-]+)(\.[a-z]{2,4}))$';
return eregi($regex,$email_address);
}
function redirect_anm1(){
print '
Vielen Dank für Ihre Anmeldung!<br>
Sie erhalten in wenigen Sekunden eine E-Mail in der Sie einen Link finden,<br>
bitte klicken Sie auf den Link um Ihre Anmeldung zu bestätigen!<br>
';
print wtrmrk();
exit;
}
function redirect_anm2(){
print '
Vielen Dank für Ihre Anmeldung!<br>
Sie sind nun in unserem Newsletter System eingetragen!<br>
';
print wtrmrk();
exit;
}
function redirect_anm3(){
print '
Ihre E-Mail Adresse ist bereits in unserem Newsletter System eingetragen!<br>
';
print wtrmrk();
exit;
}
function redirect_abm1(){
print '
Wir bedauern Ihre Abmeldung sehr.<br>
Sie erhalten in wenigen Sekunden eine E-Mail in der Sie einen Link finden,<br>
bitte klicken Sie auf den Link um Ihre Abmeldung zu bestätigen!<br>
';
print wtrmrk();
exit;
}
function redirect_abm2(){
print '
Sie sind nun aus unserem Newsletter System ausgetragen!<br>
';
print wtrmrk();
exit;
}
function redirect_abm3(){
print '
Sie sind bereits aus unserem Newsletter System ausgetragen!<br>
';
print wtrmrk();
exit;
}
function fehler($msg){
print $msg;
print wtrmrk();
exit;
}
?>