Example #1
0
 public function postShowRegisterPage()
 {
     $errors = [];
     $validation_data = ["first_name" => "min:3", "last_name" => "min:3", "email" => "email|equalTo:verify_email|unique:User", "verify_email" => "email", "password" => "min:3|equalTo:verify_password"];
     // validate data
     $validator = new Validator();
     $errors = $validator->isValid($validation_data);
     // if validation fails, go back to register
     // page and display error message
     if (sizeof($errors) > 0) {
         $_SESSION['msg'] = $errors;
         echo $this->blade->render('register');
         unset($_SESSION['msg']);
         exit;
     }
     // save this data into a database
     $user = new User();
     $user->first_name = $_REQUEST['first_name'];
     $user->last_name = $_REQUEST['last_name'];
     $user->email = $_REQUEST['email'];
     $user->password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT);
     $user->save();
     $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true));
     $user_pending = new UserPending();
     $user_pending->token = $token;
     $user_pending->user_id = $user->id;
     $user_pending->save();
     $message = $this->blade->render('emails.welcome-email', ['token' => $token]);
     SendEmail::sendEmail($user->email, "Welcome to Acme", $message);
     header("Location: /success");
     exit;
 }
Example #2
0
 public function postShowRegisterPage()
 {
     if (!$this->signer->validateSignature($_POST['_token'])) {
         header('HTTP/1.0 400 Bad Request');
         exit;
     }
     $validation_data = ['first_name' => 'min:2|max:20', 'last_name' => 'min:2|max:30', 'email' => 'email|equalTo:verify_email|unique:User', 'password' => 'min:6|max:15|equalTo:verify_password'];
     // validate data
     $validator = new Validator();
     $errors = $validator->isValid($validation_data);
     // if validation fails, go back to register
     // page and display error message
     if (sizeof($errors) > 0) {
         $_SESSION['msg'] = $errors;
         echo $this->blade->render("register", ['signer' => $this->signer]);
         unset($_SESSION['msg']);
         exit;
     }
     // save this data into a database
     $user = new User();
     $user->first_name = $_REQUEST['first_name'];
     $user->last_name = $_REQUEST['last_name'];
     $user->email = $_REQUEST['email'];
     $user->password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT);
     $user->save();
     $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true));
     $user_pending = new UserPending();
     $user_pending->token = $token;
     $user_pending->user_id = $user->id;
     $user_pending->save();
     $message = $this->blade->render('emails.welcome-email', ['token' => $token]);
     SendEmail::sendEmail($user->email, "Welcome to Acme", $message);
     header("Location: /success");
     exit;
 }
 /**
  * Handle post of registration form
  */
 public function postShowRegisterPage()
 {
     $rules = ['first_name' => 'min:3', 'last_name' => 'min:3', 'email' => 'email|equalTo:verify_email|unique:User', 'verify_email' => 'email', 'password' => 'min:3|equalTo:verify_password'];
     $validator = new Validator($this->request, $this->response);
     $valid = $validator->validate($rules, '/register');
     if ($valid) {
         $user = new User();
         $user->first_name = $this->request->input('first_name');
         $user->last_name = $this->request->input('last_name');
         $user->email = $this->request->input('email');
         $user->password = password_hash($this->request->input('password'), PASSWORD_DEFAULT);
         $user->save();
         $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true));
         $user_pending = new UserPending();
         $user_pending->token = $token;
         $user_pending->user_id = $user->id;
         $user_pending->save();
         $message = $this->blade->render('emails.welcome-email', ['token' => $token]);
         SendEmail::sendEmail($user->email, "Welcome to Acme", $message);
         $this->response->withMessage('Registration successful!')->redirectTo("/success");
     }
 }
Example #4
0
 public function postShowRegisterPage()
 {
     //for csrf
     if (!$this->signer->validateSignature($_POST['_token'])) {
         header('HTTP/1.0 400 Bad Request');
         exit;
     }
     $validation_data = ["first_name" => "min:3", "last_name" => "min:3", "email" => "email", "verify_email" => "email", "password" => "alnum", "verify_password" => "alnum", "emails" => "unique:User", "verify_emails" => "equalTo:email", "verify_passwords" => "equalTo:password"];
     //include(__DIR__. "/../views/register.php");
     //validate data
     $validator = new Validator();
     $errors = $validator->isValid($validation_data);
     //print_r($errors);
     /*
     $hash = password_hash("rasmuslerdorf", PASSWORD_DEFAULT);
     
     if (password_verify('rasmuslerdorf', $hash)) {
         echo 'Password is valid!';
     } else {
         echo 'Invalid password.';
     }
     */
     //exit();
     /*
     if ($Validator->isValid($validation_data))
     {
     
     }
     
     else die("Data not Valid");
     */
     //if validate fils the go back to register page
     //and display error messages
     if (sizeof($errors) > 0) {
         $_SESSION['msg'] = $errors;
         //header("Location: /register");
         //use twig
         //echo $this->twig->render('register.html', ['errors' => $errors]);
         //use blade
         echo $this->blade->render("register", ['signer' => $this->signer]);
         unset($_SESSION['msg']);
         exit;
     }
     //if validate pass then go to save data in database
     /*   */
     $user = new User();
     //echo $_REQUEST['first_name'];
     $user->first_name = $_REQUEST['first_name'];
     $user->last_name = $_REQUEST['last_name'];
     $user->email = $_REQUEST['email'];
     $user->password = password_hash($_REQUEST['password'], PASSWORD_DEFAULT);
     //its different then laravel
     $user->save();
     //create a token to send a email
     $token = md5(uniqid(rand(), true)) . md5(uniqid(rand(), true));
     $users_pending = new UserPending();
     $users_pending->token = $token;
     $users_pending->user_id = $user->id;
     $users_pending->save();
     //if user successfully registered then send a Email to him /her
     $message = $this->blade->render('emails.welcome-email', ['token' => $token]);
     $sendEmail = SendEmail::sendEmail($user->email, "Welcome to Acme", $message);
     header("Location: /success");
     exit;
     /*
     $_SESSION['success_msg'] = "You have been successfully Created";
     header("Location: /");
     exit();
     */
 }