logo Sipintek.com
Browse : Home / Pemrograman / PHP / Belajar Menggunakan Cookie di PHP
Gambar Belajar Menggunakan Cookie di PHP

Belajar Menggunakan Cookie di PHP

Published by I Gede Arya Surya Gita - Posted on April 9th, 2020 - No Comments

Hai Sipiter! Kembali lagi di sesi “Tutorial Pemrograman PHP” dimana disini admin akan membahas cara membuat web dinamis dari dasar.

Pada postingan kali ini admin akan membahas salah satu materi yang ketinggalan yaitu cara menggunakan variable cookie di PHP.

Cookie memang bukan sebuah varibel yang wajib digunakan dalam membuat web, karena kita tidak boleh menggunakan cookie secara sembarangan.

Bahkan penggunaan variabel cookie memiliki aturan yang ketat di beberapa negara, dimana mereka mewajibkan kita untuk memberitahu dan meminta izin kepada pengguna website kita jika menggunakan cookie.

Pasti kalian bertanya kok kita enggak boleh membuat variabel cookie sembarangan ? dan kenapa banyak negara memberikan aturan ketat dalam penggunaan cookie?

Apa pentingnya cookie dalam pengembangan web? dan kapan kita harus menggunakan cookie di web kita?

Untuk menjawab rasa penasaran kita kali ini akan kita kupas tuntas cookie di PHP.

Berikut merupakan daftar materi yang akan kita bahas:

  1. Apa Itu Cookie?
  2. Cara Membuat dan Memanggil Cookie di PHP
  3. Cara Menghapus Cookie di PHP
  4. Cara Membuat cookie dalam bentuk Array di PHP
  5. Mengatur Habisnya waktu (expired time) Cookie di PHP
  6. Kapan Menggunakan Cookie?
  7. Kebijakan penggunaan Cookie

Apa Itu Cookie?

Cookie adalah sebuah data kecil yang dikirim oleh sebuah website ketika pengguna mengakses web tersebut, dan data ini akan tersimpan di komputer pengguna dalam kurun waktu tertentu.

Ketika kita kita mengakses sebuah website yang menggunakan cookie, maka cookie akan secara otomatis dikirim ke browser kita untuk disimpan ke komputer kita.

Biasanya cookie akan menyimpan data kegiatan yang kita lakukan ketika mengakses website tersebut, seperti kolom komentar pada website ini.

Kalian bisa berkomentar tanpa memiliki akun dan ketika kalian mengakses website ini, lalu jika berkomentar lagi di kemudian hari maka kalian akan menggunakan nama yang sama dengan pertama kali kalian mengirim komentar.

Pada dasarnya cookie dibuat untuk meningkatkan kenyamanan setiap pengguna dalam mengakses sebuah website.

Dengan adanya cookie kita tidak perlu login berulang-ulang, kita juga bisa mendapatkan rekomendasi barang yang kita sukai dll.

Karena cookie menyimpan informasi pribadi setiap pengguna, maka penggunaan cookie dari sebuah website perlu diketahui pengguna agar tidak disalah gunakan.

Tidak disarankan untuk menyimpan informasi penting pengguna dalam sebuah cookie seperti nama. password, alamat dll.

Kita dapat membuat cookie di web php kita dengan menggunakan fungsi setcookie().

Setcookie merupakan fungsi yang digunakan untuk mengirim cookie ke komputer pengguna di PHP, ketika dijalankan fungsi ini akan menghasilkan nilai boolean (true/false) dimana true jika cookie berhasil dibuat dan false untuk sebaliknya.

Aturan penulisan fungsi setcookie() adalah seperti di bawah:

setcookie(string $name, string $value, int $expired, string $path, string $domain, bool $secure, bool $httponly);

Atau untuk membuat cookie dengan simpel kita bisa menggunakan cara berikut:

setcookie(string $name, string $value, int $expired);

Berikut penjelasan setiap parameter fungsi setcookie() di php:

  • name = nama dari cookie yang akan dibuat, dimana nama ini akan menjadi index ketika mengakses cookie yaitu $_COOKIE[name], nama berupa string.
  • value = nilai yang akan disimpan dalam cookie, nilai ini berupa string.
  • expired = Merupakan waktu yang menentukan kapan cookie akan expired atau dihapus dari komputer pengguna, expired bernilai integer untuk menghasilkan waktu berupa integer kita dapat menggunakan fungsi time(), mktime(), strtotime().
  • path = lokasi yang menentukan dimana data cookie dapat digunakan atau dipangggil, nilai defaultnya adalah “/” artinya cookie dapat diakses dari semua halaman website.
  • domain = Agar cookie dapat diakses dari subdomain sebuah website.
  • secure = Menetukan apakah cookie hanya dapat diakses melalui koneksi keamaman HTTPS, defaultnya adalah false.
  • http only = menentukan cookie hanya dapat diakses melalui protocol HTTP, sehingga tidak dapat diakses oleh scripting language seperti javascript, default nilainya adalah tidak.

Kita dapat mengakses data cookie yang telah dibuat ketika kita mengunjungi kembali, mengunjungi halaman selanjutnya dan ketika memuat ulang halaman sebuah website dengan menggunakan variabel $_COOKIE.

Berikut merupakan contoh cara membuat dan memanggil cookie di PHP:

<?php  
	//membuat cookie yang expired dalam 30 hari
	setcookie("mode","black",time()+60*60*24*30);
	
	if(isset($_COOKIE['mode'])&amp;&amp;$_COOKIE['mode']=="black"){
		echo '<body style="background: black;color: white">';
	}else{
		echo '<body style="background: white;color: lightblue">';
	}
	echo "mode = ".$_COOKIE['mode'];
	echo "</body>";
?>

bisa dilihat pada gambar di bawah jika kita memanggil cookie yang baru dibuat maka hasinya akan error.

Gambar hasil dimana ketika cookie baru dibuat di php

Namun ketika kita memuat ulang (refreash) halaman tersebut maka nilai cookie akan ada, seperti gambar di bawah.

Gambar hasil dimana halaman cookie di refreash atau dimuat ulang di php

Fungsi untuk mengatur cookie di PHP hanya satu yaitu setcookie(), sehingga untuk menghapus cookie kita hanya perlu mengatur waktu expire cookie menjadi 0 atau sebelum waktu sekarang.

Jika waktu expired bernilai 0 maka cookie akan dihapus ketika kita menutup browser (saat session berakhir).

Jika waktu expired sebelum waktu sekarang maka cookie akan langsung terhapus.

berikut merupakan contoh cara menghapus cookie yang telah kita buat sebelumnya:

<?php
	//mengatur cookie agar dihapus ketika browser di tutup
	setcookie("mode","",0);
?>

Atau dengan cara dibawah agar cookie langsung dihapus.

<?php
	//mengatur cookie agar expired 1 jam yang lalu maka cookie akan langsung terhapus
	setcookie("mode","",time()-3600);
?>

Kita juga dapat membuat cookie dalam bentuk variabel array, karena pada dasarnya $_COOKIE adalah variabel array maka akan menjadi array multidimensi.

Berikut merupakan contoh cara menyimpan cookie dalam bentuk array multidimensi:

<?php 
	setcookie("user[id]","asjdhajhsdyebdb21",time()+60*60*24*30);
	setcookie("user[view]","12",time()+60*60*24*30);
	setcookie("user[status]","pembaca",time()+60*60*24*30);

	//cara mengaksesnya
	if (isset($_COOKIE['user']['id'])) {

		echo "<h1> Daftar nilai cookie </h1>";

		//untuk melihat struktur data cookie
		echo "<pre>";
		print_r($_COOKIE);
		echo "</pre><br/>";

		//untuk mengases satu persatu nilai cookie
		echo "user id = ".$_COOKIE['user']['id'];
		echo "<br/>user view =".$_COOKIE['user']['view'];
		echo "<br/>user status =".$_COOKIE['user']['status'];
		
	} else {
		echo "Refreash untuk melihat nilai cookie";
	}
	
?>

Hasilnya ketika pertama kali diakses seperti gambar di bawah:

Gambar hasil membuat cookie dalam bentuk array di php ketika pertama kali diakses

Berikut hasilnya ketika sudah di refreash:

Gambar hasil membuat cookie dalam bentuk array di php ketika sudah direfreash

Seperti yang kita tahu bahwa waktu expired yang dibaca oleh fungsi setcookie() adalah waktu dalam hitungan detik yang berupa bilangan integer.

Untuk menghasilkan waktu dalam bentuk integer di php kita bisa menggunakan fungsi time(), mktime() dan strtotime(), yang sudah kita bahas pada postingan :

Cara Menampilkan Tanggal dan Waktu di PHP

Kali ini akan menjelaskan cara menggunakan fungsi time() dan strtotime() untuk mengatur waktu expired cookie di php.

Sebelumnya kita sudah sering menggunakan fungsi time() untuk mengatur expired time cookie seperti dibawah:

<?php 
	setcookie("user[id]","asjdhajhsdyebdb21",time()+60*60*24*30);
?>

Penjelasan time()+60*60*24*30

  • time() = akan menghasilkan waktu sekarang dalam bentuk detik.
  • +60*60*24*30 = ditambah dengan hasil 60 x 60 x 24 x 30 yang menghasilkan 30 hari dalam detik, 60 pertama= detik ,60 kedua = menit, 24 = jam dan 30 = hari

Cara diatas akan menghasilkan hal yang sama dengan perintah di bawah, yang sama mengatur expired time cookie menjadi 30 hari.

<?php 
	setcookie("user[id]","asjdhajhsdyebdb21",time()+2592000);
?>

Cara diatas mungkin akan membutuhkan waktu execute code yang lebih cepat namun sulit untuk memahami code diatas daripada code sebelumnya.

Dengan menggunakan fungsi strtotime() kita dapat membuat pengaturaan expired time cookie yang sangat mudah dipahami, namun membutuhkan waktu execute code yang lebih lama dari cara yang sebelumnya kita pakai.

Berikut merupakan contoh cara membuat expired time dengan fungsi strtotime():

<?php 
	setcookie("user[id]","asjdhajhsdyebdb21",strtotime('+ 7 day'));
	setcookie("user[view]","12",strtotime('+ 10 days'));
	setcookie("user[status]","pembaca",strtotime('+ 1 month'));
	setcookie("user[log]","cek data",strtotime('+ 3 year'));
?>

Bagaimana sangat mudah untuk dipahami bukan namun jika kalian ingin prosesnya lebih cepat tidak disarankan menggunakan cara ini.

Sekarang penggunaan cookie sudah sangat berkembang yang dulunya hanya untuk menyimpan data barang belanja online di keranjang.

Sekarang kita dapat menggunakan cookie untuk beberapa hal yaitu:

  1. Mengatur sesi pengguna = kalian pasti sering melihat fitur remember me ketika login ke sebuah website dan jika kita centang maka kita tidak perlu login lagi jika mengunjungi website tersebut.
  2. Personalisasi = ini akan memudahkan pengguna, karena website dapat memperoleh informasi setiap pengguna tanpa perlu memiliki sebuah akun dalam website. Yang sering sekarang adalah seperti pengaturan mode light dark di setiap website dan penampilan saran konten yang relevan dll.
  3. Pelacak = Cookie memungkinkan kita untuk mengetahui kebiasaan pengguna ketika mengakses web kita, mulai dari halaman mana yang diakses dan berapa lama, sehingga website dapat dikembangkan sesuai kebiasan pengguna.

Kalian dapat mengembangkan penggunaan cookie sesuai kebutuhan kalian, tapi jangan sampai kalian merugikan para pengguna website kalian dan perhatikan hukum yang berlaku di negara kalian.

Seperti yang kalian ketahui dengan menggunakan cookie kita dapat mengetahui informasi pengguna yang bersifat pribadi secara mudah.

Sehingga banyak negara yang mewajibkan pemilik website untuk memberitahu dan meminta persetujuan pengguna terlebih dahulu jika menggunakan cookie.

Karena jika disalahgunakan informasi tentang kebiasan kita serta informasi pribadi kita yang lain bisa tersebar tanpa sepengetahuan kita.

Sekarang sangat penting untuk kita melihat kebijakan privasi dan penggunaan cookie sebuah website sebelum menggunakannya.

Uni Eropa (UE) pun telah mengeluarkan peraturan tentang privasi dan komunikasi elektronik yang dimana penggunaan cookie diwajibkan untuk meminta persetujuan dari pengguna.

Sehingga sekarang kita sering sekali melihat popup di sebuah website yang meminta persetujuan penggunaan cookie seperti gambar di bawah:

Gambar contoh popup meminta persetujuan penggunaan cookie di website
Gambar diambil dari web myanimelist.net

Sekian postingan kali ini semoga bermanfaat untuk kita semua dan nantikan postingan terbaru dari kami.

Jika memiliki pertanyaan atau masukan jangan sungkan untuk meninggalkan komentar.

“Nikmati sebuah proses mulai dari belajar, mengembangkan dan berbagi untuk orang lain”

Dukung kami dengan share postingan ini dan ikuti social media Sipintek ok.


Gambar Membuat Database Untuk Web CMS dengan MySQL #1

Membuat Database Untuk Web CMS dengan MySQL #1


Gambar Penjelasan MVC Dalam Pemrograman Web PHP

Penjelasan MVC Dalam Pemrograman Web PHP


Gambar Membuat Trait Untuk Menampung Method dalam OOP PHP

Membuat Trait Untuk Menampung Method dalam OOP PHP


Gambar Membuat Static Property dan Static Method di OOP PHP

Membuat Static Property dan Static Method di OOP PHP



Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *