Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // subscribe
- $app->get('/subscribe', function ($request, $response, $args) {
- $args['title'] = 'Subscribe';
- if($this->session->get('logged_in')) {
- $args['title'] = 'Already Logged In';
- return $this->twig->render($response, 'already_logged_in.html', $args);
- }
- return $this->twig->render($response, 'subscribe.html', $args);
- })->setName('subscribe');
- // subscribe
- $app->post('/subscribe', function ($request, $response, $args) {
- $args['title'] = 'Subscribe';
- if($this->session->get('logged_in')) {
- $args['title'] = 'Already Logged In';
- return $this->twig->render($response, 'already_logged_in.html', $args);
- }
- $post = $request->getParams();
- $username = trim($post['username']);
- if(!ctype_alnum($username) || !(strlen($username) >= 4) || empty($username)) {
- $args['error']['username'] = "The username must be alphanumeric and be at least 4 characters long.";
- }
- $query = $this->database->prepare('SELECT COUNT(*) FROM `user` WHERE `username` = ?;');
- $query->execute([$username]);
- if($query->fetchColumn() > 0 ) {
- $args['error']['username'] = "This username already exists.";
- }
- $password = trim($post['password']);
- if(!ctype_alnum($password) && !(strlen($password) >= 4) && empty($password)) {
- $args['error']['password'] = "The password must be alphanumeric and be at least 4 characters long.";
- }
- $email = trim($post['email']);
- if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
- $args['error']['email'] = "The email must be a valid email address";
- }
- $query = $this->database->prepare('SELECT COUNT(*) FROM `user` WHERE `email` = ?;');
- $query->execute([$email]);
- if($query->fetchColumn() > 0 ) {
- $args['error']['email'] = "This email is already being used.";
- }
- if(!empty($args['error'])) {
- return $this->twig->render($response, 'subscribe.html', $args);
- }
- $query = $this->database->prepare('INSERT INTO `user` (`username`, `password`, `email`) VALUES (?, ?, ?);');
- $query->execute(array(ucfirst($username), $password, $email));
- return $this->twig->render($response, 'subscribe-success.html', $args);
- })->setName('subscribe');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement