زمان جاری: 2012/05/23, 10:40 PM خوش آمدید مهمان گرامی! (ورودعضویت)



خطای header ..!


ارسال موضوع  ارسال پاسخ 
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
رتبه موضوع:
 
خطای header ..!
نویسنده پیام
iraitc آفلاین
آریو برزن
**

ارسال‌ها: 57
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 21
30 بار تشکر شده در 22 پست
ارسال: #1
خطای header ..!
با سلام . من یه تست خیلی ساده نوشتم با این خطا مواجهه شدم . اگه میشه کمکم کنید .

نقل قول:Warning (2): Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\cake\app\controllers\test1_controller.php:1) [CORE\cake\libs\controller\controller.php, line 742]

کد از این قراره ..

لایه Controller
نام فایل test1_controller.php
کد PHP:
<?php
class test1Controller extends AppController {
     function 
given($arg1,$arg2) {
        
debug($arg1);
        
debug($arg2);
     }
     function 
given2() {
         
debug(func_get_args());
     }

     function 
index()
     {
     }


لایه models
نام فایل test1.php
کد PHP:
<?php
class test1 extends AppModel {
      public   
$useTable false;
      public   
$name='test1';



در لایه view فایل فولدر test1 رو ایجاد کردم و برای هر کنش یه view ساختم که محتوای همشون خالیه .
(آخرین تغییر در این ارسال: 2011/10/08 08:57 PM توسط iraitc.)
2011/10/08 08:54 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #2
RE: خطای header ..!
این ارور معروفه و ربطی به کیک نداره. فایل ها تون رو با نودپد پلاس باز کنید و از منوی تبدیل گزینه utf8 with out bom رو انتخاب کنید. و فایل هاتون رو ذخیره کنید.
2011/10/08 09:12 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
iraitc آفلاین
آریو برزن
**

ارسال‌ها: 57
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 21
30 بار تشکر شده در 22 پست
ارسال: #3
RE: خطای header ..!
مشکل حل شد...
انکدینگ صفحاتم رو utf8 گذاشته بودم مشکل از جای دیگه ای بود. تو لایه controller یه فایل داشتم بنام app_controller.php
کد PHP:
<?php
class AppController extends Controller {
    public 
$components=array('Auth');
    public function 
beforeFilter(){

    }
}
?>

من کامپوننت 'Auth' رو برای تمام پروژه هام صدا زدم اما در اینجا ازش استفاده نکردم و به همین خاطر اررور میداد . برداشتمش درست شد Smile
من می خوام این دستور را تو appController داشته باشم و کامپایلر دیگه بهم اررور نده . چکار کنم ؟
(آخرین تغییر در این ارسال: 2011/10/09 11:43 AM توسط iraitc.)
2011/10/09 11:42 AM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
saleh آفلاین
Administrator
*******

ارسال‌ها: 989
تاریخ عضویت: Dec 2009
رتبه: 12
تشکر: 399
871 بار تشکر شده در 560 پست
ارسال: #4
RE: خطای header ..!
شما مشکلی در استفاده کالبک beforeFilter ندارید. اگر پیام خطا دریافت می کنید. دلیل همونی مورد بالا هست که گفتم. در فایل هاتون کارکتر مخفی وجود داره.

و چرا زمانی که auth رو بر میدارید مشکلی ندارید. به خاطر این هست که auth از سشن بهره مییگره و قبل از session_start() شما header() ارسال کردید. که همین کاراکتر های مخفی باعص ارسال این هدر ها میشه.
2011/10/09 10:15 PM
مشاهده سایت کاربر یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
 تشکر شده توسط : iraitc
iraitc آفلاین
آریو برزن
**

ارسال‌ها: 57
تاریخ عضویت: Sep 2011
رتبه: 0
تشکر: 21
30 بار تشکر شده در 22 پست
ارسال: #5
RE: خطای header ..!
آره دقیقا شما درست میگید مشکل از این کاراکتر Bom لعنتی بود دلیل هم اینه که دستور فوق از session استفاده میکنه و بخاطر اینکه کاراکر Bom زودتر از دستور Session_start() ارسال میشه به همین خاطر خطای header میده . Big Grin
2011/10/09 10:42 PM
یافتن تمامی ارسال‌های این کاربر نقل قول این ارسال در پاسخ
ارسال موضوع  ارسال پاسخ 


پرش در انجمن: