Show sourcecode
The following files exists in this folder. Click to view.
webbsrvprg/exercises/slutprojekt/
actions.php
administer_users.php
create_code.php
index.php
login copy.php
login.php
main.php
password_renewals.php
setup.php
sign_up.php
verification.php
verify_mail.php
verify_mail.php
69 lines UTF-8 Windows (CRLF)
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
<?php
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
session_start(["gc_maxlifetime" => 86400]);
?>
<!DOCTYPE html>
<html lang="sv">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Verifiera mejl</title>
<style>
fieldset {
margin: 5px;
padding: 5px;
border: 2px solid black;
}
#show_password {
width: 10em;
border: 1px solid gray;
background-color: lightgray;
}
* {
box-sizing: border-box;
}
</style>
</head>
<body>
<?php
try {
/** @var PDO $dbconn */
include("../databaser/dbconnection.php");
// Tar bort gamla verifieringar.
$sql = "DELETE FROM bs_verifications WHERE time_sent < NOW() - INTERVAL 15 MINUTE";
$id = $_GET["id"];
$code = $_GET["code"];
$sql = "SELECT 1 FROM bs_verifications WHERE user_id = ? AND code = ?";
$stmt = $dbconn->prepare($sql);
$data = [$id, $code];
$stmt->execute($data);
$result = $stmt->fetch();
if ($result) {
// Om det faktiskt fanns en ny verifikation där med rätt id och kod körs detta
$sql = "UPDATE bs_users SET verified = 1 WHERE id = ?";
$stmt = $dbconn->prepare($sql);
$data = [$id];
$stmt->execute($data);
echo ("Ditt konto är verifierat. Du kan nu logga in.");
} else {
echo ("Något gick fel. Kanske att tiden tog slut.");
}
} catch (PDOException $e) {
echo ($e->getMessage());
}
?>
</body>
</html>