دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه! دوره‌ای که می‌تونه مسیر شغلیت رو عوض کنه!
🎯 ثبت نام
بستن تبلیغات
دوره آموزش جامع PHP از صفر تا صد با پروژه‌های عملی

توی دوره رایگان PHP، هر چیزی که برای حرفه‌ای شدن نیاز داری رو یاد می‌گیری! از مفاهیم پایه تا پیشرفته، همراه با یه پروژه واقعی برای ساخت یه سایت مثل آپارات.

مشاهده بیشتر
دوره پروژه‌محور لاراول: ساخت وبسایت خبری از صفر تا صد

توی این دوره با هم یه وبسایت خبری واقعی رو از صفر می‌سازیم! از طراحی دیتابیس و احراز هویت تا ساخت API و یه پنل مدیریت حرفه‌ای، همه رو یاد می‌گیریم و آماده پروژه‌های واقعی میشی!

مشاهده بیشتر

آموزش session در php

یک راه برای در دسترس قرار دادن اطلاعات در صفحات مختلف یک وب سایت کامل وجود دارد که آن بهره گیری از عملکرد PHP session است. کاری که session انجام می دهد، به وجود آوردن یک فایل در دایرکتوری موقت بر روی سِرور است، جایی که متغیرهای رجیستر و ثبت شده ی session و مقادیر آن ها نگهداری و ذخیره می شوند. این اطلاعات به هنگام بازدید کاربر، در تمام صفحات سایت آماده و در دسترس است.
مکان قرارگیری فایل موقتی، توسط تنظیمات واقع در php.ini file که session.save_path خوانده می شود، تعیین می گردد. پیش از استفاده کردن از متغیرهای session، حتماً این مسیر را معلوم کرده و راه اندازی کنید.
به محض این که session شروع به کار می کند، اتفاقات زیر رخ می دهد.

  • ابتدا PHP یک شناسه گر {identifier} منحصربه فرد برای آن session معین ایجاد می کند، که از رشته عددی تصادفی هگزا دسیمال مانند 3c7foj34c3jj973hjkop2fc937e3443 تشکیل شده است.
  • cookie ای به نام PHPSESSID، خودکار به رایانه ی کاربر فرستاده می شود تا رشته شناسایی منحصر به فرد session را ذخیره کند.
  • فایلی به صورت خودکار در دایرکتوری موقت مشخص شده بر روی سِروِر به وجود می آید که اسم شناسه ی منحصر به فرد دارد و پیشوندش sess_ ie sess_3c7foj34c3jj973hjkop2fc937e3443. است.

هنگامی که اسکریپتPHP بخواهد مقدار را از session variable بازیابی کند، PHP به صورت خودکار رشته شناسایی منحصر به فرد session را از PHPSESSID cookie دریافت می کند و سپس در دایرکتوری موقت به دنبال فایلی که آن نام و عنوان را دارد می گردد. فرایند تایید اعتبار، را می توان با مقایسه دو متغیر انجام داد و نتیجه ی آن را به دست آورد.
session پس از این که کاربر صفحه را ترک می کند یا مرورگر را می بندد به پایان می رسد. سِرور پس از گذشت زمان مشخص که معمولاً 30 دقیقه است session را خاتمه می دهد.

شروع کردن PHP session

PHP session به راحتی با فراخواندن و کمک گرفتن از تابع session_start() راه اندازی می شود.
این تابع ابتدا بررسی می کند که آیا session ای آغاز شده یا نه. اگر session شروع نشده باشد، آن را راه اندازی می کند. توصیه می شود دستور فراخوانی session_start() را ابتدای صفحه قرار دهید.
متغیرهایsession در آرایه شرکت پذیری به نام $_SESSION[] ذخیره می شوند. این متغیرها در تمام طول یک session قابل استفاده و دسترسی می باشند.
مثال زیر یک session را راه اندازی کرده وسپس یک متغیر به اسم counter، ثبت می کند که هر بار در هنگام session از صفحه بازدید می کنید، به مقدار آن اضافه می شود.
برای اینکه بفهمید آیا متغیر sessionانتخاب و فعال شده یا نه، از تابع isset() استفاده کنید.
این کد را داخل فایل test.php قرار داده، سپس برای دیدن نتایج بارها و بارها این فایل را بارگیری {load} کنید.

‎ 
                                ‎‎ 
                                ‎‎
                                ‎    Setting up a PHP session‎
                                ‎‎
                                ‎‎
                                ‎    ‎
                                ‎‎
                                ‎‎
                

از بین بردنPHP session

با تابع session_destroy() می توانید PHP session را تخریب کنید. این تابع هیچ نیازی به آرگومان ندارد و با یک دستور {call} تمامی متغیرهایsession را از بین می برد. اگر بخواهید تنها یک session variable را فسخ کنید می توانید از عملکرد unset() به منظور غیر فعال کردن session variable استفاده کنید.
در عبارت زیر، یک نمونه unset کردن تک متغیر را به نمایش می گذارد.

دستوری که تمام session variable ها را فسخ می کند در مثال زیر نمایان است.

                   
                

فعال کردن auto session

اگر شما بتوانید متغیر session. auto_start را در فایل php. ini بر روی 1 قراردهید و تنظیم کنید، هنگامی که کاربر از سایت بازدید می کند، دیگر شما نیازی به فراخوانی start_session() function ندارید.

session های بدون cookie

در بعضی موارد کاربر ممکن است به cookie اجازه ی ذخیره شدن بر روی سیستم خود را ندهد. بنابراین روش دیگری برای فرستادن session ID به مرورگر وجود دارد یا پی در پی، می توانید از SID ثابت که پس از شروع به کار session، تعریف می شود برای انجام کارتان استفاده کنید. چنانچه کلاینت session cookie مناسبی نفرستد، شکل آن به این صورت خواهد بود session_name=session_id، در غیر این صورت، به رشته ی تهی گسترش می یابد. بدین ترتیب، می توان همیشه بدون قید و شرط آن را در URL ها گنجاند.
مثال زیر نحوه ی ثبت کردن مقدار و چگونگی درست وصل شدن به صفحه ی دیگری به کمک SID را برای شما نمایش می دهد.


                        ‎   $msg = "You have visited this page ".   $_SESSION['counter'];‎
                        ‎   $msg. = "in this session. ";‎
                        ‎   echo ( $msg );‎
                        ‎

‎ ‎ To continue click following link
‎ ‎ ‎ ‎

همچنین از() htmlspecialchars برای جلوگیری از حملات ناشی از XSS به هنگام پرینت کردن SID می توان کمک گرفت.

1394/07/27 18060 2777
رمز عبور : tahlildadeh.com یا www.tahlildadeh.com
نظرات شما

نظرات خود را ثبت کنید...