session چیه؟

میخوام یکم در مورد session بدونم...
کارش چیه ؟
طرز کارش چجوریه ؟
موارد استفاده ؟
یه مثال کوچولو....
:rose:
 

mtchabok

Member
سشن یا session به فارسی یعنی جلسه .
منظور از جلسه در دنیای وب یعنی اینکه کاربر تا زمانیکه که با سایت مربوطه در حال کار کردن هس پس جلسه ای برقرار است . این جلسه در تمامی زبانهای برنامه نویسی وب وجود داره .
در php سشن به یه آرایه گفته میشه که در فایل و یا در محلی که کاربر تعیین میکنه به صورت رشته ذخیره میشه .
خوب یه مثال میزنم و بعد توضیحش میدم :
PHP:
<?php
// تغییر نام کوکی
session_name('TEST_SESSID');
// 4bits: 0-9, a-f; | 5bits: 0-9, a-v; | 6bits: 0-9, a-z, A-Z, "-", ",";
ini_set('session.hash_bits_per_character',6);
// 0: MD5(128 bits) | 1:SHA-1(160 bits)
ini_set('session.hash_function',1);
// حذف سشن بعد از زمان تعیین شده به صورت اتوماتیک
ini_set('session.gc_probability',1);
// مقدار زمان نگه داشتن هر سشن به ثانیه
ini_set('session.gc_maxlifetime',1800);
// سشن توسط کوکی شناسایی شود
ini_set('session.use_cookies',1);
// شناسایی سشن فقط از طریق کوکی
ini_set('session.use_only_cookies',1);
// مقدار اول برای تعیین زمان سشن است که اگر 0 باشه با بستن مرورگر کوکی حذف میشود
// مسیر موجود بودن کوکی
// نام دامنه ای که کوکی روی آن کار میکند
session_set_cookie_params(0,'/',$_SERVER['HTTP_HOST']);
// مسیر ذخیره شدن فایلهای سشن
session_save_path('./session');
// شروع سشن که به همراه ارسال کوکی است البته در صورتی که در تنظیمات آن کوکی فعال باشد
session_start();

if(isset($_SESSION['counter']) and $_SESSION['counter']>20) session_destroy();
elseif(isset($_SESSION['counter'])) $_SESSION['counter']++;
else $_SESSION['counter'] = 1;
?>
<!doctype html>
<html>
<head>
<title>Exam Session</title>
</head>
<body>
Session Valiable : <pre>
<?php
$output = array(
    'session_id' => session_id()?session_id():'destroy',
    'session_counter' => session_id()?$_SESSION['counter']:'destroy',
    'session_data' => session_id()?$_SESSION:'destroy'
);
print_r($output);
?>
</pre>
</body>
</html>
در خط 25 اگر که در آرایه سشن counter وجود داشته باشه و مقدار در آن از 20 بالاتر باشه سشن حذف میشود .
در خط 26 در غیر اینصورت اگر counter در آرایه سشن وجود داشته باشه یه واحد به آن اضافه میشود .
در خط 27 هم در غیر اینصورت counter برابر مقدار 1 در آرایه سشن ایجاد میشود .
در خط 38 اگر سشن آی دی ( همان شماره منحصر بفردی که در کوکی وجود دارد ) مقداری داشته باشد مقدارش در متغیر output و اندیس session_id برای نمایش ریخته میشود در غیر اینصورت کلمه destroy ریخته میشود .
در خط 39 اگر سشن آی دی وجود داشته باشد محتوای counter در آرایه سشن در متغیر output و اندیس session_counter ریخته میشود و در غیراینصورت کلمه destroy ریخته میشود .
در خط 40 اگر سشن آی دی وجود داشته باشد محتوای کل سشن در session_data متغیر output ریخته میشود و در غیر اینصورت کلمه destroy ریخته میشود .
در خط 42 متغیر output چاپ میشود .
 
آخرین ویرایش:

جدیدترین ارسال ها

بالا