Membuat Jejaring Sosial Sederhana dengan PHP, MYSQL, dan Bootstrap di Localhost (part 2)

Posted on Tuesday, October 27, 2015

Selamat datang lagi sobat.
 Di part 2 ini kita akan membuat proses registrasi dan login dan juga SESSION.
Pada tutorial Part1 kita sudah membuat tampilan dan form serta database 'tutorialjaco' dan table'user'. kali kita akan gunakan file tersebut untuk proses registrasi dan login. 
bagi sobat yang belum membaca tutorial part 1, klik di sini.

Sebelumnya mari kita bahas sedikit tentang SESSION. Session adalah suatu cara agar suatu variabel dapat diakses pada banyak halaman web. Session biasanya disimpan di Folder Temporary( biasanya untuk ampss pada c:\program files\Ampss\temp ).

Fungsi Session yang akan kita pakai antara lain :
session_start() bergungsi mengaktifkan session.
session_destroy() berfungsi untuk menghapus session beserta file sessionnya.
session_unset()berfungsi untuk menghapus semua variabel yang terdaftar dalam session.

Nah, intinya kita akan memakai file $_SESSION['id_user'] yang login untuk dipakai pada banyak halaman web yang kita bangun. 

Sekarang kita akan buat dulu script untuk menyimpan Akun user yang daftar. Karena pada tutorial part 1 proses daftar memanggil halaman simpan_account.php , maka kita buat file simpan_account.php

1. Buatlah File php baru dan beri nama simpan_account.php
    isi file ini adalah sebagai berikut :
<?php
include"library.php";  // memanggil fungsi library
if(isset($_POST['kirim'])){ // kalau di klik daftar maka diproses
  
$conn=koneksi_db(); //memanggil koneksi database
//menampung variabel yg di POST dari form registrasi
$nama_depan=ucwords($_POST['nama_depan']);
$nama_belakang=ucwords($_POST['nama_belakang']);
$email=$_POST['email'];
$userpass=$_POST['password'];
$kelamin=$_POST['kelamin'];
$tanggal=$_POST['tanggal'];
  
  
// Validasi jika isi registrasi kosong
if (empty($_POST['nama_depan'])) die ("<script>alert('Anda Belum Mengisikan Nama Depan');window.location='javascript:history.go(-1)';</script>"); 
if (empty($_POST['nama_belakang'])) die ("<script>alert('Anda Belum Mengisikan Nama Belakang');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['kelamin'])) die ("<script>alert('Anda Belum Mengisikan Jenis Kelamin');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['tanggal'])) die ("<script>alert('Anda Belum Mengisikan Tanggal Lahir');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['email'])) die ("<script>alert('Anda Belum Mengisikan Email');window.location='javascript:history.go(-1)';</script>");
if (empty($_POST['password'])) die ("<script>alert('Anda Belum Mengisikan Password');window.location='javascript:history.go(-1)';</script>");
  
//Proses query insert ke database. variabel yg diisi null nantinya akan di proses ketika user memilih menu edit informasi info user.
  
$query="insert into user (id_user,nama_depan,nama_belakang,email,password,kelamin,tgl_lahir,agama,foto_profil,status,alamat,hobi,level,aktif,profil_singkat)values(null,'$nama_depan','$nama_belakang','$email','$userpass','$kelamin','$tanggal',null,null,null,null,null,'MEMBER','Y',null)";
 $exe=mysql_query($query, $conn); //eksekusi query insert ke database
  
//proses setelah eksekusi
if ($exe){
    echo "<script>location.replace('daftar_sukses.php')</script>";
}else{
    echo "<script>alert('daftar Gagal')
    location.replace('index.php')</script>";
}
  
}
else// else isset
{
unset($_POST['kirim']);
}
?>

2. Jika pendaftaran akun sukses, maka akan diarahkan ke halaman web daftar_sukses.php . Maka
    dari itu kita buat dulu halaman 'daftar_sukses.php'
    kode syntak daftar_sukses.php :
<?php
include("library.php");//Memanggil function library
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Selamat Datang</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</head>
<body>
<?php
navbarindex();//memanggil fungsi navbarindex
modallogin();//memanggil fungsi modallogin
?>
  
<div class="container">
        <div class="jumbotron">
            <h2>WORLD-INFO</h2>
            <p>Good time with my blog</p>
        </div>
<div class="row">
        <div class="col-md-4">
        </div>
<!-- ISI -->
        <div class="col-md-4">
            <h3><center>PENDAFTARAN AKUN SUKSES! SILAHKAN LOGIN</center></h3>
                <form name="login" method="post" action="login.php">
    <div class="form-group">
        <label for="inputEmail">Email</label>
        <input type="email" class="form-control" id="inputEmail" placeholder="Email" name="email">
     </div>
     <div class="form-group">
        <label for="inputPassword">Password</label>
        <input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password">
      </div>
    <button type="submit" class="btn btn-primary">Login</button>
</form>
                </div>
        </div>
<?php  
footer();// memanggil fungsi footer
?>
</div>
</body>
</html>

Tampilan daftar_sukses.php

Halaman ini berfungsi untuk menampilkan 'Pesan Daftar Sukses' dan menyediakan Form Login dilayar untuk proses login. Untuk pendaftaran dengan validasi ke Email atau daftar dengan Facebook akan dibahas dalam lain kesempatan.

3. Membuat fungsi untuk proses login. Buatlah file php baru dengan nama 'login.php' dan isikan code seperti berikut :
<?php
session_start();// memulai/membuat file Session
include ("library.php");// memanggil fungsi library
  
$link=koneksi_db();//membuat koneksi ke database
//menampung variabel yg dikirim dari form login
$email = $_POST['email'];
$password = $_POST['password'];
  
//cek query
$cek = mysql_query("SELECT * FROM user WHERE email ='$email' AND password ='$password'");
  
if(mysql_num_rows($cek)==1){//jika ada yang cocok akan bernilai 1
$hasil=mysql_fetch_array($cek);
$_SESSION['id_user'] = $hasil['id_user'];// membuat variabel session['id_user']
$_SESSION['nama_depan'] = $hasil['nama_depan'];// membuat variabel session['nama_depan']
$_SESSION['nama_belakang'] = $hasil['nama_belakang'];// membuat variabel session['nama_belakang']
  
header("location:home.php");// jika sukses masuk ke home.php
}
else
{
header("location:gagallogin.php");// jika login gagal maka masuk ke halaman gagallogin.php
}
?>

4. Karena pada proses login diatas memanggil halaman web gagallogin.php maka kita buat file php dengan nama gagallogin.php
Isi halaman ini mirip dengan halaman daftar_sukses.php bedanya hanya Pesan yang tertulis yaitu pesan Email dan password salah.
Kode syntak gagallogin.php
<?php
include("library.php");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Selamat Datang</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</head>
<body>
<?php
navbarindex();
modallogin();
?>
  
<div class="container">
        <div class="jumbotron">
            <h2>WORLD-INFO</h2>
            <p>Good time with my blog</p>
        </div>
<div class="row">
        <div class="col-md-4">
        </div>
        <div class="col-md-4">
            <h3><center>Password  Email Anda Salah. Silahkan Ulangi Login!</center></h3>
                <form name="login" method="post" action="login.php">
    <div class="form-group">
        <label for="inputEmail">Email</label>
        <input type="email" class="form-control" id="inputEmail" placeholder="Email" name="email">
     </div>
     <div class="form-group">
        <label for="inputPassword">Password</label>
        <input type="password" class="form-control" id="inputPassword" placeholder="Password" name="password">
      </div>
    <button type="submit" class="btn btn-primary">Login</button>
</form>
                </div>
        </div>
<?php  
footer();
?>
</div>
</body>
</html>

Tampilan gagallogin.php

5. Jika Login sukses, maka user akan dialihkan ke halaman Home. Halaman home yang kita buat kali ini masih home sederhana.Untuk pembuatan home yang lengkap akan dibahas pada tutorial selanjutnya. Pada home kali ini akan dibuat button untuk logout.
kita buat dulu halaman home sederhananya, buat file php baru dengan nama home.php dan isi dengan kode berikut :
<?php
session_start();
include("library.php");
$id_user=$_SESSION['id_user'];//memakai variabel id_user dari SESSION
$nama_depan=$_SESSION['nama_depan'];
$nama_belakang=$_SESSION['nama_belakang'];
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>HOME</title>
<link rel="stylesheet" type="text/css" href="css/bootstrap.min.css">
<link rel="stylesheet" type="text/css" href="css/bootstrap-theme.min.css">
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="js/bootstrap.min.js"></script>
</head>
<body>
  
<div class="container">
        <div class="jumbotron">
            <h2>WORLD-INFO</h2>
            <p> Good time with my blog</p>
        </div>
<div class="row">
        <div class="col-md-4">
        </div>
        <div class="col-md-4">
          <center>  <h3>SUKSES LOGIN</h3>
                SELAMAT DATANG!! INI ADALAH HALAMAN HOME SEMENTARA <br>
 Anda Login dengan id_user=<?php echo $id_user;?><br>
  
                nama anda : <?php echo $nama_depan.' '.$nama_belakang;?><br>
SILAHKAN LOGOUT DISINI<br></center>
<p><a href="logout.php" class="btn btn-warning btn-lg btn-block">LOGOUT</a></p>
                </div>
        </div>
<?php  
footer();
?>
</div>
</body>
</html>

Tampilan Home.php sementara

6. Button logout pada menu script diatas akan memanggil halaman logout.php maka kita buat sebuah halaman baru dengan nama logout.php
isi kode syntak halaman ini sebagai berikut :
<html>
<head>
<title> Logout </title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body   bgcolor="black">
<?php
session_start();
unset($_SESSION['id_user']);
echo "<script>
    location.replace('index.php')</script>";
?>
<center>
</center>
</body>
</html>
<span style="line-height: 1.428571429; font-family: 'Helvetica Neue', Helvetica
Fungsi dari logout ini adalah menghapus nilai dari variabel session['id_user']. setelah logout user akan diarahkan ke halaman awal web yaitu index.php

Itulah tutorial part 2 hari ini, jika ada kesalahan dalam penulisan kata mohon di maafkan.
Jika sobat mengalami notif error pada kodenya, silahkan laporkan di kotak komentar, saya akan mencoba menolong sobat.

Terima Kasih

Untuk tutorial selanjutnya pada part 3, kita akan mencoba membuat validasi akses pada
setiap halaman dengan memanfaatkan $_SESSION['id_user'].
Maksud validasi hak akses ini adalah jika user belum login maka dia tidak bisa mengakses
halaman home dan halaman lain yang membutuhkan login. 

Sampai Jumpa lagi sobat di tutorial selanjutnya





No comments:

Post a Comment

About Me

Yoga Iman on

Followers

© WORLD-INFO. Template by Template Responsive Design Powered By Blogger