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/signup.php

1 lines
<?php
# Glöm inte att kommentera skiten också...
include("functions.php");
check_user_logged_in(true);

function 
try_signup($username$password$passwordConfirm)
{
    if (
$password != $passwordConfirm)
        return 
"Lösenorden stämmer ej överens.";
    
$file "users/{$username}.json";
    if (
file_exists(($file)))
        return 
"Användarnamn är redan taget.";

    
$salt generate_uuid();
    
$isAdmin false;
    
$userData = array(
        
"username" => $username,
        
"password" => hash_password($password$salt),
        
"salt" => $salt,
        
"isAdmin" => $isAdmin
    
);
    
file_put_contents($filejson_encode($userDataJSON_PRETTY_PRINT JSON_UNESCAPED_UNICODE));


    
$_SESSION = array(
        
"username" => $username,
        
"isAdmin" => $isAdmin
    
);
    
header("location: index.php");
    exit();
}

$message null;
if (isset(
$_POST["username"]) && isset($_POST["password"]) && isset($_POST["passwordConfirm"]))
    
$message try_signup($_POST["username"], $_POST["password"], $_POST["passwordConfirm"]);
?>

<!DOCTYPE html>
<html lang="sv">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>m04 - Skapa konto</title>
    <link rel="stylesheet" type="text/css" href="../css/materialize.css">
    <script defer type="text/javascript" src="../js/materialize.js"></script>
</head>

<body>
    <div class="row">
        <div class="col s4 offset-s4">
            <h1>Skapa konto</h1>
            <form method="POST">
                <?php
                
if ($message)
                    echo 
"<p>{$message}</p>";
                
?>
                <p>
                    <label for="username">Användarnamn: </label>
                    <input id="username" type="text" name="username" class="validate" required>
                </p>
                <p>
                    <label for="password">Lösenord: </label>
                    <input id="password" type="password" name="password" class="validate" required>
                </p>
                <p>
                    <label for="passwordConfirm">Bekräfta lösenord: </label>
                    <input id="passwordConfirm" type="password" name="passwordConfirm" class="validate" required>
                </p>
                <p>
                    <input class="btn red accent-2" type="submit" value="Skapa konto">
                </p>
            </form>
        </div>
    </div>
</body>

</html>