Advertisement
aldycavalera

Untitled

Mar 31st, 2019
494
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.61 KB | None | 0 0
  1. <?php
  2.  
  3. class Sign {
  4.  
  5. public $DB;
  6. function __construct()
  7. {
  8. require_once('C:/xampp/htdocs/sarana/core/db.php');
  9. // session_abort();
  10. }
  11.  
  12. /*
  13. * Fungsi Untuk Login
  14. */
  15. function login($username, $password)
  16. {
  17. // ambil kelas DB
  18. $DB = new DB();
  19. // ambil password user yang ada terenkripsi di database
  20. $getPass = $DB->mysqli->query("SELECT password FROM users WHERE username='$username'");
  21. $userPass = $getPass->fetch_assoc();
  22. // samakan password yang terenkripsi dengan inputan user menggunakan password_verify
  23. $pass = password_verify($password, $userPass['password']);
  24. /*
  25. * jika password salah maka login gagal
  26. * jika benar maka dilanjutkan ke proses selanjutnya
  27. */
  28. if($pass = FALSE)
  29. return false;
  30. // query untuk mengecek username yang ada didatabase dengan username yang diinput user
  31. $result = $DB->mysqli->query("SELECT * from users WHERE username='$username'");
  32. // menyimpan data dari database yang bersifat array asosiasi di variabel $user_data
  33. $user_data = $result->fetch_assoc();
  34. // cek apakah ada didatabase atau tidak
  35. $no_rows = $result->num_rows;
  36. // jika ada, maka masukan beberapa data yang dibutuhkan ke sesi
  37. if ($no_rows == 1)
  38. {
  39. $_SESSION['login'] = true;
  40. $_SESSION['fullname'] = $user_data['nama'];
  41. $_SESSION['username'] = $username;
  42. $_SESSION['userId'] = $user_data['id'];
  43. $_SESSION['roles'] = $user_data['role'];
  44. // me return nilai true
  45. return TRUE;
  46. }
  47. // jika tidak ada, maka
  48. else
  49. {
  50. // return false
  51. return FALSE;
  52. }
  53. }
  54.  
  55. /*
  56. * Fungsi untuk pendaftaran user baru
  57. */
  58. function daftar($nama, $username, $password)
  59. {
  60. $DB = new DB();
  61. // mengekripsi password menggunakan password_hash
  62. $pass = password_hash($password, PASSWORD_DEFAULT);
  63. // ambil username di database dan disesuaikan dengan input user
  64. $sql = $DB->mysqli->query("SELECT * FROM `users` WHERE username='$username' ");
  65. // itung rows yang muncul setelah query diatas
  66. $no_rows= $sql->num_rows;
  67.  
  68. /*
  69. * jika tidak ada data/row, maka;
  70. * jalankan query untuk menginsert ke database
  71. * jika ada data/row, maka;
  72. * return false
  73. */
  74. if($no_rows == 0) {
  75. // query untuk menginsert ke database
  76. $result = $DB->mysqli->query("INSERT INTO `users` VALUES (NULL, '$nama', '$username', '$pass', 'user');");
  77. // return $result
  78. return $result;
  79. } else {
  80. // jika tidak ada
  81. return false;
  82. }
  83.  
  84. }
  85.  
  86. /*
  87. * Fungsi untuk mengambil nama user
  88. */
  89. function getName($username)
  90. {
  91. $DB = new DB();
  92. $query = $DB->mysqli->query("SELECT nama FROM users WHERE username = '$username' ");
  93. $userData = $query->fetch_object();
  94. echo $userData->nama;
  95. }
  96.  
  97. /*
  98. * Fungsi untuk mengambil sesi
  99. */
  100. function get_session()
  101. {
  102. // return sesi login
  103. return $_SESSION['login'];
  104. }
  105.  
  106. /*
  107. * Fungsi logout
  108. */
  109. function logout()
  110. {
  111. // buka sesi
  112. session_start();
  113. // hapus semua data yang tersimpan di sesi
  114. session_unset();
  115. // hapus sesi
  116. session_destroy();
  117. }
  118. }
  119.  
  120. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement