Advertisement
Guest User

Untitled

a guest
May 5th, 2017
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1.  
  2. // subscribe
  3. $app->get('/subscribe', function ($request, $response, $args) {
  4. $args['title'] = 'Subscribe';
  5.  
  6. if($this->session->get('logged_in')) {
  7. $args['title'] = 'Already Logged In';
  8.  
  9. return $this->twig->render($response, 'already_logged_in.html', $args);
  10. }
  11.  
  12. return $this->twig->render($response, 'subscribe.html', $args);
  13. })->setName('subscribe');
  14.  
  15. // subscribe
  16. $app->post('/subscribe', function ($request, $response, $args) {
  17. $args['title'] = 'Subscribe';
  18.  
  19. if($this->session->get('logged_in')) {
  20. $args['title'] = 'Already Logged In';
  21.  
  22. return $this->twig->render($response, 'already_logged_in.html', $args);
  23. }
  24.  
  25. $post = $request->getParams();
  26.  
  27. $username = trim($post['username']);
  28. if(!ctype_alnum($username) || !(strlen($username) >= 4) || empty($username)) {
  29. $args['error']['username'] = "The username must be alphanumeric and be at least 4 characters long.";
  30. }
  31.  
  32. $query = $this->database->prepare('SELECT COUNT(*) FROM `user` WHERE `username` = ?;');
  33. $query->execute([$username]);
  34.  
  35.  
  36. if($query->fetchColumn() > 0 ) {
  37. $args['error']['username'] = "This username already exists.";
  38. }
  39.  
  40. $password = trim($post['password']);
  41. if(!ctype_alnum($password) && !(strlen($password) >= 4) && empty($password)) {
  42. $args['error']['password'] = "The password must be alphanumeric and be at least 4 characters long.";
  43. }
  44.  
  45.  
  46. $email = trim($post['email']);
  47. if(filter_var($email, FILTER_VALIDATE_EMAIL) === false) {
  48. $args['error']['email'] = "The email must be a valid email address";
  49. }
  50.  
  51. $query = $this->database->prepare('SELECT COUNT(*) FROM `user` WHERE `email` = ?;');
  52. $query->execute([$email]);
  53.  
  54.  
  55. if($query->fetchColumn() > 0 ) {
  56. $args['error']['email'] = "This email is already being used.";
  57. }
  58.  
  59.  
  60. if(!empty($args['error'])) {
  61. return $this->twig->render($response, 'subscribe.html', $args);
  62. }
  63.  
  64.  
  65. $query = $this->database->prepare('INSERT INTO `user` (`username`, `password`, `email`) VALUES (?, ?, ?);');
  66. $query->execute(array(ucfirst($username), $password, $email));
  67.  
  68. return $this->twig->render($response, 'subscribe-success.html', $args);
  69. })->setName('subscribe');
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement