۵ وحید هاشم پور
خطا در redirect
وحید هاشم پور حل شده توسط وحید هاشم پور

همه چیزو درست رعایت کردم ولی زمپ ارور سرور میده:

if(!isLoggedIn()){
 //redirect in auth form
 header("Location: https://7learn.com");
}
function isLoggedIn(){
    return false;
}
screenshot-2025-08-05-1-un4wr65q.png

سلام،
یعنی خط header رو بردارید یا کامنت کنید، صفحه بدون مشکل اجرا میشه؟

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

بله در ادامه که استاد از site_url استفاده می‌کنه با ارور مواجه نشدم:

if(!isLoggedIn()){
 //redirect in auth form
 header("Location:".site_url('auth.php'));
}

ولی وقتی مستقیم به سایت سون لرن ریدایرکت کردم خطای سرور داد!

وحید هاشم پور ۱۵ مرداد ۱۴۰۴، ۱۶:۱۳

بعد از header دستور exit رو بذار.

محسن موحد ۱۶ مرداد ۱۴۰۴، ۰۳:۴۳

امروز دوباره امتحان کردم درست شد! بدون exit

بهترین پاسخ
وحید هاشم پور ۱۶ مرداد ۱۴۰۴، ۱۵:۰۲

خطا مربوط به header نیست و ممکنه vhostای ساختید و هدر به یکی از آدرس‌های دیگر درون سرور ریدایرکت میشده مثل localhost/dashboard و خطای سرور میداده.

اینکه بعد header دستور exit رو میذاریم دلیلش اینه اگر نذاریم دستورات اون صفحه با اینکه ریدایرکت داره ولی تا آخرین خطی که بتونه رو اجرا میکنه و باعث مشکلاتی میشه(فرض کنید بعد از ریدایرکت، دستورات اینسرت یا ... دیتابیس هم باشه). همیشه بعد از هدر ریدایرکت دستور exit رو بذارید.

محسن موحد ۱۶ مرداد ۱۴۰۴، ۲۰:۴۲