50درصد تخفیف سورس فروشگاهی دیجی کالا + اپلیکیشن اندروید تا پایان این هفته - کد تخفیف : off50
با تخفیف میخرم

کار با سیشن ها (آموزش SESSION در php)

  • آپدیت شده در تاریخ

کار با سیشن ها

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

$_SESSION به شما اجازه ذخیره اطلاعاتی از کاربر می دهد که قابل دسترسی در هر صفحه ای از سایت است البته تا زمانی که سیشن مورد نظر فعال باشد.

دلیل استفاده گسترده از سیشن (SESSION) می تواند به دلیل محدودیتی که در زیرساخت پروتکل HTTP است ،در نظر گرفت .

چراکه پروتکل HTTP از پایه Stateless است و هیچ گونه اطلاعاتی از کاربر فعلی نمی دهد درواقع کاربران را از هم تشخیص نمی دهد و نمی داند این کاربر قبلا چه صفحاتی را مرور کرده است ، و غیره . برای همین موضوع کار با سیشن ها و کار با کوکی ها در php و امنیت سئشن در php مطرح شد .

کار با سیشن ها در PHP چگونه است ؟

$_SESSION در PHP یک آی دی یکتا برای هر کاربر می سازد ، این ID ها در کوکی یا جایی در آدرس  URL ذخیره میشود ، به هر حال این داده های سیشن در سرور ذخیره می شوند.

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

شروع کار با سیشن ها

برای شروع کار با سیشن ها در PHP ، ما از تابع session_start() استفاده می کنیم . این تابع باید اول هر نوع کد html یا متنی باشد . مانند کد زیر :

زمانی که session_start() فراخوانی می شود ، یک سیشن جدید ایجاد می کند یا اینکه سیشن قبلی را ادامه می دهد.

ذخیره و بازیابی متغیرهای سیشن

زمانی که یک سیشن فعال باشد ، با استفاده از $_SESSION می توانیم مقادیر را در آن ذخیره کنیم که بعدا از طریق هر اسکریپت PHP در سرور قابل دسترس خواهد بود

بار اول که متغیر ذخیره شد ، می توانیم آن را در همان وبسایت هر کجا که خواستیم بازیابی کنیم . تنها کاری کا باید انجام بدیم ساخت سیشن با همان اسم در مثال بالا و گرفت خروجی از مقدار آن است.

حذف یا پاکسازی سیشن

بهتر است زمانی که کار با سیشن ها نظر تمام شد آن را پاک کنیم . برا حذف آن کافیست از تابع unset() استفاده کنیم

یا اینکه برای حذف کلیه سیشن ها از session_destroy() بهره ببریم .

امیدوارم مقاله کوتاه کار با سیشن ها (آموزش SESSION در php) مفید بوده باشه . برای تعیین تاریخ انقضا در سئشن و افزایش امنیت SESSION کلیک کنید .

هرگونه سوال و یا مشکلی داشتید لطفا از طریق نطرات ارسال کنید. سریعا ، پاسخگوی سوالات شما هستیم.

موفق و پیروز باشید.

حسن شفیعی علاقه خاصی به برنامه نویسی وب و موبایل دارم و هر روز تلاش می کنم به این حوزه مسلط تر شوم و اطلاعاتم را به شکل کاربردی برای علاقه مندان در وب به اشتراک بگذارم

آموزش های رایگان بیشتر در اینستاگرام ما ...

NETPARADIS /
مطالب زیر را حتما بخوانید
دیدگاه کاربران (۹)

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

  1. hamedshabani ۲ مرداد ۱۳۹۹

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

    پاسخ
  2. hamedshabani ۲ مرداد ۱۳۹۹

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

    پاسخ
    1. حسن شفیعی ۲ مرداد ۱۳۹۹

      سلام. بله در بخش هایی که نیاز به دادن دسترسی به کاربر دارید مثلا بعد لاگین

      پاسخ
  3. aa ۲۵ فروردین ۱۳۹۷

    ممنون ولی میشه بگین چرا اون کدی که واستون ارسال کردن جواب نمیده میخام دلیل اجرا نشده اون رو بدونم
    ممنون از میشم اگه جواب بدین

    پاسخ
    1. حسن شفیعی ۲۵ فروردین ۱۳۹۷

      دوست عزیز شما در نظرات قبلی کدی ارسال نکردید.

      پاسخ
  4. aa ۲۴ فروردین ۱۳۹۷

    میخام بعد از هر بار که load میشه بگه باز چندم هست . ولی کار نمی کنه

    پاسخ
    1. حسن شفیعی ۲۵ فروردین ۱۳۹۷

      برای اینکار بهتره یه کانتر بندازید و مقدار عددی رو در سیشن ذخیره و با هر بار اجرای صفحه , یکی بهش اضافه و ذخیره کنید.

      پاسخ
  5. aa ۲۴ فروردین ۱۳۹۷

    ‎ سلام ببخشید مشکل این کد چیه؟
    و این که session ها در لوکال فرقشون با هاست چیه. ممنون

    پاسخ
    1. حسن شفیعی ۲۴ فروردین ۱۳۹۷

      سلام . هیچ مشکلی نداره . بهتره مقاله های انواع خطاها در php و <strong>output buffering در php را مطالعه کنید.

      موفق باشید.

      پاسخ
دوره های آموزشی

دانلود رایگان کتاب آموزش PHP

صفر تا صد PHP و MySQL را یکجا یاد بگیرید
همین الان دانلود کن
نگران نباشید. ایمیل‌های مزاحم نمی‌فرستیم
close-link