Webbserverprogrammering 1

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)
<?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>