-
Notifications
You must be signed in to change notification settings - Fork 0
/
User.class.php
136 lines (93 loc) · 3.01 KB
/
User.class.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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<?php
class User{
private $connection; // saab kasutada ainult klassi sees (private)
//klassi loomisel (new User)
function __construct($mysqli) {
// this tähendab selle klassi muutujat
$this->connection = $mysqli;
}
function createUser($create_email, $hash){
//teen objekti
//seal on error, ->id ja -> message
//või success ja sellel on ->message
$response = new StdClass();
//kas selline email on juba olemas
$stmt = $this->connection->prepare("SELECT id FROM user_sample Where email=?");
$stmt->bind_param("s", $create_email);
$stmt->bind_result($id);
$stmt->execute();
//kas sain rea andmeid
if($stmt->fetch()){
//annan errori, et selline email on olemas
$error = new StdClass();
$error->id = 0;
$error->message = "Sellise e-postiga kasutaja on juba olemas!";
$response->error = $error;
return $response;
}
//panen eelmise päringu kinni
$stmt->close;
$stmt = $this->connection->prepare("INSERT INTO user_sample (email, password) VALUES (?,?)");
$stmt->bind_param("ss", $create_email, $hash);
//sai edukalt salvestatud
if($stmt->execute()){
$success = new StdClass();
$success->message = "Kasutaja edukalt loodud!";
$response->success = $success;
}else{
//midagi läks katki
$error = new StdClass();
$error->id = 1;
$error->message = "Midagi läks katki!";
$response->error = $error;
}
$stmt->close();
return $response;
}
function loginUser($email, $hash){
//teen objekti
//seal on error, ->id ja -> message
//või success ja sellel on ->message
$response = new StdClass();
//kas selline email on juba olemas
$stmt = $this->connection->prepare("SELECT id FROM user_sample Where email=?");
$stmt->bind_param("s", $email);
$stmt->bind_result($id);
$stmt->execute();
// ei olnud sellist e-posti
//!- tähjendab ei ole
if(!$stmt->fetch()){
$error = new StdClass();
$error->id = 0;
$error->message = "Sellise e-postiga kasutajat ei ole!";
$response->error = $error;
return $response;
}
//***********************
//*******OLULINE*********
//***********************
$stmt->close();
$stmt = $this->connection->prepare("SELECT id, email FROM user_sample WHERE email=? AND password=?");
$stmt->bind_param("ss", $email, $hash);
$stmt->bind_result($id_from_db, $email_from_db);
$stmt->execute();
if($stmt->fetch()){
// kõik õige
$success = new StdClass();
$success->message = "Kasutaja edukalt sisse logitud!";
$response->success = $success;
$user = new StdClass();
$user->id = $id_from_db;
$user->email = $email_from_db;
$response->user = $user;
}else{
// parool vale
$error = new StdClass();
$error->id = 1;
$error->message = "Parool on vale!";
$response->error = $error;
}
return $response;
$stmt->close();
}
} ?>