متغیر Session در PHP5

متغیر Session در PHP5
session روشی برای ذخیره اطلاعاتی (متغیر) است که در سراسر صفحات چندگانه استفاده می شوند. بر خلاف cookie، اطلاعات بر روی کامپیوتر کاربران ذخیره نمی شوند.
♦ Session در PHP چیست؟
هنگامی که شما با یک برنامه کار می کنید، آن را باز می کنید، برخی از تغییرات را اعمال می کنید، و سپس آن را می بندید. این بسیار شبیه به session عمل میکند. کامپیوتر شما را می شناسد و می داند که شما چه زمانی برنامه ای را شروع و تمام کرده اید. اما در اینترنت یک مشکل وجود دارد: وب سرور شما را نمی شناسد و یا چه کاری انجام می دهید، زیرا آدرس HTTP حالت ها را حفظ نمی کند.
متغیرهای session جلسه این مشکل را با ذخیره اطلاعات کاربر در صفحات متعدد، (مانند نام کاربری و رنگ مورد علاقه و ...) حل میکنند.
بنابراین، متغیرهای session اطلاعات را در مورد یک کاربر نگهداری می کنند و در تمام صفحات یک برنامه قابل دسترسی هستند.
توجه داشته باشید، اگر شما به ذخیره سازی دائمی نیاز دارید، ممکن است بخواهید داده ها را در یک پایگاه داده ذخیره کنید.
♦ شروع یک session در پی اچ پی
یک سیژن با تابع session_start() شروع می شود. این تابع باید اولین چیزی باشد که در داکیومنت شما نوشته می شود، قبل از هر برچسب HTML .
متغیرهای session با متغیر جهانی $-SESSION در php تنظیم می گردند.
حال یک صفحه جدید به نام demo_session1.php ایجاد میکنیم. در این صفحه یک session جدید پی اچ پی شروع می کنیم و چند متغیر session تنظیم می کنیم: ( در تمامی مثال ها در برچسب ها به جای() از علامتهای <> استفاده کنید)
// 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 در php
بعد یک صفحه دیگر به نام demo session 2.php ایجاد میکنیم. از این صفحه، ما به اطلاعاتی که در صفحه اول (demo session 1.php) تنظیم کرده بودیم، دسترسی خواهیم داشت.
توجه کنید که متغیرهای جلسه، بصورت جداگانه در هر صفحه جدید قابل دسترسی نیستند، در عوض انها از هر صفحه ای که با session شروع کرده ایم، قابل بازیابی هستند. همچنین تمام مقادیر متغیر جلسه در متغیر جهانی $-SESSION ذخیره می گردند.
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، برای یک session کاربر، استفاده و اجرای کدهای زیر است:
♦ متغیر session چگونه کار میکند و کاربران را می شناسد؟
اکثر Session ها یک کلید کاربری را برای کاربران کامپیوتر، تعیین میکنند که چیزی شبیه به این است: 765487cf34ert8dede5a562e4f3a7e12. سپس وقتی که Session در یک صفحه دیگر باز است، کامپیوتر را با آن کلید کاربری اسکن می کند. در صورت تطابق آنها، به آن session دسترسی پیدا خواهد کرد، در غیر اینصورت یک session جدید ایجاد خواهد کرد.
♦ اصلاح یک متغیر session پی اچ پی
برای تغییر یک متغیر جلسه، فقط آن را بازنویسی کنید:
session_start();
?)
(!DOCTYPE html)
(html)
(body)
(?php
print_r($_SESSION);
?>
(/body)
(/html)
♦ از بین بردن یک جلسه PHP
برای حذف تمام متغیرهای جهانی Session و نابود کردن جلسه، از توابع session_unset() و session_destroy() استفاده می شود:
session_start();
?)
(!DOCTYPE html)
(html)
(body)
(?php
// to change a session variable, just overwrite it
$_SESSION["favcolor"] = "yellow";
print_r($_SESSION);
?)
(/body)
(/html)
واقعا عالی بود اینجوری که من برداشت کردم در واقع یک متغیر سراسری هستش که در همه صفحات می توان به ان دسترسی داشت با این تفاوت که این متغیر یک رمز در خود کامپیوتر کاربر ایجاد می کنه که از اون طریق می تونه کاربر و شناسایی کنه
لطفا از کار کردsession بیشتر مطلب بزارین ...(مقایسه در صفحات)>> سپس صحت داده - نام کاربریو رمز...... مچکرم مثلا من 5 یا 6 صفحه دارم میخوام صفحات از یک صفحه(صفحه اولم) بهم لینک بشه اما تا زمانی که از صفحه اول نرفتم به صفحه دوم ... صفحه دوم باز نشه و تا زمانی که از صفحه اول نرفتم صفحه دوم وبعدش صفحه سوم .....صفحه سومم باز نشه و به ترتیب سپاس