كنترل پنل             جستجو               پرسشهای متداول            .:: آخرین پست‌های انجمن ::.            لیست اعضا            مدیران سایت             درجات        ورود
فهرست انجمن‌ها -> برنامه‌نويسي تحت وب -> زبان برنامه‌نويسي PHP
پاسخ دادن به این موضوع
خطای Cannot modify header information - headers already sent by
پست تاریخ: چهار‌شنبه 17 دی 1393 - 14:29    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: خطای Cannot modify header information - headers already sent by خواندن مشخصات فردی ارسال پیام شخصی ارسال email

یک سری توابع هستن که هدرهای مرورگرو (Http-Header) تغییر میدن و مرورگر طبق این هدر ها عمل میکنه.
چنتا ازین توابع:
1. ()header() - header_remove
2. ()session_start() - session_regenerate_id
3. ()setcookie() - setrawcookie
هدرها تا زمانی قادرن تغییر کنن که هیچ خروجی (حتی یک space) در صفحه ی مرورگر چاپ نشده باشه.یعنی هیچ داده ای از سمت سرور به مرورگر کاربر نرسیده باشه.
مثلا کد زیر غلطه:
کد:

<html>
<?php
   session_start();
?>


علتش بخاطر وجود تگ html هست.چون قبل ازینکه سشن استارت بشه , تگ html در صفحه ی مرورگر چاپ شده و باعث بروز این مشکل میشه.
اگر بجای تگ html یک فاصله(space) هم بود بازم همین مشکل وجود داشت.
راه حل:
1. قبل از این توابع چیزی چاپ نشه.از قبیل echo , print , html tag ,...

2. فایل با انکد utf-8 without byte order mark ذخیره بشه.(utf-8 without BOM)
* چون utf-8 سه بایت(0xEF, 0xBB, 0xBF) به ابتدای فایل اضافه میکنه که با توجه به توضیحات بالا مشکل ساز میشه.

3. استفاده از بافر خروجی (ob_start) - حتما نیاز نیست ازین راه استفاده بشه.
* زمانی که بافر فعال بشه , تمام دیتاهایی که قراره در مرورگر کاربر چاپ بشه , ابتدا در بافر روی حافظه رم سرور قرار میگیره و تا زمانی که دستور خالی کردن بافرو ندادیم (ob_end_flush) , چیزی در مرورگر چاپ نمیشه.

4. زمان استفاده از header برای عمل redirect صفحه , ممکنه زیاد با این خطا مواجه بشیم.
* تابعی که استفاده میکنیم برای redirect:
کد:

header('location: index.php');


اما راه حل جایگزین برای redirect :

1. با استفاده از جاوااسکریپت:
کد:

<?php
       echo "<script>window.location = 'index.php'</script>";
?>


2. با استفاده از تگ متا:
کد:

<?php
       echo "<meta http-equiv='Refresh' content='0; url=index.php'>";
?>

0 => یعنی بعد از 0 ثانیه این عمل انجام شود.

3. استفاده از تابع زیر: (بهترین راه)
کد:

function redirect($url)
{
    @header('location: ' . $url);
    exit('<meta http-equiv="Refresh" content="0;url='. $url .'">');
}


این لینک لیستی از هدر های درخواست رو نشون میده. بطور مثال (content-type , location , referesh , ....)

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 17 دی 1393 - 17:04    
mahnazSALAS
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 355
عضو شده در: 13 مهر 1393
محل سکونت: ساوه
iran.gif


امتياز: 4890

عنوان: پاسخ به «خطای Cannot modify header information - headers already sent by» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

یک سوال در مورد وبلاگ..!
البته میدونم ربطی به این مباحثی که گذاشتی نداره اما اگر میدونی لطفا کمکم کن چون من تابستون برنامه نویسی تحت وب داشتم و الان چیز زیادی ام به اون صورت یادم نمیاد
یک بنر تبلیغاتی کنار وبلاگم هست که میخوام اون را حذفش کننم میشه بهم بگی چه کدی باید حذف بشه ؟؟؟ Sad
آدرس وبلاگم در امضام هست لطفا کلیک کن و سمت چپ را نگاه کن که اون تبلیغات هست

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 17 دی 1393 - 17:18    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: پاسخ به «خطای Cannot modify header information - headers already sent by» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

این تبلیغاتو خود بلاگفا اضافه میکنه.
توو کداش از یه کد جاوااسکریپت استفاده کرده.
با کد جاوااسکریپت میتونی حذفش کنی ولی اگه بفهمن وبلاگتو بلاک میکنن.
بزار اون گوشه باشه Mr. Green
اگرم خیلی اذیتت میکنه یه سایت مجزا واسه خودت بساز

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 17 دی 1393 - 17:29    
mahnazSALAS
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 355
عضو شده در: 13 مهر 1393
محل سکونت: ساوه
iran.gif


امتياز: 4890

عنوان: پاسخ به «خطای Cannot modify header information - headers already sent by» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

رفتم این کارم کنم ولی چون تو فکر ایجاد یک وبلاگ توی ورد پرس هستم فعلا ترجیح میدو خودمودرگیر سایت و مکافاتاش نکنم Embarassed
کمکم میکنی؟ Sad

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 17 دی 1393 - 17:53    
bidak
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 121
عضو شده در: 29 تیر 1392

blank.gif


امتياز: 1376

عنوان: پاسخ به «خطای Cannot modify header information - headers already sent by» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

وردپرس فارسیو از نت دانلود کن.
واسه یادگیریش روی یک سرور مجازی مثل wamp server روی سیستمت نصب کن.
ومپ سرورو هم باید از نت دانلود کنی و روی سیستمت نصب کنی.
این لینکو ببین.فارسیه
http://www.amoozesh98.com/video-tutorial-installing-wordpress-in-wampserver/

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:

پست تاریخ: چهار‌شنبه 17 دی 1393 - 18:20    
mahnazSALAS
داره كولاك مي‌كنه!
داره كولاك مي‌كنه!


پست: 355
عضو شده در: 13 مهر 1393
محل سکونت: ساوه
iran.gif


امتياز: 4890

عنوان: پاسخ به «خطای Cannot modify header information - headers already sent by» خواندن مشخصات فردی ارسال پیام شخصی ارسال email

ممنونم از کمکت من تلاشمو میکنم بازم به مشکل خوردم مزاحمت میشم Wink باید به سر صبر روش تمرکز کنم با فکر باز
به هر حال خیلی لطف کردی
ممنونم

[ وضعيت كاربر: ]

تشکر کردن از پست  پاسخگویی به این موضوع بهمراه نقل قول 
تشکرها از این پست:


نمایش پستها:                 مشاهده موضوع قبلی :: مشاهده موضوع بعدی  
پاسخ دادن به این موضوع
 

صفحه 1 از 1

تمام زمانها بر حسب GMT + 3.5 Hours می‌باشند
 Related Topics 


 information 

 

پرش به:  
شما نمی توانید در این بخش موضوع جدید پست کنید
شما نمی توانید در این بخش به موضوعها پاسخ دهید
شما نمی توانید موضوع های خودتان را در این بخش ویرایش کنید
شما نمی توانید موضوع های خودتان را در این بخش حذف کنید
شما نمی توانید در این بخش رای دهید


Copyright 2004-2024. All rights reserved.
© by Aftabgardan Cultural Center : Aftab.cc