Postingan lainnya
Buku Ini Koding!
Baru!
Buku ini akan jadi teman perjalanan kamu belajar sampai dapat kerjaan di dunia programming!
tidak bisa protect site sebelum login
mohon bantu untuk saya yang baru belajar php. jadi saya ingin mem protect halaman web sebelum login, tapi saat saya tulis url home_site.php selalu berhasil masuk, padahal belum login mohon solusi bagi semua yang pernah punya pengalaman seperti saya. terimakasih.
1.
<?php
require_once("config.php");
if(isset($_POST['login'])){
$username = filter_input(INPUT_POST, 'username', FILTER_SANITIZE_STRING);
$password = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING);
$sql = "SELECT * FROM users WHERE username=:username";
$stmt = $db->prepare($sql);
$params = array(
":username" => $username
);
$stmt->execute($params);
$user = $stmt->fetch(PDO::FETCH_ASSOC);
if($user){
// verifikasi password
if(password_verify($password, $user["password"])){
// buat Session
session_start();
$_SESSION["user"] = $user;
// login sukses, alihkan ke halaman timeline
header("Location: login.php");
}
}
}
?>
<a href=' https://imgur.com/8JYoFgo '> https://imgur.com/8JYoFgo </a> (login.php)
2.
<?php
require_once("auth.php")
?>
<!DOCTYPE html>
<html>
<head>
<title>Home Site</title>
</head>
<body>
<a href="logout.php">Logout</a>
</body>
</html>
<a href=' https://imgur.com/Wn9nei8 '> https://imgur.com/Wn9nei8 </a> (home-site.php)
<?php
session_start();
if(!isset($_SESSION["user"])) header("Location: login.php");
<a href=' https://imgur.com/PS2PBE6 '> https://imgur.com/PS2PBE6 </a> (auth.php)
3 Jawaban:
Coba dibagian ini kurang {}
<?php
session_start();
if(!isset($_SESSION["user"])) header("Location: login.php");
//jadi kyk gini
<?php
session_start();
if(!isset($_SESSION["user"])) {
header("Location: login.php");
}
Semoga berhasil ^^
belum bisa gan hehehehe masih tetep lolos masuk ke home_site.php
Sebenernya kalau cuma satu if tidak usah di kasih {} juga gak papa gan hehe tapi kalau ngikutin PSR ya harus di pake wkw
Seharusnya pakai kode auth.php nya itu sudah bisa minimal protect buat gak masuk halaman itu mas. Coba di destroy dulu mas sessionnya, mulai dari awal lagi. Mungkin itu udah ada sebelumnya jadi di anggap kalao key user itu udah ada. ^^