Minggu, 07 April 2019

Mengenal Bahasa PHP [bagian 11] : Penggunaan Cookie

Yahooo Yahoo😘... Hellaw! Annyeonghaseyo!🙋

Ketemu lagi kita, ngehehe😁. Seperti biasa kali ini kita akan membahas materi kelanjutan minggu lalu. Jika sebelumnya kita belajar tentang SESSION untuk menyimpan data atau value agar dikenali beberapa script di web, sekarang kita akan membahas tentang Cookie.

Pernah dengar Cookie❓ Atau pernah membacanya di suatu tempat❓❓ HP kalian mungkin❔

Nah, lalu apa sih perbedaan session dan cookie❓ Dari sisi fungsi, keduanya sama, perbedaannya adalah pada session value disimpan pada server web sedangkan cookie disimpan pada komputer client.

Lalu untuk penggunaannya sendiri, yang mana yang lebih baik❔ Sebenarnya ini tergantung kalian juga. Lebih suka session atau cookie❔❔

Session ini dapat menyimpan value namun juga dapat terhapus saat jaringan tiba-tiba putus, dan jika misal ketika kalian sedang mengunjungi web yang mengharuskan kalian login maka kalian harus login lagi. Sedangkan pada cookie, value tetap disimpan meskipun jaringan nanti terputus. Namun, ada kelemahannya juga, user yang menggunakan komputer yang sama juga dapat menghapusnya.

Cara Menyimpan Value Ke Dalam Cookie🍪

Berikut ini adalah perintahnya:

setcookie("nama cookie", value, expired time);

Penjelasan singkat:
'nama cookie' diisi dengan sembarang nama. Seperti memberi nama pada session.
'value' diisi dengan value yang akan disimpan.
'expired time' diisi lama waktu masa berlakunya cookie.

Catatan❗❗

'nama cookie' tidak boleh ada spasi.
'expired time' dihitung dalam satuan detik.

Contoh:


<?php
$kata = "Saya sedang belajar COOKIE";
setcookie("mycookie", $kata, time()+3600);
?>


Script di atas akan menyimpan value berupa teks ‘Saya sedang belajar COOKIE’ ke dalam cookie.  Jika  script  di  atas  dijalankan,  maka  kita  bisa  lihat  valuenya  dalam  cookie. Jika kalian menggunakan Firefox, maka cara melihat👀 COOKIE nya adalah:

1. Klik TOOLS > OPTIONS.
2. Pilih menu tab PRIVACY.
3. Klik tombol SHOW COOKIES.
4. Kemudian dicari nama situsnya, karena kalian mencobanya melalui LOCALHOST maka LOCALHOST menjadi nama sitenya.
5. Lalu akan tampil seperti pada gambar berikut ini.


Pada  script di  atas, 'expired  time'nya  diberikan  time()+3600 maksudnya cookie akan disimpan selama 1 jam (3600 detik). Setelah 1 jam maka cookie akan terhapus secara otomatis. Jika ‘expired time’ tidak dituliskan maka cookie akan terhapus begitu browser ditutup, seperti halnya SESSION.

Nah…   konsep cookie yang bisa diatur jangka waktunya ini sering dimanfaatkan oleh program-program bisnis afiliasi🔍. Cookie dalam bisnis afiliasi ini digunakan untuk menyimpan nomor ID dari referalnya. Bila terdapat konsumen yang membeli produk di bawah ID referal seseorang selama usia cookie ini masih aktif, maka orang yang memiliki ID referal tadi akan mendapatkan komisi💰.

Membaca Value Cookie🍪

Setelah cookie tersimpan, selanjutnya kita bisa membaca valuenya. Caranya adalah menggunakan perintah👇

$_COOKIE['nama cookie'];

Contoh:

<?php
if isset($_COOKIE['mycookie'])
{
echo $_COOKIE['mycookie'];
}
else echo "Cookie Tidak Ada";
?>

Script di atas digunakan untuk menampilkan value dari cookie bernama ‘mycookie’ bila cookie ada (masih tersimpan dalam komputer), sedangkan bila sudah tidak ada maka ditampilkan ‘Cookie Tidak Ada’.

Mungkin kalian berpikir😵, bagaimana bila terdapat nama cookie yang sama lebih dari  satu  yang  tersimpan  dalam  komputer?

Jawabannya, bila nama cookie yang sama berasal dari situs yang sama, maka sifat timpa-menimpa value seperti dalam variabel akan terjadi.

Contoh:

script1.php

<?php
$kata = "COOKIE 1";
setcookie("mycookie", $kata, time()+3600);
?>

script2.php
<?php
$kata = "COOKIE 2";
setcookie("mycookie", $kata, time()+3600);
?>

Kedua  script  di  atas  akan  melakukan  proses penyimpanan  cookie  sebanyak  2  kali✌ dengan value yang berbeda namun nama cookienya sama. Jika kalian jalankan script di atas  dalam  LOCALHOST  (sebagai  nama  situsnya), maka value cookie pertama akan ditimpa dengan cookie yang kedua.

Tapi, misalkan kalian punya dua situs atau server yang berbeda misalnya A dan B, kemudian script1.php kalian upload ke A sedangkan script2.php diupload ke B. Selanjutnya script1.php di A dijalankan dan script2.php di B juga dijalankan. Bila diperhatikan, maka proses ini akan menghasilkan 2 buah cookie yang berbeda, meskipun nama cookienya sama. Di sini yang membedakan adalah nama server atau situsnya💆.

Tugas Untuk Anda

Buatlah sebuah halaman  web berisi sebarang  konten yang bisa menginformasikan nama pengunjungnya, kapan kunjungan terakhir. 

Bila  seseorang  baru  pertama  kali  mengunjungi  halaman  web  tersebut,  maka akan  muncul  form  untuk  memasukkan  nama  pengunjung.  Berikut  ini  contoh gambarannya: 

Misalkan ada seorang seseorang bernama AGUS sedang membuka halaman web tersebut   untuk   pertama   kalinya   pada   tanggal   20/4/2009   melalui   laptop pribadinya dan mengisi namanya pada form nama pengunjung yang disediakan. 

Selanjutnya  bila si AGUS  tadi membuka  kembali  halaman  web  tersebut  pada tanggal  29/4/2009  dengan laptop yang sama, maka form untuk memasukkan nama  pengunjung  tidak  akan  muncul  melainkan  muncul  keterangan:  “Terima kasih AGUS atas kunjungannya  kembali  ke halaman  ini.

Anda terakhir mengunjungi halaman ini pada tanggal 20/4/2009”. 

Gunakan COOKIE untuk menyelesaikan kasus di atas!

Jawab:

Langkah pertama yang harus kalian lakukan adalah membuat file form untuk memasukkan nama pengunjung.

tugas1cookie.php

<form method="post" action="proses1cookie.php">
Masukkan Nama Anda <input type="text" name="nama">
<input type="submit" value="SUBMIT">
</form>



Setelah itu buat file prosesnya.

proses1cookie.php

<?php
$nama=$_POST[nama];
if (isset($_COOKIE[nama]))
{
    echo "Selamat Datang Kembali ".$_COOKIE[nama];
}
else
{
    setcookie('nama', $nama, time()+3600);
    echo $_COOKIE[nama];
}
echo date("d-m-y h-i-s");
?>


Biasanya, untuk melihat hasilnya aku buka 'Microsoft Edge'. Tapi kalau misal kalian ada 'Google Chrome' tak sarankan pakek itu. Dan karena ku tak punya juga, maka kali ini aku pakek 'Mozilla Firefox' untuk melihat hasilnya.

 Saat sudah di submit, maka tanggal saat kita masuk akan terlihat.

 Untuk mengecek apakah data yang kita masukkan tadi tersimpan dalam cookie atau tidak, maka yang harus kita lakukan adalah mengeceknya. Langkah-langkahnya adalah:
1. Buka 'pengaturan' pada Mozilla Firefox. Atau bisa ditekan F12.
2. Setelah itu akan muncul tampilan jendela 'Pengaturan' seperti di bawah ini. Setelah itu pilih 'Privasi'.


3. Jika kalian lihat tulisan berwarna biru dan bergaris bawah 'menghapus kuki satu-persatu'. Pilih saja. Maka akan muncul jendela 'Kuki' seperti di bawah ini.


4. Karena yang selalu kita pakai untuk mengecek hasil program adalah 'localhost' maka yang kita cari adalah folder 'localhost'. Setelah itu dapat kita pilih file mana yang tadi kita simpan.


Pada file di atas, dengan variabel nama berisi 'cibi+maruko+chan' sesuai dengan nama yang sudah diinputkan, bukan? Pada jendela di atas juga ditampilkan waktu kadaluwarsa yaitu pada Minggu, 21 April 2019 17.04.24.

5. Setelah mengeceknya, kalian bisa menutupnya kembali. Jangan dihapus, kawan.
6. Setelah itu, kalian bisa kembali mengecek apakah komputer masih mengingat nama yang baru saja diinputkan. Cepet, sebelum waktunya kadaluwarsa. Caranya adalah dengan menginputkan kembali nama yang sama pada form awal tadi.

Kalau hasil yang muncul seperti di atas, maka program kalian artinya sudah berhasil!!

Semoga kalian mengerti ya? Terima kasih dan Wassalam...

Tidak ada komentar:

Posting Komentar

Upload File dengan PHP dan MySQL

Upload file adalah salah satu bagian terpenting dalam membuat aplikasi, khususnya yang berbasis web.Contohnya saat kita harus mengupload ent...