[Tutorial] Memberbereich mit $_SESSION[] - [Teil 6 von 10]Sie befinden sich: Home > Webmaster News
[Tutorial] Memberbereich mit $_SESSION[] - [Teil 6 von 10]
Um den Code hier übersichtlich zu halten, sehen Sie hier ab sofort nur noch diesen Teil:
<?php
// Wurde das Formular abgeschickt?
if(!empty($_POST['Submit'])) {
}
?>
Dieser Teil wird dann durchlaufen, wenn das Formular abgeschickt wurde. Hier werden zunächst die Eingaben des Anmelders aus dem POST-Array in die geplanten Variablen geholt und diese auf Plausibilität geprüft. Werden Fehler festgestellt wird das ausgefüllte Formular neu angezeigt und ein entsprechender Hinweis ausgegeben.
Sind die Eingaben formal richtig, wird noch geprüft, ob der eingegebene Name oder die eingegebene Emailadresse schon in der Datenbank vorhanden sind. Hierzu werden weitere Fehlermeldungen erzeugt und das Formular neu ausgegeben.
Wenn alle Prüfungen bis hierher bestanden wurden, werden die eingegebenen daten in der user-access-Tabelle gespeichert und die Kontrollmail verschickt. Danach leiten wir weiter zur Dankeseite.
<?php
// Wurde das Formular abgeschickt?
if(!empty($_POST['Submit'])) {
// Fehlermeldung löschen
$fehler = '';
// Eingaben verarbeiten
$email = eingabe('email');
$name = eingabe('name');
$passwort = eingabe('passwort');
// Ist die Emailadresse formal korrekt?
if(!preg_match("/^([w|.|-|_]+)@([w||-|_]+).([w|.|-|_]+)$/i",$email)) $fehler.='Bitte geben Sie Ihre
Emailadressse ein<br>';
// Der Name sollte mindestens 4 Zeichen lang sein
if(strlen($name)<4 ) $fehler.= 'Bitte geben Sie einen Namen mit mindestens 4 Zeichen ein';
// Das Passwort sollte mindestens 6 Zeichen lang sein
if(strlen($passwort)<6 ) $fehler.= 'Bitte geben Sie ein Passwort mit mindestens 6 Zeichen ein';
// Wenn alle Eingaben richtig waren, das ist $fehler immer noch leer
if($fehler == '') {
// Alle Eingaben formal ok. Es muss noch geprüft werden, ob der Name schon vorhanden ist
// Zur Datenbank verbinden
include 'connect.php';
$sql = "SELECT userid FROM user_access WHERE userid = '$name'";
$erg=mysql_query($sql);
if(mysql_num_rows($erg)) $fehler = 'Der Name ' . $name . 'ist bereits gespeichert. Bitte wählen Sie einen
anderen Namen.';
}
if($fehler == '') {
// Es muss noch geprüft werden, ob die Email schon vorhanden ist
$sql = "SELECT userid FROM user_access WHERE email = '$email'";
$erg=mysql_query($sql);
if(mysql_num_rows($erg)) $fehler = 'Es existiert schon ein User mit der Emailadresse ' . $email . '. Bitte
wenden Sie sich ggf. an den Support.';
}
if($fehler == '') {
// Wenn $fehler immer noch leer ist, dann kann nun alles gespeichert werden.
// IP des Besuchers
if (getenv("HTTP_X_FORWARDED_FOR")) {
$realip = getenv("HTTP_X_FORWARDED_FOR");
} else {
$realip = getenv("REMOTE_ADDR");
}
$passmd5 = md5($passswort);
$code = md5(uniqid(rand()));
$sql = "INSERT INTO user_access (userid,passwort,email,userstatus,datum_anmeldung,ip_anmeldung,code) VALUES ";
$sql.= "('$name','$passmd5','$email','neu',now(),'$realip','$code')";
mysql_query($sql) or die(mysql_error());
$id = mysql_insert_id();
// Email senden
$from = 'absender@XXX.de';
$mailto = $email;
$subject = 'Bitte Anmeldung bestaetigen';
$cc = $bcc = '';
$message_text ="
Sie haben Sich mit diesen Daten angemeldet:
Name: $name
Passwort: $passwort
Um die Anmeldung abzuschließen, hier klicken:
http://XXX.de/bestaetigung.php?id=$id&code=$code
";
mail( "$mailto", "$subject", "$message_text", "From:$fromnCC:$ccnBCC:$bccn");
// Alles gespeichert, nun die Dankeseite ausgeben
$wohin = 'anmelden_danke.php';
header("Location: $wohin");
exit;
}
}
?>
Teile dieses Tutorials: -1- -2- -3- -4- -5- -6- -7- -8- -9- -10-
(Quelle: Wolfgang ), Eingetragen am 14.July.2008 
Ähnliche News 31.07.2008 - [Tutorial] Vergleichsoperationen
29.07.2008 - [Code] Eingegebenes Datum prüfen
22.07.2008 - [Tutorial] Einführung in Funktionen
21.07.2008 - [Code] date - Datumsformate
14.07.2008 - [Tutorial] Memberbereich mit $_SESSION[] - [Teil 1...
Letzten Webmaster News 29.08.2008 - [Tutorial] Verbindung zu MySql und Auswahl einer D...
28.08.2008 - [TIPP] PHP code lesbar gestaltet
28.08.2008 - [Tutorial] Arbeiten mit Unix-Zeitstempeln, date(),...
27.08.2008 - [Code] Zaehlen, wie häufig ein Wort in einem ...
27.08.2008 - [code] Passwörter mit md5 verschlüsselt ...
|