Alo semuanya, ada sedikit revisi untuk postingan sebelumnya, yup, beberapa perbaikan koding untuk demo login di postingan http://onta-programing.blogspot.com/2009/01/membuat-aplikasi-database-dengan_14.html
Ada perbaikan kode untuk tombol Login pada Form Utama, Tombol login pada Form Login, dan Tombol Batal.
Yup, revisi ini dimaksudkan untuk lebih efisien dalam penggunaan kode. Mudah-mudahan temen-temen lebih mudah mempelajarinya :).
Oya Source Codenya juga dah di update ini link terbaru Source Codenya. Sok atuh di download SourceCode nya di Sini.
Postingan sebelumnya udah di rubah jadi Yaaa dibaca lagi aja ya. Thanks semuanya. Kirim Komentarnya ya :). Good Luck
About Me
- Son Rokhaniawan Perdata, S.T
- I am its person simple. Bad blood platitude. Directly az goes to aim target
Shoutbox
Pengikut Setia
Membuat Aplikasi Database dengan Netbeans, Waaah ternyata gampang Banget (Update Source Code)
Posted by
Son Rokhaniawan Perdata, S.T
at
10:36 AM
2
comments
Reporting dengan NetBeans
OK sekarang mari kita coba membuat sebuah latihan tentang reporting menggunakan iReport dan NetBeans IDE dan peralatan-peralatan yang perlu dipersiapkan adalah sebagai berikut :
- NetBeans 5.5
- iReport 1.3.1
- MySQL Server (atau bisa juga database server yang lain)
- JDK 1.6
Setelah peralatan telah siap, mari kita buat latihannya dan langkah-langkahnya adalah sebagai berikut:
- Bikinlah sebuah New Project dan berilah nama ReportingInNetBeans.
- Pada project inspector, klik kanan root project kemudian pilih New > JFrame Form kemudian pada jendela New JFrame isikan Frame Report pada Class Name, dan pada kolom isian Package pilihlah reportinginnetbeans. Setelah itu tambahkanlah beberapa komponen pada JFrame tersebut sehingga tampilannya menjadi seperti gambar dibawah ini:
Click to large - Setelah mengatur tampilan JFrame seperti pada gambar diatas, sekarang tekanlah tombol SHIFT+F11 agar NetBeans membuatkan sebuah direktori distribusi untuk kita yaitu direktori dist. Setelah itu, masuklah pada files inspector kemudian buatlah sebuah direktori yaitu direktori Report dibawah direktori dist yang berfungsi untuk menampung seluruh file template yang kita desain pada iReport dan tampilan dari langkah ke 3 ini terlihat seperti gambar dibawah ini:
Click to large - Setelah membuat sebuah direktori Report sekarang waktunya untuk mengkonfigurasi file build-impl.xml agar ketika kita melakukan proses Clean direktori Report ini tidak ikut terhapus. Sekarang bukalah file build-impl.xml yang terdapat pada direktori nbproject seperti gambar dibawah ini:
Click to large
Setelah file build-impl.xml terbuka, sekarang carilah CLEANUP SECTION seperti dibawah ini:526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
name="deps-clean" depends="init" unless="no.deps"/>
name="-do-clean" depends="init">
dir="${build.dir}"/>
dir="${dist.dir}"/>
>
name="-post-clean">
>
name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/> Setelah itu editlah baris 534 sehingga hasilnya menjadi seperti dibawah ini:
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
name="deps-clean" depends="init" unless="no.deps"/>
name="-do-clean" depends="init">
dir="${build.dir}"/>
file="${dist.jar}"/>
dir="${dist.javadoc.dir}"/>
>
name="-post-clean">
>
name="clean" depends="init,deps-clean,-do-clean,-post-clean" description="Clean build products."/> Setelah melakukan proses pengeditan seperti diatas simpanlah file konfigurasinya dan tutuplah NetBeans-nya agar mengurangi resource CPU
dan sekarang waktunya untuk membuat contoh report melalui iReport.
- Sebelum mulai menggunakan iReport, aturlah dahulu Data Source yang akan digunakan dengan cara pilih Data > Connections/Data Source dan aturlah koneksinya menjadi seperti gambar dibawah ini:
Click to large - Setelah selesai mengkonfigurasi Data Source, sekarang buatlah report baru dengan cara menekan File > New Document. Setelah template report muncul, sekarang tentukanlah Report Query yang akan digunakan untuk report ini. Untuk menentukan Report Query yang akan digunakan tekanlah Data > Report Query dan masukkanlah statement SQL sehingga tampilannya menjadi seperti dibawah ini:
Click to large - Setelah menentukan Report Query, sekarang design-lah report-nya hingga menjadi seperti gambar dibawah ini:
Click to largekemudian simpanlah dengan nama Mahasiswa_Report.jrxml pada direktori Report yang telah dibuat pada langkah ke 3 hingga struktur direktori project NetBeans kita menjadi seperti gambar dibawah ini:
Click to large - Setelah melakukan proses penyimpanan, sekarang coba jalankan report-nya dengan menggunakan active connection dengan cara tekan menu Build > Execute (with active connection) dan jika tidak ada masalah maka report yang telah anda design akan tampak seperti gambar dibawah ini:
Click to large - Report telah jadi, sekarang coba bukalah project ReportingInNetBeans kemudian pada tombol yang berfungsi untuk menampilkan reportnya berikanlah evet dengan cara klik kanan kemudian pilih Events > Action > actionPerformed kemudian pastekanlah kode dibawah ini:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26// TODO add your handling code here:
jButton1.setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));
Connection con = null;
try {
String jdbcDriver = "com.mysql.jdbc.Driver";
Class.forName(jdbcDriver);
String url = "jdbc:mysql://localhost/latihanibatis";
String user = "root";
String pass = "rahasia";
con = DriverManager.getConnection(url, user, pass);
Statement stm = con.createStatement();
try {
Mapprs = new HashMap ();
JasperReport JRpt = JasperCompileManager.compileReport("./dist/Report/Mahasiswa_Report.jrxml");
JasperPrint JPrint = JasperFillManager.fillReport(JRpt, prs, con);
JasperViewer.viewReport(JPrint, false);
} catch (Exception rptexcpt) {
System.out.println("Report Can't view because : " + rptexcpt);
}
} catch (Exception e) {
System.out.println(e);
}
jButton1.setCursor(Cursor.getDefaultCursor());Setelah itu, coba tekanlah tombol F6 untuk menjalankan projectnya dan jika tidak ada masalah maka report yang telah anda design di iReport akan tampil jika tombol yang berfungsi menampilkan reportnya ditekan
- Report sudah jalan dengan sangat sempurna di NetBeans, sekarang bagaimana jika kita ingin mencoba aplikasi ini pada komputer lain yang hanya mempunyai JRE saja ? Untuk menjawab pertanyaan ini, sekarang tekanlah tombol SHIFT+F11 agar netbeans membuatkan file *.jar untuk aplikasi kita. Setelah proses CLEAN and BUILD selesai, sekarang cobalah kopikan direktori dist/ ke komputer yang lain dan coba jalankan. Berhubung saya dirumah tidak mempunyai 2 komputer, maka saya kopikan ke user yang lain dan hasilnya seperti berikut :
Ini tampilan di user anton ( Anggap saja di PC Lain)
Click to largeIni tampilan di user javamaniac ( Anggap saja di PC Lokal )
Click to large
Silahkan dicoba dikomputer lain kalau tidak percaya, reportnya pasti akan jalan dengan sempurna seperti pada waktu kita jalankan dari NetBeans IDE
Resource :
- Sample Project ReportingInNetBeans.zip
- Mahasiswa.sql
Posted by
Son Rokhaniawan Perdata, S.T
at
10:29 AM
0
comments
Kartu Master Card Gratis Dari Payoneer
This summary is not available. Please click here to view the post.
Baca Selengkapnya......
Posted by
Son Rokhaniawan Perdata, S.T
at
2:38 AM
0
comments
Labels: Networking, Php, Warnet
Dollar Gratis - Survey Pertama Dapat 6 Dollar di AwSurveys
Info menarik lagi neh buat kalian, setelah browsing kesana-kemari akhirnya aku temuin deh situs ini. Tugas kita hanya survey website yang disediakan. Ada beberapa link yang disediakan pihak AwSurvey di menu Home. Saat saya mencoba pertama kali, setiap link ada dua situs yang harus disurvey. Aku coba aja masukin kata-kata dari hasil copy-paste situs laen, dan akhirnya dollar pertama kali masuk sebesar 6 Dollar pada survey yang pertama kali. Lakukan pada link-link yang lainnya maka 27 Dollar akan anda dapatkan untuk kali pertama. Lanjutkan hal yang sama setiap harinya. Pembayaran dollar via AlertPay, Paypal, atau USPS. Transfer ke Paypal atau yang lainnya dapat dilakukan dengan klik Reedem Money, dan minimal harus 75 Dollar.
Segera Sign-Up dan dapatkan dollarnya dengan klik banner di bawah ini.
Baca Selengkapnya......
Posted by
Son Rokhaniawan Perdata, S.T
at
9:07 PM
2
comments
Labels: Networking, Warnet
MySQL dan NetBeans
hmmmm, akhirnya saya buat juga nich tutorial MySQL dan NetBeans bagian 2.
sory bagi yang dah lama nunggu, maklum baru selesai UAS. jd sekarang lagi liburan panjang nich…
pada tutorial ini saya akan menjelaskan tentang mysql dalam netbeans, bukan mysql dan java
maksunya?
maksud saya, sekarang kita akan belajar tentang mysql namun dengan menggunakan Netbeans. ok, kalo bingun mending langsung aja masuk ke tutorial.
seperti biasa, proses managemen database mencakup proses administrator seperti pembuatan database, pembuatan table, dan pembuatan user. dan juga proses peremajaan database. seperti proses INSERT, UPDATE, DELETE dan tak lupa juga proses menampilkan database yaitu SELECT
kita tidak akan belajar serius tentang proses adminidtrator disini. namun kita akan memfokuskan di proses peremajaan database.
MEMBUAT DATABASE
untuk membuat database dalam NetBeans, masuklah ke MySQL comand promp lalu ketikkan
CREATE DATABASE NAMA_DATABASE;
maka otomatis akan terbuat sebuah database, contoh kita buat database dengan nama database “NETBEANS” :
kalo proses pembuatan berhasil, maka akan ada tulisan QUERY OK. sekarang kita mulai masuk ke NetBeans…
MEMBUAT KONEKSI
untuk membuat koneksi dalam Netbeans, pertama kita masuk dulu ke tab service :
setelah itu klik nanan pada Database, lalu pilih New Connection :
setelah itu masukkan akan keluar dialog seperti dibawah ini :
inilah nama host dengan lokasi server database MySQL, dan no portnya, juga nama databasenya yang tadi kita buat yaitu “NETBEANS”. setelah itu isi username dan password yang kita gunakan untuk mengakses database, lalu klik remember password agar kita tak perlu lagi konfirmasi ketika akan menggunakan koneksi seprti dibawah ini :
setelah itu klok ok :
klik Ok lagi.
setelah proses pembuatan koneksi berhasil, kita bisa melihat akan ada subtree baru yang terbuat dari hasil koneksi tadi. sekarang kita akan membuat table dan juga melakukan proses peremajaan.
sebelumnya klik kanan pada hasil subtree yang tadi kita buat lalu pilih Execute Comand :
maka akan terdapat editor baru untuk kita gunakan sebagai proses eksekusi kode SQL :
MEMBUAT TABEL
untuk membuat table dalam MySQL, gunakan kode seperti dibawah ini :
CREATE TABLE NAMA_TABLE(
NAMA_KOLOM TIPE_DATA KETERANGAN,
NAMA_KOLOM TIPE_DATA KETERANGAN
);
misal kita akan membuat sebuah table MAHASISWA dengan kolom NIM, NAMA, TANGGAL_LAHIR :
setelah itu klik tombol seperti pada gambar dibawah ini untuk mengeksekusi skrip diatas :
setelah itu, maka sekarang telah terbentuk sebuah table dalam database NETBEANS yang bernama MAHASISWA, anda bisa melimelihatnya pada subtree koneksi yang tadi dibuat :
jika tidak keluar, coba klik kanan lalu klik Refresh.
MEMASUKKAN DATA
sekarang kita akan melakukan proses pemasukkan data pada table yang tadi kita buat. untuk memassukkan data gunakan :
INSERT INTO NAMA_TABLE
VALUES (
‘NILAI KOLOM 1′,
‘NILAI KOLOM 2′
);
misal kita akan memasukkan data pada tabel MAHASISWA yang tadi kita buat :
setelah itu klik tombol eksekusi, maka tabel MAHASISWA sekarang akan terdapat sebuah record (baris) yang bernilai seperti yang tadi kita masukkan.
MENAMPILKAN DATA
pada step sebelumnya kita telah memasukkan data, namun kita belum tahu apakah data yang tadi kita masukkan berhasil atau tidak, makanya kita perlu menampilkan seluruh data dalam tabel MAHASISWA tadi. untuk menampilkan tabel gunakan :
SELECT NAMA_KOLOM, NAMA_KOLOM
FROM NAMA_TABLE;
atau, jika kita akan menampilkan seluruh kolom gunakan :
SELECT *
FROM NAMA_TABLE;
misal kita akan menampilkan seluruh data dalam tabel MAHASISWA :
setelah dieksekusi, maka akan muncul tabel seperti dibawah ini :
sekarang bisa kita liat bahwa proses INSERT tadi telah berhasil.
MENGUBAH DATA
selain proses INSERT, kita juga sering melalukan proses perubahan data atau lebih dikenal dengan proses UPDATE. dan untuk melakukan proses UPDATE gunakan :
UPDATE NAMA_TABLE
SET NAMA_KOLOM = ‘NILAI BARU’
WHERE
KONDISI;
misal kita akan mengubah nama untuk mahasiswa dengan nim 10106031 menjadi Nesia Oktiana :
sekarang data dalam table akan berubah seperti dibawah ini :
MENGHAPUS DATA
selain proses INSERT, UPDATE, kita juga pasti akan melakukan proses penghapusan data yang telah tidak digunakan atau dikenal dengan nama proses DELETE. dan untuk melakukan proses tersebut kita gunakan :
DELETE FROM NAMA_TABLE
WHERE
KONDISI;
atau jika kita akan akan menghapus seluruh data dalam table :
DELETE FROM NAMA_TABLE;
misal kita akan menghapus data pada tabel MAHASISWA dengan nim 10106031 :
sekarang kita tidak akan melihat data mahasiswa dengan nim 10106031 karena telah dihapus dari tabel :
akhirnya selesai juga tutorial bagian 2. nanti kita lanjutkan tutorial tentang JDBC dengan MySQL + NetBeans, tunggu aja ok!!!
see you at next tutorial…
Baca Selengkapnya......
Posted by
Son Rokhaniawan Perdata, S.T
at
8:59 PM
0
comments
Labels: Java
Yuwie = Friendster yg menghasilkan Uang
(1) |
Yuwie adalah sebuah situs “Social Networking” seperti Friendster, Facebook, My Space, dll, dan merupakan situs “Social Networking” yang pertama kali membayar kepada membernya. Yuwie akan terus berkembang di Indonesia karena saat ini maniak-maniak Yuwie di Indonesia udah banyak banget terutama kalangan "aBeGe" dan tak akan pernah mati karena sistemnya yang menyenangkan untuk dikerjakan dan benar-benar membayar membernya. Buruan daftar disini (no-scam). |
(2) |
Perbedaannya terletak pada hasil yang kita dapatkan bila kita menggunakan situs “Social Networking” tersebut. Di yuwie, selain kita mendapatkan banyak teman kita juga akan dibayar dalam bentuk dollar (US$) oleh Yuwie. Yuwie sudah banyak digunakan di Indonesia, jadi jangan khawatir kita gak akan dapat temen di sini. Pertemanan lebih kental karena sebenernya Yuwie mirip dengan MLM (Multi Level Marketing), kita tidak perlu membayar untuk bergabung dan dikemas dalam wadah yang menyenangkan yaitu dalam sebuah situs pertemanan. |
(3) |
Alasannya sangat logis, Yuwie membayar kita sebagai ungkapan rasa terimakasih karena kita telah menggunakan situs ini. Penghasilan Yuwie dari iklan (diperoleh dari pihak-pihak yang mengiklankan produknya di situs Yuwie) sebagian dibagikan kepada para membernya. Inilah yang menjadi perbedaan antara Yuwie dengan yang lain. Situs “Social Networking” lainnya, pendapatan dari iklan di situsnya sepenuhnya milik mereka, kita tidak mendapatkan apa-apa sedangkan kita sebenarnya telah menyumbang banyak “income” kepada mereka. |
(4) |
Yuwie membayar kita dari besarnya “page view/impression” yang kita kumpulkan tiap bulannya selama kita beraktivitas di Yuwie. “Page view” yang kita peroleh berasal dari “page view” yang kita hasilkan sendiri (PV/Personal View) dan berasal dari “page view” Referral kita. Jadi, di Yuwie kita akan dibayar per bulan berdasarkan “page view” yang kita peroleh. |
(5) |
CONTROL PANEL: Semua aktivitas kita dalam Yuwie direkam dalam halaman “Control Panel” untuk menentukan berapa besarnya “earning” (pendapatan kita), mengedit account, melihat daftar teman-teman kita, melihat berapa banyak “referral” kita, membuat blog, mengupload foto kita, mengirim/membalas messege, menambah/membuat group,dll. Control Panel, misalnya dalam Friendster merupakan halaman Home profil Friendster kita. |
PAGE VIEW/IMPRESSION: hasil dari segala bentuk aktivitas kita di Yuwie, seperti: mengedit account, melihat daftar teman-teman kita, melihat berapa banyak “referral” kita, membuat blog, mengupload foto kita, mengirim/membalas messege, menambah/membuat group, mengirim testimony, membuka-buka profile temen kita, membaca blog mereka, meng-add temen, kasih tanggapan blog temen kita, dll. Pokoknya semua aktivitas ber-Yuwie kita deh, semuanya..!! Perolehan "view/impression" adalah total dari PV (Personal View/View Pribadi) dan view yang kita peroleh dari referral kita. |
REFERRAL: Orang yang Join Yuwie melalui “Referral Link” kita, lebih jelasnya orang yang join Yuwie atas ajakan kita. Segala bentuk aktivitas referral kita yang tentunya akan menghasilkan “page view”, maka “page view” yang mereka hasilkan juga akan menjadi milik kita. Referral kita dalam Yuwie mencapai hingga 10 LEVEL, yaitu: |
EARNING: Besarnya pendapatan kita di Yuwie dalam bentuk US Dollar. Penghasilan kita bila sudah mencapai $5 akan di transfer (Payout) ke "bank virtual" di internet yaitu “Paypal”. Jika belum memiliki rekening paypal daftar aja dulu gratis di http://www.paypal.com. Klik “Sign-Up” (Di bawah Login), trus pilih “Personal”, klik Get Started. Ikuti langkah-langkah selanjutnya. Jangan lupa setelah selesai mendaftar, verifikasikan email kita. Masuk pada inbox email, lalu buka email dari paypal, klik link yang disediakan untuk verifikasi. Nah untuk Login ke paypal menggunakan alamat email kita dan password Paypal kita. |
(6) |
|
(7) |
Tugas kita setelah bergabung di Yuwie: |
(8) |
Untuk mengoptimasi referral kita agar mereka aktif ber-Yuwie sehingga mengghasilkan banyak "page view" bagi dirinya sendiri dan tentu saja berpengaruh bagi kita, posisikan diri kita menjadi UPLINE seperti halnya kita mengikuti sebuah MLM (Multi Level Marketing). Tugas seorang "upline" adalah memberi semangat, motivasi, menjadi guru yang baik bagi referral kita, dan yang paling penting adalah sebagai panutan/contoh referral-referral kita di Yuwie. Kita harus selangkah lebih depan dari pada mereka. |
(9) |
Untuk mencapai 1.000pv setiap bulannya merupakan hal yang sangat mudah di Yuwie. Kuncinya cuma satu, kita harus menjadi Member aktif di Yuwie. |
(10) | |
Manfaat apa yang kita peroleh jika kita melakukan copy-paste code di bawah ini ke dalam shoutbox profil Yuwie kita? Kita tidak perlu melakukan penjelasan berulang-ulang pada referral kita terutama yang baru saja gabung dengan Yuwie (newbie) yang pada dasarnya masih awam soal Yuwie. Mereka cukup membaca pada profil kita dan dapat langsung mengerti cara kerja Yuwie. |
Baca Selengkapnya......
Posted by
Son Rokhaniawan Perdata, S.T
at
9:18 PM
0
comments
Script pengatur waktu Session, Logout Otomatis
Banyak hal terjadi jika seseorang telah berhasil login sebagai user, dan tentunya login ini ada ketika user akan memanfaatkan layanan dari suatu website, bukan karena sebab yang lain, seperti tingkat sekuritas yang buruk. Selalu ada masa idle. Idle di sini bermakna user tidak melakukan apa-apa sama sekali di website tersebut, tidak berpindah halaman, tidak memasukkan input pada form manapun, dan tidak ada hal apapun yang menyebabkan sebuah halaman website terrefresh, dengan kata lain user tidak melakukan apa pun pada website yang sedang dia kunjungi. Sungguh user yang aneh. :D~~. Tapi hal seperti ini dapat terjadi jika user sedang asik mengunjungi website yang lain, dan lupa akan website yang dia kunjungi sebelumnya. Tentunya keadaan user pada website yang dikunjungi sebelumnya dianggap sebagai condition yang idle oleh website tersebut. Tidak ada hal apapun yang terjadi di website sebelumnya. Atau kondisi lain, dimana seorang user yang telah 10 menit meninggalkan pc-nya dalam keadaan lupa melogout accountnya. Sungguh terlalu. Di sinilah fungsi pengatur waktu session benar-benar dibutuhkan.
Ada dua cara untuk mengatur waktu session, yang pertama adalah merubah konfigurasi session timeout pada php.ini, cara yang terakhir yaitu dengan memanfaatkan fungsi time() dan variable session yang telah teregistrasi, dengan kata lain cara yang terakhir ini adalah merancang barisan code yang dapat mengatur waktu session. Penulis tidak akan menjelaskan cara yang pertama. Tapi yang akan penulis jelaskan adalah cara yang kedua. Penulis akan mengambil sebuah contoh kasus, ini untuk memudahkan penjelasan secara logika, dan penjelasan alur dari cara kerja script yang akan dibuat.
Kasusnya seperti ini, “Ketika user telah berhasil login, akan ada sebuah session yang digunakan sebagai patokan untuk membandingkan berapa lama user telah berada pada halaman website tersebut. Apabila waktu time() yang berjalan lebih besar dari nilai session dari variable yang dijadikan sebagai patokan nanti maka user tersebut akan secara otomatis terlogout”.
Secara struktur, algoritmanya akan seperti ini :
Ya, untuk algoritma di atas penulis bagi menjadi 2 function, yakni function login_validate() dan login_check(). Langsung saja persiapkan script yang dibutuhkan :
File index.php :
require_once "functions.php";
if (( $_POST['username'] == 'admin' ) && ( $_POST['password'] == 'admin'))
{
$_SESSION['user'] = $_POST['username'];
login_validate();
header("location: admin.php");
}
else if ( empty($_POST['username']) && empty($_POST['password']) )
{
header("location: login.php");
}
?>
Selanjutnya file intinya yaitu,
functions.php :
session_start();
function login_validate() {
$timeout = 30;
$_SESSION["expires_by"] = time() + $timeout;
}
function login_check() {
$exp_time = $_SESSION["expires_by"];
if (time() < $exp_time) {
login_validate();
return true;
} else {
unset($_SESSION["expires_by"]);
return false;
}
}
?>
Kemudian admin.php, barisan code dalam admin.php ini penulis ibaratkan seperti kondisi dari admin yang telah berhasil login. Jika lebih dari 30 detik maka user secara otomatis akan di logout. Nilai 30 detik ini diambil dari variable $timeout yang ada di functions.php.
File Admin.php :
require_once "functions.php";
if (ISSET($_SESSION['user']))
{
if (!login_check()) {
header("Location: logout.php");
exit(0);
}
else {
echo "Jika tidak ada kegiatan sama sekali, anda akan logout secara otomatis ... ";
}
}
else
{
echo "Anda tidak berhak untuk ngapa-ngapain ... !! :D";
}
?>
Selanjutnya halaman login usernya, login.php : username password
Terlihat jelas pada baris ke 4 di atas, halaman login page memiliki action, menuju index.php, yang kemudian menghasilkan 2 variable POST, yaitu $_POST[‘username’], dan $_POST[‘password’]. Kedua variable inilah yang kemudian dicek pada halaman index.php.
Dan yang terakhir adalah logout.php :
require_once "functions.php";
unset($_SESSION['user']);
session_destroy();
header("location: login.php");
?>
Cara kerja source code di atas cukup sederhana, lihat barisan code index.php,
......
if (( $_POST['username'] == 'admin' ) && ( $_POST['password'] == 'admin'))
{
$_SESSION['user'] = $_POST['username'];
login_validate();
header("location: admin.php");
}
else if ( empty($_POST['username']) && empty($_POST['password']) )
{
header("location: login.php");
}
....
Penjelasannya adalah sebagai berikut, Jika user memasukkan username dan password yang cocok ( dalam kasus ini username dan passwordnya adalah admin ) maka user akan diberikan sebuah variable session, yakni $_SESSION['user'], dan akan ditambahkan sebuah variable baru yang nantinya variable ini berfungsi sebagai timer, yakni
$timeout = 30;
Variable tersebut berada dalam fungsi login_validate() pada script functions.php. Sedangkan masih dalam fungsi login_validate, lompat ke barisan code dibawahnya yaitu :
$_SESSION["expires_by"] = time() + $timeout;
Disinilah letak timer yang sebenarnya, kehebatan dari session adalah dapat melakukan passing value walaupun halamannya berbeda. Jelasnya $_SESSION["expires_by"] mengambil nilainya dari waktu ketika user pertama kali login yaitu time() di tambah dengan 30 detik kedepannya, yakni isi dari variable $timeout.
Nah, dari situ, lihat ke bagian fungsi yang ada di bawahnya, pada functions.php :
...
function login_check() {
$exp_time = $_SESSION["expires_by"];
if (time() < $exp_time) {
login_validate();
return true;
} else {
unset($_SESSION["expires_by"]);
return false;
}
}
....
Ya, lihat baris :
$exp_time = $_SESSION["expires_by"];
Varibale $exp_time itu memiliki nilai dari $_SESSION["expires_by"],
Untuk kejelesannya penulis berikan contoh seperti ini, jika user login pada waktu jam 5, maka $_SESSION["expires_by"] berisi jam ke 5, menit ke 0, dan detik ke 30. Dan secara alami pun diketahui bahwa yang namanya waktu pasti akan terus bertambah tentunya. Tapi karena berada dalam fungsi, variable $_SESSION["expires_by"] ini tidak akan bertambah, walaupun time() terus berlanjutnya.
Lompat ke baris selanjutnya :
if (time() < $exp_time) {
login_validate();
return true;
Dalam baris tersebut sederhananya adalah, jika waktu yang sekarang berjalan lebih kecil nilainya dari nilai yang ada pada $_SESSION["expires_by"], maka tambahkan 30 detik lagi, dan jika waktu pada time() sama dengan nilai $_SESSION["expires_by"] maka user akan otomatis logout
Selanjutnya ...
...
else {
unset($_SESSION["expires_by"]);
return false;
}
...
Jika waktu yang sekarang berjalan itu lebih besar dari nilai yang ada pada $_SESSION["expires_by"], maka lakukan logout.
Script tersebut dapat di download di sini
http://networkandgame.890m.com/ilmuwebsite/article/session-time-by-alk.zip
Cukup jelas ya. Jika ada yang di tanyakan, silahkan layangkan pertanyaan ke email penulis.
Posted by
Son Rokhaniawan Perdata, S.T
at
8:24 AM
0
comments
Labels: Php
Jam Analog
Download E-Book Gratis
Kategori
- Hacking (3)
- Java (12)
- Java Script (4)
- Netbeans (4)
- Networking (3)
- Php (18)
- SMS Gateway (1)
- Toko Online (1)
- Warnet (4)
Posting Terbaru
Komentar Terbaru
Blog Archive
My Blog Log
Blog Support
-
-
-
-
-
-
-
Announcement16 years ago
-
DETIK DETIK ROSULULLOH SAKRATUL MAUT17 years ago
-