PDA

View Full Version : سوال: وارنینگ Warning: Cannot modify header information - headers already sent by در وردپرس یا php



sajad prm
چهارشنبه 27 دی 1396, 19:53 عصر
سلام
من یک صفحه لاگین در ورد پرس ایچاد کردم که در اون وقتی کاربر نام کاربری و رمز عبور خودش رو درست وارد میکنه به صفحه panel از طریق redirect منتقل میشه ولی متاسفانه زمان انتقال وارنینگ Warning: ....
Cannot modify header information - headers already sent by
دارم من تمام فضا های خالی رو هم از بین بردم ولی هنوز این ارور رو میده من چکار باید بکنم ؟ با تشکر

Vahid2017
چهارشنبه 27 دی 1396, 22:24 عصر
سلام
من یک صفحه لاگین در ورد پرس ایچاد کردم که در اون وقتی کاربر نام کاربری و رمز عبور خودش رو درست وارد میکنه به صفحه panel از طریق redirect منتقل میشه ولی متاسفانه زمان انتقال وارنینگ Warning: ....
Cannot modify header information - headers already sent by
دارم من تمام فضا های خالی رو هم از بین بردم ولی هنوز این ارور رو میده من چکار باید بکنم ؟ با تشکر

برای حل این مشکل ، چندین چیز رو باید مد نظر قرار بدید،
ابتدا دقت کنید که فایلتون را با BOM ذخیره نکنید . تا جایی که یادمه در ویرایگشر نوتپد + گزینه ای با عنوان Save Without BOM وجود داره.
دوم اینکه صرف نظر از وجود فضای خالی و اینها میتونید با استفاده از تابع ob_start در ابتدای صفحه خروجی اون صفحه را buffer کنید و سپس در موقع لزوم با سایر متدهای شروع شونده با ob_ اونها رو مدیریت وکرده و یکباره به خروجی بفرستید.
سوم اینکه اگر JavaScript برای کاربران شما فعال هست میتونید این redirect را بجای ارسال header به مرورگر با echo کردن یک کد جاوااسکریپت انجام بدید (متد location.replace در جاوااسکریپت) در این صورت نگرانی از بابت ارسال شدن یا نشدن هدر ندارید.البته این فقط مناسب هدایت از صفحه Login به Panel هست و برعکسش توصیه نمیشه!