طراحی سایت

مفهوم session در php

مفهوم session در php

 

تعریف session در php

Session هم مانند کوکی ها که در جلسه قبل توضیح داده شد،راهی است برای اینکه از یک صفحه وب سایت به صفحه دیگر رفت و داده های خاصی را انتقال داد یا به عبارت دیگر به خاطر آورد.

با یک مثال ساده موضوع را روشن تر می کنیم.

فرض کنید برای وارد شدن به یک وب سایتی اطلاعاتی مانند نام کاربری و رمز عبور را وارد می کنید.سرور سایتی که وارد آن می‌شوید این اطلاعات را در متغیرهایی به نام session ذخیره می‌کند.هربار که صفحه ی جدیدی از آن وب سایت را که باز کنید،سرور اطلاعات session شما را به همراه درخواست صفحه به مرورگر ارسال میکند .دیگر برای وارد شدن به صفحه دیگری از وب سایت لزومی به وارد کردن دوباره اطلاعات نیست.شما میتوانید به تمام قسمت ای آن صفحه دسترسی داشته باشید.

این همان مفهوم session درphp  است.

تفاوت session با cookie درphp

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

پس باید گفت که جاهایی که امنیت کمتری نیاز داشته باشیم و بخواهیم حجم کمتری را ذخیره کنیم ،از کوکی ها استفاده می‌کنیم.

نحوه ایجاد session درphp

به طور کلی،تعریف و ساخت session،حذف یک session و فراخوانی یک session با استفاده از متدی به نام() session_start صورت می‌گیرد.این تابع را باید در ابتدای کدها(قبل از تگ html) نوشت.کلیه متغیرهای session توسط متغیر سراسریSESSION_$ نگهداری می‌شوند.

مثال

در این صفحه یک session را ایجاد کرده و تعدادی متغیر را برای آن تنظیم می‌کنیم.

مفهوم session در php

خروجی کد بالا به ضورت زیر خواهد بود:

مفهوم session در php

فرض کنید این کدهای نوشته شده در صفحه ای به نام test1 است. در مرحله بعد می خواهیم به دو session شناخته شده در صفحه test،به صفحه ی test2 دسترسی داشته باشیم.کافی است به شکل زیر عمل کنیم:

مفهوم session در php

 

که همان خروجی را خواهد داشت.

 

از بین بردن session در php

با استفاده از تابع ()session_destroy می توانید کل sessionها را از بین برد . اگر بخواهید یک session را حذف کنید از دستور ()unset استفاده می کنیم.

نمونه ای از ()unset کردن

مفهوم session در php

 

نمونه ای از ()session_destory

 

مفهوم session در php

 

امیدوارم از این آموزش بهره کافی را برده باشید.

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا