עזרה בשגיאה של HEADER

Free User

New member
עזרה בשגיאה של HEADER

נוצרה לי אותה שגיאה של הבחור מלמטה Warning: Cannot modify header information - headers already sent by (output started at ..... ) בבקשה מה הפיתרון? התשובה שנתן שם הבחור למטה לא נכונה או לא מתאימה. מה הסיבה לזה, וכיצד פותרים זאת.
 
אתה לא יכול לשלוח מידע לדפדפן...

לפני שימוש ב- header... מידע לדפדפן יכול להיות: תגי HTML, שימוש ב- include, הכנסת קובץ חיצוני של CSS או JS
 
שליחת מידע לדפדפן זה כל פלט

שליחת מידע לדפדפן זה כל פלט, כלומר PHP מדפיסה קוד HTML, ואתה לא יכול לשלוח Header אחרי שהדפסת קוד. אם תשים לב, גם כתוב לך מתי ואיפה יש פלט. מזכיר לי בעיה, שעשיתי include לקובץ ששימש רק כממשק, כלומר הכיל רק פונקציות, אבל נכתב שה-Headers כבר נשלחו. לבסוף התברר שכאשר מסתיים קוד ה-PHP ע"י תגית ?> יש רווח קטן, והוא כמובן מודפס, ונחשב כפלט. רק משום שכתוב איפה היה הפלט יכולתי לאתר את הטעות. אחרת הייתי שובר את הראש עד היום.
 

יולו

New member
בקיצור..

אתה לא יכול לשלוח headers אחריי ששלחת פלט כלשהו..
 

nezek2003

New member
תעשה ככה

אם אני זוכר נכון ב PHP.INI יש משהו שנקרא OUTPUT BUFFERING לך אליו ותשנה אותו (אם הוא ON שיהיה OFF ולהפך) אני פשוט לא זוכר בעל פה מה צריך להיות. תעשה רסטרט לאפאצי שלך זה אמור לסדר לך את העניינים האלה
 

yuvallb

New member
יש פתרון

כמו שכבר אמרו פה. שמתי לינק למאמר טוב בנושא.
 
תבדוק

תבדוק שלפני ה ?> לא נתת איזה ENTER או שניים. לצורך העניין זה מספיק עבור הPHP לחשוב שכבר שלחת משהו, כלומר הוא כבר ייצר HEADERS.
 
למעלה