header('location: ' . $loginFormName); } else { $connection = new PDO('mysql:host=localhost;dbname=phpoefening029', 'root', ''); $db = new Database($connection); $userData = $db->query('SELECT * FROM users WHERE email = :email', array(':email' => $email)); if (isset($userData['data'][0])) { var_dump($_POST); var_dump($userData['data'][0]); # Controle of het paswoord correct is of niet $salt = $userData['data'][0]['salt']; $passwordDb = $userData['data'][0]['password']; $newlyHashedPassword = hash('sha512', $salt . $password); var_dump($newlyHashedPassword); if ($newlyHashedPassword == $passwordDb) { $loginUser = User::createCookie($salt, $email); if ($loginUser) { $registrationSuccess = new Message("success", "Welkom, u bent ingelogd."); header('location: phpoefening-029-a-dashboard.php'); } } else { $userExistsMessage = new Message('error', 'U kon niet ingelogd worden. Probeer opnieuw.'); header('location: ' . $loginFormName); } } else { $userExistsMessage = new Message('error', 'Deze gebruiker komt niet voor in de database. Klopt het e-mailadres wel?'); header('location: ' . $loginFormName); } } }
SET email = :new_email, profile_picture = :profile_picture WHERE email = :current_email LIMIT 1'; $parameters = array(':new_email' => $new_email, ':profile_picture' => $bestandsnaam, ':current_email' => $current_email); $gegevensGewijzigd = $db->query($queryString, $parameters); if ($gegevensGewijzigd) { move_uploaded_file($_FILES['profile-picture']['tmp_name'], ROOT . "/img/" . $bestandsnaam); /* Nieuwe COOKIE aanmaken met het nieuwe email adres zodat de user niet uitgelogd wordt */ $queryString = 'SELECT * FROM users WHERE email = :new_email'; $parameters = array(':new_email' => $new_email); $userData = $db->query($queryString, $parameters); $salt = $userData['data'][0]['salt']; User::createCookie($salt, $new_email); new Notification('succes', 'Gegevens werden succesvol gewijzigd.'); } else { new notification('error', 'Er ging iets mis. Gegevens zijn niet gewijzigd.'); } header('location: gegevens-wijzigen-form.php'); } else { new Notification('error', 'Het bestand is niet van het juiste bestandstype (gif, jpeg of png) of is groter dan 2MB.'); header('location: gegevens-wijzigen-form.php'); } } } else { User::logout(); $notification = new Notification('error', 'Er ging iets mis tijdens het inloggen. Probeer opnieuw'); header('location: login-form.php'); }
} if (isset($_POST['inloggen'])) { $email = $_POST['e-mail']; $password = $_POST['paswoord']; $connection = new PDO('mysql:host=localhost;dbname=opdracht-crud-cms', 'root', 'root'); $db = new Database($connection); $queryString = 'SELECT * FROM users WHERE email = :email'; $parameters = array(':email' => $email); $userData = $db->query($queryString, $parameters); if (isset($userData['data'][0])) { $salt = $userData['data'][0]['salt']; $hashedPassword = hash('sha512', $password . $salt); var_dump($userData); if ($hashedPassword == $userData['data'][0]['hashed_password']) { /* COOKIE aanmaken geldig voor 30 dagen */ User::createCookie($salt, $email); new Notification('succes', 'Welkom, u bent ingelogd.'); header('location: dashboard.php'); } else { new Notification('error', 'De combinatie van het e-mail adres en paswoord is fout. Probeer opnieuw'); header('location: login-form.php'); } } else { new Notification('error', 'De combinatie van het e-mail adres en paswoord is fout. Probeer opnieuw'); header('location: login-form.php'); } } else { header('location: login-form.php'); }
} // Controle wanneer iemand op submit (=registreer) heeft gedrukt if (isset($_POST['submit'])) { $email = $_POST['email']; $password = $_POST['password']; try { $db = new Database('mysql', 'localhost', 'examen_eva', 'root', ''); // Maak een nieuwe instantie van de klasse User aan en geef hier de DB aan mee // "Dependency injection" van database klasse $user = new User($db); // Controleren of de user al bestaat $userExists = $user->exists($email); // Als de user bestaat, errormessage tonen en redirecten if ($userExists === TRUE) { Message::setMessage("The email has already been taken.", "error"); Helper::redirect('registration-form.php'); } else { // Toevoegen aan de database $user->create($email, $password); // Cookie aanmaken om gebruiker achteraf te kunnen identificeren $user->createCookie($email); //create SESSION $_SESSION['LOGIN'] = TRUE; $_SESSION['email'] = $email; // Redirecten naar dashboard wanneer gebruiker is toegevoegd & cookie is aangemaakt Helper::redirect('dash.php'); } } catch (Exception $e) { Message::setMessage($e->getMessage(), 'error'); } }