moment04/
wesweb01/moment04/change_password.php1 lines
<?php
# Glöm inte att kommentera skiten också...
include("functions.php");
check_user_logged_in();
function try_change_password($oldPassword, $newPassword, $newPassword2)
{
$username = $_SESSION["username"];
$result = check_login($username, $oldPassword);
if (!$result)
return "Det angedda gamla lösenordet är inkorrekt.";
if ($newPassword != $newPassword2)
return "De nya lösenorden stämmer ej överrens.";
$file = "users/{$username}.json";
if (!file_exists(($file)))
return "Internt fel. Kontakta support.";
$json = json_decode(file_get_contents($file));
if (!isset($json->password) || !isset($json->salt))
return "Internt fel. Kontakta support.";
$json->password = hash_password($newPassword, $json->salt);
file_put_contents($file, json_encode($json, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
return "Ditt lösenord är nu ändrat!";
}
$message = null;
if (isset($_POST["oldPassword"]) && isset($_POST["newPassword"]) && isset($_POST["newPasswordConfirmation"]))
$message = try_change_password($_POST["oldPassword"], $_POST["newPassword"], $_POST["newPasswordConfirmation"]);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>m04 - Ändra lösenord</title>
<link rel="stylesheet" type="text/css" href="../css/materialize.css">
<script defer type="text/javascript" src="../js/materialize.js"></script>
</head>
<body>
<?php
print_navbar();
?>
<div class="row">
<div class="col s4 offset-s4">
<h1>Ändra lösenord</h1>
<form method="POST">
<?php
if ($message)
echo "<p>{$message}</p>";
?>
<p>
<label for="oldPassword">Ange nuvarande lösenord: </label>
<input id="oldPassword" type="password" name="oldPassword" class="validate" required>
</p>
<p>
<label for="newPassword">Skriv ditt nya lösenord: </label>
<input id="newPassword" type="password" name="newPassword" class="validate" required>
</p>
<p>
<label for="newPasswordConfirmation">Bekräfta nytt lösenord: </label>
<input id="newPasswordConfirmation" type="password" name="newPasswordConfirmation" class="validate"
required>
</p>
<p>
<input class="btn red accent-2" type="submit" value="Ändra lösenord">
</p>
</form>
</div>
</div>
</body>
</html>