Cookies কি?

PHP Cookies
PHP Cookies

Cookies হলো আপনার ইন্টারনেট ব্রাউজারের ক্যাশ মেমোরিতে সংরক্ষিত হওয়া কিছু ফাইল। আপনি যখন বিভিন্ন ওয়েবসাইটে যান, তখন এই কুকিজগুলো আপনার কম্পিউটারে সেভ হয়ে থাকে। মূলতঃ আপনার পরিদর্শন করা ওয়েবসাইটগুলো আপনার কম্পিউটারে সংরক্ষণ করে। ইন্টারনেট ব্রাউজিংয়ের সময় সার্ভার থেকে আপনার ব্রাউজারে অবিরত পাঠানো প্যাকেট ডাটা, যা ব্রাউজার আবার সার্ভারে ফেরত পাঠায় – ইন্টারনেট জগতে এই সকল প্যাকেট ডাটাকে cookies বলা হয়। ওয়েবসাইটের সেটিংস অনুসারে যখন আপনি সাইটে ফেরত আসবেন, সংশ্লিষ্ট ব্রাউজার এই সাইট সম্পর্কিত cookie ফেরত পাঠায়। এটি আপনার দেয়া তথ্য অনুযায়ী সাইটটিকে আপনার পছন্দ অনুযায়ী প্রদর্শন করতে অনুমতি প্রদান করে।

মনে করুন আপনি Amazon, Alibaba, Aliexpress বা Ebay এর মতো কোন E-Commerce সাইটে গেলেন বা কোন Ticket বা Hotel Booking এর সাইটে গেলেন তো এইসব সাইট আপনার ইন্টারনেট ব্রাউজারে তাদের প্রয়োজনীয় cookies বসিয়ে দেবে। এখন এই cookies বসানোর পরে আপনি সেই সাইট গুলোতে গিয়ে কি কি প্রোডাক্ট বা প্লেস সার্চ করলেন বা কোন আইটেম বেশি সময় ধরে দেখলেন আর কোন আইটেম কম সময় ধরে, এই সমস্ত ডাটা গুলো আপনার ইন্টারনেট ব্রাউজার কুকিজের মাধ্যমে সেই ওয়েবসাইট টির কাছে লাগাতার পাঠাতে থাকে। যাতে আপনি যদি পরবর্তীতে সেই ওয়েবসাইটে প্রবেশ করেন তবে সেই ওয়েবসাইট টি আপনাকে রেকমেন্ড রেজাল্ট দেখাতে পারে। এছাড়াও সংশ্লিষ্ট ওয়েব সাইট গুলো google, facebook এর মতো ads flatform এর মাধ্যমে আপনাকে আপনার পছন্দনীয় আইটেমের ads প্রদর্শন করতে পারবে। মনে করুন আপনি গতবার অ্যামাজনে একটি ব্র্যান্ডের ঘড়ি সার্চ করেছিলেন এবং কুকিজের মাধ্যমে সেই ডাটা গুলো অ্যামাজনের কাছে চলে গেছে, এবার এখন যদি আবার অ্যামাজন ভিসিট করেন অথবা গুগল এ সার্চ করেন তবে আপনাকে আরো ঐরকম ঘড়ি দেখানো হবে আপনাকে একই দাম রেঞ্জের আরো প্রোডাক্ট দেখানো হবে।

Zend Certified PHP Engineering (ZCPE) Course

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 কিভাবে ডিলেট করবেন?

Zend Certified PHP Engineering (ZCPE) Course

Cookie ডিলেট করার জন্য আপনাকে setcookie() ফাংশন এর expire প্যারামিটারে মেয়াদ উত্তীর্ণ তারিখ ব্যবহার করতে হবে। নিচের উদাহরণ দেখুন :

<?php
$cookieName = "user";
setcookie($cookieName, "", time() - 3600, "/");

if(!isset($_COOKIE[$cookieName])){
	echo "Your Cookie is Deleted";		
}

?>

Output

Your Cookie is Deleted

আমি মাসুদ আলম, বাংলাদেশের ৩৬ তম Zend Certified Engineer । ২০০৯ সালে কম্পিউটার সাইন্স থেকে বেচেলর ডিগ্রী অর্জন করি। দীর্ঘ ১৫ বছর আমি Winux Soft, SSL Wireless, IBCS-PRIMAX, Max Group, Canadian International Development Agency (CIDA), Care Bangladesh, World Vision, Hellen Keller, Amarbebsha Ltd সহ বিভিন্ন দেশি বিদেশী কোম্পানিতে ডেটা সাইন্স, মেশিন লার্নিং, বিগ ডেটা, ওয়েব ডেভেলপমেন্ট এবং সফটওয়্যার ডেভেলপমেন্ট এর উপর বিভিন্ন লিডিং পজিশন এ চাকরি এবং প্রজেক্ট লিড করি। এছাড়াও বাংলাদেশের ১৮৫ জন জেন্ড সার্টিফাইড ইঞ্জিনিয়ার এর মধ্যে ১২০ এরও অধিক ছাত্র আমার হাতে জেন্ড সার্টিফাইড ইঞ্জিনিয়ার হয়েছেন। বর্তমানে w3programmers ট্রেনিং ইনস্টিটিউট এ PHP এর উপর Professional এবং Advance Zend Certified PHP -8.2 Engineering, Laravel Mastering Course with ReactJS, Python Beginning To Advance with Blockchain, Machine Learning and Data Science, Professional WordPress Plugin Development Beginning to Advance কোর্স করাই। আর অবসর সময়ে w3programmers.com এ ওয়েব টেকনোলজি নিয়ে লেখালেখি করি।

Leave a Reply