60% تخفیف ویژه دوره تخصصی وردپرس به مدت محدود مشاهده دوره

سشن ها در php | آموزش استفاده از session و کاربرد آن

سشن ها در php

آموزش سشن در php یکی از مباحث مهم در آموزش برنامه نویسی php است. سشن یا نشست امکان نگهداری اطلاعات کاربران در مرورگر را فراهم می کند. در زبان php شما امکان ایجاد و مدیریت نشست ها را دارید. در این ویدیوی قصد داریم به آموزش سشن در php بپردازیم. پس با ما همراه باشید.

 

سشن چیست؟

سشن چیست؟ سشن یک متغیر سراسری است به این معنی که ما میتوانیم با تعریف و مقدار دهی یک سشن، آن را در صفحات دیگر فراخوانی کنیم. برای استفاده از سشن باید در ابتدای صفحه تابع session_start() را فراخوانی کنیم. بطور کلی یک سشن را بصورت زیر میتوان تعریف و مقدار دهی کرد

 

کاربرد سشن در php

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

 

 

سشن ها در php

سشن ها در php ، یکی از مکانیسم های شناسایی کاربران است. در این روش اطلاعات کاربر در قالب یک نشست در سمت سرور ایجاد می شود. این نشست با یک شناسه منحصر بفرد، ایجاد می شود. این شناسه بوسیله یک cookie تحت عنوان PHPSESID برای کاربر ارسال می شود. این نشست ها در php ، چه کاربردی دارد؟

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

 

کوکی در php

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

 

استفاده از session در php

استفاده از session در php ، به این روش انجام میگیرد که شما ابتدا با استفاده از تابع session_start() این نشست را آغاز می کنید. این تابع بررسی می کند که آیا سشنی از قبل برای این ارتباط وجود دارد یا خیر؟ در صورت نبود سشن قبلی، یک سشن ایجاد می کند و اطلاعات آنرا در قالب یک کوکی، ارسال می کند.

 

نکته : برای جلوگیری از بروز مشکل ، تابع session_start() را در ابتدای صفحه خود فراخوانی کنید.

برای استفاده از session در php ، شما به یک متغیر سراسری نیاز دارید تا بتوانید متغیرهای نشست را داخل آن قرار دهید. این متغیر سراسری از نوع آرایه است و $_SESSION نام دارد. ایندکس های این آرایه نام متغیرها را مشخص می کند. به عنوان مثال فرض کنید می خواهیم یک سشن در php بسازیم و متغیری تحت عنوان user_id که حاوی شناسه کاربر است را داخل آن قرار دهیم. با استفاده از کد زیر این کار را می توانیم انجام دهیم.

 

اکنون یک نشست با شناسه کاربری ۲۱ ایجاد شده است. اکنون اگر یک صفحه جدید باز کنیم و کد زیر را برای نمایش شناسه نشست وارد کنیم عدد ۲۱ بعنوان خروجی به ما نشان داده می شود.

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

 

 

بررسی متغیرهای سشن

همانطور که گفتیم در صورتیکه متغیر تعریف نشده باشد، خطا رخ خواهد داد. بنابراین بد نیست این مورد را بررسی کنیم. یک راه برای اینکه مطمئن شویم که متغیر در نشست تعریف شده یا خیر، وجود دارد. برای این کار از تابع isset() استفاده می کنیم. آرگومان ورودی این تابع متغیری است که می خواهیم بررسی کنیم. خروجی تابع مقدار true در صورت تعریف شدن متغیر و مقدار false در صورت تعریف نشدن متغیر است. کد زیر برای بررسی متغیر user_id است:

تغییر متغیرهای سشن

در ادامه مبحث آموزش سشن php ، به بررسی نحوه مدیریت متغیرهای نشست می پردازیم. متغیرهایی که در یک نشست ایجاد شده اند را می توان ویرایش یا حذف کرد. به عنوان، مثال ممکن است بخواهیم مقادیر متغیر یک نشست را مجددا تغییر دهیم. برای این کار به سادگی مقدار جدید را وارد می کنیم و این مقدار جایگزین قبلی خواهد شد. بطور مثال برای کد قبلی عدد ۲۵ را جایگزین عدد ۲۱ می کنیم.

 

حذف سشن در php

مبحث بعدی در آموزش سشن php ، نحوه حذف این سشن ها است. برای این کار از تابع session_destroy() استفاده می کنیم. این تابع کل سشن را همراه با تمامی متغیرهای تعریف شده برای آن حذف می کند. کد این تابع بصورت زیر است:

 

تابع session_destroy هر آنچه که در نشست کنونی شما ذخیره شده است را حذف می کند. به همین خاطر پس از اجرای این تابع متغیر سشن مقدار null به خود می گیرد و کاملا خالی می شود. کاربرد این تابع برای زمانی است که کاربر از سایت خارج می شود یا به بیان عامیانه log out می کند.

ممکن است بخواهیم یک متغیر از سشن در php را حذف کنیم. برای این کار نیز از تابع unset() استفاده می کنیم. این تابع یک خانه آرایه که حاوی متغیر است را از کل آرایه حذف می کند. ورودی تابع نام متغیری است که میخواهیم حذف کنیم. بطور مثال:

 

در صورتی که بخواهیم تمامی متغیرهای تعریف شده برای یک نشست را حذف کنیم . یک راه این است که تک تک این متغیرها را با روش گفته شده در بالا با کمک تابع unset() حذف کنیم. راه دیگر این است که کل متغیرها را یکجا با استفاده از تابع session_unset() حذف کنیم. این تابع هیچ ورودی ندارد و پس از فراخوانی هر آنچه داخل نشست وجود دارد را حذف می کند.

 

اشتراک اطلاعات بین صفحات سایت

در این قسمت آموزش سشن php قصد داریم یک کاربرد جالب سشن ها را بررسی کنیم. از سشن ها می توان برای جابجایی پیغام بین صفحات مختلف در یک سایت استفاده کرد. به بیان دیگر می توانیم اطلاعات را بین صفحات مختلف اشتراک بگذاریم. مثلا وقتی که یک پیغام خطا را می خواهیم در یک صفحه جدید سایت نمایش دهیم. در چنین مواقعی باید پیغام خطایی که می خواهید نمایش داده شود را در یک متغیر session ذخیره کنید تا در این پیغام در یک صفحه دیگر چاپ شود. برای درک بهتر این مسئله یک مثال می آوریم. کد زیر اطلاعات دانشجو را ویرایش می کند و در صورت بروز خطا یک پیغام نمایش داده می شود. قطعه کد زیر در فایل stud-add2.php ذخیره می شود.

حال می خواهیم این پیغام در یک صفحه جدید چاپ شود. کد مربوط به پیغام این صفحه را فایل stud-list.php ذخیره می کنیم. کاری که باید بکنیم این است که متغیر سشن را در این صفحه وارد کنیم. کد برنامه زیر ابتدا بررسی می کند که آیا متغیر سشن وجود دارد. درصورت وجود ابتدا آن را چاپ می کند و سپس سشن را از بین می برد.

نکته ای که باید به آن توجه کنید این است که session_start در ابتدای صفحه و قبل از تگ html وارد می شود. متغیر msg در داخل سشن یکی از دو پیغام را به خود می گیرد و یکی از آن دو را نمایش می دهد. تابع unset بلافاصله پس از نمایش پیغام اجرا می شود و  محتویات داخل سشن را حذف می کند.

در این قسمت به مبحث آموزش سشن php و روش ساخت، مدیریت و حذف آن پرداختیم. در قسمت های بعدی به نحوه ساخت کوکی در php خواهیم پرداخت پس با ما همراه باشید.

2 دیدگاه دربارهٔ «سشن ها در php | آموزش استفاده از session و کاربرد آن»

مریم علی پور گفت:

سلام وقتتون به خیر خیلی خوب توضیح می دید ولی من فیلم این قسمت رو پیدا نکردم

رضا حیدری گفت:

سلام بزرگوار برای این بخش ویدیو نذاشتیم در واقع ویدیوش توی دوره جامع php هست

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

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