Download

Rabu, 15 April 2015

Membuat Log In Dengan Session

Sekarang akan dibahas bagaimana caranya membuat log in menggunakan data dari database dan kombinasi dengan session.

Buat Table dan isinya, disini saya menggunakan database dengan nama sekolah

berikut query membuat table

CREATE TABLE login (
  username varchar(50) NOT NULL primary key,
  password varchar(50) NOT NULL,
  level varchar(10) NOT NULL
);

berikut query menambahkan data pada table login
INSERT INTO login (username, password, level) VALUES
('admin', 'admin', 'admin'),
('user', 'user', 'user');

level digunakan untuk multi user, jadi nantinya halaman admin dan user akan beda

form_login.html

<form method="post" action="login.php">
<input type="text" name="username" placeholder="Username"/>
<br/>
<input type="text" name="password" placeholder="Password"/>
<br/>
<input type="submit" value="Log In"/>
</form>



Login Session


tampilan login

Setelah itu buat file koneksinya, berikut codenya

koneksi.php

<?php

$host = "localhost";

$username = "root";

$password = "";

$db_name = "sekolah";

$mysqli = new mysqli($host, $username, $password, $db_name);

if(mysqli_connect_errno()) {

echo "Error: Could not connect to database.";

exit;

}

?>

lalu buat proses log in nya


login.php
<?php
session_start();
include 'koneksi.php';

$username = $_POST['username'];
$password = $_POST['password'];

$query = "select * from login where username='$username' and password='$password'";

//untuk menjalankan perinta sql
$result = $mysqli->query($query);

//untuk mendapatkan jumlah baris dari table
$num_results = $result->num_rows;

//jika login berhasil
if( $num_results > 0){ 
$row = $result->fetch_assoc();

extract($row);

$_SESSION['username'] = $username;
$_SESSION['level'] = $level;

header("location:admin.php");

}else{

echo "Log In Gagal";

}

//menutup koneksi ke database

$result->free();

$mysqli->close();

?>

yang terakhir buat file admin.php, file ini hanya bisa diakses ketika anda telah log in saja, entah itu sebagai user atau admin, dan secara otomatis akan menampilkan halaman admin jika login sebagai admin dan sebaliknya, jika belum login akan otomatis diarahkan ke halaman login.

admin.php
<?php
session_start();

//checking apakah session username telah terdaftar atau belum
if(isset($_SESSION['username'])){
//cek jika username ada, apakah level dari username tersebut
if($_SESSION['level']=="admin"){
//jika level admin maka tampil Hai Admin
echo "Hai Admin";
}else{
//jika level admin maka tampil Hai User
echo "Hai User";
}
}else{
header("location:form_login.html");
}

?>

coba anda sebelum login akses file admin langsung di browser seperti berikut

http://localhost/admin.php

maka akan otomatis kembali ke halaman login,

login

itu karena pada halaman admin kita melakukan checking perhatikan baris code 

if(isset($_SESSION['username'])){



}else{
      header("location:form_login.html");
}

code itu yang bekerja untuk melakukan cek apakah telah ada session yang terdaftar atau belum.

untuk artikel session bisa di pelajari step by stepnya disini




untuk pemahaman mengenai isset sebagai validasi bisa di pelajari di link berikut


dan ketika anda login sebagai user akan tampil seperti berikut

login
ketika login sebagai admin

login
ketika login sebagai user


semoga bermanfaat




Tidak ada komentar:

Posting Komentar