locomputing
passwort_refresh.php 
Entsprechende Datenbank Verbindung einfügen
Sitzung starten einfügen
Prüfen ob User berechtigung hat oder nicht einfügen
Benutzende Variablen auf leere Werte setzen
<?php
$new_password = $confirm_password = $pass = "";
$new_password_err = $confirm_password_err = $pass_err = "";
?>
Formulardaten werden verarbeitet, wenn das Formular gesendet wird einfügen
POST für Userpasswort prüfen
<?php
$postpass=isset($_POST['pass']) ? $_POST['pass'] : "";
if(empty($postpass))
{
$pass_err = "Feld Passwort ist leer.";
}
else
{
$passwort=trim($postpass);
if ($passwort === false)
{
$pass_err = "Passwort Fehler!";
}
}
?>
POST für Neues Passwort prüfen
<?php
$newpaswort=isset($_POST['new_password']) ? $_POST['new_password'] : "";
if(!empty($newpaswort));
if((strlen(trim($newpaswort)) < 8)||(strlen(trim($newpaswort))) > 40)
{
$new_password_err = "Passwort muss 8 bis 40 Zeichen haben.";
}
else
{
$new_password = isset($newpaswort) ? $newpaswort : "";
}
?>
POST für Neues Passwort wiederholen prüfen
<?php
$connectpassw = isset($_POST['confirm_password']) ? $_POST['confirm_password'] : "";
if(!empty($connectpassw))
{
$confirm_password = isset($connectpassw) ? $connectpassw : "";
}
?>
Neues Passwort und Passwort bestätigen auf übereinstimmung prüfen
<?php
if(empty($new_password_err) && ($new_password != $confirm_password))
{
$confirm_password_err="Die Passwörter stimmen nicht überein.";
}
?>
Keine Fehler Inhalt ausführen
<?php
if(empty($pass_err) && empty($new_password_err) && empty($confirm_password_err))
{
?>
Weitere Variablen definieren
<?php
$param_id=IntVal($_SESSION['id']);
$param_active=1;
$param_blok=0;
?>
Datenbank abfrage
<?php
$stmt=$msql->prepare("SELECT id, userpass FROM usertable WHERE id=? and active=? and block=?");
$stmt->bind_param('iii', $param_id, $param_active, $param_blok);
$stmt->execute();
$stmt->store_result();
$stmt->bind_result($uid, $hashed_password);
$stmt->fetch();
?>
<?php
$stmt=$pdo->prepare("SELECT id, userpass FROM usertable WHERE id=:id and active=:aktive and block=:blogg");
$stmt->bindParam(':id', $param_id, PDO::PARAM_INT);
$stmt->bindParam(':aktive', $param_active, PDO::PARAM_INT);
$stmt->bindParam(':blogg', $param_blok, PDO::PARAM_INT);
$stmt->bindColumn(1,$uid);
$stmt->bindColumn(2,$hashed_password);
$stmt->execute();
$stmt->fetch();
?>
Benutzer Passwort überprüfen
<?php
if(password_verify($passwort, $hashed_password))
{
?>
Neues Passwort hashen
<?php
$set_password=password_hash($new_password, PASSWORD_DEFAULT);
?>
Datenbank aktualisieren
<?php
$stmt=$msql->prepare("UPDATE usertable SET userpass = ? WHERE id = ?");
$stmt->bind_param('si', $set_password, $uid);
?>
<?php
$stmt=$pdo->prepare("UPDATE usertable SET userpass=:passwort WHERE id=:id");
$stmt->bindParam(':id', $uid, PDO::PARAM_INT);
$stmt->bindParam(':passwort', $set_password, PDO::PARAM_STR);
?>
<?php
if ($stmt->execute())
{
session_unset(); session_destroy();
header("Location:login.html");
}
}
else
{
$pass_err="Passwort!?";
}
Objekt schließen einfügen
Keine Fehler Ende
}
Verbindung beenden einfügen
}
?>
passwort_refresh-formular 
Zum Passwort ändern 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="passwort_refresh.php">
Feld für Neues Passwort einfügen
Feld für Neues-Passwort bestätigen einfügen
Feld für Benutzer-Passwort einfügen
Feld für Senden einfügen
Ende eines Formulares einfügen
Ende Inhaltsbereich einfügen
Ende einer Html Seite einfügen