Postingan lainnya
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>
1 Jawaban:
Ada beberapa kemungkinan mengapa login gagal:
-
Cek koneksi databasenya. Pastikan script bisa terkoneksi dengan database dengan benar.
-
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.
-
Periksa penulisan query SQL di script PHP. Pastikan query SELECT untuk mengecek username dan password sudah benar.
-
Cek apakah session sudah dibuat dengan benar setelah login berhasil.
$_SESSION['username'] = $username;
- Script redirect setelah login berhasil tidak berjalan. Ganti dengan javascript redirect:
echo "<script>window.location='home.php'</script>";
-
Periksa apakah ada error di browser console. Ini bisa mengindikasikan jika ada masalah pada script PHP untuk login.
-
Periksa permission folder juga, pastikan webserver bisa membaca file PHP.