PHP Cookies and Sessions

Website ব্যবহারকারীর ডেটা সাময়িকভাবে সংরক্ষণ করা এবং ব্যবহারকারীর কার্যক্রম ট্র্যাক করা খুবই গুরুত্বপূর্ণ। এজন্য PHP-তে Cookies এবং Sessions ব্যবহৃত হয়। এই দুইটি ধারণা অনেকটা একই রকম হলেও কিছু গুরুত্বপূর্ণ পার্থক্য রয়েছে। আজকের ব্লগে আমরা বিস্তারিতভাবে PHP Cookies এবং Sessions নিয়ে আলোচনা করবো।
🍪 PHP Cookies কী?
Cookies হলো ছোট ছোট টেক্সট ফাইল যা ব্যবহারকারীর ব্রাউজারে (client-side) সংরক্ষিত থাকে।
ওয়েবসাইট যখনই কোনো ব্যবহারকারীর ব্রাউজারে কুকি সেট করে, তখন তা প্রতিবার সার্ভারে রিকোয়েস্টের সাথে পাঠানো হয়।
✔ Cookies এর কাজ:
ব্যবহারকারীর লগইন তথ্য মনে রাখা
ওয়েবসাইটে থিম বা ভাষা পছন্দ সংরক্ষণ করা
শপিং কার্ট ট্র্যাক করা
ব্যবহারকারীর ব্রাউজিং অভ্যাস বিশ্লেষণ করা
✅ PHP তে Cookies সেট করা
PHP-তে কুকি সেট করার জন্য setcookie() ফাংশন ব্যবহার করা হয়।
উদাহরণ:
<?php
// একটি কুকি সেট করা হচ্ছে
setcookie("username", "Mannan Shihab", time() + (86400 * 7), "/");
// 86400 = 1 দিন (এখানে ৭ দিনের জন্য কুকি সেট করা হয়েছে)
?>
👉 এখানে:
"username"→ কুকির নাম"Mannan Shihab"→ কুকির মানtime() + (86400 * 7)→ কুকির মেয়াদ (৭ দিন)"/"→ পুরো ওয়েবসাইটে কুকি অ্যাক্সেসযোগ্য
🧐 Cookies রিড করা
<?php
if(isset($_COOKIE["username"])) {
echo "Welcome " . $_COOKIE["username"];
} else {
echo "No cookie found!";
}
?>
❌ Cookies ডিলিট করা
কুকি ডিলিট করার জন্য মেয়াদ অতীত সময়ে সেট করতে হয়।
<?php
setcookie("username", "", time() - 3600, "/");
echo "Cookie deleted!";
?>
🛡 Cookies এর সীমাবদ্ধতা
ব্রাউজারে সংরক্ষিত হয়, তাই ব্যবহারকারী সহজেই ডিলিট করতে পারে
খুব বেশি নিরাপদ নয় (হ্যাকাররা অ্যাক্সেস করতে পারে)
ডেটা সাইজ সীমিত (প্রায় 4KB)
🔐 PHP Sessions কী?
Sessions হলো সার্ভার-সাইডে ডেটা সংরক্ষণের একটি পদ্ধতি।
যখন একজন ব্যবহারকারী কোনো ওয়েবসাইটে প্রবেশ করে, সার্ভার তার জন্য একটি unique session ID তৈরি করে। এই আইডি সাধারণত কুকির মাধ্যমে ব্রাউজারে সংরক্ষণ হয়।
✔ Sessions এর ব্যবহার:
ব্যবহারকারীর লগইন সিস্টেম তৈরি করা
শপিং কার্ট তথ্য সংরক্ষণ
ব্যবহারকারীর পছন্দ ও সেটিংস সাময়িকভাবে রাখা
✅ PHP তে Session শুরু করা
<?php
// সেশন শুরু করা
session_start();
// সেশনে ডেটা সংরক্ষণ
$_SESSION["username"] = "Mannan Shihab";
$_SESSION["email"] = "mannan@example.com";
echo "Session data stored successfully!";
?>
🧐 Session ডেটা রিড করা
<?php
session_start();
echo "Username: " . $_SESSION["username"];
echo "Email: " . $_SESSION["email"];
?>
❌ Session ডেটা ডিলিট করা
<?php
session_start();
session_unset(); // সব সেশন ভেরিয়েবল মুছে ফেলে
session_destroy(); // সম্পূর্ণ সেশন ধ্বংস করে
echo "Session destroyed!";
?>
🍪 Cookies vs 🔐 Sessions: পার্থক্য
| বিষয় | Cookies (কুকি) | Sessions (সেশন) |
| সংরক্ষণের স্থান | ব্যবহারকারীর ব্রাউজার | সার্ভার |
| নিরাপত্তা | কম নিরাপদ | বেশি নিরাপদ |
| সাইজ সীমা | প্রায় 4KB | সীমাহীন (সার্ভারের উপর নির্ভরশীল) |
| মেয়াদ | নির্দিষ্ট সময় পর্যন্ত | ব্যবহারকারী লগআউট/ব্রাউজার বন্ধ না হওয়া পর্যন্ত |
| ব্যবহার | ব্যবহারকারীর পছন্দ সংরক্ষণ | ব্যবহারকারীর কার্যক্রম/লগইন ট্র্যাক করা |
Cookies এবং Sessions — দুটোই ওয়েব ডেভেলপমেন্টে অত্যন্ত গুরুত্বপূর্ণ।
Cookies ব্যবহার করা হয় ছোটখাটো তথ্য ব্যবহারকারীর ব্রাউজারে সংরক্ষণ করার জন্য।
Sessions ব্যবহার করা হয় বেশি নিরাপদ এবং জটিল তথ্য সার্ভারে রাখার জন্য।
একজন ডেভেলপারের জন্য Cookies এবং Sessions দুটোই জানা জরুরি, কারণ এগুলো ছাড়া ব্যবহারকারী-বান্ধব ওয়েব অ্যাপ্লিকেশন তৈরি করা সম্ভব নয়।




