عملکرد یک Session توسط تابع session_start() شروع می شود. متغیرهای session درون متغیر سراسری $_SESSION نگهداری می شوند.
برای درک بهتر، بیایید یک مثال عملی را با ایجاد یک صفحه جدید PHP به نام “demo_session1.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 دیگر به نام “demo_session2.php” را ایجاد خواهیم کرد. در این صفحه جدید، به اطلاعات Session ای که در صفحه قبل (“demo_session1.php”) ایجاد کردیم، دسترسی خواهیم داشت.
توجه داشته باشید که متغیرهای Session به صورت جداگانه به صفحه جدید ارسال نمی شوند. بلکه آن ها به یک باره توسط تابع session_start() ای که در آغاز هر صفحه قرار داده ایم، خوانده می شوند.
همچنین توجه داشته باشید که تمامی متغیرهای session variables درون متغیر سراسری $_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>
برای تغییر مقدار متغیر یک Session، کافی است آن را همانند کد زیر رو نویسی یا overwrite کنید :

کد:
<?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 ها و متغیر های global session variables بر روی سیستم، همانند کد زیر از تابع های 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>