Einzelnen Beitrag anzeigen
  #3 (permalink)  
Alt 10.04.2009, 02:30
online online ist offline
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 18.11.2008
Beiträge: 32
online befindet sich auf einem aufstrebenden Ast
Standard

Hallo,
leider funktioniert es so nicht mit hinzufügen von:

Code:
<input type="hidden" name="cat"value="newsletter ABO" />
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&ouml;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&uuml;ltige E-Mail Adresse ein!");
    if(
$cat[$in['cat']] == '')          fehler("Bitte w&auml;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-->"$bestaetigungslinkjoin(""$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&uuml;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&auml;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&uuml;ltige E-Mail Adresse ein!");
    if(
$cat[$in['cat']] == ''fehler("Bitte w&auml;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&uuml;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&auml;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&uuml;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&auml;tigen!<br>
    '
;
    print 
wtrmrk();
    exit;
}

function 
redirect_anm2(){
    print 
'
        Vielen Dank f&uuml;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&auml;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;
}

?>
Mit Zitat antworten