Menggunakan Session Dan Cookies

download Menggunakan Session Dan Cookies

of 10

Transcript of Menggunakan Session Dan Cookies

  • 40

    Bagian 7MENGGUNAKAN SESSION DAN COOKIES

    Program PHP memiliki beberapa fungsi yang dapat digunakan untukmenyimpan data sementara. Data ini akan disimpan dalam sebuah variabel dandisimpan dalam jangka waktu sementara selama seorang user mengunjungiwebsite dan selama belum menutup jendela browser. Hal ini sering disebutcookies dan session. Fungsi cookies dan session ini sering digunakan untukmengakses website pada halaman member atau website yang menyediakanfasilitas belanja online dan fasilitas-fasilitas lain yang berhubungan dengan aksesdatabase oleh anggota terdaftar.

    SessionSession sangat bermanfaat untuk website yang memberikan fasilitas terbatasbagi user yang telah terdaftar sebagai anggota. Data session akan tercipta padasaat user mengunjungi website dan login pada halaman keanggotaan. Datasession akan otomatis terhapus jika user keluar dari halaman anggota ataumenutup website tersebut. Membuat Session

    Data session tidak akan tercipta secara otomatis. Session diciptakandengan menggunakan fungsi session_start() yang berfungsi memanggilsession tersebut. Ada hal yang perlu diperhatikan sebelum menggunakanfungsi session ini, yaitu path untuk menyimpan data session ini.Pengaturan lokasi penyimpanan data session terdapat dalam file yangbernama php. yang ada dala folder c:\windows\. File ini adalah filekonfigurasi untuk modul PHP dalam windows yang tercipta saat modulPHP diinstal dalam windows. Lokasi penyimpanan data sesion dapatdiatur dalam file ini dengan mengubah data pada bagian berikut ini:Session.save_path =c:\PHP\sessiondata

  • 41

    Hal ini memberikan informasi bahwa data session yang akan digunakantersimpan dalam folder session data yang ada dalam direktori PHP.Bentuk :Session_Start();

    Keterangan :Fungsisession_start tidak dideklarasikan formatnya.Contoh:Berikut ini adalah contoh sederhana menggunakan fungsi session_start():

    Menggunakan fungsi session

    Hasil fungsi session yang ditampilkan adalah data berupa kombinasiangka dan huruf. Setiap user yang mengunjungi halaman tersebut akandiberi data session yang berbeda-beda secara acak.

    Membuat Session dengan Fungsi Session_Register()Fungsi session yang dipelajari sebelumnya menghasilkan data sessionsecara default. Data tersebut tidak dapat dideklarasikan sesuai dengankeinginan pembuat program. Cara membuat session yang dapatmendekrasikan sebuah variabel dan isi datanya adalah dengan

  • 42

    mengunakan fungsi session_register(). Dengan menggunakan fungsisession_register() ini, maka data session dan variabel yang dijadikan datasession dapat dibaca di browser.Bentuk :Session_Register(string);

    Keterangan : String adalah nama variabel yang datanya akan didaftarkan menjadi

    data session.Contoh :

    Session register

    Nama :

    Alamat :

  • 43

    Kode program di atas adalah halaman untuk login dan mendaftarkanvariabel nama dan alamat data session sehingga jika user mengakseshalaman kedua, data session akan tetap tersimpan selama belum menutuphalaman tersebut.Berikut ini adalah kode program untuk halaman kedua yang menggunakanfungsi session sehingga data session tersebut dapat dikenali pada halamantersebut.

    Jalankan file session_register.php sebagai halaman untuk loginpengunjung website. Isi form yang tersedia dan tekan tombol LOGIN,maka data dari variabel nama dan alamat akan tersimpan sebagai datasession.Setelah Anda tekan tombol LOGIN, maka akan tampil halaman anggotayang menampilkan nama, alamat, dan link menuju halaman 2. Klik link ke

  • 44

    halaman dua, maka data nama dan alamat akan tetap tersimpan dan dapatditampilkan pada halaman 2.Pada halaman 2 pun data nama dan alamat akan tetap dapat ditampilkan.

    Mengecek Hasil RegistrasiPada sebuah halaman website yang hanya mengujinkan user anggota sajayang dapat mengakses, dibutuhkan program yang berfungsi memeriksaapakah pengunjung sudah login atau belum. Untuk memeriksa variabelsession, Anda dapat menggunakan fungsi session_is_registerd(). Fungsiini bernilai True, jika session terregistrasi dan sebaliknya akan bernilaiFalse, jika session belum terregistrasi.Bentuk :Session_is_Registered(String);

    Keterangan : String adalah nama variabel yang datanya akan didaftarkan menjadi

    data session.Contoh :Berikut ini adalah kode program yang berfungsi memeriksa user yangbelum login:

  • 45

    Menghapus Variabel SessionUntuk menghapus atau mengakhiri sebuah session, Anda dapatmenggunakan fungsi Session_Destroy(). Untuk menghapus semuavariabel yang telah teregistrasi, Anda dapat menggunakan fungsiSession_Unset(). Fungsi ini menghapus semua variabel dan file-file yangada di direktori session data. Susunan yang benar untuk menghapussession data adalah fungsi Session_Unset(), kemudian diikuti fungsiSession_Destroy().Bentuk :Session_Destroy(String);Session_Unset();

    Keterangan : String adalah nama variabel yang datanya akan didaftarkan menjadi

    data session. Fungsi session_unset tidak dideklarasikan formatnya.

    Contoh :Sebagai contoh, program untuk menghapus data session adalah sebagaiberikut :

    CookiesCookies adalah mekanisme penyimpanan sebuah data variabel pada browseruser. Pada dasarnya cookies hampir sama dengan session. Akan tetapi, dengan

  • 46

    fungsi cookies Anda dapat mengatur berapa lama waktu untuk menyimpanvariabel data tersebut pada browser user hingga data cookies tersebut terhapussecara otomatis. Membuat Cookies

    Cookies adalah bagian dari HTTP header sehingga cookies harusdideklarasikan sebelum program mengirim output apapun ke browserpengunjung.Bentuk :Setcookies()

    Keterangan : Fungsi cookies tidak dideklarasikan formatnya..Contoh :Berikut ini adalah contoh pembuatan cookies :

    Nama : Email :

  • 47

    Selanjutnya, buat juga skrip untuk halaman 2 untuk redirect (tujuan linkselanjutnya) dari halaman 1 seperti pada kode program di bawah ini:

    Lakukan pengujian terhadap skrip anda dengan menjalan pada browser.Lengkapi form login dengan mengisi Nama dan Email selanjutnya klikpada tombol Login. Maka variabel nama dan email yang anda masukkanakan diset menjadi variabel cookies.

    Hasilnya adalah data variabel nama dan email yang akan ditampilkan padabrowser. Selain itu, ditampilkan juga sebuah link untuk mengakseshalaman Kedua.Apabila membuka halaman Dua, maka data dan variabel nama dan emailakan tetap dideklarasikan karena kedua variabel tersebut sudah disetsebagai variabel cookies. Variabel nama dan email tetap ditampilkanselama pengunjung belum menutup browser tersebut.

    Set Cookies dengan Batas WaktuDalam pembuatan sebuah data cookies dapat dideklarasikan juga cookiesexpire atau batas waktu data cookies aktif. Dengan menggunakan batas

  • 48

    waktu ini, data cookies tidak akan terhapus walaupun browser ditutupsampai batas waktu cookies tersebut habis. Untuk menentukan bataswaktu cookies tersebut, Anda dapat menggunakan fungsi Time() +Waktu. Dalam hal ini, waktu dideklarasikan dalam satuan detik. Sebagaicontoh, Anda ingin membuat data cookies dalam batas waktu hanya 1jam, maka gunakan bentuk penulisan program berikut:

    Setcookies(nama_cookies,$nilai,time()+3600);Untuk lebih jelasnya, perhatikan contoh kode program membuat cookiesdengan batas waktu berikut:

    Cookies dengan batas waktu

    Menghapus CookiesSebagaimana dijelaskan di atas bahwa cookies akan secara otomatisterhapus jika browser ditutup, namun apabila batas waktu cookiesdideklarasikan, maka data cookies akan tetap ada selama batas waktumasih berlaku.

  • 49

    Jika ingin menghapus data cookies, Anda cukup membuat cookies dengannilai kosong pada cookies tersebut. Setelah menjalankan cookies tersebut,data cookies masih akan ditampilkan, namun setelah direfresh datacookies akan terhapus.Berikut ini adalah contoh kode program untuk menghapus data cookies:

    Hapus cookies

    Ketika program diatas dijalankan data cookies sebelumnya masihditampilkan. Menghapus cookies dapat dilakukan dengan menggunakanrefresh atau menjalankan kembali program hapus_cookies.php.