<?php require_once 'access.php'; require_once 'dal.php'; require_once 'utils.php'; require_once 'email.php'; $error = null; $user = null; $dal = new DAL($opts['hn'], $opts['db'], $opts['un'], $opts['pw']); try { $dal->beginTransaction(); $user = $dal->selectUser(); if (isset($_POST['login'])) { if (!$dal->login($_POST['email'], $_POST['password'], isset($_POST['remember']))) { throw new UserException("Login failed."); } header('Location: .'); exit; } else { if ($user !== null) { header('Location: .'); exit; } } $dal->commit(); } catch (UserException $e) { $dal->rollback(); $error = $e->getMessage(); } catch (Exception $e) { $dal->rollback(); throw $e;