Antworten auf deine Fragen:
Neues Thema erstellen

Newsletter selber erstellen

suncruise

Nicht mehr ganz neu hier

Newsletter script - Problem

Hallo liebe PSD-Gemeinde!

Ich benötige einen Newsletter. Online gibt es ja Software ohne Ende dafür (für Geld und freeware) aber kann man das nicht auch selbst machen mit oder ohne MySQL Datenbank? Kann mir dazu jemand weiterhelfen?

Lg
 
Zuletzt bearbeitet:

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

das muss nichts aufwendiges sein, es soll in MySpace per html code eingebaut werden
 

taffrot

Hat immer langweile...

AW: Newsletter selber erstellen

Das script funktioniert einwandfrei, du musst nur die Kommentare im Code lesen (action setzen)

Achja: bitte benutz doch den Bearbeiten button..trippleposts sind öde.
 

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

ich habe das jetzt nochmal gemacht .. ich habe eine E-Mail erhalten wegen der Bestätigung zur Anmeldung von dem Newsletter ...

wenn ich dann bei Admin einloggen möchte und Benutzer und Passwort eintrage kommt daS:

Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /customers/name.de/name.de/httpd.www/newsletter/newsletter.php:10) in /customers/name.de/name.de/httpd.www/newsletter/newsletter.php on line 23 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /customers/name.de/name.de/httpd.www/newsletter/newsletter.php:10) in /customers/name.de/name.de/httpd.www/newsletter/newsletter.php on line 23 Warning: Cannot modify header information - headers already sent by (output started at /customers/name.de/name.de/httpd.www/newsletter/newsletter.php:10) in /customers/name.de/name.de/httpd.www/newsletter/newsletter.php on line 42

name.de entspricht hierbei der Domain
 
B

Bleccer

Guest

AW: Newsletter selber erstellen

der erste Fehler ist weil über session_start() schon was steht
schreib das session_start wirklich ganz am Anfang des Dokumentes da darf nichts davor stehen außer das <?php

und ich glaube die restlichen Fehler gehen weg wenn du den Fehler oben wegmachst
 

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Hallo, danke für die Antwort vor session_start() steht noch was bei der KONFIGURATION, dass kann ich ja nicht einfach weg machen oder?

Edit: ich hatte vor dem <?php noch was stehen, das ist jetzt weg und jetzt geht es soweit. Aber wenn ich mich einloggen will (siehe: "Um zu der Administation zu gealngen hänge einfach an die url in der Browser-Adressleiste "?action=loginform" an.") dann gelang ich auf meine eigentliche Website und nichts zum Newsletter Admin Bereich.

Edit: Es hat funktioniert.

Eine Frage habe ich aber noch: wenn ich mich zum Newsletter anmelde kommt das "Vielen Dank, Name für Deine Anmeldung.Deine Email info@name.de wurde im Verteiler zur Aufnahme vorgemerkt.Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst nach dem du diesen angeklickt hast, wird Deine Email Adresse vollständig in den Verteiler augenommen.Diesen Link solltest Du binnen von nächten 48 Stunden angeklickt haben, sonst wird deine Newsletter-Anmeldung automatisch gelöscht."

kann man das etwas freundlicher mit den Zeichen machen?
 
Zuletzt bearbeitet:

cmfa

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

hi,

habe mich auch damit beschäftigt und es funktioniert so wie beschrieben.
der Aufruf erfolgt wie folgt . Das Admin und das pw hast du ja in der Newsletter.php eingetragen.

CMFA
 

cmfa

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Hi,

das sind die Umlaute, bei mir wird es korrekt anzeigt.
Suche z.b. für und ersetze mit für. Dann sollte es funzen. Die restlichen Umlaute dann auch


CMFA
 

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Ich habe den Newsletter bei MySpace eingebaut und wenn man dort nun Name, Vorname und E-Mail Adresse eingibt, dann gelangt man zur newsletter.php auf dem FTP Serverhttp://www.name.de/newsletter/newsletter.php wo man das ganze nochmal eingeben soll ... das verstehe ich gerade irgendwie nicht ?
 
Zuletzt bearbeitet:

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Hier die Scripte ... das ulkige dabei ist, wenn den Code der in MySpace ist über .html aufrufe und dort meine Daten eingeben geht das Problemlos (habe ich als Test mal ausprobiert)

in MySpace:
HTML:
<form action="http://www.name.de/newsletter/newsletter.php" method="get">
    <table width="40%" border="0" cellpadding="3" cellspacing="1">
        <tr><td width="80" align="right">Nachname:</td><td><input type="text" name="name" value="" style="width:50%;" /></td></tr>
        <tr><td align="right">Vorname:</td><td><input type="text" name="vname" value="" style="width:50%" /></td></tr>
        <tr><td align="right">E-Mail:</td><td><input type="text" name="email" value="" style="width:50%" /></td></tr>
        <tr><td>&nbsp;</td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
        <tr><td>&nbsp;</td><td><input type="submit" name="submit" value="absenden" style="width:50%" /></td></tr>
    </table>
</form>

und in der newsletter.php auf dem FTP Server:
PHP:
<?php 


# # # # # # # # #  #  KONFIGURATION  # # # # # # # # # # # # # # # #
... hier stehen die ganzen Daten wie Benuter und Passwort ...
# # # # # # # # #  KONFIGURATION ENDE  # # # # # # # # # # # # # # #


session_start();
$zeit=time ();
$nichtmehrgueltig=$zeit-$stehenlassen;
$nl=chr(13).chr(10);
$action=$_GET['action'];
$xdb='';

if($action=="logout"){ // Admin logout
    session_unset ("logedin");
    session_destroy();
    header("Location: http://".$_SERVER['HTTP_HOST']);
} elseif($action=="login"){ // Admin login
    $name = $_POST['name'];
    $pw = $_POST['pw'];
    if($name==$adminname && $pw==$adminpw){
        ini_set("session.use_cookies", "0");
        $_SESSION["logedin"] = true;
        header("Location: http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=admin");
    } else {
        header("Location: http://".$_SERVER['HTTP_HOST']);
    }
}



// nicht rechtzeitig bestätigte Anmeldungen löschen und nicht rechtzeitig bestätigte Löschungen auf "normal" setzen
$alter_inhalt=file($db);
$output=fopen($db, "w");
if ($output){
    flock($output,2);
    foreach($alter_inhalt as $zeile){
        $inhalt=explode("|",$zeile);
        if($inhalt[5]=="" || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="rein") || ($inhalt[5]>$nichtmehrgueltig && $inhalt[3]=="raus")){
            fputs($output, $zeile);
        } elseif ($inhalt[5]<$nichtmehrgueltig && $inhalt[3]=="raus"){
            $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|".$inhalt[3]."||||".$nl;
            fputs($output, $zeile);
        }
    }
    flock($output,3);
    fclose($output);
} else {
    echo "<p>Datei konnte nicht zum Schreiben geöffnet werden, bitte ändern sie die Zugriffsrechte!</p>";
}

if($action=="rein"){  // Anmeldung
    $email=$_GET['email'];
    $vname=$_GET['vname'];
    $name=$_GET['name'];
    if(empty($email) || empty($vname) || empty($name)) {
        echo "<p>Du musst Deinen Namen, Deinen Vornamen und eine Email-Adresse angeben!</p>";
        echo '<form action="#" method="get"> 
                    <table width="100%" cellpadding="3" cellspacing="1">
                        <tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="'.$name.'" style="width:100%;" /></td></tr>
                        <tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="'.$vname.'" style="width:100%" /></td></tr>
                        <tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="'.$email.'" style="width:100%" /></td></tr>
                        <tr><td>&nbsp;</td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
                        <tr><td>&nbsp;</td><td align="left"><input type="submit" name="submit" value="absenden" style="width:100%" /></td></tr>
                    </table>
                </form>';
    } else {
        $inhalt = file($db);
        foreach($inhalt as $zeile){
            $inhalt=explode("|",$zeile);
            if($inhalt[0]==$email) $err=true;
        }
        if(isset($err)){
            echo "<p>Die Email Adresse $email befindet sich bereit im Verteiler</p>";
        } else {
            $output = fopen($db,"a");
            if ($output){
                flock($output,2);
                srand(microtime()*1000000);
                $code=rand(10000,99999);
                fputs ($output, "$email|$vname|$name|rein|$code|$zeit|$nl");
                flock($output,3);
                fclose($output);
                mail($email,"Newsletter Anmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndeine Email Adresse $email wurde von Dir oder jemandem Fremden in meinem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." eingetragen. \n\nWenn du die Aufnahme wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=reinconfirm&code=$code .\n\nSolltest Du Dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email, der Eintrag wird ohne das dieser bestätigt wurde nach 48 Stunden automatisch gelöscht. \n\nmfg Admin von ".$_SERVER['HTTP_HOST'],"From: $adminmail");
                echo "<p>Vielen Dank, $vname $name für Deine Anmeldung.<br />Deine Email $email wurde im Verteiler zur Aufnahme vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst nach dem du diesen angeklickt hast, wird Deine Email Adresse vollständig in den Verteiler augenommen.</p><p>Diesen Link solltest Du binnen von nächten 48 Stunden angeklickt haben, sonst wird deine Newsletter-Anmeldung automatisch gelöscht.</p>";
            }
        }
    }
} elseif($action=="raus") { // Abmeldung
    $email=$_GET['email'];
    if(!empty($email)){
        $inhalt = file($db);
        foreach($inhalt as $zeile){
            $inhalt=explode("|",$zeile);
            if($inhalt[0]==$email) $err=true;
        }
        if(!isset($err)){
            echo "<p>Die Email Adresse $email befindet sich nicht im Verteiler</p>";
        } else {
            $alter_inhalt=file($db);
            $output=fopen($db, "w");
            if($output){
                flock($output,2);
                srand(microtime()*1000000);
                $code=rand(10000,99999);
                foreach($alter_inhalt as $zeile){
                    $inhalt=explode("|",$zeile);
                    if($inhalt[0]==$email){
                        $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."|raus|".$code."|".$zeit."|".$nl;
                        mail($inhalt[0],"Newsletter Abmeldung ".$_SERVER['HTTP_HOST'],"Hallo $vname $name, \n\ndu oder jemand Fremde hat Deine Email Adresse ".$inhalt[0]." zum löschen aus unserem Newsletter-Verteiler unter ".$_SERVER['HTTP_HOST']." vorgemerkt. \n\nWenn Du die Abmeldung wirklich wünschst, musst Du diesen Link anklicken http://".$_SERVER['HTTP_HOST'].$_SERVER['SCRIPT_NAME']."?action=rausconfirm&code=$code .\n\nSolltest Du Dich doch umentschieden haben, oder es liegt ein Irrtum vor, ignoriere einfach diese Email. \n\nmfg Admin von ".$_SERVER['HTTP_HOST']."","From: $adminmail");
                        echo "<p>Halo $inhalt[1] $inhalt[2].<br />Deine Email $email wurde zum löschen aus dem Verteiler vorgemerkt.</p><p>Du wirst in Kürze eine Email mit einem Bestätigungslink erhalten. Erst wenn Du diesen angeklickt hast, wird Deine Email Adresse vollständig aus dem Verteiler gelöscht.</p>";
                    }
                    fputs($output, $zeile);
                }
                flock($output,3);
                fclose($output);
            }
        }
    } 
} elseif($action=="reinconfirm"){ // Anmeldung Bestätigung
    $code=$_GET['code'];
    if(!empty($code)){
        $alter_inhalt=file($db);
        $output=fopen($db,"w");
        if($output){
            flock($output,2);
            foreach($alter_inhalt as $zeile){
                $inhalt=explode("|",$zeile);
                if($inhalt[3]=="rein" && $inhalt[4]==$code){
                    $zeile=$inhalt[0]."|".$inhalt[1]."|".$inhalt[2]."||||".$nl;
                    echo "<p>Deine Newsletter Anmeldung wurde bestätigt. Du wirst nun unsere Newsletter empfangen!</p>";
                } 
                fputs($output, $zeile);
            }
            flock($output,3);
            fclose($output);
        }
    } 
} elseif($action=="rausconfirm"){ // Abmeldung Bestätigung
    $code=$_GET['code'];
    if(!empty($code)){
        $alter_inhalt=file($db);
        $output=fopen($db,"w");
        if($output){
            flock($output,2);
            foreach($alter_inhalt as $zeile){
                $inhalt=explode("|",$zeile);
                if($inhalt[3]=="raus" && $inhalt[4]==$code){
                    echo "<p>Deine Newsletter Abmeldung wurde bestätigt. Du wirst nun keine Newsletter mehr empfangen!</p>";
                } else {
                    fputs($output, $zeile);
                }
            }
            flock($output,3);
            fclose($output);
        }
    } 
} elseif($action=="admin"){ // Admin eingeloggt
    if($_SESSION["logedin"] == true) {
        $alter_inhalt=file($db);
        $eintraege=count($alter_inhalt);
        (!isset($_GET['page'])) ? $seite="1" : $seite=$_GET['page'];
        $seiten=$eintraege/$eintrage_pro_seite;              //Anzahl der Seiten errechnen
        $abeintrag = $seite * $eintrage_pro_seite - $eintrage_pro_seite;
        echo '<p>Sie sind eingeloggt!</p><p><a href="'.$_SERVER['SCRIPT_NAME'].'?action=schreiben">Neuen Newsletter versenden</a> | <a href="'.$_SERVER['SCRIPT_NAME'].'?action=logout">ausloggen</a></p>';
        echo '<p>Folgende Newsletter Empfänger sind angemeldet:</p><p class=\"date\">Seite: ';
        for($ass = 1; $ass-1< $seiten; $ass++){              //Ausgabe der Linkliste
            echo '<a href="?action=admin&page='.$ass.'">';
            ($ass==$seite)? $ss="<b>$ass</b>": $ss=$ass;
            echo $ss."</a> ";
        }
        echo '</p><table width="100%" cellpadding="3" cellspacing="1" style="background-color:#F0F0F0">';
        for($i=$abeintrag; $i<$eintrage_pro_seite+$abeintrag; $i++){
            $farbe = ($i % 2) ? "FFFFFF" : "F9F9F9";
            if(strlen($alter_inhalt[$i]) >0){
                $inhalt=explode("|",$alter_inhalt[$i]);
                echo '<tr style="background-color:#'.$farbe.'"><td>'.$inhalt[1].'</td><td>'.$inhalt[2].'</td><td>'.$inhalt[0].'</td><td><a href="'.$_SERVER['SCRIPT_NAME'].'?action=delete&email='.$inhalt[0].'">löschen</a></td></tr>';
            }
        }
        echo '</table><p>Insgesamt sind '.$eintraege.' Newsletter Empfänger angemeldet.</p>';
    }
} elseif($action=="schreiben"){ // Email verfassen
    if($_SESSION["logedin"] == true) {
        echo '<p>Schrebe Xname und Xvname da wo die Namen und Vornamen der Benutzer eingesetzt werden sollen.</p>
        <form action="?action=senden" method="post"> 
                    <table width="100%" cellpadding="3" cellspacing="1">
                        <tr><td width="140" align="right">Betreff:</td><td align="left"><input type="text" name="betreff" value="" style="width:100%;" /></td></tr>
                        <tr><td align="right" valign="top">Text:</td><td align="left"><textarea rows="20"  style="width:100%" name="mailtext"></textarea></td></tr>
                        <tr><td>&nbsp;</td><td align="left"><input type="submit" name="submit" class="button" value="Newsletter versenden" style="width:100%" /></td></tr>
                    </table>
                </form>';
    }
} elseif($action=="senden"){ // Email versenden
    if($_SESSION["logedin"] == true) {
        $betreff=stripcslashes($_POST['betreff']);
        $mailtext=stripcslashes($_POST['mailtext']);
        echo "<p>Der Newsletter wurde an folgende Emai Adressen versendet:<br />";
        $alter_inhalt=file($db);
        foreach($alter_inhalt as $zeile){
            $inhalt=explode("|",$zeile);
            if($inhalt[3]!='rein' && $inhalt[3]!='raus'){ 
                $neumailtext=str_replace("Xname",$inhalt[1],$mailtext);
                $neumailtext=str_replace("Xvname",$inhalt[2],$neumailtext);
                mail($inhalt[0],$betreff,$neumailtext,"From: $adminmail");
                echo $inhalt[0]."<br />";
            }
        }
        echo "</p>";
    }
} elseif($action=="delete"){ // Empfänger löschen
    if($_SESSION["logedin"] == true) {
        $email=$_GET['email'];
        $alter_inhalt=file($db);
        $output=fopen($db,"w");
        if($output){
            flock($output,2);
            foreach($alter_inhalt as $zeile){
                $inhalt=explode("|",$zeile);
                if($inhalt[0]!=$email){
                    fputs($output, $zeile);
                } else {
                    echo "<p>Der Empfänger $email wurde gelöscht.</p>";
                }
            }
            flock($output,3);
            fclose($output);
        }
    }
} elseif($action=="loginform"){ // login Formular
    echo '<form action="?action=login" method="post"> 
                <table width="100%" cellpadding="3" cellspacing="1">
                    <tr><td width="140" align="right">Admin:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
                    <tr><td align="right">Passwort:</td><td align="left"><input type="password" name="pw" value="" style="width:100%" /></td></tr>
                    <tr><td>&nbsp;</td><td align="left"><input type="submit" name="submit" class="button" value="einloggen" style="width:100%" /></td></tr>
                </table>
            </form>';
} elseif(!isset($action)){
    echo '<form action="#" method="get"> 
            <table width="100%" cellpadding="3" cellspacing="1">
                <tr><td width="140" align="right">Nachname:</td><td align="left"><input type="text" name="name" value="" style="width:100%;" /></td></tr>
                <tr><td align="right">Vorname:</td><td align="left"><input type="text" name="vname" value="" style="width:100%" /></td></tr>
                <tr><td align="right">E-Mail:</td><td align="left"><input type="text" name="email" value="" style="width:100%" /></td></tr>
                <tr><td>&nbsp;</td><td>anmelden: <input type="radio" name="action" value="rein" checked="checked" /> abmelden: <input type="radio" name="action" value="raus" /></td></tr>
                <tr><td>&nbsp;</td><td align="left"><input type="submit" name="submit" class="button" value="absenden" style="width:100%" /></td></tr>
            </table>
        </form>';

}
echo base64_decode($xdb);

?>
 

cmfa

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Hi,

ok und wo genau liegt jetz das Problem wenn es geht?
Gibt es einen Link zu MySpace?

CMFA
 

suncruise

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Der HTML Code wurde ohne Veränderung in ein MySpace Profil eingefügt. Wenn man dort nun seine Daten eingibt "Name, Vorname, E-Mail" dann auf "Absenden" klickt, kommt man nur newsletter.php wo man das ganze nochmal eingeben soll.
 

cmfa

Nicht mehr ganz neu hier

AW: Newsletter selber erstellen

Hi,

dann erfolgt er Aufruf aus dem Formular nicht richtig. Formular und Newsletter.php liegen "nebeneinander" auf MySpace dann reicht es wenn du bei "<form action="newsletter.php" method="get">

schreibst...

VG

CMFA
 
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.614
Beiträge
1.538.351
Mitglieder
67.525
Neuestes Mitglied
mgtaucher
Oben