سشن‌ها (Sessions) در PHP به شما این امکان را می‌دهند که داده‌ها را به صورت موقت بین صفحات مختلف یک وب‌سایت نگهداری کنید. برخلاف کوکی‌ها که اطلاعات را در سمت کاربر ذخیره می‌کنند، سشن‌ها اطلاعات را در سمت سرور ذخیره می‌کنند، به همین دلیل برای مدیریت اطلاعات حساس امن‌تر هستند.

فهرست مطالب

سشن چیست؟

سشن‌ها مجموعه‌ای از داده‌ها هستند که به طور موقت بین صفحات مختلف وب‌سایت رد و بدل می‌شوند و تا زمانی که مرورگر باز است یا سشن‌ها به طور خاص پایان نیافته‌اند، معتبر باقی می‌مانند. این اطلاعات در سرور ذخیره می‌شود و مرورگر یک شناسه یکتا (Session ID) دریافت می‌کند تا به داده‌های ذخیره شده دسترسی داشته باشد.

چرا از سشن‌ها استفاده کنیم؟

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

  • ذخیره اطلاعات کاربر پس از ورود به سیستم.
  • مدیریت سبد خرید در فروشگاه‌های آنلاین.
  • نگهداری اطلاعات موقت فرم‌ها.

نحوه ایجاد و شروع سشن

برای شروع یک سشن در PHP، ابتدا باید تابع session_start() را در ابتدای کد خود فراخوانی کنید. این تابع بررسی می‌کند که آیا سشن قبلاً شروع شده است یا نه، و در صورت نیاز یک سشن جدید ایجاد می‌کند.

مثال:

<?php
session_start(); // شروع سشن
?>

ذخیره داده‌ها در سشن

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

مثال:

<?php
session_start();
$_SESSION['username'] = 'Mehrdad';
$_SESSION['email'] = 'mehrdad@itvisit.ir';
echo "Session data saved.";
?>

توضیح مثال: در این مثال، اطلاعات کاربر (نام کاربری و ایمیل) با استفاده از آرایه $_SESSION ذخیره شده است.

دسترسی به داده‌های سشن

برای دسترسی به داده‌های ذخیره شده در یک سشن، کافی است از $_SESSION استفاده کنید.

مثال:

<?php
session_start();
echo "Welcome, " . $_SESSION['username'];
echo "Your email is: " . $_SESSION['email'];
?>

توضیح مثال: در این مثال، اطلاعاتی که قبلاً در سشن ذخیره شده‌اند، بازیابی و نمایش داده می‌شوند.

حذف و پایان سشن

برای حذف داده‌های ذخیره شده در سشن یا پایان دادن به یک سشن، می‌توانید از توابع unset()، session_unset() و session_destroy() استفاده کنید.

مثال حذف یک داده خاص:

<?php
session_start();
unset($_SESSION['username']); // حذف فقط username
?>

مثال پایان دادن به سشن:

<?php
session_start();
session_unset(); // حذف همه داده‌های سشن
session_destroy(); // پایان دادن به سشن
?>

توضیح مثال: در مثال اول، فقط داده مربوط به username حذف می‌شود، اما در مثال دوم، تمامی داده‌های سشن پاک می‌شوند و سشن به پایان می‌رسد.

نکات امنیتی در استفاده از سشن

  • شناسه سشن (Session ID) را ایمن نگه دارید و از قرار دادن آن در URL‌ها خودداری کنید.
  • از کوکی‌های امن (Secure Cookies) استفاده کنید تا سشن‌ها فقط از طریق ارتباطات HTTPS ارسال شوند.
  • زمان انقضای سشن را تنظیم کنید تا در صورت بیکار ماندن کاربر برای مدت طولانی، سشن پایان یابد.

لینک‌های مطالعه پیشنهادی

این مقاله به بررسی سشن‌ها در PHP پرداخت و روش‌های مختلفی برای استفاده از آن‌ها را ارائه داد. سشن‌ها ابزار قدرتمندی برای مدیریت اطلاعات موقت در سمت سرور هستند و امنیت بیشتری نسبت به کوکی‌ها دارند.

مهرداد یاری

Recent Posts

افزودن عکس در پایگاه داده با PHP

ذخیره و نمایش تصاویر و مدیا در پایگاه داده یکی از نیازهای رایج در پروژه‌های…

3 هفته ago

بررسی خطاهای کوئری‌ پایگاه داده در PHP

هنگام کار با پایگاه داده در PHP، ممکن است خطاهایی ناشی از کوئری‌های ناقص یا…

4 هفته ago

آموزش ایجاد پایگاه داده در PHP

ایجاد پایگاه داده در PHP یکی از مباحث اساسی برای ساخت وب‌سایت‌ها و برنامه‌های تحت…

4 هفته ago

کلاس‌ها در PHP به زبان ساده

کلاس‌ها در PHP یکی از اصلی‌ترین مباحث برنامه‌نویسی شیءگرا (Object-Oriented Programming) هستند. با استفاده از…

4 هفته ago

آموزش try در PHP

استفاده از ساختارهای کنترل خطا در برنامه‌نویسی از اهمیت ویژه‌ای برخوردار است. در زبان PHP،…

1 ماه ago

اتصال به پایگاه داده در PHP

اتصال به پایگاه داده database connectivity یکی از مراحل مهم در توسعه وب است. با…

1 ماه ago