مفهوم 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 را ایجاد کرده و تعدادی متغیر را برای آن تنظیم میکنیم.
خروجی کد بالا به ضورت زیر خواهد بود:
فرض کنید این کدهای نوشته شده در صفحه ای به نام test1 است. در مرحله بعد می خواهیم به دو session شناخته شده در صفحه test،به صفحه ی test2 دسترسی داشته باشیم.کافی است به شکل زیر عمل کنیم:
که همان خروجی را خواهد داشت.
از بین بردن session در php
با استفاده از تابع ()session_destroy می توانید کل sessionها را از بین برد . اگر بخواهید یک session را حذف کنید از دستور ()unset استفاده می کنیم.
نمونه ای از ()unset کردن
نمونه ای از ()session_destory
امیدوارم از این آموزش بهره کافی را برده باشید.