Files
cwsvJudo/homepage/redesign2018/markdownExperiment/wkParticipo/admin/resetPassword.php
marko ddb11d096e Simples Backup des Wettkampfplaners
zum Commit vorgemerkte Änderungen:
	neue Datei:     addEvent.php
	neue Datei:     addFahrt.php
	neue Datei:     addStarter.php
	neue Datei:     addStarterDev.php
	neue Datei:     admin/.htaccess
	neue Datei:     admin/addEvent.php
	neue Datei:     admin/addMitfahrer.php
	neue Datei:     admin/adminAddStarter.php
	neue Datei:     admin/adminFunctions.php
	neue Datei:     admin/adminFunctions.php.inc
	neue Datei:     admin/adminUpdateStarterErgebnis.php
	neue Datei:     admin/config.inc.php
	neue Datei:     admin/index.php
	neue Datei:     admin/listEvents.php
	neue Datei:     admin/listUsers.php
	neue Datei:     admin/newsLetter.php
	neue Datei:     admin/register.php
	neue Datei:     admin/resetPassword.php
	neue Datei:     admin/reseteMitfahrer.php
	neue Datei:     admin/showEvent.php
	neue Datei:     admin/showFahrt.php
	neue Datei:     admin/showUser.php
	neue Datei:     admin/verteileMitfahrer.php
	neue Datei:     auth.php
	neue Datei:     authLogin.php
	neue Datei:     calendar.php
	neue Datei:     changePassword.php
	neue Datei:     editFahrt.php
	neue Datei:     eventKalender.php
	neue Datei:     galImgPicker.php
	neue Datei:     horstWolfJudosport.php
	neue Datei:     index.php
	neue Datei:     infoZettel.php
	neue Datei:     lib/wkParticipoLib.php.inc
	neue Datei:     local/.htaccess
	neue Datei:     local/db.php.inc
	neue Datei:     local/wkParticipoConf.php.inc
	neue Datei:     login.php
	neue Datei:     loginDev.php
	neue Datei:     logout.php
	neue Datei:     showWkEvent.php
	neue Datei:     style.css
	neue Datei:     styleDev.css
	neue Datei:     test.php
	neue Datei:     userInfo.php
2018-07-21 15:27:42 +02:00

107 lines
3.4 KiB
PHP

<?php
require('../local/db.php.inc');
require_once('../local/wkParticipoConf.php.inc');
require_once('../auth.php');
require_once('../lib/wkParticipoLib.php.inc');
$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']['userId']) ||
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{
// 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($_POST['f']['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: 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="./resetPassword.php" method="post">
<fieldset>
<legend>Neues Passwort vergeben</legend>
<div>
<label for="userId">userId</label>
<input type="userId" name="f[userId]" id="userId" value="<?php echo( $_POST['f']['userId'] );?>" />
</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>