آموزش پیشرفته PHP – سشن(Session)
سلام
با یک قسمت از آموزش پیشرفته PHP در خدمتتون هستیم، در جلسه ی قبلی کار با کوکی ها را یاد گرفتیم، در این جلسه میخواهیم بپردازیم به Session ها که مکمل مبحث کوکی می باشد، در واقع هر جا از Session استفاده میکنید از Cookie هم باید استفاده کنید و بالعکس، در ادامه همراه بپرسم باشید.
Session چیست؟
وقتی با یک برنامه کار می کنید، آن را باز می کنید، تغییرات اعمال میکنید و سپس آن را می بندید. این پروسه شبیه یک جلسه است. سیستم می داند شما کی هستید.؛ سیستم می داند چه موقع برنامه را شروع می کنید و چه موقع پایان می دهید. اما در اینترنت یک مشکل وجود دارد: وب سرور نمی داند شما چه کسی هستید یا چه کاری انجام می دهی ، زیرا آدرس HTTP وضعیت را حفظ نمی کند.
برای حل این مشکل که وب سرور هم بتواند تشخیص دهد شما چه کارهایی را انجام داده اید، از Session استفاده میکنیم.
Session یک جلسه است که داخل یک متغیر ذخیره میشود و تا زمانی که کاربر پنجره ی مرورگر را نبندد، سشن فعال است.
Cookie در سیستم کاربر ذخیره میشود ولی Session در سرور ذخیره میشود و تا زمانی فعال است که پنجره ی مرورگر بسته نشود.
نکته: Session ها جزو متغیرهای سراسری هستند، ولی در یک صفحه آن را تعریف میکنید در مابقی صفحات می توانید از آن استفاده کنید.
شروع جلسه(Session) در PHP
برای ساخت یک Session از تابع ()Session_start استفاده میشود.
متغیرهای Session با متغیر سراسری SESSION_$ مقدار دهی میشود.
حالا بیایید یک Session ایجاد کنیم، برای این کار یک صفحه جدید با نامه demo_session2.php می سازیم. در این صفحه، یک جلسه(Session) جدید را شروع میکنیم و متغیرهای جلسه را مطابق زیر تنظیم میکنیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ |
<?php // Start the session session_start(); ?> <!DOCTYPE html> <html> <body> <?php // Set session variables $_SESSION["favcolor"] = "green"; $_SESSION["favanimal"] = "cat"; echo "Session variables are set."; ?> </body> </html> |
تابع ()session_start که برای شروع سشن به کار میرود باید در اولین خط از کدهای صفحه قرار بگیرد، قبل از تگ های HTML و قبل از هر تکه کد PHP(همانطوری که در بالا مشاهده میکنید)
دریافت مقادیر از SESSION
در مرحله بعد ، صفحه دیگری با نام “demo_session2.php” ایجاد می کنیم. از این صفحه به اطلاعات جلسه ای که در صفحه اول تنظیم کرده ایم دسترسی پیدا خواهیم کرد (“demo_session1.php”).
در تکه کد بالا یک صفحه به نام demo_session1.php ساختیم و Session را ایجاد و دو جلسه ایجاد و مقادیری رو بهش اختصاص دادیم، حال برای دریافت این مقادیر یک صفحه به نام demo_session2.php ایجاد و کدهای زیر را در آن می نویسیم:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ |
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // Echo session variables that were set on previous page echo "Favorite color is " . $_SESSION["favcolor"] . ".<br>"; echo "Favorite animal is " . $_SESSION["favanimal"] . "."; ?> </body> </html> |
از آنجایی که سشن ها متغیرهای گلوبال هستند، پس نیاز به include کردن صفحه demo_session1.php در demo_session2.php نداریم و برای دریافت مقادیر کافیست نام Session را بنویسیم.
در این صفحه هم ابتدا از ()session_start استفاده کردیم؛ پس در هر صفحه ای که خواستید با Session کار کنید باید سشن را استارت کنید.
تغییر مقدار SESSION در PHP
تغییر مقدار SESSION کار راحتی است، کافیست مانند قطعه کد زیر سشن را فراخوانی و مقدار جدیدی به آن اختصاص دهید:
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ |
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // to change a session variable, just overwrite it $_SESSION["favcolor"] = "yellow"; print_r($_SESSION); ?> </body> </html> |
حذف SESSION در PHP
برای از بین بردن یک Session از دو تابع ()unset و ()session_destroy استفاده میکنیم.
۱ ۲ ۳ ۴ ۵ ۶ ۷ ۸ ۹ ۱۰ ۱۱ ۱۲ ۱۳ ۱۴ ۱۵ ۱۶ ۱۷ |
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset(); // destroy the session session_destroy(); ?> </body> </html |
این قسمت از آموزش نیز به پایان رسید، همراه ما باشید با دیگر آموزش ها …
موفق باشید.
ارسال نظر
شما باید وارد شوید یا عضو شوید تا بتوانید نظر ارسال کنید