<?php require 'vendor/autoload.php'; require 'config.php'; session_start(); use Assignment\User; $db = new mysqli(host, username, password); $db->query("CREATE DATABASE IF NOT EXISTS " . database); $db = new mysqli(host, username, password, database); $db->query("CREATE TABLE IF NOT EXISTS `sessions` (\n\t\t\t\t\t\t\t\t\tid int NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\t\tsession_id varchar(26),\n\t\t\t\t\t\t\t\t\tdata varchar(255),\n\t\t\t\t\t\t\t\t\tmodified varchar(255),\n\t\t\t\t\t\t\t\t\tPRIMARY KEY (id))"); $db->query("CREATE TABLE IF NOT EXISTS `userdetails` (\n\t\t\t\t\t\t\t\t\tid int NOT NULL AUTO_INCREMENT,\n\t\t\t\t\t\t\t\t\tusername varchar(20),\n\t\t\t\t\t\t\t\t\tpassword varchar(40),\n\t\t\t\t\t\t\t\t\temail varchar(50),\n\t\t\t\t\t\t\t\t\turl varchar(150),\n\t\t\t\t\t\t\t\t\tdob varchar(20),\n\t\t\t\t\t\t\t\t\tPRIMARY KEY (id))"); $pages = array(array('pageName' => 'registration', 'loginRequired' => false), array('pageName' => 'secure', 'loginRequired' => true)); $currentPage = basename($_SERVER['REQUEST_URI'], '.php'); $user = new User(); foreach ($pages as $page) { if ($page['pageName'] === $currentPage) { if ($page['loginRequired'] && !$user->isLoggedIn()) { die('Unauthorised'); } } }
<?php require_once 'bootstrap.php'; use Assignment\UsernameValidator; use Assignment\PasswordValidator; use Assignment\EmailValidator; use Assignment\URLValidator; use Assignment\DateValidator; use Assignment\Registration; use Assignment\User; $user = new User(); if ($_POST) { $data = array('username' => new UsernameValidator($_POST['username'], true, 0, 20), 'password' => new PasswordValidator($_POST['password'], true, 0, 20), 'email' => new EmailValidator($_POST['email'], true), 'URL' => new URLValidator($_POST['url']), 'DOB' => new DateValidator($_POST['dob'], true, 18)); $reg = new Registration($data); if (empty($reg->getErrors())) { $user->login($data); $errors = array(); } else { $errors = $reg->getErrors(); } } ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Registration Form</title> <style> fieldset {padding:3px} input {display:block; margin: 0 auto 10px auto} label {display:block; margin-bottom: 2px}
<?php require_once 'bootstrap.php'; use Assignment\User; $user = new User(); $deleted = $user->logout(); ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <title>Logout</title> </head> <body> <?php if ($deleted) { ?> <p>Successfuly Logged Out!</p> <?php } ?> <a href="registration.php">< Back</a> </body> </html>