Membuat Form Login dan Logout dengan PHP – Untuk dapat membuat fasilitas login dan logout pada PHP, anda membutuhkan sebuah variabel global yang dapat menyimpan nilai secara kontinyu dan dapat digunakan dari satu file PHP ke file lainnya.

form-login-logout-php-mysql-1

Salah satu jenis penampungan seperti ini tersedia pada variabel server yang disebut Session. Berikut ini saya akan mencontohkan cara penerapan variabel session pada contoh kasus berikut yang membahas bagaimana cara membuat form login dengan PHP dan MySQL.

Bagaimana Pengimplementasian Variabel Session?

Dalam penggunaannya, anda perlu memanggil fungsi server yang bernama session_start(); Sertakan fungsi ini pada setiap file *.php yang hendak anda proses dalam hal penggunaan session ini.

form-login-logout-php-mysql-2

Untuk lebih jelasnya, berikut ini adalah contoh kasus sederhana yang dapat menggambarkan serta mendeskripsikan penggunaan variabel session dalam PHP untuk proses form daftar login dan logout dengan PHP MySQL

Persiapan Basis Data

Pertama-tama, dibuat dulu database beserta tabel yang akan digunakan untuk aplikasi PHP, sebagai contoh digunakan database dengan nama arecaweb_net. Berikut ini adalah perintah query DDL (Data Definiton Language) untuk membuat tabel daftar_user dan log_user:

CREATE TABLE `daftar_user` (
`nama_user` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`alamat_ip` varchar(20) DEFAULT NULL,
`waktu` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`nama_user`)
) ENGINE=MyISAM;
CREATE TABLE `log_user` (
`nama_user` varchar(50) NOT NULL,
`alamat_ip` varchar(20) DEFAULT NULL,
`waktu` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`nama_user`,`waktu`)
) ENGINE=MyISAM;

Implementasi Penggunaan variabel Session dalam PHP

Kemudian buat file baru dengan nama konek.php untuk menulis class yang berisi fungsi string koneksi PHP ke MySQL, script-nya adalah sebagai berikut:

<?php class Stat_Konek{ private $con; function __construct(){ $this->con=mysqli_connect('localhost','root','','arecaweb_net');
	}

	function __destruct(){
		$this->con->close();
	}

	function Eksekusi($sql){
		$rs=$this->con->query($sql);
		return $rs;
	}
	
}


?>

Selanjutnya, buat file index.php yang berisikan tampilan menu login dan logout dan pilihan pendafatan user baru serta log aktifitas user dengan script PHP sebagai berikut:

<?php ob_start(); require_once('konek.php'); $kon=new Stat_Konek(); session_start(); $alamat_ip=$_SERVER['REMOTE_ADDR']; ?>

<!DOCTYPE html>
<html>
<head>
	<title>Tutorial PHP #1 - Membuat Web PHP dengan Notepad | ArecaWeb.NET</title>
	<link rel="stylesheet" type="text/css" href="gaya.css">	
</head>
<body>

<div id="wrap">

<div id="menu">

<ul>
			<?php
			if(isset($_SESSION['user']) && $_SESSION['user']!=""){
				echo"
<li><a href=\"index.php?goto=0\">Keluar</a></li>

";
			}else{
				echo"

<li><a href=\"index.php?goto=1\">Daftar</a></li>


<li><a href=\"index.php?goto=2\">Masuk</a></li>

				";
			}
			?>
		</ul>

	</div>


<div id="layout">
	<?php if(isset($_GET['goto']) && $_GET['goto']!=''){ switch ($_GET['goto']) { case '1': # code... require_once('daftar.php'); break; case '2': # code... require_once('masuk.php'); break; case '3': # code... require_once('dalam.php'); break; default: # code... require_once('keluar.php'); break; } } ?>
	</div>

<hr/>

<div id="listview">

<pre>Log aktifitas user</pre>
<table id="tlist">
<tbody>
<tr>
<th>No.</th>
<th>Nama</th>
<th>IP</th>
<th>Waktu</th>
</tr>

				<?php $i=0; if($rep=$kon->Eksekusi("SELECT DISTINCT nama_user,alamat_ip,waktu FROM log_user ORDER BY waktu DESC;")){
		while ($row=$rep->fetch_row()) {
			# code...
			$i++;
			echo"
<tr>
<td>$i</td>
<td style=\"color:darkblue;\">$row[0]</td>
<td>$row[1]</td>
<td>$row[2]</td>
</tr>

			";
		}
		if($i>10){
			if($del=$kon->Eksekusi("SELECT nama_user,waktu FROM log_user ORDER BY waktu ASC LIMIT 1;")){
				if($hps=$del->fetch_row()){
					$var1=$hps[0];
					$var2=$hps[1];
					$kon->Eksekusi("DELETE FROM log_user WHERE nama_user='$var1' AND waktu='$var2';");
				}
			}
		}
	}
				?>
			</tbody>
</table>
</div>
</div>

</body>
</html>

Untuk sedikit mempermanis tampilan antarmuka web, digunakan file CSS yang disimpan dalam file gaya.css, dengan kode sebagai berikut:

#listview{
	font-family: 'courier new';
	font-size: 13px;
	padding: 1px;
}
#listview th{
	text-align: left;
	padding: 3px
}
#listview td{
	text-align: left;
	padding: 3px;
}
.entry{
	font-size: 12px;
}
#wrap{
	margin: 0px auto;
	max-width: 500px;
	border-style: solid;
	border-collapse: collapse;				
	border-radius: 7px;
	border:solid 1px #c0c0c0;
	padding: 5px;		
}
txt{
	font-style: italic;
}
#menu{
	font-family: 'times';
	font-size: 13px;
}

Untu demo aplikasi PHP MySQL secara online, dapat dicoba melalui link demo berikut ini Demo Login Logout dengan PHP MySQL

Ada setidaknya enam buah file PHP yang dibuat dalam aplikasi ini serta sebuah file CSS untuk sedikit mempermanis tampilan interface form user, namun tidak saya tampilkan dalam pembahasan ini. Untuk mendapatkan file lengkapnya, anda dapat mengunduh langsung melalui link berikut ini: Download source code

Penutup

Sekian tutorial pertama tentang cara membuat form login dan logout dengan PHP dan MySQL serta penggunaan variabel Session. Jika anda mengalami kendala dan permasalahan dalam prakteknya, silakan meninggalkan komentar di akhir tulisan ini.

5 thoughts on “Membuat Form Login dan Logout dengan PHP

    • Untuk pembuatan/ penulisan kode, saya menggunakan Notepad saja.
      Yang penting, komputernya telah terinstall webserver (apache) dan PHP.
      Silakan agan googling untuk informasi detail tahap dasar persiapan belajar PHP.

      Reply

Leave a reply

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> 

required