Session ها در پی اچ پی
#1
Note 
در یک جلسه هر چند تا متغیر که بخواهید می توانید برای جلسه تان ایجاد نمائید و این متغیر ها در تمام صفحات وب سایت که کاربر باز می کند قابل استفاده اند البته مادامیکه ان صفحه ای که جلسه را شروع کرده باز باشد
session برای ذخیره کردن اطلاعات یا تغییر تنظیمات مربوط به جلسه یک کاربر بکار می رود ( منظور از جلسه مدیریت صفحات وب باز شده از یک سایت توسط برنامه صفحه وب می باشد ) این جلسه از دید کاربر مخفی است و کاملا در برنامه صفحات وب نهفته است

متغیر session اطلاعاتی را درباره فقط یک کاربر نگه می دارد و در تمام صفحات وب مربوط به همی که کاربر باز کرده قابل دسترسی و استفاده است
کامپیوتر می داند شما که هستید . او می داند شما کی برنامه ای را باز کرده و کی بسته اید . اما در اینترنت یک مشکلی وجود دارد و ان این است که سرور نمی داند شما که هستید و چه می کنید زیرا ادرس های http قابلیت تمرکز روی فعالیت های شما را ندارند
با session می توان این مشکل را حل کرد روش کار به این صورت است که برای کاربردهای بعدی اطلاعات کاربری که صفحه وب شما را باز کرده در سرور ذخیره می شود . اطلاعاتی مثل اسم کاربری ، لیست خریدهایتان و غیره
به هر حال ، باید بدانید اطلاعات جلسه کاملا موقت بوده و بعد از خروج کاربر از وب سایت شما از بین می روند
در صورتیکه شما می خواهید ازاطلاعات جلسه برایتان در سرور باقی بماند باید ان اطلاعات را در بانک اطلاعاتی سرور ذخیره نمائید
از انجا که ممکن چندین نفر در مکانهای مختلف از وب سایت شما دیدن نمایند ، روش کار جلسه این گونه است که به هر کاربری که در حال دیدن وب سایت شماست یک ای دی منحصر به فرد بر اساس UID اختصاص می دهد uid در کوکی ذخیره می شود

شروع یک جلسه

قبل از اینکه شما بتوانید اطلاعات کاربری که در حال بازدید از وب سایت شماست در جلسه ذخیره نمائید ابتدا باید جلسه را اغاز نمائید
نکته : دستور session_start باید قبل از تگ HTML باشد

مثال

کد php:
<?php session_start(); ?>

<html>
<body>

</body>
</html>
 کد بالا جلسه کاربر را در سرور ثبت می کند ، و به شما اجازه میدهد اطلاعات کاربر را در سرور ذخیره نمائید  و یک UID را به ان کاربر اختصاص دهید
روش ذخیره نمودن اطلاعات جلسه
 روش صحیح برای ذخیره نمودن اطلاعات جلسه استفاده از متغیر SESSION_$ است
 مثال
 <?php
session_start
();
// store session data
$_SESSION['views']=1;
?>

<html>
<body>

<?php
//retrieve session data
echo "Pageviews="$_SESSION['views'];
?>

</body>
</html> 

خروجی :

Pageviews=1

در مثال زیر ، ما برای شمردن تعداد دفعات بازدید سایتمان توسط کاربری خاص ، یک شمارنده ساده می سازیم
در این مثال به کمک تابع isset بررسی می کنیم که اگر قبلا متغیر views ساخته شده یک واحد به ان اضافه شود ولی اگر ساخته نشده ، هم اکنون ایجاد شود و مقدار یک درون ان قرار گیرد
کد php:
<?php
session_start
();

if(isset(
$_SESSION['views']))
$_SESSION['views']=$_SESSION['views']+1;
else
$_SESSION['views']=1;
echo 
"Views="$_SESSION['views'];
?>
دقت داشته باشید کد بالا را در ابتدای برنامه و قبل از تگ html باز بنویسید تا به محض باز شدن صفحه وب اجرا شود .
پاک کردن متغیرهای جلسه
اگر می خواهید مقدار درون متغیرهای جلسه را پاک نمائید از تابع unset استفاده کنید

مثال:
کد php:
<?php
session_start
();
if(isset(
$_SESSION['views']))
  unset(
$_SESSION['views']);
?>

دستورات بالا بررسی می کند در صورت وجود متغیر جلسه با نام views مقدار ان پاک شود
اما اگر می خواهید جلسه و خود متغیرهای جلسه را کلا نیست و نابود کنید از دستور session_destroy استفاده نمائید . با این کار قبل از اینکه با بستن صفحات وب توسط کاربر جلسه پایان یابد ، شما دستور پایان جلسه را صادر کرده اید
<?php
session_destroy();
?>

w3web.persianblog.ir

پاسخ
ایجاد موضوع جدید   پاسخ به موضوع  

موضوعات مرتبط با این موضوع...
موضوع نویسنده پاسخ بازدید آخرین ارسال
Note ارسال کپی ایمیل در php hasti 2 391 27-05-2014 ساعت 18:33
آخرین ارسال: IR-Webmaster
Note کپی کردن بخشی از تصویر در php PHP.sec 0 284 07-04-2014 ساعت 15:56
آخرین ارسال: PHP.sec
Note At end of session چیست؟ Babak98 1 398 12-02-2014 ساعت 12:04
آخرین ارسال: Stack OverFlow
Note امن کردن Session در PHP PHP.sec 0 315 25-01-2014 ساعت 13:14
آخرین ارسال: PHP.sec
Note جدا کردن حروف و اعداد از هم در پی اچ پی tahereh 3 487 09-01-2014 ساعت 16:54
آخرین ارسال: PHP.sec
Note خطای پی اچ پی Notice: Use of undefined constant info1 Ali Developer 1 627 29-06-2013 ساعت 09:16
آخرین ارسال: AnimeIraN
Note معرفی پی اچ پی PHP Introduction THE KNIGHT 0 342 12-11-2012 ساعت 20:02
آخرین ارسال: THE KNIGHT

کاربرانِ درحال بازدید از این موضوع:   1 مهمان