Hallo an alle,
also so langsam werd ich irre. Schon viel zu viele Tage habe ich jetzt damit verbracht zu verstehen, was ich alles brauche um den Usern zu ermöglichen sich für den Newsletter einzutragen und diesen Usern dann auch den Newsletter zukommen zu lassen.
Es ist auch nicht so sehr hilfreich, dass Google bevorzugt Foren ausspuckt, in denen dann immer nur der Hinweis steht, dass man Google nutzen soll...
Kostenpflichtige Skripts kommen auch nicht in Frage und ich möchte auch nicht über einen Drittanbieter das ganze Lösen. Doch die gefundenen Skripte und deren Tutorials haben mich nur bedingt weiter gebracht. Ein bisschen lernen konnte ich auf jeden Fall, aber leider noch nicht genug.
Also inzwischen habe ich mich entschlossen das Formular nicht mimt PHP sondern direkt in HTML zu schreiben. Das stell ich mal hier ein:
action="newsletter/news.php", weil bei meinem letzten Versuch diese Datei verwendet wurde. Ja und diese datei kann ich ja auch mal einstellen, aber ich versteh selbst noch nicht alles davon.
Besonders den letzten Absatz...
Ach ich weiß auch nicht, ich hätte nicht gedacht, dass das so schwer ist...
also so langsam werd ich irre. Schon viel zu viele Tage habe ich jetzt damit verbracht zu verstehen, was ich alles brauche um den Usern zu ermöglichen sich für den Newsletter einzutragen und diesen Usern dann auch den Newsletter zukommen zu lassen.
Es ist auch nicht so sehr hilfreich, dass Google bevorzugt Foren ausspuckt, in denen dann immer nur der Hinweis steht, dass man Google nutzen soll...
Kostenpflichtige Skripts kommen auch nicht in Frage und ich möchte auch nicht über einen Drittanbieter das ganze Lösen. Doch die gefundenen Skripte und deren Tutorials haben mich nur bedingt weiter gebracht. Ein bisschen lernen konnte ich auf jeden Fall, aber leider noch nicht genug.
Also inzwischen habe ich mich entschlossen das Formular nicht mimt PHP sondern direkt in HTML zu schreiben. Das stell ich mal hier ein:
HTML:
<form action="newsletter/news.php" method="post" id="newl_form">
<p>
<label for="news_vname">Vorname:<span class="col_gruen">*</span></label></p>
<p>
<input id="news_vname" type="text" name="vname" size="30" maxlength="30" /></p>
<p>
<label for="news_name">Nachname:<span class="col_gruen">*</span></label></p>
<p>
<input id="news_name" type="text" name="name" size="30" maxlength="30" /></p>
<p>
<label for="news_gbt">Geburtstag:<span class="col_gruen">*</span></label></p>
<p>
<input id="news_gbt" type="text" name="gbt" size="30" maxlength="30" /></p>
<p>
<label for="news_email">E–Mail Adresse:<span class="col_rot">*</span></label></p>
<p>
<input id="news_email" type="text" name="email" size="30" maxlength="30" /></p>
<p>
<input id="news_auswahl1" type="radio" name="news" value="bestellt" checked />
<label for="news_auswahl1">Bestellen</label> 
<input id="news_auswahl2" type="radio" name="news" value="abbestellt" />
<label for="news_auswahl2">Abbestellen</label></p>
<p>
<input type="submit" value="Absenden" class="btn_absenden" /></p>
</form>
<p>
<span class="col_gruen">* Freiwillige Angaben</span><br />
<span class="col_rot">* Pflichtfeld</span></p>
PHP:
<?
//Eingabe-Ueberpruefung
function MailChek($Addr, $Level) {
// z. Zt. gueltige Top-Level Domains
$gTLDs = "com:net:org:edu:gov:mil:int:arpa:";
$CCs = "ad:ae:af:ag:ai:al:am:an:ao:aq:ar:as:at:au:aw:az:ba:bb:bd:be:bf:".
"bg:bh:bi:bj:bm:bn:bo:br:bs:bt:bv:bw:by:bz:ca:cc:cf:cd:cg:ch:ci:".
"ck:cl:cm:cn:co:cr:cs:cu:cv:cx:cy:cz:de:dj:dk:dm:do:dz:ec:ee:eg:".
"eh:er:es:et:fi:fj:fk:fm:fo:fr:fx:ga:gb:gd:ge:gf:gh:gi:gl:gm:gn:".
"gp:gq:gr:gs:gt:gu:gw:gy:hk:hm:hn:hr:ht:hu:id:ie:il:in:io:iq:ir:".
"is:it:jm:jo:jp:ke:kg:kh:ki:km:kn:kp:kr:kw:ky:kz:la:lb:lc:li:lk:".
"lr:ls:lt:lu:lv:ly:ma:mc:md:mg:mh:mk:ml:mm:mn:mo:mp:mq:mr:ms:mt:".
"mu:mv:mw:mx:my:mz:na:nc:ne:nf:ng:ni:nl:no:np:nr:nt:nu:nz:om:pa:".
"pe:pf:pg:ph:pk:pl:pm:pn:pr:pt:pw:py:qa:re:ro:ru:rw:sa:sb:sc:sd:".
"se:sg:sh:si:sj:sk:sl:sm:sn:so:sr:st:su:sv:sy:sz:tc:td:tf:tg:th:".
"tj:tk:tm:tn:to:tp:tr:tt:tv:tw:tz:ua:ug:uk:um:us:uy:uz:va:vc:ve:".
"vg:vi:vn:vu:wf:ws:ye:yt:yu:za:zm:zr:zw:";
// country codes koennen folgende TLD`s vorangestellt sein
$cTLDs = "com:net:org:edu:gov:mil:co:ne:or:ed:go:mi:";
$fail = 0;
// wandelt in Kleinbuchstaben um
$Addr = strtolower($Addr);
// teilt die Adresse in user und domain Teile
$UD = explode("@", $Addr);
if (sizeof($UD) != 2 || !$UD[0]) $fail = 1;
echo "$ud[0]";
echo "$ud[1]";
// teilt den domain Abschnitt
$Levels = explode(".", $UD[1]); $sLevels = sizeof($Levels);
if ($sLevels < 2) $fail = 1;
// holt die TLD und ueberprueft die Länge
$tld = $Levels[$sLevels-1];
$tld = ereg_replace("[>)}]$|]$", "", $tld);
if (strlen($tld) < 2 || strlen($tld) > 3 && $tld != "arpa") $fail = 1;
// ueberprueft TLD
if ($Level && !$fail) {
$Level--;
if (!ereg($tld.":", $gTLDs) && !ereg($tld.":", $CCs)) $fail = 2;
}
// ueberprueft country code
if ($Level && !$fail) {
$cd = $sLevels - 2; $domain = $Levels[$cd].".".$tld;
if (ereg($Levels[$cd].":", $cTLDs)) { $cd--; $domain = $Levels[$cd].".".$domain; }
}
} //end MailChek
$fail = MailChek ($email,1) ;
if ($fail != 0){
include ('error.php3');
exit;
}
else {
include ('acknow.php3');
}
//Log at database textfile - Daten werden in txt-Datei geschrieben
$datum=date('Y-m-d H:i',time());
$zeile=$datum.'²'.$email.'²'.$news."\n";
$fp=fopen('news.txt','a');
fwrite($fp,$zeile,100);
fclose($fp);
//mySQL-Verbindung
echo "<br>";
echo "<br>";
$sqlid=mysql_connect("localhost","****","******"); //Hier host, user und Passwort eintragen
if (!$sqlid) die ("Kann Server nicht erreichen");
else echo 'Datenbank connect';
mysql_select_db("testdatenbank",$sqlid); //Die Datenbank 'newsletter' muss schon angelegt sein
$sql="insert into newsletter (email, name, vname, gbt) values ('$email', '$name', '$vname', '$gbt')"; //ebenso die Tabelle 'email_adress'
mysql_query ($sql,$sqlid);
mysql_close($sqlid);
//email to user
mail ("admin@localhost", //Hier den Empfaenger eintragen
"newsletter $news", //Hier steht die Betreff-Zeile
"Hallo DREAMRIDER, $email hat den newsletter $news und zwar am $datum", //Hier der Text der mail
"From:$email"); //Hier steht der Absender
?>
Ach ich weiß auch nicht, ich hätte nicht gedacht, dass das so schwer ist...
Zuletzt bearbeitet: