PDA

View Full Version : خطا هنگام دایرکت صفحه - Header outpiut Error



Mah
دوشنبه 30 شهریور 1388, 11:44 صبح
سلام .
من در برخی مواقع مجبورم از تابع Header برای هدایت صفحه استفاده می کنم .
مثلاً Login اما با خطای ذیل مواجه شدم .
سیستم من در Local درست عمل می کنه اما بر روی هاستی که خریدم خطا می ده .
این هم خطا :


صفحه ورود

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 77

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 80لطفا راهنمایی کنید که این خطا ها برای چی و چرا ایجاد شده اند .
چطوری می تونم جلوی اینها را بگیرم .
در ضمن صفحه هم انتقال پیدا نمی کنه .
منتظرم ...

nimatramon
دوشنبه 30 شهریور 1388, 12:15 عصر
دوست عزیز این خطا به این خاطر ایجاد می شه که header نیز مانند session_start باید در ابتدای فایل بیاد و اگر قبلش چیزی باشه این error را می ده، برای رفع این مشکل می تونی از متا تگ استفاده کنی

<meta http-equiv="refresh" content="2;url=test.php">

بجای 2 زمانی را که می خوای طول بکشه وبعد redirect بشه به ثانیه مشخص کن و بجای test.php هم آدرس را بگذار

__ziXet__
دوشنبه 30 شهریور 1388, 13:15 عصر
سلام .
من در برخی مواقع مجبورم از تابع Header برای هدایت صفحه استفاده می کنم .
مثلاً Login اما با خطای ذیل مواجه شدم .
سیستم من در Local درست عمل می کنه اما بر روی هاستی که خریدم خطا می ده .
این هم خطا :


صفحه ورود

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 77

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 78

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 79

Warning: Cannot modify header information - headers already sent by (output started at /home/MyUser/public_html/bime/web/login.php:6) in /home/MyUser/public_html/bime/web/login.php on line 80لطفا راهنمایی کنید که این خطا ها برای چی و چرا ایجاد شده اند .
چطوری می تونم جلوی اینها را بگیرم .
در ضمن صفحه هم انتقال پیدا نمی کنه .
منتظرم ...
این نوع خطاها معمولا وقتی رخ میدن که قبل از تابع هدر یه چیزی به مرورگر فرستاده شده باشه!
شما وقتی صفحه رو با utf-8 encoding ذخیره میکنی امضای BOM چند کاراکتر رو قبل از تابع هدر به مرورگر میفرسته که باعث این خطا میشه.
برای حل این مشکل از ادیتورمتن EmEditor یا Notepad++ یا ادیتورهای حرفه ای دیگه استفاده کنید و هنگام ذخیره امضای BOM رو بردارید.

موفق باشید

afi_program
دوشنبه 30 شهریور 1388, 22:57 عصر
همون طور که دوستان گفتن مشکل به خواطر ارسال اطلاعات قبل از تابعheader هست .میتونید از کد

echo "<script>location.href='index.php';</script>"; استفاده کنید که به این مشکل برنخورید.
موفق باشی

mohsenw700
چهارشنبه 01 مهر 1388, 11:01 صبح
پیشنهاد میشود که از هیچ کد اضافه ای استفاده نکنید چون تمام این موارد ایجاد مشکل خواهند کرد پس بهترین راه استفاده از Buffring استفاده کنید

البته میتوانیید علاوه بر روشن کردن Buffring از یک کد flag هم در ابتدا و انتهاheader هم به کدهاتون اضافه کنید

dr-solomons
چهارشنبه 01 مهر 1388, 18:43 عصر
با سلام
اينو اول صفحه اضافه كن حل ميشه
البته در فايلهاي روي هاست



<?php
ob_start();
header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' );
session_start();
?>

هادی2020
دوشنبه 06 مهر 1388, 10:28 صبح
با سلام
اينو اول صفحه اضافه كن حل ميشه
البته در فايلهاي روي هاست



<?php
ob_start();
header( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
header( 'Last-Modified: ' . gmdate( 'D, d M Y H:i:s' ) . ' GMT' );
header( 'Cache-Control: no-store, no-cache, must-revalidate' );
header( 'Cache-Control: post-check=0, pre-check=0', false );
header( 'Pragma: no-cache' );
session_start();
?>



یه توضیح راجع به کد بالا می خواستم

kazem121
یک شنبه 15 خرداد 1390, 11:20 صبح
یه توضیح راجع به کد بالا می خواستم

اره؛ اگه ممکنه یه توضیح راجع به کد بالا بدین...
تشکر