Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Sign {
- public $DB;
- function __construct()
- {
- require_once('C:/xampp/htdocs/sarana/core/db.php');
- // session_abort();
- }
- /*
- * Fungsi Untuk Login
- */
- function login($username, $password)
- {
- // ambil kelas DB
- $DB = new DB();
- // ambil password user yang ada terenkripsi di database
- $getPass = $DB->mysqli->query("SELECT password FROM users WHERE username='$username'");
- $userPass = $getPass->fetch_assoc();
- // samakan password yang terenkripsi dengan inputan user menggunakan password_verify
- $pass = password_verify($password, $userPass['password']);
- /*
- * jika password salah maka login gagal
- * jika benar maka dilanjutkan ke proses selanjutnya
- */
- if($pass = FALSE)
- return false;
- // query untuk mengecek username yang ada didatabase dengan username yang diinput user
- $result = $DB->mysqli->query("SELECT * from users WHERE username='$username'");
- // menyimpan data dari database yang bersifat array asosiasi di variabel $user_data
- $user_data = $result->fetch_assoc();
- // cek apakah ada didatabase atau tidak
- $no_rows = $result->num_rows;
- // jika ada, maka masukan beberapa data yang dibutuhkan ke sesi
- if ($no_rows == 1)
- {
- $_SESSION['login'] = true;
- $_SESSION['fullname'] = $user_data['nama'];
- $_SESSION['username'] = $username;
- $_SESSION['userId'] = $user_data['id'];
- $_SESSION['roles'] = $user_data['role'];
- // me return nilai true
- return TRUE;
- }
- // jika tidak ada, maka
- else
- {
- // return false
- return FALSE;
- }
- }
- /*
- * Fungsi untuk pendaftaran user baru
- */
- function daftar($nama, $username, $password)
- {
- $DB = new DB();
- // mengekripsi password menggunakan password_hash
- $pass = password_hash($password, PASSWORD_DEFAULT);
- // ambil username di database dan disesuaikan dengan input user
- $sql = $DB->mysqli->query("SELECT * FROM `users` WHERE username='$username' ");
- // itung rows yang muncul setelah query diatas
- $no_rows= $sql->num_rows;
- /*
- * jika tidak ada data/row, maka;
- * jalankan query untuk menginsert ke database
- * jika ada data/row, maka;
- * return false
- */
- if($no_rows == 0) {
- // query untuk menginsert ke database
- $result = $DB->mysqli->query("INSERT INTO `users` VALUES (NULL, '$nama', '$username', '$pass', 'user');");
- // return $result
- return $result;
- } else {
- // jika tidak ada
- return false;
- }
- }
- /*
- * Fungsi untuk mengambil nama user
- */
- function getName($username)
- {
- $DB = new DB();
- $query = $DB->mysqli->query("SELECT nama FROM users WHERE username = '$username' ");
- $userData = $query->fetch_object();
- echo $userData->nama;
- }
- /*
- * Fungsi untuk mengambil sesi
- */
- function get_session()
- {
- // return sesi login
- return $_SESSION['login'];
- }
- /*
- * Fungsi logout
- */
- function logout()
- {
- // buka sesi
- session_start();
- // hapus semua data yang tersimpan di sesi
- session_unset();
- // hapus sesi
- session_destroy();
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement