🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۲ رامهر
کد defined('BASE_PATH') or die("access denied !");
جامعه برنامه نویسی وب ایجاد شده در ۱۲ آبان ۱۴۰۲

سلام وقت بخیر

چرا ما وقتی در صفحه index.php تمامی فایل‌های مورد نیاز + tpl رو include میکنیم و وقتی یک فرمی رو ثبت میخوایم کنیم به صفحه addlocation.php و اگه کد سابجکت سوال رو قرار داده باشیم در اون صفحه به ما access denied میده در صورتی که ما غیر مستقیم BASE_PATH رو در فایل‌های دیگه که به صفحه ایندکس include شدن رو از قبل include کرده بودیم و در واقع الان چرا به ما access denied میده ؟

در واقع چرا من فایل helper که درونش توابع هست رو در فایل index.php 

include میکنم ، توابع فایل helper دیگه شناخته نمیشه ولی وقتی همین فایل رو در فایل init.php ، innclude میکنم توابع فایل helper.php شناخته میشه با اینکه من قبلش این فایل رو مستقیم در index.php اینکلود کرده بودم و نشناخت ولی وقتی غیر مستقیم اینکلود کردم در فایل init.php و بعد این init.php رو در فایل index.php اینکلود کردم توابع فایل helper رو شناخت ؟!

رامهر ۱۲ آبان ۱۴۰۲، ۱۰:۴۹

سلام،

ثابت BASE_PATH داخل فایل constants.php داخل پوشه bootstrap تعریف شده بنابراین خطی که در تایتل قرار دادید دنبال همین ثابت میگرده که آیا defined تعریف شده یا نه!

اگر constants.php رو اینکلود کنید در هر فایلی، بعدش میتونید helpers.php رو هم اینکلود کنید.

داخل index.php هم میتونید بعد از اینکلود init.php این فایل رو فراخوانی کنید.

محسن موحد ۱۴ آبان ۱۴۰۲، ۲۱:۱۲