FATechID

index.php

May 8th, 2019
148
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.09 KB | None | 0 0
  1. <?php
  2.  
  3. // Inisialisasi Sesi
  4. session_start();
  5.  
  6. // Check jika pengguna sudah login, makan akan diarahakan ke Halaman Home
  7. if(isset($_SESSION["loggedin"]) && $_SESSION["loggedin"] === true){
  8.     header("location: welcome.php");
  9.     exit;
  10. }
  11.  
  12. // Mengikutkan file Config.php
  13. require_once "config.php";
  14.  
  15. // Mendefenisikan variabel dan analisis ketika Value kosong
  16. $username = $password = "";
  17. $username_err = $password_err = "";
  18.  
  19. // Memproses data form, ketika form di submit
  20. if($_SERVER["REQUEST_METHOD"] == "POST"){
  21.  
  22.     // Check jika username kosong
  23.     if(empty(trim($_POST["username"]))){
  24.         $username_err = "Silahkan masukkan username anda.";
  25.     } else{
  26.         $username = trim($_POST["username"]);
  27.     }
  28.    
  29.     // Check jika password kosong
  30.     if(empty(trim($_POST["password"]))){
  31.         $password_err = "Silahkan masukkan password anda.";
  32.     } else{
  33.         $password = trim($_POST["password"]);
  34.     }
  35.    
  36.     // Validasi Krendensial
  37.     if(empty($username_err) && empty($password_err)){
  38.  
  39.         // Mempersiapkan stekmen yang dipilih
  40.         $sql = "SELECT id, firstname, lastname, gender, username, password, status FROM users WHERE username = ?";
  41.        
  42.         if($stmt = mysqli_prepare($link, $sql)){
  43.  
  44.             // Mem-bind variabel ke stekmen yang sudah disiapkan sebagai parameter
  45.             mysqli_stmt_bind_param($stmt, "s", $param_username);
  46.            
  47.             // Membuat parameter
  48.             $param_username = $username;
  49.            
  50.             // Mencoba eksekusi stekmen yang sudah disiapkan
  51.             if(mysqli_stmt_execute($stmt)){
  52.  
  53.                 /* Menyimpan Hasil */
  54.                 mysqli_stmt_store_result($stmt);
  55.  
  56.                 // Check jika username sudah terdartar, jika sudah maka verifikasi password
  57.                 if(mysqli_stmt_num_rows($stmt) == 1){  
  58.  
  59.                     // Mem-bind hasil variabel
  60.                     mysqli_stmt_bind_result($stmt, $id, $firstname, $lastname, $gender, $username, $hashed_password, $status);
  61.                     if(mysqli_stmt_fetch($stmt)){
  62.                         if(password_verify($password, $hashed_password)){
  63.  
  64.                             // Password benar, maka akan memulai sesi baru
  65.                             session_start();
  66.                            
  67.                             // Menyimpan data dalam sesi Variabel
  68.                             $_SESSION["loggedin"] = true;
  69.                             $_SESSION["id"] = $id;
  70.                             $_SESSION["firstname"] = $firstname;
  71.                             $_SESSION["lastname"] = $lastname;  
  72.                             $_SESSION["username"] = $username;
  73.                             $_SESSION["status"] = $status;
  74.                             $_SESSION["gender"] = $gender;                    
  75.                            
  76.                             // Meng-redirect ke Halaman Home
  77.                             header("location: welcome.php");
  78.                         } else{
  79.  
  80.                             // Menampilkan error, jika password yang dimasukkan salah
  81.                             $password_err = "Password yang anda masukkan salah, silahkan periksa kembali.";
  82.                         }
  83.                     }
  84.                 } else{
  85.  
  86.                     // Menampilkan error, jika username yang dimasukkan tidak ada
  87.                     $username_err = "Tidak ada akun dengan username tersebut.";
  88.                 }
  89.             } else{
  90.                 echo "Oops! Ada yang salah. Silahkan coba lagi nanti.";
  91.             }
  92.         }
  93.        
  94.         // Menutup stekmen
  95.         mysqli_stmt_close($stmt);
  96.     }
  97.    
  98.     // Menutup koneksi
  99.     mysqli_close($link);
  100. }
  101.  
  102. ?>
  103.  
  104. <!DOCTYPE html>
  105. <html lang="en">
  106. <head>
  107.     <title>FATechID - Login</title>
  108.     <meta charset="UTF-8">
  109.     <meta name="viewport" content="width=device-width, initial-scale=1">
  110. <!--===============================================================================================-->  
  111.     <link rel="icon" type="image/png" href="login-style/images/icons/favicon.ico"/>
  112. <!--===============================================================================================-->
  113.     <link rel="stylesheet" type="text/css" href="login-style/vendor/bootstrap/css/bootstrap.min.css">
  114. <!--===============================================================================================-->
  115.     <link rel="stylesheet" type="text/css" href="login-style/fonts/font-awesome-4.7.0/css/font-awesome.min.css">
  116. <!--===============================================================================================-->
  117.     <link rel="stylesheet" type="text/css" href="login-style/vendor/animate/animate.css">
  118. <!--===============================================================================================-->  
  119.     <link rel="stylesheet" type="text/css" href="login-style/vendor/css-hamburgers/hamburgers.min.css">
  120. <!--===============================================================================================-->
  121.     <link rel="stylesheet" type="text/css" href="login-style/vendor/select2/select2.min.css">
  122. <!--===============================================================================================-->
  123.     <link rel="stylesheet" type="text/css" href="login-style/css/util.css">
  124.     <link rel="stylesheet" type="text/css" href="login-style/css/main.css">
  125. <!--===============================================================================================-->
  126. </head>
  127. <body>
  128.  
  129.         <div class="container-login100">
  130.             <div class="wrap-login100">
  131.                 <div class="login100-pic js-tilt" data-tilt>
  132.                     <img src="login-style/images/img-01.png" alt="IMG">
  133.                 </div>
  134.  
  135.                 <form class="login100-form validate-form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
  136.  
  137.                     <span class="login100-form-title">
  138.                         Member Login
  139.                     </span>
  140.  
  141.                     <div class="wrap-input100 validate-input <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>" data-validate = "Valid email is required: [email protected]">
  142.                         <input class="input100" type="text" name="username" placeholder="Email" value="<?php echo $username; ?>">
  143.                         <span class="focus-input100"></span>
  144.                         <span class="symbol-input100">
  145.                             <i class="fa fa-envelope" aria-hidden="true"></i>
  146.                         </span>
  147.                         <span class="help-block"><?php echo $username_err; ?></span>
  148.                     </div>
  149.  
  150.                     <div class="wrap-input100 validate-input <?php echo (!empty($password_err)) ? 'has-error' : ''; ?>" data-validate = "Password is required">
  151.                         <input class="input100" type="password" name="password" placeholder="Password">
  152.                         <span class="focus-input100"></span>
  153.                         <span class="symbol-input100">
  154.                             <i class="fa fa-lock" aria-hidden="true"></i>
  155.                         </span>
  156.                         <span class="help-block"><?php echo $password_err; ?></span>
  157.                     </div>
  158.                    
  159.                     <div class="container-login100-form-btn">
  160.                         <button class="login100-form-btn">
  161.                             Login
  162.                         </button>
  163.                     </div>
  164.  
  165.                     <div class="text-center p-t-12">
  166.                         <span class="txt1">
  167.                             Lupa
  168.                         </span>
  169.                         <a class="txt2" href="#">
  170.                             Password?
  171.                         </a>
  172.                     </div>
  173.  
  174.                     <div class="text-center p-t-136">
  175.                         <a class="txt2" href="register.php">
  176.                             Create your Account
  177.                             <i class="fa fa-long-arrow-right m-l-5" aria-hidden="true"></i>
  178.                         </a>
  179.                     </div>
  180.                 </form>
  181.             </div>
  182.         </div>
  183.    
  184. <!--===============================================================================================-->  
  185.     <script src="login-style/vendor/jquery/jquery-3.2.1.min.js"></script>
  186. <!--===============================================================================================-->
  187.     <script src="login-style/vendor/bootstrap/js/popper.js"></script>
  188.     <script src="login-style/vendor/bootstrap/js/bootstrap.min.js"></script>
  189. <!--===============================================================================================-->
  190.     <script src="login-style/vendor/select2/select2.min.js"></script>
  191. <!--===============================================================================================-->
  192.     <script src="login-style/vendor/tilt/tilt.jquery.min.js"></script>
  193.     <script >
  194.         $('.js-tilt').tilt({
  195.             scale: 1.1
  196.         })
  197.     </script>
  198. <!--===============================================================================================-->
  199.     <script src="login-style/js/main.js"></script>
  200.  
  201. </body>
  202. </html>
Advertisement
Add Comment
Please, Sign In to add comment