70 lines
2.9 KiB
PHP
70 lines
2.9 KiB
PHP
<?php
|
|
#Datenbank Verbindung einbinden
|
|
require 'Connections/Connections.php';
|
|
#Get variablen in locale schreiben
|
|
$email = trim(mysqli_real_escape_string($con, $_GET['email']));
|
|
$key = trim(mysqli_real_escape_string($con, $_GET['key']));
|
|
#Prüfen ob variablen gesetzt sind
|
|
if (!empty($email) && !empty($key)) {
|
|
$result_verify_email = $con->query("select * from user where email = '$email' and hash = '$key' and isactive = 1");
|
|
#Prüfen ob User existiert und neues passwort angefordert hat
|
|
if (mysqli_num_rows($result_verify_email) == 1) {
|
|
if(isset($_POST['Password_reset'])){
|
|
$PW = $_POST['password'];
|
|
$PW2 = $_POST['password_confirm'];
|
|
#Neuen Hash generieren um erneutes password setzen zu verbieten
|
|
$hash = md5(uniqid(rand(), true));
|
|
#Prüfen ob passwörter übereinstimmen
|
|
if($PW==$PW2){
|
|
#Password verschlüsseln
|
|
$StorePassword = password_hash("$PW", PASSWORD_BCRYPT, array('cost' => 10));
|
|
#Password und Hash in Datenbank schreiben
|
|
$change = $con->query("update user set Password='{$StorePassword}' where Email like '{$email}' and hash='{$key}'");
|
|
$change_key = $con->query("update user set hash='{$hash}' where Email like '{$email}'");
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('Wir haben ihr Passwort erfolgreich gespeichert.');window.location = 'Login.php';</script>";
|
|
#Ausgaben bei aufgetrettenen Fehlern
|
|
}else{
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('Passwörter stimmen nicht überein');</script>";
|
|
}
|
|
}
|
|
}else{
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('Daten nicht richtig übermittelt. Bitte versuchen sie es später erneut!');window.location = 'Login.php';</script>";
|
|
}
|
|
}else {
|
|
print "<script type='text/javascript' langeuage='javascript'>
|
|
alert('E-Mail Link nicht richtig. Bitte erneut veruchen?');window.location = 'Login.php';</script>";
|
|
}
|
|
|
|
#Header und menü einbinden
|
|
$webpagetitle = "Passwort zurücksetzen";
|
|
include "Includes/Header.php";
|
|
include "Includes/Menu.php";
|
|
|
|
#html Content ausgeben
|
|
?>
|
|
<div class="content">
|
|
<div class="Rahmen">
|
|
<div class="center">
|
|
<h2>Neues Passwort eingeben</h2>
|
|
<br/>
|
|
<form action="" method="post" name="Password_reset" id="Password_reset">
|
|
<div class="FormElement">
|
|
<input name="password" type="password" required="required" class="TField" id="password" placeholder="Passwort">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="password_confirm" type="password" required="required" class="TField" id="password_confirm" placeholder="Passwort bestätigen">
|
|
</div>
|
|
<div class="FormElement">
|
|
<input name="Password_reset" type="submit" class="button" id="Password_reset" Value="Zurücksetzen">
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<?php
|
|
#Footer einbinden
|
|
include "Includes/Footer.php";?>
|