freepay, Freepay, freepay.ir, فری پی, درگاه پرداخت
تبلیغات
فال, فال های وتار, فال وتار, faal, fal, wtaar, faal wtaar


هنگام ساخت یک وب‌سایت، بسیار پیش می‌آید که نیاز خواهیم داشت تا فعالیت کاربر را تحت نظر گرفته و بدین منظور یکی از بهترین روش‌ها، استفاده از سشن‌ها است. پیش از این در سری آموزش پی‌اچ‌پی در زومیت، شما را با سشن‌ها آشنا کردیم. اما فریم‌ورک Codeigniter دارای یک کلاس مجزا برای مدیریت و کار با Session ها است که کار را برای ما بسیار آسان کرده است. در ادامه‌ی این آموزش با زومیت همراه باشید.

تعریف و مقداردهی اولیه‌ی یک سشن

اطلاعات ذخیره شده در سشن‌ها در همه‌جای وب‌سایت در دسترس خواهد بود ولی به منظور استفاده از این داده‌ها باید ابتدا سشن‌های مورد نظر خود را تعریف کنیم و مقداردهی اولیه (initialize) آن را انجام دهیم. برای تعریف اینیشیالایز کردن یک سشن می‌توان از دستور زیر استفاده کرد.

$this->load->library('session');

همانطور که احتمالا متوجه شده‌اید، کد بالا باعث می‌شود تا کتابخانه‌ی سشن‌ها در اپلیکیشن‌ ما لود شود و از این پس می‌توانیم از دستورات و متدهای داخلی این کتابخانه در پروژه‌ی خود استفاده کنیم. شیء سشن پس از لود کردن کتابخانه‌ی مدیریت سشن‌ها که session نام دارد، به صورت زیر خواهد بود:

$this->session

افزودن اطلاعات به سشن‌ها

در پی‌اچ‌پی با استفاده از آرایه‌ی SESSION_$ می‌توانستیم داده‌های مورد نظر خود را در سشن‌ها ذخیره کنیم. در این حالت باید از کدی مثل کد زیر استفاده می‌کردیم:

$_SESSION[‘key’] = value;

در کد بالا عبارت key نام مورد نظر ما برای سشن و عبارت value همان داده یا مقدار مورد نظر برای ذخیره شدن در سشن است. در واقع با کد بالا مقدار value را به سشن key نسبت داده‌ایم.

همین‌کار را می‌توان در فریم‌ورک Codeigniter نیز به آسانی و به صورتی منسجم‌تر انجام داد. بدین منظور نیز باید از کدی مثل کد زیر استفاده کنیم:

$this->session->set_userdata('some_name', 'some_value');

تابع ()set_userdata دو آرگومان ورودی دریافت می‌کند. اولین آرگومان که در کد بالا some_name تعیین شده، یک نام دلخواه برای سشن مورد نظر است که قصد ایجاد آن را داریم. این مقدار همان key است که برای استفاده از سشن در پی‌اچ‌پی تعیین کرده بودیم. همچنین آرگومان دوم متد ()set_userdata در کد بالا some_value تعیین شده است. این آرگومان مقدار مورد نظر برای ذخیره شدن در سشن است. 

علاوه بر این، تابع ()set_userdata را می‌توان به روشی دیگر نیز مورد استفاده قرار داد. در واقع می‌توان به جای یک مقدار تکی مثل آنچه در کد بالا مشاهده کردید، یک آرایه از مقادیر مورد نظر را در سشن خود ذخیره کنیم. در این شرایط می‌توان از کدی شبیه زیر استفاده کرد:

$newdata = array( 
   'username'  => 'mojtaba', 
   'email'     => 'mojtaba@some-site.com', 
   'logged_in' => TRUE
);  

$this->session->set_userdata($newdata);

در کد بالا یک آرایه به نام newdata$ ایجاد کرده‌ایم که شامل سه عضو است. اعضای این آرایه با کلید‌هایی به نام username و email و logged_in تعیین شده و مقدار آن‌ها به ترتیب mojtaba و mojtaba@some-site.com و TRUE قرار داده شده است. عضو اول برای نگه‌داری نام کاربری، عضو دوم برای نگه‌داری ایمیل کاربر و عضو سوم آرایه‌ی فوق برای نگه‌داری وضعیت لاگین شدن کاربر به سایت مورد استفاده واقع شده است.

در نهایت با استفاده از متد ()set_userdata از کتابخانه‌ی session فریم‌ورک، این آرایه‌ را به عنوان آرگومان ورودی قرار داده‌ایم. بدین ترتیب به جای یک مقدار تکی، مجموعه‌ای از مقادیر را به صورت یک آرایه در سشن مورد نظر ذخیره کرده‌ایم.

حذف داده‌ها از سشن

در پی‌اچ‌پی برای حذف مقادیر ذخیره شده در یک سشن، از تابع ()unset استفاده می‌کردیم که مثالی از آن در زیر آورده شده است:

unset($_SESSION[‘some_name’]);

کد بالا باعث می‌شود تا اطلاعات ذخیره شده در سشنی به نام some_name به طور کامل پاک شوند. اما حذف اطلاعات ذخیره شده در سشن‌ها در فریم‌ورک Codeigniter بسیار آسان‌تر است. بدین منظور باید از متد ()unset_userdata کتابخانه‌ی session بهره ببریم. به مثال زیر توجه کنید:

$this->session->unset_userdata('some_name');

در کد بالا نیز مقادیر ذخیره شده در سشنی به نام some_name را با استفاده از فریم‌ورک حذف کرده‌ایم.

اگر قصد دارید مقادیر بیشتری را از یک سشن حذف کرده یا آرایه‌ی ذخیره شده در یک سشن را به طور کامل پاک کنید، در این حالت می‌توانید از تابع ()unset_userdata به شکل زیر بهره ببرید:

$this->session->unset_userdata($array_items);

کد بالا باعث می‌شود تمام آرایه‌ی ذخیره شده در سشن مورد نظر به طور کامل حذف شود.

استفاده از داده‌های ذخیره شده در سشن‌ها

پس از ذخیره کردن اطلاعات و داده‌های مورد نظر در سشن‌ها می‌تواند هر زمان که نیاز بود به این داده‌ها دسترسی داشت. بدین منظور باید از تابع ()userdata استفاده کنیم. اگر داده‌های که قصد دارید به آن‌ها دست یابید موجود نباشند، این متد مقدار NULL را بر می‌گرداند. روش استفاده از این تابع را می‌توانید در کد زیر مشاهده کنید:

$name = $this->session->userdata('name');

کد بالا مقدار ذخیره شده در سشنی به نام name را در متغیر name$ ذخیره می‌کند.

مثال

مثل همیشه ابتدا نرم‌افزار Xampp را اجرا کرده و سرورهای آپاچی و مای‌اس‌کیو‌ال را در حال فعال قرار دهید.

یک پروژه‌ی جدید Codeigniter ایجاد کرده و آن را همانند آموزش‌های جلسات اولیه‌ نصب و پیکربندی کنید. ما برای این مثال پوشه‌ی جدیدی در htdocs نرم‌افزار زمپ ایجاد کرده‌ایم و نام آن را codei-session گذاشته‌ایم. سپس فریم‌ورک را در این پوشه نصب و پیکربندی کرده‌ایم. 

حال باید کنترلر مورد نظر را ایجاد کنیم. بدین منظور در مسیر application/controller یک فایل جدید به نام Session_controller.php ایجاد کرده و سپس کد زیر را در آن قرار دهید.

<?php 
   class Session_controller extends CI_Controller {

      public function index() { 
         //loading session library 
         $this->load->library('session');

         //adding data to session 
         $this->session->set_userdata('name','virat');

         $this->load->view('session_view'); 
      } 

      public function unset_session_data() { 
         //loading session library
         $this->load->library('session');

         //removing session data 
         $this->session->unset_userdata('name'); 
         $this->load->view('session_view'); 
      } 

   } 
?>

کنترلر بالا همانطور که مشاهده می‌کنید شامل دو متد اصلی است. متد ()index و متد ()unset_session_data. کد بالا را به صورت خط به خط در ادامه توضیح می‌دهیم. ابتدا متد index را بررسی می‌کنیم. با استفاده از کد:

//loading session library 
$this->load->library('session');

کتابخانه‌ی مدیریت سشن‌ها را در فریم‌ورک لود می‌کنیم. سپس با استفاده از کد زیر:

//adding data to session 
$this->session->set_userdata('name','virat');

سشن مورد نظر را ایجاد و مقدار مورد نظر را نیز در آن ذخیره می‌کنیم. در نهایت فایل ویو این متد را با کد زیر اجرا می‌کنیم.

$this->load->view('session_view');

سپس در متد unset_session_data با استفاده از کد:

//loading session library
$this->load->library('session');

ابتدا کتابخانه‌ی سشن‌ها را در فریم‌ورک لود می‌کنیم. سپس با استفاده از کد زیر:

//removing session data 
$this->session->unset_userdata('name'); 
$this->load->view('session_view');

اطلاعات ذخیره شده در سشن مورد نظرمان را به طور کامل پاک می‌کنیم. در واقع در این کنترلر با استفاده از متد index سشن را ایجاد و مقدار دهی کرده‌ایم و متد unset_session_data نیز به منظور حذف اطلاعات سشن بکار می‌رود.

حال باید فایل ویو یاد شده را ایجاد کنیم. بدین منظور در مسیر application/views یک فایل جدید به نام session_view.php ایجاد کرده و سپس کد زیر را در آن قرار دهید:

<!DOCTYPE html> 
<html lang = "en">

   <head> 
      <meta charset = "utf-8"> 
      <title>CodeIgniter Session Example</title> 
   </head>

   <body> 
      Welcome <?php echo $this->session->userdata('name'); ?> 
      <br> 
      <a href = 'http://127.0.0.1/codei-session/index.php/sessionex/unset'>
         Click Here</a> to unset session data. 
   </body>

</html>

همانطور که در بالا مشاهده می‌کنید با استفاده از کد:

<?php echo $this->session->userdata('name'); ?>

به مقدار ثبت شده در سشن در فایل ویو دست‌یافته و آن را به کاربر نمایش می‌دهیم. همچنین از آنجا که پروژه ما در پوشه‌ی codei-session قرار دارد، لینک حذف سشن برای ما به صورت زیر خواهد بود که آن را با استفاده از تگ a در کد بالا ایجاد کرده‌ایم و با کلیک روی این لینک، اطلاعات سشن حذف خواهد شد.

http://127.0.0.1/codei-session/index.php/sessionex/unset

در نهایت باید تغییراتی را در فایل application/config/routes.php ایجاد کنید. این فایل را باز کرده و سپس خط زیر را به آخر کدهای موجود در آن اضافه کنید:

$route['sessionex'] = 'Session_Controller';

حال پروژه را در مرورگر اجرا کنید. اگر همه چیز را به درستی و مطابق با آموزش انجام داده باشید، سشن مورد نظر ایجاد شده و مقدار آن به کاربر نمایش داده خواهد شد. همچنین با کلیک روی لینک Click Here تابع مربوط به حذف اطلاعات سشن در کنترلر فراخوانی شده و بنابراین داده‌های ذخیره شده در سشن ایجاد شده در مرحله‌ی قبل، حذف خواهد شد. مسیر این پروژه برای ما به صورت زیر خواهد بود.

http://127.0.0.1/codei-session/index.php/sessionex

مثل همیشه اگر سوال یا پیشنهادی در مورد مباحث مطرح شده در این جلسه از سری آموزشی فریم ورک Codeigniter دارید آن را در بخش دیدگاه‌ها با زومیت و سایر کاربران به اشتراک بگذارید.

منبع : Zoomit ارسال به :
انتشار : چهارشنبه ۲۱ مهر ۱۳۹۵ - ۱۶:۶:۱۷ دیده شده : ۱۴۰بار نویسنده : admin

آموزش Codeigniter آموزش Codeigniter از پایه آموزش Codeigniter فارسی آموزش تصویری Codeigniter دانلود آموزش Codeigniter کتاب آموزش Codeigniter آموزش کامل Codeigniter فیلم آموزش Codeigniter آموزش نصب Codeigniter آموزش فریم ورک Codeigniter دانلود آموزش تصویری Codeigniter دانلود فیلم آموزش Codeigniter دانلود کتاب آموزش Codeigniter دانلود فیلم آموزشی Codeigniter دانلود فیلم آموزش Php Codeigniter Framework کتاب آموزشی Codeigniter کتاب آموزش فریم ورک Codeigniter آموزش فارسی بسیار کامل Codeigniter آموزش کامل فریم ورک Codeigniter فیلم آموزشی Codeigniter فیلم آموزش فریم ورک Codeigniter جلسه اول خواستگاری جلسه اول خواستگاری چه باید گفت جلسه اول خواستگاری چه بگوییم؟ جلسه اول خواستگاری دهنوی جلسه اول خواستگاری چه بپرسیم جلسه اول خواستگاری دکتر فرهنگ جلسه اول خواستگاری چی بگم جلسه اول خواستگاری چی بپرسیم جلسه اول خواستگاری سوالات جلسه اول خواستگاري جلسه خواستگاری جلسه خواستگاری رسمی جلسه خواستگاری دکتر فرهنگ جلسه خواستگاری + سوالات جلسه خواستگاری موفق جلسه خواستگاری+سوال جلسات خواستگاری جلسه خواستگاري جلسات خواستگاری دکتر فرهنگ خواستگاری جلسه اول جلسه دوم خواستگاری جلسه دوم خواستگاری چه بگوییم؟ جلسه دوم خواستگاری دهنوی جلسه دوم خواستگاری چی ببریم جلسه دوم خواستگاري جلسه سوم خواستگاری جلسه سوم خواستگاری دهنوی سوالات جلسه دوم خواستگاری سوالات جلسه دوم خواستگاری دهنوی سوالات جلسه دوم خواستگاری دکتر فرهنگ جلسه هیات دولت جلسه هیات دولت امروز جلسه هيات دولت جلسه هيات دولت امروز جلسه هیات دولت روز چهارشنبه جلسه هیات دولت دیروز جلسه هیات دولت روحانی جلسه هیات دولت یازدهم جدیدترین جلسه هیات دولت جلسه هيئت دولت امروز جلسة وناسه جلسة وناسه 2016 جلسه وناسه راشد جلسه وناسه حاتم العراقي وقصي جلسه وناسه حلا الترك ومشاعل جلسة وناسه طني ورور جلسة وناسه راشد الماجد جلسة وناسه حلا الترك جلسة وناسه رابح صقر جلسة وناسه جميله طني ورور جلسه امروز مجلس جلسه امروز مجلس دهم جلسه امروز مجلس شوراي اسلامي جلسه امروز مجلس برای رای اعتماد جلسه امروز مجلس خبرگان جلسه امروز مجلس عراق جلسه امروز مجلس مطهری جلسات امروز مجلس جلسه علنی امروز مجلس جلسه علنی امروز مجلس شورای اسلامی جلسه هیئت دولت جلسه هیئت دولت امروز جلسه هیئت دولت روز یکشنبه جلسه هیئت دولت دیروز جلسه هیئت دولت در مشهد جلسه هیئت دولت یکشنبه جلسه هیئت دولت در امروز جلسه هیئت دولت یازدهم جلسه هیئت دولت روحانی در جلسه اول خواستگاری چه بگوییم در جلسه دوم خواستگاری چه بگوییم در جلسه اول خواستگاری چه بگویم جلسه اول خواستگاری چه بگویم جلسة عود جلسة عود يمني جلسة عود اعوفك جلسة عود طرب جلسة عود يمنيه جلسة عود خالد عبدالرحمن جلسه عود حزينه جلسه عود خاصه جلسه عود مسكين يا قلبي جلسة عود نجران جلسه اول آشنایی جلسه اول آشنایی با دختر جلسه اول آشنایی برای ازدواج جلسه اول آشنایی دختر و پسر جلسه اول آشنایی چه بگوییم؟ جلسه اول آشنایی خواستگاری جلسه اول آشنایی ازدواج جلسه اول آشنایی خانواده ها جلسه اول آشنايي جلسه اول آشنايي+ازدواج سشن ها در Php Session ها در Php کار با سشن ها در Php کار با Session ها در Php جلسه وناسه جلسه عود آموزش Codeigniter - جلسه دوازدهم: مدیریت سِشِن ها

دیدگاه شما در مورد این مطلب پس از تایید نویسنده سایت نمایش داده خواهد شد
آخرین مطالب
تبلیغات
آمار وتار
  • تعداد مطالب : ۱۱۷۶۵۲
  • تعداد نظرات : ۳۰۲
  • تعداد حاضران : ۱۲۳
  • آخرین بروزرسانی : ۳ دقيقه قبل
تبلیغات
تبلیغات
آخرین جستجوها