با عرض سلام و وقت به خیر خدمت کاربران سایت پی وی لرن و کاربرانی که دوره ی آموزش php 7 را دنبال می کنند.
در جلسه گذشته به آموزش کار با کوکی ها در php 7 پرداختیم و با ایجاد، بازیابی، حذف و تغییر مقدار یک کوکی آشنا شدیم. در ادامه این دوره به آموزش کار با جلسات در php 7 می پردازیم.
جلسه یک راه برای ذخیره اطلاعات (در متغیرها) است که در چندین صفحه استفاده می شود.
بر خلاف کوکی، اطلاعات بر روی کامپیوتر کاربر ذخیره نمی شود.
هنگامی که شما با یک برنامه کار می کنید، آن را باز می کنید، تغییراتd را ایجاد می کنید، و سپس برنامه می بندید.
در واقع این فرآیند بسیار شبیه یک جلسه است.
کامپیوتر می داند شما چه کسی هستید؛ کی شروع به کار با برنامه کرده اید و کی کار با آن را به پایان رسانده اید.
اما در اینترنت یک مشکل وجود دارد: سرور وب نمی داند چه کسی هستید یا چه کاری انجام می دهید، زیرا آدرس HTTP حاوی کارهایی که کرده اید نیست.
متغیرهای جلسه این مشکل را با ذخیره اطلاعات کاربر در چندین صفحه (مثلا نام کاربری، رنگ مورد علاقه و غیره) حل می کنند.
به طور پیش فرض، متغیرهای جلسه تا زمانی که کاربر مرورگر را نبندد ادامه دارند.
بنابراین؛ متغیرهای جلسه اطلاعات مربوط به یک کاربر واحد را نگه می دارند و برای همه صفحات در یک برنامه در دسترس هستند.
یک جلسه در php با تابع ()session_start آغاز می شود.
متغیرهای جلسه با متغیر سراسری پphp تعیین می شوند:SESSION_$.
یک صفحه جدید به نام “demo_session1.php” ایجاد کنید.
در این صفحه، یک جلسه php جدید را شروع کرده و به تنظیم برخی از متغیرهای جلسه می پردازیم:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?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 قرار می گیرد.
حالا یک صفحه دیگر به نام “demo_session2.php” ایجاد می کنیم.
از این صفحه، ما به اطلاعات جلسه که در صفحه اول (“demo_session1.php”) تنظیم میکنیم، دسترسی خواهیم داشت.
توجه داشته باشید که متغیرهای جلسه به صورت جداگانه به هر صفحه جدید منتقل نمی شوند، بلکه از جلسه ای که در ابتدای هر صفحه باز می شود (session_start ()) بازیابی می شود.
همچنین توجه داشته باشید که تمام متغیرهای جلسه متغیر در متغیرسراسری SESSION_$ ذخیره می شوند:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?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> |
روش دیگری برای نشان دادن تمام مقادیرمتغیرهای جلسه برای یک جلسه کاربر، اجرای کد زیر است:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php print_r($_SESSION); ?> </body> </html> |
اکثر جلسات یک کلید کاربر بر روی کامپیوتر کاربر ایجاد می کند که به نظر می رسد چیزی شبیه به این است: ۷۶۵۴۸۷cf34ert8dede5a562e4f3a7e12.
سپس، هنگامی که یک جلسه در صفحه دیگری باز می شود، کامپیوتر را برای یک کلید کاربر اسکن می کند.
اگر یک مسابقه وجود داشته باشد، به این جلسه دسترسی پیدا می کند، اگر نه، یک جلسه جدید شروع می شود.
برای تغییر یک متغیر جلسه، فقط آن را بازنویسی کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // to change a session variable, just overwrite it $_SESSION["favcolor"] = "yellow"; print_r($_SESSION); ?> </body> </html> |
آموزش کار با جلسات در php 7 را با حذف یک جلسه php به پایان می رسانیم.
برای حذف همه متغیرهای جلسه سراسری و از بین بردن جلسه، از توابع ()session_unset و ()session_destroy استفاده کنید:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset(); // destroy the session session_destroy(); ?> </body> </html> |
در این جلسه به طور مفصل با آموزش کار با جلسات در php 7 با جلسات php و نحوه کار با آن ها مثل : شروع یک جلسه، دریافت مقدار آن، تغییر مقدار آن و نیز حذف آن آشنا شدیم.
در جلسه بعدی به آموزش کار با فیلترها در php 7 می پردازیم.
با پی وی لرن همراه باشید.