[Tutorial] Memberbereich mit $_SESSION[] - [Teil 7 von 10]Sie befinden sich: Home > Webmaster News
[Tutorial] Memberbereich mit $_SESSION[] - [Teil 7 von 10]
Der Besucher unserer Seite kann sich nun anmelden und erhält eine Kontrollmail, in der er einen Link anklicken muss. Dieser Link geht zu einer jetzt zu erstellenden Seite bestaetigung.php. Angehängt sind die Parameter id und code.
In id steht die Zeilennummer der Datenbank und in code ein md5-Hashcode, der als Sicherheit erzeugt und mitgeschickt wird.
Würden wir nur ?id=123 senden, so könnte jemand auf die ID kommen auszuprobieren, was er bei Aufruf mit z.B. id=124, id=125 usw. erreicht und schaltet dadurch auch solche Userids frei, die nicht er selbst erzeugt hat. Unsere Seite Bestätigung muss also zuerst diese beiden Parameter empfangen und dann nachsehen, ob es einen passenden Datenbankeintrag gibt.
bestaetigung.php
<?php
$id = $_GET['id'];
$code = $_GET['code'];
$fehler='';
// Verbindung zur Datenbank herstellen
include 'connect.php';
//Zeile mit id und code suchen
$sql = "SELECT id, userstatus FROM user_access WHERE id = '".mysql_real_escape_string($id)."' AND code = '" . mysql_real_escape_string($code) . "' LIMIT 1";
if(!is_numeric($id))
$fehler = 'Falscher Programmaufruf';
if(!$code)
$fehler = 'Falscher Programmaufruf';
if(!$fehler) {
$erg=mysql_query($sql) or die(mysql_error());
if(!mysql_num_rows($erg))
$fehler = 'Falscher Programmaufruf ';
}
if(!$fehler) {
// Eintrag wurde gefunden. Prüfen, ob userstatus = neu
$row=mysql_fetch_array($erg,MYSQL_ASSOC);
if($row['userstatus'] == 'ok')
$fehler = 'Freischaltung bereits erfolgt';
if($row['userstatus'] == 'gesperrt')
$fehler = 'Freischaltung nicht möglich';
}
if(!$fehler) {
// Alles ok, nun freischalten
$sql = "UPDATE user_access SET userstatus = 'ok' WHERE id = '".mysql_real_escape_string($id)."' AND code = '" . mysql_real_escape_string($code) . "' LIMIT 1";
mysql_query($sql) or die(mysql_error());
}
if(!$fehler) {
echo 'Sie haben Ihre Anmeldung erfolgreich abgeschlossen und können Siech nun zum Memberbereich anmelden';
} else {
echo $fehler;
}
?>
Teile dieses Tutorials: -1- -2- -3- -4- -5- -6- -7- -8- -9- -10- (Autor: Wolfgang), Eingetragen am 14.07.2008
Schreib ein Kommentar
|