خطلای "Headers already sent" چیست و چگونه می توان آن را برطرف کرد؟

من در کد برنامه از تایع header() به صورت زیر استفاده کردم:

<?php
   header('location:localhost/myproject/index.php');
?>

 

php
0
امید پرسیده شده در ۲ دی ۱۳۹۴
18 سوال
0 پاسخ
4امتیاز
Share in:
1 پاسخ

زمانی که قصد استفاده از تابع header در php را داشته باشید باید به این نکته توجه داشت که قبل از استفاده، هیچ کاراکتری نباید ارسال شود. به طور مثال زمانی که شما با استفاده از دستور echo، تگ های html را چاپ کنید سپس از تابع header استفاده کنید با این خطا مواجه خواهید شده. حتی فواصل خالی space هم باعث بروز این نوع خطا خواهد شد. برای مثال دیگر، زمانی که در فایل php خود یک کلاس را تعریف می کنید باید به این نکته توجه داشته باشید که هر کاراکتر قبل از php?> و بعد از ?> قرار بگیرد پس از require کردن یا include کردن فایل، این کاراکترها در خروجی شما چاپ خواهد شد و اگر از تابع header استفاده کنید با این خطا مواجه خواهید شد. بعد از استفاده از این تابع حتما از تایع exit استفاده کنید:

<?php
   header('location:localhost/myproject/index.php');
   exit();
?>

 

0
دانیال
پاسخ داده در ۱۰ دی ۱۳۹۴
0 سوال
50 پاسخ
27امتیاز
پاسخ شماپاسخ شما با موفقیت ثبت شد.پاسخی وارد نشده است.

ارسال پاسخ