rebstech

Memahami Session dengan Membangun Halaman Login Sendiri

PHP Session didefinisikan sebagai Variabel yang digunakan oleh PHP untuk mengenali atau menandai suatu “ciri-masukan”. Biasanya yang ditandai adalah session dari seorang user yang sedang melakukan “online session” pada halaman tersebut.

Mengapa Session diperlukan?

Dengan adanya penandaan user, atau penandaan-penandaan yang lain, maka user atau variabel yang ditandai itu akan diperbolehkan melakukan akses-akses pada properti yang menjadi haknya. Misal:

User A membuka halaman Facebook >>

melakukan session (dengan login) >>

Session terbangun untuk User A >>

User A dapat melakukan akses ke dalam halaman postingnya.

Dengan adanya variabel session itu, maka A tidak dapat melakukan hal-hal yang menjadi milik B selama A tidak memiliki hak akses ke dalamnya. Contoh lain adalah login admin sebuah web. Ketika seorang admin memasukkan user dan password dengan benar, maka session akan terbetuk, dan sang admin dapat melakukan posting ataupun hal-hal yang bersifat administratif terhadap web.

Sebagai contoh:

Saya memiliki sebuah situs http://bimo.rebstech.com dengan halaman administrator adalah http://bimo.rebstech.com/manage. Situs bimo.rebstech.com adalah berisi tentang hal yang telah dipublikasi, dengan cara diposting dan dimanage oleh saya selaku admin. Proses posting tersebut saya lakukan lewat halaman http://bimo.rebstech.com/manage.

Karena saya tidak ingin halaman manage tersebut diakses oleh orang yang tidak berhak, maka saya akan melindungi setiap isi halaman manage tersebut dengan SESSION CHECKER yang saya pasang pada bagian atas setiap halaman.

Untuk lebih mudahnya, langsung dengan menggunakan contoh

Halaman http://bimo.rebstech.com/manage akan berisi hal sebagai berikut

index.php

login.php

auth.php

logout.php

Dan saya menerapkan aturan bahwa semua harus via halaman login.php. Jika siapapun belum melewati halaman login, dia tidak akan dapat melakukan akses ke dalam file-file tersebut.

Berikut index.php

 
<?php
 
session_start();
 
if(!isset($_SESSION['userlog'])) {
 
header("Location: login.php");
 
}
 
echo "<font size='2' face='verdana'>Selamat login saudara :" . strtoupper($_SESSION['userlog']) . "! <a>Klik disini untuk logout</a> </font>";
 
echo "<br>Klik <a>disini untuk edit!</a>";
 
?&gt;

Kemudian halaman Login berisi :

 
 
<div>
	<div>
		<div></div>
		<div>
			<div>
			<form action="auth.php" method="POST">
					<table><tr><td><label for="aid_username">Username</label></td><td>
					</td></tr>
					<br />
					<tr><td><label for="aid_password">Password</label></td>
					<td></td><tr>
					<br />
					<tr><td><label> </label>
					</td></tr></table>
				</form>
			</div>
		</div>
		<div></div>
	</div>
</div>

Isi file auth.php berisi “PENERIMAAN VARIABEL POSTING DARI LOGIN.PHP DAN DICHECK UNTUK DISET SEBAGAI SESSION”

 
if(($usernm="admin") &amp;&amp; ($passnm="rahasia")) {
	session_start();
	$_SESSION['userlog'] = $usernm;
	header("Location: index.php");
 
	}
 
else {
	header("Location: login.php");
}

Selanjutnya, kita bisa memberikan halaman EDIT, TAMBAH, HAPUS dan lainnya dengan lebih dulu pada bagian atas file diberikan persyaratan:

&lt;?php
 
session_start();
 
if(!isset($_SESSION['userlog'])) {
 
header("Location: login.php");
 
}

Untuk proses username dan password, dapat dikombinasikan dengan database seperti MySQL. Untuk hal ini akan dijelaskan pada bagian lain.

No Comments

Leave a Reply