هنگامی که شما با یک نرم افزار در محیط ویندوز کار می کنید ، آن را باز کرده و تغییراتی درونش ایجاد نموده و سپس آن را می بندید . به این فرایند یک Session یا به بیان فارسی ، جلسه می گویند . از ابتدای فرایند تا لحظه ای که آن را به اتمام می رسانید ، ویندوز شما را شناخته و می داند که چه کسی هستید .
اما در دنیای وب و اینترنت اوضاع فرق دارد . وب سرور سایتی که در حال بازدید از آن هستید ، نمی داند که شما کی هستید . زیرا آدرس HTTP مرورگر به سرور راجع شما اطلاعاتی نمی دهد . بنابراین تمایز کاربران با یکدیگر غیر ممکن شده و سرور با این وضع برای سرویس دهی به آنها دچار مشکل می شود . بنابراین باید چه کرد ؟ راه حل کجاست ؟
این مشکل در وب و در زبان PHP به وسیله کاربرد Session حل شده است . سرور سایتی که وارد آن می شوید ، اطلاعات شما مثل username , pass را در متغیرهایی به نام Session ذخیره می کند . هر بار که صفحه جدیدی از همان سایت را باز می کنید ، سرور اطلاعات Session شما را به همراه درخواست صفحه به مرورگر ارسال کرده و بنابراین دیگر نیازی ندارید در هر صفحه اطلاعات کاربری خود را مجددا وارد نمایید . این فرایند را تاکنون بارها تجربه کرده و باعث راحتی شما بوده است . اما Session چگونه ایجاد و استفاده می شوند.
حتما بخوانید: تابع ( ) dir در PHP
نحوه تعریف کاربرد Session بر روی سرور :
سرور سایت ، در لحظه ورود کاربر به سایت و وارد نمودن اطلاعات کاربری ، یک Session با یک شناسه خاص ( unique ID – UID ) برای وی ساخته و اطلاعات وی را در آن Session ذخیره می کند . این اطلاعات تا زمانی که کاربر در سایت است و یا اعتبار Session از بین نرفته ، بر روی سرور ذخیره شده و در مرورگر به صورت کوکی تعریف شده اند .
کاربرد Session ها موقتی هستند و پس از اینکه کاربر سایت را ترک کرد و یا مثلا برای مدتی ، صفحه جدیدی باز نکرد ، از بین می روند . بنابراین در مراجعه بعدی ، در صورت فعال نبودن کوکی برای آن سایت ، باید اطلاعات را مجددا وارد نمایید .
معمولا عمر Session را کوتاه تعریف می کنند تا امنیت اطلاعات کاربر بالا برود . تا حالا حتما به چنین موردی برخورد کرده اید . هنگامی که وارد یک سایت شده و اطلاعات خود را وارد نموده اید ، زمانی که صفحه سایت را در مرورگر به صورت باز رها کرده و پس از مدتی دوباره به سایت برگشته اید ، متوجه شده اید که اطلاعات شما از سرور پاک شده و باید مجددا وارد شوند . در این حالت می گوییم session ، منقضی یا expire شده است . اکنون پس از تعریف کاربرد Session ، قصد داریم تا شما را با نحوه تعریف و استفاده از Session در PHP ، آشنا نماییم.
حتما بخوانید: ساخت مستر پیج Master Page در PHP
نحوه تعریف کاربرد Session در PHP :
برای ایجاد Session در یک صفحه PHP ، ابتدا باید تابع ( ) Session Startup را قبل از تگ < head > در صفحه ، تعریف نمایید . به صورتی که در جدول زیر نمایش داده ایم :
این کد Session کاربر را در سرور ثبت کرده ، به شما اجازه می دهد که عملیات Session را شروع نموده و یک UID برای شما ایجاد می کند .
Syntax | < ? php Session_start( ) ; ? > < html > < head > < /head > < body > < /body > < /html > |
پس از آماده نمودن مقدمات ، نحوه دستوری مقداردهی و سپس خواندن یک Session در PHP را در جدول زیر در قالب یک مثال نمایش داده ایم . این روش روش استاندارد مقدار دهی و خواندن یک Session در PHP است . در مثال زیر یک Session به نام views ، ابتدا مقدار دهی شده و سپس در درون صفحه بازخوانی شده است :
مثال | < ? php session_start( ) ; // را مقدار دهی می کند session کد زیر یک $_SESSION [ ‘views’ ] = 1 ; ? > < html > < head > < /head > < body > < ?php // را می خواند session کد زیر مقدار echo ” Pageviews = ” . $_SESSION [ ‘views’ ] ; ? > < /body > < /html > |
خروجی مثال | Pageviews = 1 |
مثال : در مثال دوم کدی طراحی شده است که به وسیله متغیر Session به نام views ، تعداد دفعات مشاهده یک صفحه را نمایش می دهد . این دستود ابتدا مقدار این Session را بررسی کرده و در صورتی که مقدار دهی نشده باشد ( یعنی کاربر اولین بار وارد صفحه شده است ) ، مقدار آن را برابر با 1 قرار می دهد . اما اگر از قبل مقدار دهی شده باشد ، یعنی کاربر قبلا به صفحه سر زده است . بنابراین یک واحد به مقدار آن اضافه می کند :
Example | |
< ? php session_start( ) ; if ( isset ( $_SESSION [ ‘views ‘] ) ) $_SESSION [ ‘views’ ] = $_SESSION [ ‘views’ ] + 1 ; else $_SESSION [ ‘views’ ] = 1 ; echo “Views = ” . $_SESSION [ ‘views’ ] ; ? > |
کد |
با دریافت « مشاوره برنامهنویسی، وب و سئو » از کارشناسان جوان حرفهای و باتجربه ساکوراد؛ موفقیت کسب و کار، رونق فروش و افزایش درآمد خود را تضمین کنید!