Session digunakan untuk menyimpan suatu informasi antar proses request, baik request dalam bentuk POST atau GET.
Salah satu contoh yang menggambarkan penggunaan session adalah proses login. Dalam hal ini user akan memasukkan usernamenya melalui form login. Setelah login berhasil, user tersebut dihadapkan pada link menu navigasi yang menuju ke beberapa halaman web. Apabila kita ingin username tersebut akan selalu tampil atau tercatat di halaman-halaman web tersebut, maka username tadi haruslah disimpan dalam session.
Fungsi-fungsi session :
1. session_start(), untuk memulai session.
session_start — Menginisialisasi data dari session.
session_start() membuat sebuah session atau melanjutkan session sebelumnya berdasarkan pada pengidentifikasi session via GET atau POST atau cookie.
2. session_destroy()
session_destroy — Menghancurkan semua data yang terdaftar dari sebuah session
session_destroy() menghancurkan semua data yang berhubungan dengan session saat ini. Hal ini tidak merubah variabel global yang berhubungan dengan session tersebut, Hal ini juga tidak merubah cookie dari session. Untuk menggunakan lagi variabel sssion tersebut, session_start() haruslah dipanggil.
3. session_id(), untuk mengambil atau menentukan identitas sebuah session.
session_id — Mengambil atau mengatur session id saat ini.
session_id() digunakan untuk mengambil atau mengatur session id saat ini.
SID yang konstan dapat juga digunakan untuk mengambil nama dari SID saat ini dan session_id dalam bentuk string cocok untk ditambahkan kedalam URL.
4. session_register(), untuk mendaftarkan variabel ke sebuah session.
session_is_registered — Mengetahui apakah sebuah variabel telah terdaftar atau belum dalam sebuah session.
Fungsi ini tidak diperkenankan oleh PHP 5.3.0 dan dihapus pada PHP 6.0.0.
Langkah Pertama membuat file setup.php untuk membuat database:
setup.php
<html> <head> <title>Setup Database</title> </head> <body> <?php $cn = @mysql_connect("localhost", "root", "") or die ("Gagal konek ke MySQL."); mysql_query("drop database if exists db_user", $cn) or die ("Gagal menghapus database."); mysql_query("create database db_user", $cn) or die ("Gagal membuat database."); mysql_select_db("db_user", $cn) or die ("Gagal membuka database."); mysql_query("create table tb_user ( login_username varchar(32) not null, login_password char (32), login_rights varchar (32), primary key(login_username) )", $cn) or die("Gagal membuat table."); mysql_query("insert into tb_user values('admin', md5('admin'), '[A] [U]')", $cn); mysql_query("insert into tb_user values('user', md5('user'), '[U]'", $cn); mysql_close($cn); ?> <p>Sukses meng-setup database!<br/> username: <b>admin</b> dan Password: <b>admin</b> username: <b>user</b> dan Password: <b>user</b> </p> <p>Silakan menuju <a href="index.php">index.php</a></p> </body> </html>
Kedua Membuat File Halaman Utama :
index.php
<html> <head> <title>Homepage</title> </head> <body> <P> <a href="index.php">Home</a> | <a href="login.php">Login</a> | <a href="member.php">Member</a> | <a href="logout.php">Logout</a> </P> <p>Selamat datang. Di sini semua orang bisa mengakses.</p> </body> </html>
Ketiga membuat file yang hanya dapat diakses untuk member saja :
member.php
<?php session_start(); $username = ""; $password = ""; if (isset($_SESSION['username']) && isset($_SESSION['password'])) { $un = $_SESSION['username']; $pw = md5($_SESSION['password']); $cn = @mysql_connect("localhost", "root", "") or die ("Gagal konek ke MySQL."); mysql_select_db("db_user") or die ("Gagal memilih database."); $query = "select * from tb_user where login_username ='$un' and login_password = '$pw'"; $hasil = mysql_query($query) or die ("Gagal melakukan query."); if ($hasil !=false) { if (mysql_num_rows($hasil) ==1) { $username = $_SESSION['username']; $password = $_SESSION['password']; }; }; }; ?> <html> <head> <title>Members Only</title> </head> <body> <p> <a href="index.php">Home</a> | <a href="member.php">login</a> | <a href="member.php">member</a> | <a href="logout.php">logout</a> </p> <?php if (empty($username) || empty($password)) { echo "<p>Maaf, hanya members yang boleh mengakses halaman ini.</p>"; } else { ?> <p> Selamat datang <b><?php echo $username; ?></b> </p> <?php }; ?> </body> </html>
Keempat membuat form login
login.php
<?php session_start(); $username = ""; $password = ""; if (isset($_POST['username']) && isset($_POST['password'])) { $un = $_POST['username']; $pw = md5($_POST['password']); $cn = @mysql_connect("localhost", "root", "") or die ("Gagal konek ke mysql."); mysql_select_db("db_user") or die ("Gagal memilih database."); $query = "select * from tb_user where login_username = '$un' and login_password = '$pw'"; $hasil = mysql_query($query) or die ("Gagal melakukan query."); if ($hasil !=false) { if (mysql_num_rows($hasil) ==1) { $username = $_POST['username']; $password = $_POST['Password']; $_SESSION['username'] = $_POST['username']; $_SESSION['password'] = $_POST['password']; }; }; }; ?> <html> <head> <title>Login</title> </head> <body> <p> <a href="index.php">Home</a> | <a href="login.php">Login</a> | <a href="member.php">Member</a> | <a href="logout.php">Logout</a> </p> <p> <?php if (empty($username)) { if (isset($_POST['username']) || isset($_POST['password'])) { echo "<p>Username dan pasaword yang anda ketik adalah salah!</p>"; }; ?> <form name="login_form" method="post" action="login.php"> username: <input name="username" size="32" maxleght="32" ><br/> password: <input name="password" type="password" maxleght="32" ><br/> <input type="submit" name="button" value="submit" > </form> <?php } else { ?> <p>Anda telah berhasil melakukan login.</p> <?php }; ?> </p> </body> </html>
Kelima atau yang terakhir membuat file logout
logout.php
<?php
session_start();
unset($_SESSION['username']);
unset($_SESSION['password']);
?>
<html>
<head>
<title>logout</title>
</head>
<body>
<p>
<a href="index.php">Home</a> |
<a href="login.php">Login</a> |
<a href="memeber.php">Member</a> |
<a href="logout.php">Logout</a>
</p>
<p>
okee...Anda sudah logout.
</p>
</body>
</html>
Semoga postingan ini bermanfaat, Selamat Mencoba
Source code : mawan.or.id
Bila Kurang Jelas, silakan bertanya dibawah ini .
Post Info :
Judul = Fungsi Session Pada PHP Dan Cara Pembuatannya
Url = http://wwdq.blogspot.com/2011/05/fungsi-session-pada-php-dan-cara.html
Author = Riloaw. At : 19.18 Rabu, 11 Mei 2011 | Comment:42
Artikel Terkait
Judul = Fungsi Session Pada PHP Dan Cara Pembuatannya
Url = http://wwdq.blogspot.com/2011/05/fungsi-session-pada-php-dan-cara.html
Author = Riloaw. At : 19.18 Rabu, 11 Mei 2011 | Comment:42
Pertmx sobat... :D
BalasHapusDcoba ya tentang session dan cookies. Nanti klau ada mslh, sya blik lgi...
Sya bookmark dlu utk bljr...
Thx :D
Selamat gan :D
BalasHapusiya gan silahkan dicoba, untuk cookiesnya nanti ane posting kalau udah ga sibuk :) Terimakasih atas kunjungannya :D
pak saya punya script yg persyaratannya bgni :
BalasHapus----
Persyaratan:
--------------
1. Sebuah server web dengan php 4.3 atau lebih tinggi (Jika Anda penasaran tentang apa versi yang Anda miliki, jalankan script phpinfo.php yang datang dengan rilis ini)
2. CURL harus diinstal dan dikompilasi ke dalam PHP
3. MySQL
4. Anda harus memiliki sendmail atau SMTP diinstal
------
saya pake xampp 1.7.7
setelah install , kok layarnya semuanya putih ya pak ?
(biasanya kl error ada pmberitahuannya)
maksih pak ..
eee ... saya tau kl ini sdh dijawab gimana ya ?
he he ... (maklm ,baru di dunia internet ini)
email saya : baikati@ymail.com .
tengkiyu ...
mas jalaninnya di localhost kah? apakah fitur cURL nya sudah diaktifkan?
BalasHapusjawabannya akan saya jawab via email gan :)
gan buat nge test databasenya gimana?
BalasHapusd situ kan ga ada create new account yg tersedia d database cmn user sebagai admin & passwordnya dienkripsi,,
mohon bantuannya gan, ane lagi ada tugas nih..
@Muhammad Yogi Suryadiningrat saya masih bingung sama yang ditanyakan, mungkin gini kali yah maksudnya, create new account itu fitur register? disini kan ane contohinya loginnya hanya admin dan user yang bisa login, ya tinggal agan aplikasiin aja pakai insert database seperti di file setup.php dibagian
BalasHapusmysql_query("insert into tb_user values('admin', md5('admin'), '[A] [U]')", $cn);
mysql_query("insert into tb_user values('user', md5('user'), '[U]'", $cn);
kalau butuh cepat jawabannya silahkan mention twitter ane aja gan @Riloaw atau facebook Riloaw
@Rizal Loa Wanda
BalasHapusthanks gan.. udah ketemu ternyata saya ga teliti, haha
sebenernya lagi bikin nyari tuttor session sama cookies, ada artikelnya ga gan?
thanks gan sangat membantu..
@Muhammad Yogi Suryadiningrat Bagus deh kalau udah ketemy :D , kalau session sih ya cuma ini artikelnya yang ada disini, kalau cookies cuma sedikit nih PHP: Cookies
BalasHapusKembali kasih gan mau dateng lagi kesini :D
Waktu saya mengembangkan web LabHouse, sebelum nya saya menggunakan XAMPP versi 1.6 yang masih suport dengan PHP versi 4, suatu hari saya mencoba XAMPP versi 1.7 yang suport PHP versi 5. ternyata ketika web saya di jalankan di xampp yang baru tersebut, web nya tidak jalan. setiap link halaman yang dipanggil menggunakan metode “get” misalnya ketika saya mengklik menu forum, maka link di browser akan tampak “http://localhost/labhouse/index.php?page=forum”
BalasHapusSolusi :
Ubah di file php.ini nya. misalnya file nya ada di alamat “C:\Program Files\xampp\php”.
Kemudian cari atau tekan (Ctrl+f) short_open_tag
Ubah settingnya menjadi ON
Kemudian restart xampp nya dan jelankan kembali web nya.
generic valium names buy valium online no prescription uk - pics of generic valium
BalasHapusbuy xanax valium online florida buy xanax 2mg bars online - cheap xanax online pharmacy
BalasHapuszolpidem drug buy ambien online us pharmacy - ambien side effects when stopped
BalasHapusbuy xanax online no prescription xanax overdose 1mg - drug interactions with trazodone xanax
BalasHapusbuy diazepam 4 mg diazepam effects - diazepam side effects pregnancy
BalasHapusbuy diazepam indian generic diazepam - diazepam to buy no prescription
BalasHapuszolpidem 10 mg zolpidem rxlist - zolpidem tartrate 479
BalasHapuslorazepam online online lorazepam prices - buy ativan in canada
BalasHapusxanax generic xanax pills look like - xanax dosage bars
BalasHapusbuy diazepam diazepam 10 mg prodes - buy diazepam online with mastercard
BalasHapusbuy xanax without prescriptions xanax xr overdose symptoms - xanax bars 555 tv 1003
BalasHapusbuy generic soma can you buy soma online - carisoprodol overdose how much
BalasHapusbuy valium online buy valium online from canada - generic valium manufacturer
BalasHapusbuy valium online where to buy roche valium - kind drug valium
BalasHapusambien buy where to buy ambien online - ambien cr jet lag
BalasHapuszolpidem online ambien side effects diarrhea - ambien side effects eating
BalasHapusbuy ambien online more than 10 mg ambien - ambien brand name drug
BalasHapusbuy valium uk diazepam valium classification - canadian online pharmacy no prescription valium
BalasHapusbuy valium online valium use in dogs - valium round pink pill
BalasHapuscarisoprodol 350 mg carisoprodol recommended dosage - soma medication overdose
BalasHapusbuy valium in canada valium 10 effects - valium drug test
BalasHapusc4ks84bd http://www.cheapisotretinoinforless.net/#cheapest-accutane - cheapest accutane cheapest accutane online
BalasHapusxn7bl2d5 http://www.cheapisotretinoinforless.net/#cheap-isotretinoin-online - order accutane online order isotretinoin
BalasHapusmakasih sharingnya gan membantu jalan buntu jadi dapet jalan keluar gan hehehe :)
BalasHapusSaya juga begitu dulu untuk website periklanan saya iklanhalamanpertama.com
BalasHapusAwalnya saya heran di localhost bisa tapi ketika saya masukkan ke hosting tidak bisa.
Terima kasih sharingnya
Bagi Anda yang ingin beriklan, iklanhalamanpertama.com bisa diandalkan
cara membuat session di cekuser.php ketika login gimana ya ,jadi pas masuk ke laman login ada kalimat "selamat datang, admin " sesuai nama inputan login ???
BalasHapuskalo untuk session php 5.4 gmn ya gan
BalasHapuskisah nya sama ane kayak agan al fatih nih gan
BalasHapusgmn yah
mas minta sql nya
BalasHapusgan mau tanya supaya session ga hilang ketika open link new tab gmana ya gan
BalasHapusAssalamu'alaikum mas.
BalasHapusmau nanya. :
jika saya login di user(sebagai_pengunjung).
dan saya jg login di admin(sebagai_adminnistrator).
saat saya logout di user, maka admin pun ikut kena logut. itu bagaimana mas solusinya?
Terimakasih :D
apa masi aktif? kalo masi aktif, saya mau tanya tanya mas :D
BalasHapusSungguh bermanfaat bagi pemula...
BalasHapusMy blog