Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/projects/slutprojekt/
class/
create-categories.php
create-recipe.php
css/
db_content.php
forgot_password.php
include/
login.php
logout.php
recipe-search.php
recipe.php
reset_password.php
signin.php
start.php
tabeller/
verify.php
reset_password.php
44 lines UTF-8 Windows (CRLF)
<?php
include('../../dbconnection.php');
ob_clean();
if (isset($_GET['code'])) {
$code = $_GET['code'];
$stmt = $dbconn->prepare("SELECT * FROM users WHERE reset_code = :code");
$stmt->bindParam(':code', $code);
$stmt->execute();
if ($stmt->rowCount() > 0) {
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if (time() > strtotime($user['reset_expires'])) {
echo "Länken har gått ut.";
exit;
}
if ($_SERVER['REQUEST_METHOD'] === 'POST' && !empty($_POST['password'])) {
$newPassword = password_hash(trim($_POST['password']), PASSWORD_DEFAULT);
$update = $dbconn->prepare("UPDATE users SET password = :password, reset_code = NULL, reset_expires = NULL WHERE user_id = :id");
$update->bindParam(':password', $newPassword);
$update->bindParam(':id', $user['user_id']);
$update->execute();
echo "Lösenordet har uppdaterats! <a href='login.php'>Logga in</a>";
exit;
}
?>
<h1>Återställ lösenord</h1>
<form method="post">
<label for="password">Nytt lösenord:</label>
<input type="password" name="password" required>
<input type="submit" value="Uppdatera lösenord">
</form>
<?php
} else {
echo "Ogiltig återställningskod.";
}
} else {
echo "Ingen återställningskod angiven.";
}
?>