login di php yang gagal ketika di clik tombol sign in

permisi izi bertanya ini kenapa ya tidak bisa login ketika di click tombol masuk sign in pada sini dari databasenya sudah saya cocokan dan tidak ada eror yang mucul pada browser yang gunakan sudah saya benerin yang bagian erornya tapi ketika user menclik tombol sign in tetap seperti dan hanya mengeluarkan popup yang saya buat dari php dan ketika saya clik oke pada popup yang saya buat malah balik ke login lagi mohon bantuan ya kakak sekalian ? berikut code phpnya

login.php

<?php
session_start();
include "koneksi.php";

if (!isset($_SESSION['log'])) {
    if (isset($_POST['login'])) {
        $user = mysqli_real_escape_string($koneksi, $_POST['username']);
        $pass = mysqli_real_escape_string($koneksi, $_POST['password']);

        // Membuat pernyataan SQL menggunakan prepared statement
        $stmt = $koneksi->prepare("SELECT * FROM userlogin WHERE username = ?");
        $stmt->bind_param("s", $user);

        // Menjalankan pernyataan
        $stmt->execute();

        // Mengambil hasil
        $result = $stmt->get_result();

        // Menutup prepared statement
        $stmt->close();

        // Mengambil data pengguna
        $cariuser = $result->fetch_assoc();

        // Periksa apakah password sesuai menggunakan password_verify
        if ($cariuser && Password_verify($pass, $cariuser['Password'])) {
            $_SESSION['id'] = $cariuser['id'];
            $_SESSION['username'] = $cariuser['username'];
            $_SESSION['log'] = $cariuser['login'];

            echo '<script>alert("Anda berhasil login sebagai ' . $cariuser['Username'] . '"); window.location="./index.php"</script>';
        } else {
            echo'<script>alert("Data yang Anda masukkan salah!"); history.go(-1);</script>';
        }
    }
} else {
    header('location:index.php');
}
?>

<!DOCTYPE html>
<html lang="en" class="light-style customizer-hide" dir="ltr" data-theme="theme-default" data-assets-path="assets/"
  data-template="vertical-menu-template-free">

<head>
  <meta charset="utf-8" />
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
  <title>LOGIN AHHABA</title>
  <meta name="description" content="" />
  <link rel="icon" type="image/x-icon" href="assets/img/favicon/favicon.ico" />
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link
    href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
    rel="stylesheet" />
  <link rel="stylesheet" href="assets/vendor/fonts/boxicons.css" />
  <link rel="stylesheet" href="assets/vendor/css/core.css" class="template-customizer-core-css" />
  <link rel="stylesheet" href="assets/vendor/css/theme-default.css" class="template-customizer-theme-css" />
  <link rel="stylesheet" href="assets/css/demo.css" />
  <link rel="stylesheet" href="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css" />
  <link rel="stylesheet" href="assets/vendor/css/pages/page-auth.css" />
  <script src="assets/vendor/js/helpers.js"></script>
  <script src="assets/js/config.js"></script>
</head>

<body>
  <!-- Content -->
  <div class="container-xxl">
    <div class="authentication-wrapper authentication-basic container-p-y">
      <div class="authentication-inner">
        <!-- Register -->
        <div class="card">
          <div class="card-body">
            <!-- Logo -->
            <div class="app-brand justify-content-center">
              <a href="index.html" class="app-brand-link gap-2">
                <h3>AHHABA STORE</H1>
              </a>
            </div>
            <!-- /Logo -->
            <form method="POST">
              <div class="mb-3">
                <label for="email" class="form-label">Username</label>
                <input type="text" class="form-control" name="username" placeholder="username" autofocus />
              </div>
              <div class="mb-3 form-password-toggle">
                <div class="d-flex justify-content-between">
                  <label class="form-label" for="password">Password</label>
                  <!-- <a href="#">
                    <small>Forgot Password?</small>
                  </a> -->
                </div>
                <div class="input-group input-group-merge">
                  <input type="password" class="form-control" name="password" placeholder="masukan password" />
                  <span class="input-group-text cursor-pointer"><i class="bx bx-hide"></i></span>
                </div>
              </div>
              <div class="mb-3">
                <div class="form-check">
                  <!-- <input class="form-check-input" type="checkbox" id="remember-me" />
                  <label class="form-check-label" for="remember-me"> Remember Me </label> -->
                </div>
              </div>
              <div class="mb-3">
                <button class="btn btn-primary d-grid w-100" type="submit" name="login">Sign in</button>
              </div>
            </form>
          </div>
        </div>
        <!-- /Register -->
      </div>
    </div>
  </div>

  <!-- / Content -->

  <!-- Core JS -->
  <!-- build:js assets/vendor/js/core.js -->
  <script src="assets/vendor/libs/jquery/jquery.js"></script>
  <script src="assets/vendor/libs/popper/popper.js"></script>
  <script src="assets/vendor/js/bootstrap.js"></script>
  <script src="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.js"></script>

  <script src="assets/vendor/js/menu.js"></script>
  <script src="assets/js/main.js"></script>
  <script async defer src="https://buttons.github.io/buttons.js"></script>
</body>

</html>

koneksi.php

<?
session_start();
include "koneksi.php";
if ($_SESSION['log'] != "login"){
  header("Location:index.php");
}
?>
<!DOCTYPE html>
<html lang="en" class="light-style customizer-hide" dir="ltr" data-theme="theme-default" data-assets-path="assets/"
  data-template="vertical-menu-template-free">

<head>
  <meta charset="utf-8" />
  <meta name="viewport"
    content="width=device-width, initial-scale=1.0, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0" />
  <title>Login</title>
  <meta name="description" content="" />
  <link rel="icon" type="image/x-icon" href="assets/img/favicon/favicon.ico" />
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link
    href="https://fonts.googleapis.com/css2?family=Public+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&display=swap"
    rel="stylesheet" />
  <link rel="stylesheet" href="assets/vendor/fonts/boxicons.css" />
  <link rel="stylesheet" href="assets/vendor/css/core.css" class="template-customizer-core-css" />
  <link rel="stylesheet" href="assets/vendor/css/theme-default.css" class="template-customizer-theme-css" />
  <link rel="stylesheet" href="assets/css/demo.css" />
  <link rel="stylesheet" href="assets/vendor/libs/perfect-scrollbar/perfect-scrollbar.css" />
  <link rel="stylesheet" href="assets/vendor/css/pages/page-auth.css" />
  <script src="assets/vendor/js/helpers.js"></script>
  <script src="assets/js/config.js"></script>
</head>

<body>
  <br>
  <br>
  <p class="text-center">
    <span><b>Selamat datang</b>, Anda berhasil Login sebagai <b><?= $_SESSION['username'] ?></b></span>
    <br>
    <a href="#" class="btn btn-sm btn-primary">
      <span>logout</span>
    </a>
  </p>
</body>

</html>
avatar bachrulpanjigumilang
@bachrulpanjigumilang

2 Kontribusi 0 Poin

Diperbarui 5 bulan yang lalu

1 Jawaban:

Ada beberapa kemungkinan mengapa login gagal:

  1. Cek koneksi databasenya. Pastikan script bisa terkoneksi dengan database dengan benar.

  2. Cocokkanusername dan password yang dimasukkan user dengan yang ada di database. Bisa tambahkan debugging untuk mencetak isi variabel $user dan $pass sebelum query untuk memastikan datanya sesuai.

  3. Periksa penulisan query SQL di script PHP. Pastikan query SELECT untuk mengecek username dan password sudah benar.

  4. Cek apakah session sudah dibuat dengan benar setelah login berhasil.

$_SESSION['username'] = $username; 
  1. Script redirect setelah login berhasil tidak berjalan. Ganti dengan javascript redirect:
echo "<script>window.location='home.php'</script>";
  1. Periksa apakah ada error di browser console. Ini bisa mengindikasikan jika ada masalah pada script PHP untuk login.

  2. Periksa permission folder juga, pastikan webserver bisa membaca file PHP.

avatar adamajalah27
@adamajalah27

119 Kontribusi 40 Poin

Dipost 5 bulan yang lalu

Login untuk ikut Jawaban