locomputing
freischalten.php 
Entsprechende Datenbank Verbindung einfügen
Prüfen ob User eingeloggt ist oder nicht einfügen
Benutzende Variablen auf leere Werte setzen
<?php
$user_name = $password = $code = "";
$username_err = $password_err = $code_err = "";
?>
Formulardaten werden verarbeitet, wenn das Formular gesendet wird einfügen
POST für Username prüfen einfügen
POST für Passwort prüfen einfügen
POST für Code prüfen
<?php
$postcode=isset($_POST['code']) ? $_POST['code'] : "";
if (empty($postcode))
{
$code_err="Feld Code ist leer!";
}
elseif ((strlen($postcode) < 11) || (strlen( $postcode)) > 13)
{
$code_err="Code nicht korrekt!"; }
else
{
$code=IntVal($postcode);
if ($code === false)
{
$code_err="Dies ist kein Freischaltcode!";
}
}
?>
Keine Fehler Inhalt ausführen
<?php
if (empty($username_err) && empty($password_err) && empty($code_err))
{
Datenbank abfrage
$stmt=$msql->prepare("SELECT id, username, userpass, code FROM usertable WHERE username=? and active=? and block=?");
$stmt->bind_param("sii", $user_name, $param_aktive, $param_blok);
$param_aktive=0;
$param_blok=0;
$stmt->bind_result($id, $param_username, $hashed_password, $coder);
if ($stmt->execute())
{
$stmt->store_result();
if ($stmt->num_rows == 1)
{
if ($stmt->fetch())
{
if (password_verify($password, $hashed_password))
{
if ($code == $coder)
{
$stmt=$pdo->prepare("SELECT id, username, userpass, code FROM usertable WHERE username=:username and active=:aktiv and block=:block");
$stmt->bindParam(":username", $user_name, PDO::PARAM_STR);
$stmt->bindParam(":aktiv", $param_aktive, PDO::PARAM_INT);
$stmt->bindParam(":block", $param_blok, PDO::PARAM_INT);
$param_aktive=0;
$param_blok=0;
$stmt->bindColumn(1,$id);
$stmt->bindColumn(2,$param_username);
$stmt->bindColumn(3,$hashed_password);
$stmt->bindColumn(4,$coder);
if ($stmt->execute())
{
if ($stmt->rowCount() == 1)
{
if ($stmt->fetch(PDO::FETCH_ASSOC))
{
if (password_verify($password, $hashed_password))
{
if ($code == $coder)
{
Datenbank aktualisieren
$aktive = 1;
$stmt=$msql->prepare("UPDATE usertable SET active=? WHERE id=?");
$active=$msql->real_escape_string(IntVal(1));
$ide=$msql->real_escape_string(IntVal($id));
$stmt->bind_param("ii", $aktive, $ide);
$stmt=$pdo->prepare("UPDATE usertable SET active=:aktiv WHERE id=:id");
$stmt->bindParam(":aktiv", $aktive, PDO::PARAM_INT);
$stmt->bindParam(":id", $id, PDO::PARAM_INT);
if ($stmt->execute())
{
echo'Account ist Aktiv zum <a href="login.php">Login</a>';
exit;
}
}
else
{
$code_err="Code nicht korrekt!";
session_unset();
session_destroy();
}
}
else
{
$password_err="Passwort nicht korrekt!";
}
}
else
{
echo"Account schon Freigeschaltet?";
}
}
else
{
$username_err="Username falsch?";
}
}
Objekt schließen einfügen
Keine Fehler Ende
}
Verbindung beenden einfügen
Formulardaten wurden gesendet ende
}
?>
freischalten-formular 
Zum Aktivieren wird ein Formular benötigt.
Formular muß erstellt werden
Beginn einer Html 5 Seite einfügen
Anfang Inhaltsbereich einfügen
Wie soll das Formular wo hin
<form method="post" action="freischalten.php">
Feld für Username variante 2 einfügen
Feld für Passwort variante 2 einfügen
Feld für Code einfügen
Feld für Senden einfügen
Ende eines Formulares einfügen
Ende Inhaltsbereich einfügen
Ende einer Html Seite einfügen