🚀 تخفیف ۳۵٪ + ۳.۵ میلیون هدیه! برنامه‌نویسی رو الان شروع کن - فقط امروز!
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ هادی جیبر
پیغام اخطار
جامعه پی اچ پی ایجاد شده در ۱۳ مرداد ۱۴۰۲

با اجرای پروژه در مورد متغییر folders یک پیغام اخطار(foreach() argument must be of type array|object, null given in)نمایش داده میشه و سریع حذف میشه و پیغام اخطار میگه متغیر بایستی از نوع آرایه و یا آبجکت باشه برای تست از یک شرط استفاده کرده :

 

سلام هادی عزیز

همونطور که گفتی این خطا برای این هست که متغیر folders نال هست.

یک دامپ در بیرون شرط ازش بگیرید و بررسی کنید که مقدارش درست ست شده یا نه.

احمدرضا فاطمی کیا ۱۳ مرداد ۱۴۰۲، ۰۶:۱۹

انجام دادم مقدارش درسته اما همچنان پیغام خطا یک لحضه نمایش داده میشه و میره.

هادی جیبر ۱۳ مرداد ۱۴۰۲، ۰۶:۳۷

پروژه رو در گیت قرار بدید بررسی کنم سورستون رو.

چون این بخش فقط حلقه شما هست و باید بقیه موارد بررسی شه.

احمدرضا فاطمی کیا ۱۳ مرداد ۱۴۰۲، ۰۶:۴۴

سورس پروژه خدمت شما

هادی جیبر ۱۳ مرداد ۱۴۰۲، ۰۶:۵۸

هادی عزیز

در فایل init.php شما tpl-index رو نباید اینکلود کنید.

به خاطر همین ابتدا در اینیت اینکلود میشه و متغیر فولدر پیدا نمیشه و بعد در اینکلود فایل ایندکس مجدد ست میشه.74dd-Screenshot (32).png

احمدرضا فاطمی کیا ۱۳ مرداد ۱۴۰۲، ۰۷:۲۴

سپاس

مشکلم برطرف شد اگر امکان داره کمی بیشتر در این مورد توضیح بدین. لطفا

هادی جیبر ۱۳ مرداد ۱۴۰۲، ۰۷:۳۸
  • کاربر وقتی آدرس رو میزنه شروع پروژه از فایل ایندکس هست.
  • شما در فایل ایندکس اومدید فایل init رو اینکلود کردید و اون فایل اجرا میشه.
  • در فایل اینیت هم اومدید قالب ایندکس رو اینکلود کردید پس میاد اون قالب رو نشون میده اما چون متغیر فولدر ست نشده خطا میده که متغیر وجود نداره.
  • حالا لاین اینکلود فایل اینیت تموم شد و میره سراغ ادامه کدهای ایندکس.
  • در ادامه اومدید متغیر فولدر رو ایجاد کردید و مجدد اینکلود رو انجام دادید و مجدد میاد قالب ایندکس رو اینکلود میکنه منتها این دفعه از فایل ایندکس هست و متغیر ست شده و خطا نمیگیره.
  • تنها نکته ای که باید دقت کنید اینه که کدها خط به خط از فایل index.php شروع به اجرا میشن و با اینکلود کردن محتوای فایل اینکلود شده درون همون فایل قرار میگیره.
بهترین پاسخ
احمدرضا فاطمی کیا ۱۳ مرداد ۱۴۰۲، ۰۸:۲۴