سبد (0)

تبلیغات

متغیرهای جلسه در PHP

متغیرهای جلسه (session) در php

Wiki

وقتی یک Application تحت ویندوز را باز می کنید و چند تغییر روی آن می دهید و سپس آنرا می بندید، کامپیوتر می داند شما چه کسی هستید، چه موقع درخواست را آغاز و چه موقع آن را به اتمام رسانده اید. اما در اینترنت یک مشکل وجود دارد، سرور وب نمی داند شما که هستید و چه می کنید چون آدرس HTTP، حالت State را پشتیبانی نمی کند.

یک جلسه یا session این مشکل را برای شما حل می کند، در حقیقت اطلاعات کاربر(مثل: نام کاربری و غیره) بر روی سرور برای استفاده های بعدی ذخیره می شود. اما اطلاعات جلسه موقتی اند و پس از اینکه کاربر، وب سایت را رها کند، اطلاعات حذف خواهند شد، اگر نیاز به ذخیره سازی دائمی دارید باید داده ها را در یک پایگاه داده ذخیره کنید.

جلسه ها با ایجاد یک شماره ID منحصر به فرد برای هر بیننده و ذخیره متغیرها براساس این شماره ها کار می کنند.

نکته: در یک پروژه تحت وب، بعد از ایجاد یک متغیر جلسه، مقدار آن برای همه ی صفحات پروژه قابل دستیابی است.


آغاز یک جلسه (session) در php

Wiki

 قبل از اینکه بتوانید اطلاعات کاربر، را در جلسه تان ذخیره کنید، ابتدا باید یک جلسه آغاز شود، تابع ()session_start برای این منظور استفاده می شود.

نکته: تابع ()session_start باید قبل از تگ <html> بیاید:

<?php session_start(); ?>

<html>
<body>

</body>
</html>


تعریف یک متغیر جلسه (session) در PHP

Wiki

 روش صحیح برای ذخیره و بازیابی متغیرهای جلسه، استفاده از 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
session_start();

if(isset($_SESSION['views']))
   $_SESSION['views']=$_SESSION['views']+1;
else
   $_SESSION['views']=1;
echo "Views=". $_SESSION['views'];
?>


از بین بردن جلسه (session) در PHP

Wiki

برای از بین بردن جلسه ها در PHP می توان از توابع زیر استفاده کرد:

  • ()unset: یک جلسه مشخص را به عنوان پارامتر دریافت می کند و آنرا از بین می برد.
  • ()session_destroy: کلیه جلسه های ایجاد شده را از بین می برد.

<?php
unset($_SESSION['views']);
?>

<?php
session_destroy();
?>

برای مشاهده فیلم ها و آموزش های پروژه محور برنامه نویسی PHP کلیک کنید.

دیدگاه‌ها  

+2 # مرتضی morteza 1395-07-08 00:35
باسلام چطور میشه همزمان با بستن مرور گر توسط کاربر session رو هم پاک کرد
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # مهرداد صلاحی 1395-07-14 17:37
با سلام و تشکر
فکر میکنم تنظیمات داخلی مرورگر این امکان رو در اختیار کاربر بذاره تا سشن‌ها رو مدیریت کنه.
در ثانی بستن مرورگر یک عمل سمت کلاینت هست و شما باید با بستن مرورگر یه درخواست به سرور بفرستید و سشن رو پاک کنید. البته نمیدونم چنین روالی در اختیار کاربر خواهد بود یا نه.

برای صفحات حساس معمولا سشن رو طوری مقدار میدن که امکان لاگین فقط در همون لحظه باشه،‌و با بستن تب یا مرورگر، سشنی ذخیره نخواهد بود که بخواد پاک بشه یا نه.
اگر سشن رو ذخیره نکنید، با بستن مرورگر مقدارش هم پاک میشه.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+2 # افسانه 1394-07-30 12:26
با سلام و احترام
من میخوام وقتی محصولاتم رو به سبد خرید اضافه میکنم با session اطلاعاتم به سبد خرید وارد میشه که این اطلاعات داخل تگ td نمایش داده میشه حالا من میخوام اطلاعات این td ها رو در بانک ذخیره کنم ممنون میشم راهنمایی کنین که چگونه میشه اطلاعاتی که از طریق session فراخونی شده و وارد td شده حالا به بانک اضافه بشه.

با سپاس از شما
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن
+3 # مهرداد صلاحی 1394-07-30 13:27
با سلام و تشکر.
Session متغیری سراسری در سمت سرور هست و شما می‌تونید از این متغیر برای مقاصد خود استفاده کنید. در سشن معمولا اطلاعات نگهداری می‌شه.

تگ‌ها فقط جنبه‌ی نمایشی دارن. یعنی شما از تگ td یا هر تگ دیگری صرفا فقط باید برای نمایش به کاربر استفاده کنید. برای گرفتن اطلاعات کاربر و ... فقط باید اطلاعاتی که از دیتابیس یا از کنترل‌های فرم گرفته میشه رو ذخیره و بازیابی کنید.

اما در مورد سؤال شما،‌سؤالتون خیلی مفهوم نیست.
ولی به طور کلی مفهومش اینه که برای نمایش معمولا محصولات یه کدی دارن که این کد در داخل یک کنترل نگهداری میشه. وقتی کاربر محصول یا محصولاتی رو علامت می‌زنه، در واقع کد این محصولات برای سرور ارسال میشه. اینجا شما باید این کد محصول یا محصولات رو در سشن بریزید و بر حسب نیاز خودتون، روی اونها عملیات انجام بدید.

سؤال خودتون رو کمی بیشتر توضیح بدید یا اینکه کدهاتون رو بذارید تا بشه بهتر راهنمایی کرد.
پاسخ دادن | پاسخ به نقل قول | نقل قول کردن

آموزش صوتی PHP

بستن
مدرس:
سوال و جواب:

ابزاری که در پیش روی دارید یکی از ابزارهای بسیار کاربردی سایت بیاموز در زمینه آموزش است، این ابزار برای سهولت یادگیری شما کاربران محترم طراحی شده است.

فقط کافی است روی عنوان پاراگراف مورد نظرتان کلیک کنید تا پخش صدا آغاز شود ...!

تمامی محصولات و خدمات این وبسایت، حسب مورد دارای مجوزهای لازم از مراجع مربوطه می‌باشند و فعالیت‌های این سایت تابع قوانین و مقررات جمهوری اسلامی ایران است.
logo-samandehi مجوز نشر دیجیتال از وزرات فرهنگ و ارشاد اسلامی پرداخت آنلاین -  بانک ملت معرفی بیاموز در شبکه سه پرداخت آنلاین - بانک اقتصاد نوین پرداخت آنلاین - بانک سامان
 
دوره های آموزشی راه اندازی کسب و کارهای اینترنتی
تبلیغات اینترنتی