دوره مجازی PHP (جلسه 18): کار با کوکی ها (cookies) و سشن ها (Sessions)

- visibility ۴٨ mode_comment

امروز در مورد یکی از کاربردیترین مباحث در زبان PHP بحث می کنیم . کوکی ها و سشن ها امکانی رو برای شما فراهم می کنند که بتونید مابین صفحات مختلف یک وبسایت بعضی داده ها رو منتقل کنید و ازشون استفاده کنید . امروز به تشریح کاربرد ها، مثال ها و تفاوت های ایندو می پردازیم که قطعا جلسه ی مهم و حیاتی ای هست در زبان PHP .

مباحث گفته شده در جلسه امروز عبارتند از :

فصل 14 : Cookie ها و Session ها در PHP و تفاوت کاربرد آنها

  • کوکي و سشن : تعريف مفاهيم و تشريح تفاوت هاي آن ها
  • تشريح کاربرد هاي کوکي و موارد استفاده از آن
  • توضيح در مورد آرايه ي $_COOKIE
  • کار با کوکي ها در PHP
  • ايجاد و تنظيم کوکي ها
  • خواندن و استفاده از کوکي ها
  • حذف و از بين بردن کوکي ها
  • نحوه ي تعيين زمان انقضاي کوکي ها
  • مشاهده و مديريت دستي کوکي ها در مرورگرهاي مختلف
  • تشريح کاربرد هاي سشن و موارد استفاده از آن
  • توضيح در مورد آرايه ي $_SESSION
  • کار با سشن ها در PHP
  • ايجاد و تنظيم سشن ها
  • خواندن و استفاده از سشن ها
  • حذف و از بين بردن سشن ها
  • هش کردن اطلاعات حساس (مثل رمزهاي عبور) براي امنيت بيشتر
  • مقايسه ي الگوريتم هاي مختلف هش کردن اطلاعات
  • مینی پروژه 1 : نمایش تعداد بازدید کاربر از صفحات مختلف سایت و نمایش کل بازدیدهای او
  • ميني پروژه 2 : احراز هويت (Authentication) کاربران و پياده سازي فرايند ورود و خروج با سشن ها 
  • تمرين
info توجه

این مطلب یک جلسه از دوره حرفه ای PHP می باشد و برای مشاهده آن باید در دوره ثبت نام کنید.

ثبت نام در دوره حرفه ای PHP

comment دیدگاه کاربران
empera2r

سلام آقای آوند
به یه مشکل عجیب برخوردم که هرچی ور میرم باهاش اصلا نمیفهمم چرا اینطوری هستش ممنون میشم راهنمایی کنید


کد بالا به جای اینکه یکی یکی به سشن اضافه کنه 3 تا 3تا اضافه میکنه و اگر اون 1 رو هم 2 بکنم 6 تا 6تا اضافه میکن (مضربی از 3)

ویرایش (کامنت) :
بعد از چندین بار تغییرات در کمال ناباوری بعد از تغییر اسم فایل مشکل حل شد آقای آوند دلیل بوجود اومدن همچین وضعیت چی هستش ؟

لقمان آوند

سلام
کدت منطقی و درست هست. ممکنه اختلال موقتی در مرورگر یا وب سرورت ایجاد شده بوده . یا اینکه چند بار فایلو باز کردی و رفرش کردی که این سشن بیش از 1 واحد افزایش پیدا کرده !

empera2r

ممنون..احتمالا یک اختلالی پیش اومده چون من صفحه رو فقط یکبار رفرش میکردو خیلی برام عجیب بود همچین اتفاقی به هر حال تشکر

mostafash

من یک صفحه لاگین برای پنل مدیریت درست کردم و وقتی که نام کاربری و کلمه عبور را وارد می کنم با پیغام زیر مواجه میشم
Warning: session_start(): Cannot send session cookie – headers already sent by (output started at /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php:8) in /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php on line 9 Warning: session_start(): Cannot send session cache limiter – headers already sent (output started at /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php:8) in /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php on line 9 Warning: Cannot modify header information – headers already sent by (output started at /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php:8) in /home2/chaaboki/domains/kasrasystem.ir/public_html/admin/admin-panel.php on line 11
فکر میکنین مشکل از کجاست؟فقط این نکته رو ذکر کنم که بعد از وارد کردن نام کاربری و کلمه عبور به یک صفحه دیگه که صفحه اصلی پنل مدیریت هست وارد میشم که در این صفحه من یک session قراردادم که اگر صحیح بود اجازه لاگین میده.
کد پی اچ پی که در صفحه پنل مدیریت قرار دادم هم به شرح زیر هست:

ممنون میشم راهنمایی بفرمائید.

لقمان آوند

این مشکل رو در دوره به وضوح گفتیم که دلیلش چیه!
قبل از باز کردن سشن هیچ خروجی نباید وجود داشته باشه. اینو تو کدتون چک کنید …
ویدیوهای دوره رو با دقت ببینید.

mostafash

با سلام
من مورد رو چک کردم و قبل از session_start هیچ کدی وجود ندارد.جالب اینجاست که توی لوکال هاست هیچ مشکلی نداره ولی وقتی آپلود می کنم توی هاست اصلی،اونجاست که داره به من ارور فوق رو میده.به نظر شما مشکل میتونه از تنظیمات هاست اصلی من باشه؟
ممنون

لقمان آوند

پس انکودینگ فایل رو حتما چک کنید که utf8 without bom باشه
اگر درست نشد آدرس و اطلاعات ورود به هاستتون رو برام ایمیل کنید که بررسی کنم براتون

mostafash

سلام.اطلاعات هاست رو از طریق پنل کاربریم برای شما ارسال کردم.ممنون میشم بررسی بفرمائید

mostafash

جناب دکتر آوند سلام.با عرض شرمندگی مشکل ورود به پنل سایت منو وقت کردین بررسی کنین

لقمان آوند

سلام
از اینجا بازیابی کنید .

رضا

سلام خسته نباشید
میشه در مورد remember me بیشتر توضیح بدین گه چجوری بنویسیم؟ ممنون

لقمان آوند

توضیحات رو تقریبا تو ویدیو دادیم. عبارت how to implement remember me in php رو گوگل کنید. مقالاتی پیدا می کنید که روش انجام اینکارو آموزش دادند.

mahii

سلام، فایل های این قسمت رو نمیتونم دانلود کنم، ارور میده، لطفا اصلاح کنید

وحید صالحی

بررسی شد مشکلی نداره دوست عزیز

mehdi eslami

سلام چرا این قسمت از اموزش رو نمیتونم دانلود کنم؟
ظاهرا لینکش خرابه لطفا بررسی کنید ممنونم.

لقمان آوند

مشکلی نداره
مجددا چک کنید

mehdi karimi

سلام ، استاد کوکی هایی که من ست میکنم و براشون تاریخ انقضا تعیین میکنم تو همه مرورگر ها درست عمل میکنه و بعد از پایان تاریخ انقضا از بین میرن ولی تو فایرفاکس اینجوری نیست و بعد از تاریخ انقضا هم باقی میمونن ، جستجو هم کردم به نتیجه ای نرسیدم ، نمیدونم چه جوریه داستان اگه میشه راهنمایی کنید

لقمان آوند

ممکنه فقط نگه داره. ولی خوب قابل استفاده و فعال نیست چون منقضی شده .

Sahar Dida

سلام خسته نباشید
در توابعی که در فایل auth.php نوشتید return false و return true را برای چی گذاشتین؟
اگه return نگذاریم چه می شود چون این بعضی از این توابع قرار نیست چیزی را برگدانند

لقمان آوند

بعضی وقتا لازمه مقدار برگشتی تابع رو بگیرید و بررسی کنید که آیا موفقیت آمیز بوده یا نه. مثلا توی شرط if
برای همین مقادیر مذکور return میشه

eli yat

با سلام و وقت بخیر

اگر بخوایم برای مدیر که لاگین کرده بتونه از تو پنل مدیریتش بدون خارج شدن ، بتونه پنل کاربراش و ببینه .
و این در حالیه که برای نمایش صفحه کاربران با توجه به سشن id شون و سشن type شون نمایش داده میشه .
چه طوری سشن ها رو تنظیم کنم که با سشن مدیر که الان لاگین هست ، پنل کاربران را نمایش بدم .

بسیار بسیار ممنون میشم اگر راهنمایی بفرمایین .

لقمان آوند

برای اینکه اطلاعات کاربرای دیگه رو ببینید لزوما نیازی به ست کردم سشم مجدد نیست. کافیه آیدی کاربر رو بدید و اطلاعاتش رو بگیرید و به مدیر نمایش بدید .

محمدرضا

سلام وقتون بخیر
روشی که استفاده کردین برای انتقال اطلاعات بین صفحات وب از طریق URL بهش میگن Query String ؟
من دوست دارم مسلط بشم به این مبحث ممنون میشم اگه منابع فارسی و انگلیسی جالب رو معرفی کنید یا اینکه شماره جلسه ای که داخلش این موارد رو توضیح دادین بگید
ممنونم ازتون و خسته نباشید عاقبتون بخیر

کیوان علی محمدی

سلام. اون قسمتی از آدرس رو که شامل اطلاعات ارسال هستش رو بهش میگن Query String و خیلی نکات خاصی نداره.از این صفحه می تونید اطلاعات تکیملیش رو بخونید.

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.
1 2