• 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 545 27-05-2014 ساعت 18:33
    آخرین ارسال: IR-Webmaster
    Note کپی کردن بخشی از تصویر در php PHP.sec 0 373 07-04-2014 ساعت 15:56
    آخرین ارسال: PHP.sec
    Note At end of session چیست؟ Babak98 1 548 12-02-2014 ساعت 12:04
    آخرین ارسال: Stack OverFlow
    Note امن کردن Session در PHP PHP.sec 0 414 25-01-2014 ساعت 13:14
    آخرین ارسال: PHP.sec
    Note جدا کردن حروف و اعداد از هم در پی اچ پی tahereh 3 703 09-01-2014 ساعت 16:54
    آخرین ارسال: PHP.sec
    Note خطای پی اچ پی Notice: Use of undefined constant info1 Ali Developer 1 837 29-06-2013 ساعت 09:16
    آخرین ارسال: AnimeIraN
    Note معرفی پی اچ پی PHP Introduction THE KNIGHT 0 444 12-11-2012 ساعت 20:02
    آخرین ارسال: THE KNIGHT

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