ড্রুপাল for এর জন্য আমার শেষ প্রকল্পে, আমি নিম্নলিখিত কোডটির মতো কোড ব্যবহার করে ডেটা সংরক্ষণ করেছি:
$_SESSION['xxx'] = serialize($data);
ড্রুপাল 7 এ, এটি কাজ করে না।
ড্রুপাল users এ, আমি কীভাবে অনামী ব্যবহারকারীদের জন্য সেশন ডেটা সংরক্ষণ করব?
ড্রুপাল for এর জন্য আমার শেষ প্রকল্পে, আমি নিম্নলিখিত কোডটির মতো কোড ব্যবহার করে ডেটা সংরক্ষণ করেছি:
$_SESSION['xxx'] = serialize($data);
ড্রুপাল 7 এ, এটি কাজ করে না।
ড্রুপাল users এ, আমি কীভাবে অনামী ব্যবহারকারীদের জন্য সেশন ডেটা সংরক্ষণ করব?
উত্তর:
এটি কারণ কী সহ ড্রপাল সেভ সেশন, এর অর্থ আপনার মতো কিছু করা উচিত
$_SESSION['yourkey']['xxx'] = serialize($data);
আপনি এটি চেষ্টা করতে পারেন।
function lists_session($key, $value = NULL) {
global $user;
static $storage;
// If the user is anonymous, force a session start.
if(!user->uid) {
drupal_session_start();
}
if ($value) {
$storage[$key] = $value;
$_SESSION['lists'][$key] = $value; // I use 'lists' in case some other module uses 'type' in $_SESSION
}
else if (empty($storage[$key]) && isset($_SESSION['lists'][$key])) {
$storage[$key] = $_SESSION['lists'][$key];
}
return $storage[$key];
}
সুতরাং, সেশনে একটি পরিবর্তনশীল সংরক্ষণ করতে:
lists_session("xxx", serialize($data));
এবং মানটি পুনরুদ্ধার করতে, কেবলমাত্র ব্যবহার করুন:
$myVar = lists_session("xxx");
এবং যেমনটি মোওলট উল্লেখ করেছেন কখনও কখনও অজ্ঞাতনামা ব্যবহারকারীদের জন্য সেশনকে তাত্পর্যপূর্ণ করা হয় না তবে আপনাকে drupal_session_start()
ম্যানুয়ালি করা উচিত ।
দস্তাবেজ অনুসারে , আপনার যা করা উচিত তা হ'ল।
যার অর্থ হয় যে কোনও বাগ আছে বা আপনার পৃষ্ঠাগুলি অ্যান ব্যবহারকারীদের জন্য ক্যাশে হচ্ছে তাই সেশনের ডেটাটি পড়া হচ্ছে না। আমি প্রথম উদাহরণে আপনার ক্যাশিং সেটিংস পরীক্ষা করব।
ড্রুপাল 7 কখনও কখনও অজ্ঞাতনামা ব্যবহারকারীদের জন্য সেশনগুলি স্বয়ংক্রিয়ভাবে শুরু করে না। তাদের জন্য সেশনগুলি ব্যবহার করার জন্য, আপনাকে drual_session_start দিয়ে সেশনটি জোর করে ব্যবহার করতে সক্ষম হতে পারে $_SESSION
।