-
Notifications
You must be signed in to change notification settings - Fork 64
/
Copy pathuser.php
84 lines (74 loc) · 2.26 KB
/
user.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
class User{
// database connection and table name
private $conn;
private $table_name = "users_data";
// object properties
public $id;
public $username;
public $password;
public $created;
// constructor with $db as database connection
public function __construct($db){
$this->conn = $db;
}
// signup user
function signup(){
if($this->isAlreadyExist()){
return false;
}
// query to insert record
$query = "INSERT INTO
" . $this->table_name . "
SET
username=:username, password=:password, created=:created";
// prepare query
$stmt = $this->conn->prepare($query);
// sanitize
$this->username=htmlspecialchars(strip_tags($this->username));
$this->password=htmlspecialchars(strip_tags($this->password));
$this->created=htmlspecialchars(strip_tags($this->created));
// bind values
$stmt->bindParam(":username", $this->username);
$stmt->bindParam(":password", $this->password);
$stmt->bindParam(":created", $this->created);
// execute query
if($stmt->execute()){
$this->id = $this->conn->lastInsertId();
return true;
}
return false;
}
// login user
function login(){
// select all query
$query = "SELECT
`id`, `username`, `password`, `created`
FROM
" . $this->table_name . "
WHERE
username='".$this->username."' AND password='".$this->password."'";
// prepare query statement
$stmt = $this->conn->prepare($query);
// execute query
$stmt->execute();
return $stmt;
}
function isAlreadyExist(){
$query = "SELECT *
FROM
" . $this->table_name . "
WHERE
username='".$this->username."'";
// prepare query statement
$stmt = $this->conn->prepare($query);
// execute query
$stmt->execute();
if($stmt->rowCount() > 0){
return true;
}
else{
return false;
}
}
}