geändert: addFahrt.php geändert: addStarter.php geändert: addStarterDev.php geändert: admin/addEvent.php geändert: admin/addMitfahrer.php geändert: admin/adminAddStarter.php geändert: admin/adminFunctions.php geändert: admin/adminUpdateStarterErgebnis.php geändert: admin/index.php geändert: admin/listEvents.php geändert: admin/listUsers.php geändert: admin/newsLetter.php geändert: admin/resetPassword.php geändert: admin/reseteMitfahrer.php geändert: admin/showEvent.php geändert: admin/showFahrt.php geändert: admin/showUser.php geändert: admin/verteileMitfahrer.php geändert: calendar.php geändert: changePassword.php geändert: eventKalender.php geändert: galImgPicker.php geändert: horstWolfJudosport.php geändert: index.php geändert: infoZettel.php geändert: lib/wkParticipoLib.inc.php geändert: login.php geändert: loginDev.php geändert: showWkEvent.php geändert: userInfo.php
114 lines
3.7 KiB
PHP
114 lines
3.7 KiB
PHP
<?php
|
|
require('./local/db.php.inc');
|
|
require_once('./local/wkParticipoConf.php.inc');
|
|
require_once('./auth.php');
|
|
require_once('./lib/wkParticipoLib.inc.php');
|
|
|
|
$message = array();
|
|
|
|
$mysqlConn = @new mysqli($db_server, $db_user, $db_password, $db_name);
|
|
if($mysqlConn->connect_error){
|
|
$message['error'] .= 'Datenbankverbindung fehlgeschlagen: ' . $mysqlConn->connect_error;
|
|
}
|
|
else{
|
|
|
|
$userInfo = getUserData( $mysqlConn, $_SESSION['user']['userId'] );
|
|
|
|
if( !empty($_POST) ){
|
|
if(
|
|
empty($_POST['f']['oldPassword']) ||
|
|
empty($_POST['f']['newPassword']) ||
|
|
empty($_POST['f']['newPasswordAgain'])
|
|
){
|
|
$message['error'] .= "Es wurden nicht alle Felder ausgefüllt.<br />";
|
|
}
|
|
else{
|
|
if($_POST['f']['newPassword'] != $_POST['f']['newPasswordAgain']){
|
|
$message['error'] .= "Das neue Passwort stimmt nicht mit seiner Kontrolleingabe überein! Vertippt?<br />";
|
|
}
|
|
else{
|
|
if( !password_verify( $_POST['f']['oldPassword'], $userInfo['pwHash']) ){
|
|
$message['error'] .= "Das eingegebene, alte Passwort stimmt nicht!";
|
|
}
|
|
else{
|
|
// Das eigentliche Passwort wird nicht gespeichert sondern der Hash. Da wir jenes auch nicht mehr benötigen, nutzen wir die Variable gleich weiter.
|
|
$_POST['f']['newPassword'] =
|
|
password_hash( $_POST['f']['newPassword'], PASSWORD_DEFAULT);
|
|
|
|
$pwChangeQuery = sprintf(
|
|
"UPDATE wkParticipo_Users
|
|
SET pwHash='%s'
|
|
WHERE id='%s';",
|
|
$mysqlConn->real_escape_string($_POST['f']['newPassword']),
|
|
$mysqlConn->real_escape_string($_SESSION['user']['userId'])
|
|
);
|
|
|
|
if( $mysqlConn->query($pwChangeQuery) === TRUE ){
|
|
$message['success'] .= "Passwort wurde geändert!<br /><nav><ul><li><a href=\"./index.php\"><div>Zur Übersichtsseite</div></a></li></ul></nav><br />";
|
|
}
|
|
else{
|
|
$message['error'] .= "Fehler beim Neusetzen des Passwortes: ".$mysqlConn->error."<br />";
|
|
}
|
|
}// Ende des Schleifenzweiges: Neusetzen des Passwortes
|
|
}// Ende des Schleifenzweiges: Kontrolle der neuen Passwörter
|
|
}// Ende des Schleifenzweiges: fehlende Eingaben
|
|
}// Ende des Schleifenzweiges: leeres POST
|
|
|
|
$mysqlConn->close();
|
|
}// Ende des Schleifenzweiges: Datenbankverbindung erfolgreich
|
|
?>
|
|
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<title>Passwortänderung</title>
|
|
<link rel="stylesheet" href="style.css">
|
|
</head>
|
|
|
|
<body>
|
|
<?php echo $login_status;?>
|
|
<?php echo htmlRetMessage($message);?>
|
|
|
|
<nav>
|
|
<ul>
|
|
<li>
|
|
<a href="./index.php">
|
|
<div>Zur Übersichtsseite</div>
|
|
</a>
|
|
</li>
|
|
<li>
|
|
<a href="./userInfo.php">
|
|
<div>
|
|
Zur Benutzerübersichtsseite
|
|
</div>
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</nav>
|
|
|
|
<h1>Passwortänderung</h1>
|
|
|
|
Im folgenden Formular kann das Passwort geändert werden. Man sollte darauf achten, dass man beim <a href="https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Passwoerter/Umgang/umgang_node.html">Umgang mit Passwörtern</a> die nötige Vorsicht walten lässt.
|
|
<form action="./changePassword.php" method="post">
|
|
<fieldset>
|
|
<legend>Neues Passwort vergeben</legend>
|
|
<div>
|
|
<label for="oldPassword">bisheriges Passwort</label>
|
|
<input type="password" name="f[oldPassword]" id="oldPassword" />
|
|
</div>
|
|
<div>
|
|
<label for="newPassword">neues Passwort</label>
|
|
<input type="password" name="f[newPassword]" id="newPassword" />
|
|
</div>
|
|
<div>
|
|
<label for="newPasswordAgain">neues Passwort wiederholen</label>
|
|
<input type="password" name="f[newPasswordAgain]" id="newPasswordAgain" />
|
|
</div>
|
|
</fieldset>
|
|
<fieldset>
|
|
<div><button type="submit">Passwort neu setzen</button></div>
|
|
</fieldset>
|
|
</form>
|
|
</body>
|
|
</html>
|