Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Register {
- private $username, $email, $pasword, $re_password;
- private $connection;
- private $error;
- function __construct($username, $email, $password, $re_password) {
- try {
- $this->connection = new PDO("mysql:host=localhost; dbname=test", "root", "");
- $this->connection->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- } catch (Exception $e) {
- die("Error: " . $e->getMessage());
- }
- $this->username = $username;
- $this->email = $email;
- $this->password = md5($password);
- $this->re_password = md5($re_password);
- if(!$this->validate_username() || !$this->validate_email() || !$this->validate_password()) {
- echo $this->error;
- }else {
- try {
- $sql = "INSERT INTO users (username, email, password) VALUES (:username, :email, :password)";
- $result = $this->connection->prepare($sql);
- $result->bindValue(":username", $this->username);
- $result->bindValue(":email", $this->email);
- $result->bindValue(":password", $this->password);
- $result->execute();
- } catch (Exception $e) {
- die("Error: ".$e->getMessage());
- }
- }
- }
- private function validate_username() {
- try {
- $sql = "SELECT username FROM users WHERE username = :username";
- $result = $this->connection->prepare($sql);
- $result->bindValue(":username", $this->username);
- $result->execute();
- if($result->rowCount() > 0) {
- $this->error ="El username introducido ya existe.";
- return false;
- }else {
- return true;
- }
- } catch (Exception $e) {
- die("Error: ".$e->getMessage());
- }
- }
- private function validate_email() {
- if (!preg_match('/^[A-Za-z0-9-_.+%]+@[A-Za-z0-9-.]+\.[A-Za-z]{2,4}$/', $this->email)) {
- $this->error = "El email debe tener la siguiente estructura: name@domain.sub";
- return false;
- }else {
- try {
- $sql = "SELECT email FROM users WHERE email = :email";
- $result = $this->connection->prepare($sql);
- $result->bindValue(":email", $this->email);
- $result->execute();
- if($result->rowCount() > 0) {
- $this->error = "El email introducido ya existe.";
- return false;
- }else {
- return true;
- }
- } catch (Exception $e) {
- die("Error: ".$e->getMessage());
- }
- }
- }
- private function validate_password() {
- if($this->password != $this->re_password) {
- $this->error = "Passwords don't match.";
- return false;
- }else {
- return true;
- }
- }
- }
- //$register = new Register("usern2ame", "email@domain2.sub", "password", "password");
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement