Advertisement
ItachiA

Login

Mar 14th, 2019
179
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 3.01 KB | None | 0 0
  1.  
  2. <?php
  3. session_start();
  4.  
  5.  
  6. // Cek sebaliknya
  7. // isset kalau sudah ada, kalau not isset itu kalau belum ada
  8. if (isset($_SESSION["login"])) { // kalau sudah login, tidak usah di tampilkan halaman loginnya
  9.  
  10.     header("Location: index.php"); // pindahkan ke index
  11.     exit;
  12.  
  13.  
  14. }
  15.  
  16.  
  17.  
  18.  
  19.  
  20.  
  21. require 'functions.php';
  22.  
  23.  
  24. // 1. Cek apakah tombol submit sudah di tekan atau belum
  25.  
  26. if (isset($_POST["login"])) { // kenapa post? karena formnya memakai method post dan tombolnya login
  27. // JIka sudah baru kita cek passwordnya
  28.  
  29. // Menangkap data username dan password dari postnya ya
  30.  
  31. $username = $_POST["username"];
  32. $password = $_POST["password"];
  33.  
  34.     // Cek Usernamenya dulu
  35.     // cek apakah username sama dengan user yang diinputkan oleh user tadi
  36. $result =   mysqli_query($conn, "SELECT * FROM user WHERE username = '$username'");
  37.    
  38. // Cek ada gak username tertentu didalam tabel
  39.  
  40. // Cek username
  41. if ( mysqli_num_rows($result) === 1 ) { //
  42.  
  43.     // Cek password
  44.         $row = mysqli_fetch_assoc($result); // ambil mysqli dari result
  45.         // jadi sekarang didalam row sudah ada isi datanya, ada ID, ada username dan ad apassword yang sudah diacak
  46.  
  47.  
  48.             // Sama gak? kalau sama berarti benar
  49.        if( password_verify($password, $row["password"]  )) { // kalau berhasil di verifikasi, perbolehkan usernya masuk kedalam sistem.
  50.  
  51.      
  52.    
  53.        
  54.         $_SESSION["login"] = true;
  55.  
  56.  
  57.  
  58.         // Jadi kita arahkan usernya ke index php
  59.         header("Location: index.php");
  60.  
  61.         // Lalu gunakan exit supaya berhenti pada saat header aja ya, gak dibawa script dibawahnya
  62.  
  63.         exit;
  64.  
  65.  
  66.        }
  67.  
  68. }
  69.  
  70.  
  71.  
  72. $error = true;
  73.  
  74. }
  75.  
  76.  
  77.  
  78. ?>
  79.  
  80.  
  81. <!DOCTYPE html>
  82. <html lang="en">
  83. <head>
  84.     <meta charset="UTF-8">
  85.     <meta name="viewport" content="width=device-width, initial-scale=1.0">
  86.     <meta http-equiv="X-UA-Compatible" content="ie=edge">
  87.     <title>Halaman login </title>
  88. </head>
  89. <body>
  90. <!-- Pesan kesalahan error  -->
  91.     <?php if (isset($error)) : ?>  <!-- Kalau ada error, karena error akan bikin / isset ketika ada error aja, kalau tidak ada error, errornya tidak akan pernah di isset   -->
  92.     <p style="color: red;"> username atau password salah
  93.     </p>
  94.  
  95. <!-- jadi begitu ya, untuk menggunakan password hash dan password verify untuk registrasi dan login ini   -->
  96.  
  97. <!-- cara agar tidak bebas masuk seperti ini kita harus menggunakan SESSION  -->
  98.  
  99. <?php endif; ?>
  100.  
  101.     <h1>Halaman Login </h1>
  102.     <form action="" method="post">
  103.         <ul>
  104.         <li>
  105.         <label for="username"> Username</label>
  106.         <input type="text" name="username" id="username">
  107.         </li>
  108.         <li>
  109.             <label for="password">Password</label>
  110.             <input type="password" name="password" id="password">
  111.         </li>
  112.         <li>
  113.         <!-- typenya submit supaya datanya dikirimkan ke action  -->
  114.             <button type="submit" name="login">Login
  115.             </button>
  116.         </li>
  117.         </ul>
  118.  
  119.     </form>
  120.  
  121.  
  122.  
  123.  
  124.  
  125. </body>
  126. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement