Sixtens hemsida Uppgifter Blogg Om

Inloggningstjänst

Gå till sida

Källkod

moment04/

admin.php

functions.php

logout.php

index.php

login.php

signup.php

change_password.php

admin/

authorized.php

users/

admin.json

HogeN.json

Hej.json

sixten.json

posts/

167db73f2a604dd391f1303a25cb2443.json

wesweb01/moment04/change_password.php

1 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($filejson_encode($jsonJSON_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>