পিএইচপি সেশন এবং কুকিজ

P

অনুরোধ এবং প্রতিক্রিয়া ক্রিয়াকলাপ সফলভাবে সম্পাদন করতে ওয়েব পৃষ্ঠাগুলিকে অস্থায়ীভাবে বা স্থায়ীভাবে ডেটা সংরক্ষণ করতে হবে। প্রায় প্রতিটি ওয়েব ডেভেলপমেন্ট ভাষা ক্লায়েন্ট এবং সার্ভারের তথ্য সংরক্ষণ করার জন্য সেশন এবং কুকি প্রদান করে। এটি মসৃণ অভিজ্ঞতা এবং নিরাপত্তার জন্য দায়ী। এই পিএইচপি টিউটোরিয়ালে, আপনি পিএইচপি সেশন এবং কুকি সম্পর্কে শিখবেন। সুতরাং, এর মধ্যে ডুব দেওয়া যাক.

পিএইচপি কুকি কি?

কুকি হল ক্লায়েন্টের কম্পিউটারের স্টোরেজে থাকা ছোট ফাইল। এই কুকিগুলি ব্রাউজারে সংরক্ষণ করা হয় এবং এতে ব্যবহারকারী, অনুরোধ, প্রতিক্রিয়া এবং সার্ভার সম্পর্কিত তথ্য থাকতে পারে। এই কুকিগুলি সার্ভারের কাছে অনুরোধের সাথে যায় যা সার্ভারকে ব্যবহারকারীকে সনাক্ত করতে দেয়।

একজন ব্যবহারকারী তার নিজস্ব কুকি তৈরি করতে এবং সেগুলিতে ডেটা সঞ্চয় করতে পারে। পরে, ব্যবহারকারী এই কুকিজ অ্যাক্সেস করতে পারেন।

কিভাবে PHP এ একটি কুকি তৈরি করবেন?

PHP setcookies() পদ্ধতি একটি নতুন কুকি তৈরি করে।

setcookie(name, value, expire, path, domain, secure, httponly);

পিএইচপি কুকির উপরোক্ত সাধারণ সিনট্যাক্সে, শুধুমাত্র প্রথম প্যারামিটারটি প্রয়োজন যা কুকির নাম। বাকি প্যারামিটারগুলি ঐচ্ছিক।

setcookie("my_first_cookie","It contains string");

পিএইচপি-তে কুকিজ এবং তাদের মান কিভাবে পেতে হয়?

সমস্ত কুকি PHP $_COOKIE গ্লোবাল ভেরিয়েবলে সঞ্চয় করে। কুকি এবং এর মান পেতে, শুধুমাত্র বিশ্বব্যাপী ভেরিয়েবলে কুকির নাম দিন। উদাহরণে তৈরি করা উপরের কুকিটি বিবেচনা করে, গ্লোবাল ব্যবহার করে কুকি পেতে নিম্নলিখিত সিনট্যাক্সটি দেখুন।

$_COOKIE["my_first_cookie"] // will return "It contains String"

কিভাবে পিএইচপি কুকিজ মুছে ফেলা যায়?

আপনি একটি কুকির জন্য মেয়াদ শেষ হওয়ার সময় সেট করতে পারেন। মেয়াদ শেষ হওয়ার পরে, কুকি স্বয়ংক্রিয়ভাবে মুছে যাবে। নীচের উদাহরণটি দেখুন, যেখানে আমরা একটি কুকি তৈরি করি এবং এর মেয়াদ শেষ হওয়ার সময় সেট করি।

setcookie("my_first_cookie","It contains String", time() + (86400), "/"); // 86400 = 1 day

উপরের উদাহরণে, কুকি "my_first_cookie" একদিন পরে মেয়াদ শেষ হয়ে যাবে। মনে রাখবেন যে কুকির মেয়াদ শেষ হওয়ার সময় অবশ্যই সেকেন্ডের মধ্যে হতে হবে। তাই, আমরা time() ফাংশন ব্যবহার করেছি যা বর্তমান সময় প্রদান করে এবং দিনে সেকেন্ডের সংখ্যা যোগ করে অর্থাৎ 86400।

কিভাবে PHP এ কুকি আপডেট করবেন?

আপনি একই পদ্ধতি সেটকুকি() ব্যবহার করে একটি কুকি আপডেট করতে পারেন। শুধু কুকির নাম দিয়ে ফাংশনটিকে কল করুন এবং আপনি কুকির অন্যান্য প্যারামিটার সেট করতে পারেন।

setcookie("my_first_cookie","It contains String", time() + (86400 * 2), "/"); // 86400 = 1 day

উপরের উদাহরণে, আমরা সেটকুকি() পদ্ধতিটিকে একই কুকির জন্য বলেছি যা আমরা আগের উদাহরণে তৈরি করেছি। ধরুন, আমরা কুকির মেয়াদ এক দিন থেকে বাড়িয়ে দুই দিন করতে চাই। সহজভাবে, মেয়াদ শেষ হওয়ার পরামিতি পরিবর্তন করুন।

দ্রষ্টব্য: যখন কুকিজ সেট করা হয়, ডিফল্টরূপে সেগুলি অনুরোধ পাঠানোর সময় URL এনকোড করা হয় এবং প্রাপ্তির সময় ডিকোড করা হয়৷ URL এনকোডিং নিষ্ক্রিয় করতে, আপনি setrawcookie() পদ্ধতি ব্যবহার করতে পারেন।

যেহেতু আপনি এখন কুকিজ আপডেট করার সাথে পরিচিত, আসুন আমরা একটি কুকি মুছে ফেলার অন্য একটি পদ্ধতি দিই বিশেষ করে, যদি কুকির মেয়াদ শেষ হওয়ার সময় সেট করা না থাকে। সহজভাবে, কুকির মেয়াদ শেষ হওয়ার সময় অতীতে আপডেট করুন।

setcookie("my_first_cookie","", time() - 3600); // delete the cookie immediately

আপনার ব্রাউজার কুকিজ অনুমতি দেয় কিনা চেক করুন?

এখানে একটি সহজ কৌশল রয়েছে যার মাধ্যমে আপনি ব্রাউজারটি কুকিজ সক্ষম করেছে কি না তা পরীক্ষা করতে পারেন। setcookie() পদ্ধতি ব্যবহার করে একটি কুকি সেট করুন। আমরা আগের শিক্ষা থেকে জানি যে $_COOKIE অ্যারে সমস্ত কুকি সংরক্ষণ করে। সুতরাং, এই অ্যারের গণনা পরীক্ষা করুন.

<?php
if(count($_COOKIE) > 0) {
  echo "Cookies are enabled.";
} else {
  echo "Cookies are disabled.";
}
?>

পিএইচপি সেশন

আপনি যদি আপনার কম্পিউটারে থাকেন এবং কিছু সময়ের জন্য একটি অ্যাপ্লিকেশন ব্যবহার করেন এবং তারপর এটি বন্ধ করুন। কম্পিউটারে অ্যাপ্লিকেশনটির ব্যবহারকারীর একটি রেকর্ড থাকবে এবং অ্যাপ্লিকেশনটির সাথে সম্পাদিত কর্মের ট্র্যাকও থাকবে। কিন্তু, ওয়েবসাইটে, HTTP প্রোটোকল ব্যবহারকারীর অবস্থা বজায় রাখে না।

আপনি যদি একাধিক ওয়েব পৃষ্ঠাগুলিতে একটি মান বজায় রাখতে এবং অ্যাক্সেস করতে চান তবে এই সমস্যাটি সমাধান করার জন্য সেশন রয়েছে। এই বিভাগে, আমরা শিখব কিভাবে মান সংরক্ষণ এবং অ্যাক্সেস করার জন্য পিএইচপি সেশনের সাথে কাজ করতে হয়।

দ্রষ্টব্য: সেশন স্থায়ী স্টোরেজ নয়। ওয়েবপেজ খোলার পর একটি সেশন শুরু হয় এবং আপনি সেই ওয়েবটি বন্ধ করলে শেষ হয়। ডাটাবেস হল স্থায়ী স্টোরেজের সমাধান যা আমরা পিএইচপি টিউটোরিয়ালের ডাটাবেস বিভাগে শিখব।

কিভাবে PHP এ একটি সেশন শুরু করবেন?

পিএইচপিতে একটি সেশন শুরু করতে, session_start() ফাংশন ব্যবহার করুন। নিশ্চিত করুন, এই ফাংশনটি পিএইচপি স্ক্রিপ্টের শীর্ষে কল করা উচিত। পরবর্তী ধাপ হল সেশন গ্লোবাল অ্যারেতে মান সংরক্ষণ করা। একটি সেশন শুরু করার এবং এতে মান সংরক্ষণ করার সম্পূর্ণ উদাহরণটি দেখুন।

<?php
// Start the session
session_start();

// Set session variables
$_SESSION["favcolor"] = "green";
$_SESSION["favanimal"] = "cat";
echo "Session variables are set.";
?>

কিভাবে গ্লোবাল অ্যারে থেকে সেশন মান পেতে?

সহজভাবে, যেমন আমরা কুকি গ্লোবাল অ্যারে থেকে কুকির মান অ্যাক্সেস করি, সেশন মান অ্যাক্সেস করতে সেশন গ্লোবাল অ্যারে ব্যবহার করুন। নিম্নলিখিত উদাহরণ তাকান.

echo "Favorite animal is " . $_SESSION["favanimal"] . ".";

সেশন ভেরিয়েবল কিভাবে আপডেট করবেন?

সেশন ভেরিয়েবলের নাম দিয়ে সেশন গ্লোবাল অ্যারেকে কল করুন এবং এটিকে নতুন মান নির্ধারণ করুন।

$_SESSION["favcolor"] = "yellow";

সেশন অপসারণ বনাম সেশন ধ্বংস করা

একটি সেশন মুছে ফেলা মানে বর্তমান সেশনে সঞ্চিত সমস্ত মান মুছে ফেলা।

session_unset();

একটি সেশন ধ্বংস করার অর্থ হল সেশনটি বন্ধ করা যা session_start() ব্যবহার করে শুরু হয়েছিল

session_destroy();

সেশনগুলি ব্যবহারকারীর বিরুদ্ধে একটি বিশেষ কী দ্বারা সুরক্ষিত। এগুলি কম্পিউটারে “765487cf34ert8dede5a562e4f3a7e12” এর মতো একটি কী দিয়ে সংরক্ষণ করা হয়। সুতরাং, যখন সেশনটিকে ওয়েবসাইটের অন্য ওয়েবপেজে সংরক্ষিত মান অ্যাক্সেস করতে হবে, তখন এই কীটি ক্লায়েন্টের কম্পিউটারে সংরক্ষিত কীটির সাথে মিলে যায়।

php সেশনের সম্পূর্ণ রেফারেন্স পেতে ভিজিট করুন এখানে

মন্তব্য যোগ করুন

টিউটর নেটওয়ার্ক

A থেকে Z পর্যন্ত PHP শিখুন