يك جلسه كاري روشي است براي ذخيره سازي اطلاعات در متغير ها واستفاده از آنها در چندين صفحه .برعكس كوكي ها، آنها در سيستم كامپيوتري كاربر ذخيره نميشود.
يك برنامه معمولي را در نظر بگيريد .هنگام كاركردن باآن ، آنر بازميكنيد، بعضي تغييرات انجام ميدهيدو درنهايت آنرا بپايا ن ميرسانيد،يا مي بنديد .اين مشابه جلسه كاريست .در اين حالت كامپيوتر ميداند شما كه هستيد، كي كار راشروع كرديد وكي بپايان رسانديد .اما در اينترنت مشكلي وجود دارد .سرور وب نميداند شما كه هستيدوچه كاري انجام ميدهيد، باين دليل كهHTTP address وضعيت شمار رانگه نمي دارد.
متغير هاي جلسه كاري اين مشكل را برطرف كرده، متغيرها در سرتا سر صفحات مختلف قابل استفاده هستند .اين متغير ها تا ترك مرورگر باقي مي مانندوقابل استفاده ميباشند.
بنابراين متغيرهاي جلسه كاري فقط اطلاعات يك كاربر را نگه داشته و در صفحه هاي مختلف يك applicationقابل دسترسي هستند .
نكته ـ اگر نيازمند حافظه دائمي هستيد، ميتوانيد اطلاعات رادربانك اطلاعاتي ذخيره نمائيد.
يك جلسه كاري با تابعsession_start( ) شروع ميشود .همچنين متغير هاي جلسه كاري با $_SESSIONبر قرار ميشوند.
مثال ـ در مثال زيريك صفحه جديد با"demo_session1.php"ايجاد ميشود .در اين صفحه يك جلسه كاري شروع ودرآن متغيرهائي براي جلسه برقرارميشود.
<?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" ايجاد ميكنيم.
توجه كنيد كه متغير هاي جلسه مشابهsubmit فرم ارسالي نيستند، براي استفاده ازآنها در هر صفحه جديد، بايد تابعsession_start( ) در اين صفحه ابتداء اجرا شود . متغير هاي جلسه در متغيرجهاني $_SESSION[ ] ذخيره شده اند.
مثال ـ استفاده از متغيرهاي جلسه
<?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>
مثال ـ روش ديگرنشان دادن همه متغيرهاي جلسه كاري با مقادير آنها در اسكريپت زير كدشده است.
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php print_r($_SESSION); ?> </body> </html>
اكثر جلسات كاري به كليدي منتسب ميشوند.كليد چيزي مشابه 765487cf34ertBde5a562e4f3a7e12
كليد در كامپيوتر كابر ذخيره ميشود .با باز شدن صفحه جديد، وجودكليد مربوط كنترل ميشود .اگر وجود داشته باشد، جلسه مربوطه فعال ، در غيراينصورت جلسه جديد شروع ميگردد.
مثال ـ در مثال زيرمقدار متغير جلسه اصلاح گرديده است.
<?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_unset( ) وحذف جلسه كاري با تابع session_destory( )انجام ميشود.
مثال ـ نابودن نمودن جلسه كاري
<?php session_start(); ?> <!DOCTYPE html> <html> <body> <?php // remove all session variables session_unset(); // destroy the session session_destroy(); ?> </body> </html>