Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class DbOperation {
- private $connect;
- //Constructor
- function __construct() {
- require_once dirname(__FILE__). '/Constants.php';
- require_once dirname(__FILE__). '/DbConnect.php';
- //opening db connection
- $database = new DbConnect();
- $this->connect = $database->connect();
- }
- //This method is taking a username and password and verifying it from the database
- public function userLogin($username, $pass) {
- $pass = md5($pass);
- $statement = $this->connect->prepare("SELECT id FROM users WHERE username = ? AND password = ?");
- $statement->bind_param("ss", $username, $password);
- $statement->execute();
- $statement->store_result();
- return $statement->num_rows > 0;
- }
- //After the successful login we will call this method to return the user data in an array
- public function getUserByUsername($username) {
- $statement = $this->connect->prepare("SELECT id, username, email FROM users WHERE username = ?");
- $statement->bind_param("s", $username);
- $statement->execute();
- $statement->bind_result($id, $uname, $email);
- $statement->fetch();
- $user = array();
- $user['id'] = $id;
- $user['username'] = $uname;
- $user['email'] = $email;
- return $user;
- }
- //Function to create a new user
- public function createUser($username, $password, $email, $name) {
- if (!$this->isUserExist($username, $email)) {
- $pass = md5($password);
- $statement = $this->connect->prepare("INSERT INTO users (username, password, email, name) VALUES (?, ?, ?, ?)");
- $statement->bind_param("sssss", $username, $pass, $email, $name);
- if ($statement->execute()) {
- return USER_CREATED;
- } else {
- return USER_NOT_CREATED;
- }
- } else {
- return USER_ALREADY_EXIST;
- }
- }
- private function isUserExist($username, $email) {
- $statement = $this->connect->prepare("SELECT id FROM users WHERE username = ? OR email = ?");
- $statement->bind_param("sss", $username, $email);
- $statement->execute();
- $statement->store_result();
- return $statement->num_rows > 0;
- }
- //importing required script
- require_once './includes/DbOperation.php';
- $response = array();
- if ($_SERVER['REQUEST_METHOD'] == 'POST') {
- if (!verifyRequiredParams(array('username', 'password', 'email', 'name'))) {
- //getting values
- $username = $_POST['username'];
- $password = $_POST['password'];
- $email = $_POST['email'];
- $name = $_POST['name'];
- //creating database operation on object
- $database = new DbOperation();
- //adding user to database
- $result = $database->createUser($username, $password, $email, $name);
- //making the response accordingly
- if ($result == USER_CREATED) {
- $response['error'] = false;
- $response['message'] = 'User was created successfully';
- } elseif ($result == USER_ALREADY_EXIST) {
- $response['error'] = true;
- $response['message'] = 'This user already Exist!';
- } elseif ($result == USER_NOT_CREATED) {
- $response['error'] = true;
- $response['message'] = 'Some error occurred';
- }
- } else {
- $response['error'] = true;
- $response['message'] = 'Required parameters are missing';
- }
- } else {
- $response['error'] = true;
- $response['message'] = 'Invalid request';
- }
- //function to validate the required paramter in request
- function verifyRequiredParams($required_fields) {
- //Getting the request parameters
- $request_params = $_REQUEST;
- //Looping through all the parameters
- foreach ($required_fields as $field) {
- //if any required parameter is missing
- if (!isset($request_params[$field]) || strlen(trim($request_params[$field])) <= 0) {
- //return true
- return true;
- }
- }
- return false;
- }
- echo json_encode($response);
- @objc func registerUser(button: UIButton) {
- let username = userName.text!
- let password = passWord.text!
- let email = emailField.text!
- let name = nameField.text!
- //Creating parameters for post request
- let parameters: Parameters = ["username": username, "password": password, "email": email, "name": name]
- guard let url = URL(string: "http://localhost/TestingiOSApp/v1/register.php") else { return }
- var request = URLRequest(url: url)
- request.httpMethod = "POST"
- request.addValue("application/json", forHTTPHeaderField: "Content-Type")
- guard let httpBody = try? JSONSerialization.data(withJSONObject: parameters, options: []) else { return }
- request.httpBody = httpBody
- let session = URLSession.shared
- session.dataTask(with: request) { (data, response, error) in
- if let response = response {
- print(response)
- }
- if let data = data {
- do {
- let json = try JSONSerialization.jsonObject(with: data, options: [])
- print(json)
- } catch {
- print(error)
- }
- }
- }.resume()
- self.view.endEditing(true)
- }
Add Comment
Please, Sign In to add comment