PHP Web Features
Cookies কি?
Cookies হলো আপনার ইন্টারনেট ব্রাউজারের ক্যাশ মেমোরিতে সংরক্ষিত হওয়া কিছু ফাইল। আপনি যখন বিভিন্ন ওয়েবসাইটে যান, তখন এই কুকিজগুলো আপনার কম্পিউটারে সেভ হয়ে থাকে। মূলতঃ আপনার পরিদর্শন করা ওয়েবসাইটগুলো আপনার কম্পিউটারে সংরক্ষণ করে। ইন্টারনেট ব্রাউজিংয়ের সময় সার্ভার থেকে আপনার ব্রাউজারে অবিরত পাঠানো প্যাকেট ডাটা, যা ব্রাউজার আবার সার্ভারে ফেরত পাঠায় – ইন্টারনেট জগতে এই সকল প্যাকেট ডাটাকে cookies বলা হয়। ওয়েবসাইটের সেটিংস অনুসারে যখন আপনি সাইটে ফেরত আসবেন, সংশ্লিষ্ট ব্রাউজার এই সাইট সম্পর্কিত cookie ফেরত পাঠায়। এটি আপনার দেয়া তথ্য অনুযায়ী সাইটটিকে আপনার পছন্দ অনুযায়ী প্রদর্শন করতে অনুমতি প্রদান করে।
মনে করুন আপনি Amazon, Alibaba, Aliexpress বা Ebay এর মতো কোন E-Commerce সাইটে গেলেন বা কোন Ticket বা Hotel Booking এর সাইটে গেলেন তো এইসব সাইট আপনার ইন্টারনেট ব্রাউজারে তাদের প্রয়োজনীয় cookies বসিয়ে দেবে। এখন এই cookies বসানোর পরে আপনি সেই সাইট গুলোতে গিয়ে কি কি প্রোডাক্ট বা প্লেস সার্চ করলেন বা কোন আইটেম বেশি সময় ধরে দেখলেন আর কোন আইটেম কম সময় ধরে, এই সমস্ত ডাটা গুলো আপনার ইন্টারনেট ব্রাউজার কুকিজের মাধ্যমে সেই ওয়েবসাইট টির কাছে লাগাতার পাঠাতে থাকে। যাতে আপনি যদি পরবর্তীতে সেই ওয়েবসাইটে প্রবেশ করেন তবে সেই ওয়েবসাইট টি আপনাকে রেকমেন্ড রেজাল্ট দেখাতে পারে। এছাড়াও সংশ্লিষ্ট ওয়েব সাইট গুলো google, facebook এর মতো ads flatform এর মাধ্যমে আপনাকে আপনার পছন্দনীয় আইটেমের ads প্রদর্শন করতে পারবে। মনে করুন আপনি গতবার অ্যামাজনে একটি ব্র্যান্ডের ঘড়ি সার্চ করেছিলেন এবং কুকিজের মাধ্যমে সেই ডাটা গুলো অ্যামাজনের কাছে চলে গেছে, এবার এখন যদি আবার অ্যামাজন ভিসিট করেন অথবা গুগল এ সার্চ করেন তবে আপনাকে আরো ঐরকম ঘড়ি দেখানো হবে আপনাকে একই দাম রেঞ্জের আরো প্রোডাক্ট দেখানো হবে।
PHP দিয়ে কিভাবে cookie তৈরী করা হয় ?
PHP তে setcookie() ফাংশনের মাধ্যমে কুকি তৈরি করা হয়। নিচের সিনটেক্স দেখুন:
setcookie(name, value, expire, path, domain, secure, httponly);
এবার চলুন cookie দিয়ে একটা value সেট করা যাক :
<?php $cookieName = "user"; $cookieValue = "Sohel Alam"; setcookie($cookieName, $cookieValue, time() + (86400 * 30), "/"); // 86400 seconds=1 day if(!isset($_COOKIE[$cookieName])){ echo "Your Cookie $cookieName is not set"; } else{ echo "Your Cookie $cookieName is set<br>"; echo "Your Cookie $cookieName value is: $_COOKIE[$cookieName]"; } ?>
Output
Your Cookie user is set Your Cookie user value is: Masud Alam
ব্যাখ্যা
- উপরের উদাহরণে “Masud Alam” ভ্যালুযুক্ত একটি cookie তৈরি করা হয়েছে এবং যার নাম দেওয়া হয়েছে “user”।
- ৩০ দিন(৮৬৪০০ * ৩০) পরে কুকিটির মেয়াদর্ত্তীন্ন(expire) হবে।
- “/” মানে হলো cookie টি সমগ্র ওয়েবসাইট জুড়েই বিদ্যমান থাকবে। এছাড়া আপনি আপনার প্রয়োজন মতো ডিরেক্টরি সেট করে নিতে পারবেন।
- isset() ফাংশন ব্যবহার করে কুকি সেট করা হয়েছে কিনা চেক করা হয়।
- cookie সেট করা হলে আমরা গ্লোবাল ভ্যারিয়েবল $_COOKIE এর মাধ্যমে “user” cookie এর ভ্যালু উদ্ধার করি।
নোটঃ setcookie() ফাংশনটি অবশ্যই
<html>
ট্যাগ এর উপরে(আগে) ব্যবহার করতে হবে।
নোটঃ কোনো ওয়েব সাইটে কুকি পাঠান তখন তার ভ্যালু স্বয়ংক্রিয়ভাবে URL encoded হয় এবং যখন গ্রহণ করা হয় তখন স্বয়ংক্রিয়ভাবে decoded হবে। URL encoding প্রতিরোধ করার জন্য setrawcookie() ফাংশনটি ব্যবহার করতে পারেন।
PHP দিয়ে কিভাবে Cookie ভ্যালু পরিবর্তন করবেন?
একটি কুকির ভ্যালু পরিবর্তন(modify) করতে হলে আপনাকে setcookie() ফাংশন ব্যবহার করে পূনরায় কুকিটিকে সেট করে দিতে হবে।
Cookie কিভাবে ডিলেট করবেন?
Cookie ডিলেট করার জন্য আপনাকে setcookie() ফাংশন এর expire প্যারামিটারে মেয়াদ উত্তীর্ণ তারিখ ব্যবহার করতে হবে। নিচের উদাহরণ দেখুন :
<?php $cookieName = "user"; setcookie($cookieName, "", time() - 3600, "/"); if(!isset($_COOKIE[$cookieName])){ echo "Your Cookie is Deleted"; } ?>
Output
Your Cookie is Deleted