Senin, 24 Februari 2014

Cara membuat Login, Daftar, dan Logout dengan Php

Dalam suatu website tentu saja pasti terdapat sebuah form login untuk member ataupun admin.
kali ini saya akan memberikan kode login,daftar dan logout. Saya kasih juga sessionnya.
Buat tampilan mohon buat sendiri.hehehe. Disini saya membuatnya yang sederhana saja.

Pertama kalian sudah harus membuat table databasenya yha..Semisal kita buat nama table user seperti pada gambar dibawah ini.









kode table
CREATE TABLE `user` (
  `id_user` int(11) NOT NULL auto_increment,
  `nama_user` varchar(50) NOT NULL,
  `email` varchar(80) NOT NULL,
  `password` varchar(80) NOT NULL,
  PRIMARY KEY  (`id_user`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

Nama field bisa anda tambahkan atau edit sesuai yang dimau.asal nanti nyambung antara database dengan form-formnya.
Setelah itu kita buat form daftarnya.

O iya buat tambahan jika kamu belum membuat koneksi ke database. Buat folder untuk tempat setelah user login. Saya memberikan contoh dengan nama folder user. Masukkan koneksi di dalam folder tersebut. Berikut kode koneksi ke database :

koneksi.php
<?php
$h="localhost";
$u="root";
$p="root";
$db="myblog";
$cdb=mysql_connect($h,$u,$p);
if(!$db)
die ("connected eror");
if(!mysql_select_db("$db",$cdb))
die("database eror");
?>

$db sesuaikan dengan nama databasenya kalian sendiri.dan juga $p

Nah sekarang kita buat form daftar.

daftar.php
<form action="simpandaftar.php" method="POST">
<input type="text" placeholder="Nama" name="nama_user"/><br />
<input type="text" placeholder="Email" name="email"/><br />
<input type="password" placeholder="Password" name="password"/><br />
<input type="submit" value="Mendaftar"/>
</form>

action adalah alamat tempat exsekusi pendaftaran.method adalah jenis pengiriman variabelnya.

simpandaftar.php
<?php include "user/koneksi.php";
$nama_user=$_POST['nama_user'];
    $email=$_POST['email'];
    $konvert_pass=$_POST['password'];
    $enkrip=md5($konvert_pass);

$lihat_user=mysql_query("SELECT * FROM `user` WHERE email='$email' ");
$lu=mysql_num_rows($lihat_user);
if($lu==0)
{                                      
    $mendaftar=mysql_query("INSERT INTO `user` (id_user,nama_user,email,password)
    VALUES('','$nama_user','$email','$enkrip') ");
    if(!$mendaftar){
        echo "tidak bisa memasukkan data.";
    }
    else
    {
       echo "<html><head><meta http-equiv='refresh' content='0;url=login.php'></head><body></body></html>";
       //kode di atas jika user berhasil mendaftar akan dilarikan ke login.php...
    }
}
else
{
    echo "Email yang anda masukkan sudah dipakai.";
}
mysql_close($cdb);
?>

logika diatas user yang mendaftar akan di cek dahulu,apakah email sudah ada di table user. Jika sudah ada akan menampilkan email yang anda masukkan sudah di pakai. kalau belum akan di insert pada table user.
Saya sengaja pada password tidak saya perintahkan untuk mengisi ulang password karna biar mudah untuk dipahami.

Langkah selanjutnya buat login.

login.php
<form action="cek_login.php" method="POST">
<input type="text" placeholder="Email" name="email"/><br />
<input type="password" placeholder="Password" name="password"/><br />
<input type="submit" value="Login"/>
</form>


action ke cek_login.php untuk eksekusi user apakah di table user terdapat email dan password yang dimasukkan. Jika tidak ada tidak akan bisa masuk.

cek_login.php
<? include "user/koneksi.php";
session_start();

if(isset($_POST['email']) AND isset($_POST['password'])){
    $username = addslashes($_POST['email']);
    $password = addslashes($_POST['password']);
    $enkrip=md5($password);          
    $check    = mysql_query('select * from user where email="'.$username.'" AND password="'.$enkrip.'" ');
    if(mysql_num_rows($check)==0){
        echo 'email atau password Salah ! Mohon cek.';
    }
    else{
        $_SESSION['login']['email'] = $username;
        $_SESSION['login']['password'] = $enkrip;
        echo "<html><head><meta http-equiv='refresh' content='0;url=user/index.php'></head><body></body></html>";
       //kode di atas jika user berhasil mendaftar akan dilarikan ke folder user, file index.php...
    }
}
?>

Berikutnya, Buat cek user dengan session. Ini yang dimaksud session. Dengan kode ini kita bisa menuliskan sapa yang login tersebut.. Simpan dalam folder user yang dibuat tadi.

cek_user.php
<?php
session_start();
//cek jika user tidak login akan dialihkan ke halaman login...
if(!isset($_SESSION['login']['email'])){
header("location:../login.php");
exit();
}
?>

Next code... buat index pada folder user yang dibuat tadi.

index.php
<? session_start(); ?>
<?php include "cek_user.php"; ?>
<html>
<head>
<title>belajar membuat login, daftar, logout</title>
</head>
<body>
<?include "koneksi.php";
$user=mysql_query("SELECT * FROM user where email='".$_SESSION['login']['email']."'");
$u=mysql_fetch_array($user);?>

Selamat datang : <b><?echo "$u[nama_user]";?></b><br /><br />
Silahkan <a href="logout.php">logout</a>

</body>
</html>

Di atas tag <html> itu adalah sessionnya dan untuk cek user yang sedang login. Setiap file di dalam folder user dikasih kode seperti itu.Agar dapat terbaca data usernya yang sedang login.Misal nama, email seperti itu bisa di tampilkan.

Terahir ne,hehehe buat logoutnya.dimana agar bisa menghapus data disession. Simpan didalam folder user.

logout
<?
session_start();
unset($_SESSION['login']['email']);
session_destroy();

echo "<head><meta http-equiv='refresh' content='0;url=../index.php'></head><body></body>";
?>


Tambahan :
buat yang tidak tau kode bagian ini ../index.php   itu maksudnya index yang diluar folder.
tadi kan file logout didalam folder user kan.nah setelah klik logout akan dilarikan ke index yang diluar folder user.

Nah gimana ne teman-teman, silahkan mencoba.Semoga bermanfaat.Jika ingin ditanyakan tulis komentar kamu dibawah ini..
Kurang lebihnya mohon maaf.

Klik download untuk unduh filenya :

Tidak ada komentar:

Posting Komentar

mmlpro21 © 2014 . All rights reserved . Owner bloggers : mmlpro21