-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcontrollers.php
More file actions
executable file
·164 lines (134 loc) · 3.58 KB
/
controllers.php
File metadata and controls
executable file
·164 lines (134 loc) · 3.58 KB
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
<?php
// koneksi ke database
$conn = mysqli_connect("localhost", "root", "", "students");
function query($query)
{
global $conn;
$result = mysqli_query($conn, $query);
$rows = [];
while ($row = mysqli_fetch_assoc($result)) {
$rows[] = $row;
}
return $rows;
}
function store($data)
{
global $conn;
$absen = htmlspecialchars($data["absen"]);
$nama = htmlspecialchars($data["nama"]);
$jurusan = htmlspecialchars($data["jurusan"]);
// upload gambar
$gambar = upload();
if (!$gambar) {
return false;
}
$query = "INSERT INTO siswa (absen, nama, jurusan, gambar) VALUES
('$absen', '$nama', '$jurusan', '$gambar')";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function upload()
{
$namaFile = $_FILES['gambar']['name'];
$ukuranFile = $_FILES['gambar']['size'];
$error = $_FILES['gambar']['error'];
$tmpName = $_FILES['gambar']['tmp_name'];
// cek apakah tidak ada gambar yang diupload
if ($error === 4) {
echo "<script>
alert('pilih gambar terlebih dahulu!');
</script>";
return false;
}
// cek apakah yang diupload adalah gambar
$ekstensiGambarValid = ['jpg', 'jpeg', 'png'];
$ekstensiGambar = explode('.', $namaFile);
$ekstensiGambar = strtolower(end($ekstensiGambar));
if (!in_array($ekstensiGambar, $ekstensiGambarValid)) {
echo "<script>
alert('yang anda upload bukan gambar!');
</script>";
return false;
}
// cek jika ukurannya terlalu besar
if ($ukuranFile > 1000000) {
echo "<script>
alert('ukuran gambar terlalu besar!');
</script>";
return false;
}
// lolos pengecekan, gambar siap diupload
// generate nama gambar baru
$namaFileBaru = uniqid();
$namaFileBaru .= '.';
$namaFileBaru .= $ekstensiGambar;
$oke = move_uploaded_file($tmpName, 'img/' . $namaFileBaru);
return $namaFileBaru;
}
function destroy($id)
{
global $conn;
mysqli_query($conn, "DELETE FROM siswa WHERE id = $id");
return mysqli_affected_rows($conn);
}
function update($data)
{
global $conn;
$id = $data["id"];
$absen = htmlspecialchars($data["absen"]);
$nama = htmlspecialchars($data["nama"]);
$jurusan = htmlspecialchars($data["jurusan"]);
$gambarLama = htmlspecialchars($data["gambarLama"]);
// cek apakah user pilih gambar baru atau tidak
if ($_FILES['gambar']['error'] === 4) {
$gambar = $gambarLama;
} else {
$gambar = upload();
}
$query = "UPDATE siswa SET
absen = '$absen',
nama = '$nama',
jurusan = '$jurusan',
gambar = '$gambar'
WHERE id = $id
";
mysqli_query($conn, $query);
return mysqli_affected_rows($conn);
}
function search($keyword)
{
$query = "SELECT * FROM siswa
WHERE
nama LIKE '%$keyword%' OR
absen LIKE '%$keyword%' OR
jurusan LIKE '%$keyword%'
";
return query($query);
}
function registration($data)
{
global $conn;
$username = strtolower(stripslashes($data["username"]));
$password = mysqli_real_escape_string($conn, $data["password"]);
$password2 = mysqli_real_escape_string($conn, $data["password2"]);
// cek username sudah ada atau belum
$result = mysqli_query($conn, "SELECT username FROM user WHERE username = '$username'");
if (mysqli_fetch_assoc($result)) {
echo "<script>
alert('username sudah terdaftar!')
</script>";
return false;
}
// cek konfirmasi password
if ($password !== $password2) {
echo "<script>
alert('konfirmasi password tidak sesuai!');
</script>";
return false;
}
// enkripsi password
$password = password_hash($password, PASSWORD_DEFAULT);
// tambahkan userbaru ke database
mysqli_query($conn, "INSERT INTO user (username, password) VALUES('$username', '$password')");
return mysqli_affected_rows($conn);
}