Anime and Coding Daisuki

Tutorial Login & Register Full Chapter 2 (Database Connection, User Login)

Tidak ada komentar
Hallo minna, kemarin kita sudah membuat design template nya, sekarang di chapter ke 2 ini kita akan melakukan koneksi database dan juga user login.
Pertama kita buat dulu 2 folder yaitu folder database dan functions di dalam folder core yang kemarin sudah kita buat pada chapter pertama. Kemudian buka text editor minna dan buat sebuah file yaitu init.php dan berikut kode nya :

<?php

session_start() ;

require 'database/connect.php' ;

require 'functions/general.php' ;

require 'functions/users.php' ;

$errors = array() ;

?> 

Kita  simpan  file  init.php  ini  di  folder  core.  Bisa  di  lihat  disana  ada  require file, berarti kita harus menyertakan dan membuat 3 file lagi yaitu connect.php, general.php & users.php. Pertama kita buat connect.php untuk koneksi ke database kita. Berikut kode nya:

<?php

$connect_error = 'Sorry, Connection is Down' ;

mysql_connect('localhost' , 'username localhost kamu' , 'password localhost kamu') ;

mysql_select_db('database kamu') or die($connect_error);

?> 

Simpan file tersebut di dalam folder database yang berada di dalam folder core. Kemudian kita buat general.php :


<?php

function sanitize($data) {

return mysql_real_escape_string($data) ;

}

function output_errors($errors) {

return '<ul><li>' . implode('</li><li>', $errors) . '</li></ul>' ;

}

?> 

Save di dalam folder functions yang berada di dalam folder core. Selanjutnya buat users.php
berikut code nya :

<?php

function logged_in() {

return(isset($_SESSION['user_id'])) ? true : false ;

}

function user_exists($username) { //berfungsi untuk cek apakah akun ada

$username = sanitize($username) ;

return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username 

= '$username'"), 0) == 1) ? true : false ;

}

function user_active($username) { // berfungsi untuk aktivasi akun

$username = sanitize($username) ;

return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username 

= '$username' AND active = 1"), 0) == 1) ? true : false ;

}

function  user_id_from_username($username)  {  //  Validasi  Login  berdasarkan  user_id  di 

database

$username = sanitize ($username) ;

return  mysql_result(mysql_query("SELECT  user_id  FROM  users  WHERE  username  = 

'$username'"), 0, 'user_id') ;

}

function login($username, $password) { // berfungsi untuk validasi login

$user_id = user_id_from_username($username) ;

$username = sanitize ($username) ;

$password = md5($password) ;

return (mysql_result(mysql_query("SELECT COUNT(user_id) FROM users WHERE username 

= '$username' AND password = '$password'"), 0) == 1) ? $user_id : false ;

}

?>

Simpan juga di folder functions. Kemudian kita akan membuat file login.php :

<?php

include 'core/init.php' ;

if (empty($_POST) === false) {

$username = $_POST['username'] ;

$password = $_POST['password'] ; 

if (empty($username) || empty($password) === true) {

$errors[] = 'Please enter your Username and Password' ;

} else if (user_exists($username) === false) {

$errors[] = 'Username or Password Doesn\'t Exist !' ;

} else if (user_active($username) === false) {

$errors[] = 'You Haven\'t Activated your account!' ;

} else {

if (strlen($password) > 40) {

$errors[] = 'Password is too Long Buddy' ;

}

$login = login($username, $password) ;

if ($login === false) {

$errors[] = 'Username/Password Combination is incorrect !' ;

} else { //Jika login Berhasil maka akan langsung di direct ke index.php

$_SESSION['user_id'] = $login ;

header('Location: index.php') ;

exit();

}

}

} else {

$errors[] = 'No Data Received' ;

}

include 'includes/overall/header.php' ;

if (empty($errors) === false) {

?>

<h2> We tried to log you in, but...</h2> 

<?php

echo output_errors($errors);

}

include 'includes/overall/footer.php' ;

?>

Kemudian sekarang kita akan mengedit file index.php yang jauh jauh hari sudah kita buat.
Buka index.php kemudian ganti seluruh kode nya dengan kode di bawah ini :

<?php 

include 'core/init.php' ;

include 'includes/overall/header.php' ;

?>

<h1>Home</h1>

<p>Ini adalah konten Home</p>

<?php include 'includes/overall/footer.php' ;?>

Dan kemudian kita edit juga file aside.php. Cari file aside.php di folder includes dan kemudian ganti kode nya dengan yang dibawah ini :

<aside>

<?php 

if (logged_in() === true ) {

echo 'Logged in<br><br>' ;

} else {

include 'includes/widget/login.php' ;

}

?>

</aside>
Sekarang coba di running. Coba minna masukkan username atau password yang asal – asalan
maka akan muncul tampilan seperti ini :


dan jika kita memasukkan username dan password yang benar kita akan di direct ke index.php tetapi sekarang tampilan index.php nya berubah :



Selanjutnya kita akan melakukan logout. Pertama kita buat dulu file logout.php nya :

<?php
session_start(); //memulai session
session_destroy() ; // keluar / hancurkan session sehingga logout
header('Location: index.php') ;
?>
Save file tersebut di folder project kita. Jangan di folder includes ataupun core. 
Dan akhirnya sudah kita sudah menyelesaikan login system dan menuju tahap selanjutnya. Dakara sampai jumpa di chapter berikut nya...

Untuk download pdf series nya silahkan di menu download
Jaa neeee....

Tidak ada komentar :

Posting Komentar