הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [שגיאה] מעצבנת headers already sent (https://hosts.co.il/forums/showthread.php?t=71257)

Denis|Scan.co.il 18-01-09 17:57

[שגיאה] מעצבנת headers already sent
 
בניתי התחברות למקום כלשהו..
עכשיו שיניתי איזה משהו באינדקס ופתאום הכל הפסיק לעבוד ורושם לי

"Warning: Cannot modify header information - headers already sent by"

בלה בלה..

איך אני פותר את זה? אגב ניסים לשים ob_start();
אבל לא יודע זה עדיין לא עובד.. אשמח לתשובה, תודה רבה..!

daMn 18-01-09 18:01

PHP קוד:

ob_start(); 

מיד אחרי תגית הפתיחה של PHP, שים לב שלא בא שום דבר לפני, לא מאונקלד שום דבר או שהסקריפט לא מתאנקלד למקום אחר.
PHP קוד:

ob_end_flush(); 

מיד לפני תגידת הסגירה של PHP.


בעיקרון אתה אמור לתכנן את הקוד ככה שקודם יישלח הheaders ולאחר מכן יישלח הפלט.

Denis|Scan.co.il 18-01-09 18:01

ירין, ניסיתי את זה , וזה פשוט לא מגיב.. זה רושם לי עוד שגיאות פשוט מציקות, יש אפשרות ליצור איתך קשר במסנג'ר?

daMn 18-01-09 18:03

ציטוט:

נכתב במקור על ידי Denis|Scan.co.il (פרסם 693472)
ירין, ניסיתי את זה , וזה פשוט לא מגיב.. זה רושם לי עוד שגיאות פשוט מציקות, יש אפשרות ליצור איתך קשר במסנג'ר?

שלח את הלינק לסקריפט ולינק phps , אם אתה לא רוצה לשתף אתה מוזמן לשלוח לי הודעה פרטית.

intercooler3819 18-01-09 18:04

קל יותר לשאול - מה שינית?

בסופו של דבר הבעיה היא תופעה של ניסיון שליחת האדרים כפולים
כיוון שHTTP RESPONSE יכול להשלח פעם אחת הוא צריך לכלול את כל התוכן
אם כבר הדפסת HTML (בהדפסת HTML נשלח HTTP RESPONSE) ואז הצבת COOKIE תקבל שגיאה, כי הCOOKIE מוצב בHTTP RESPONES ואם הוא כבר נשלח אי אפשר לשתול קוקי

זה תקף לעוד מספר מקרים חוץ מקוקי

תן את הקוד או את השינוי ואשמח לעזור

koz.co.il 18-01-09 18:05

PHP קוד:

ob_start(); 

אמור להיות מעל כל תג במסמך , אפילו מעל HTML

Ohad154 18-01-09 18:06

ציטוט:

נכתב במקור על ידי daMn (פרסם 693471)
PHP קוד:

ob_start(); 

מיד אחרי תגית הפתיחה של PHP, שים לב שלא בא שום דבר לפני, לא מאונקלד שום דבר או שהסקריפט לא מתאנקלד למקום אחר.
PHP קוד:

ob_end_flush(); 

מיד לפני תגידת הסגירה של PHP.


בעיקרון אתה אמור לתכנן את הקוד ככה שקודם יישלח הheaders ולאחר מכן יישלח הפלט.

תיקון:

תשים את session_start() מיד אחרי <?php ורק לאחר מכן את ob_start();
session_start תמיד בראש העמוד
ob_end_flush בסוף הקוד
תנסה את זה, זה אמור לעבוד..

Denis|Scan.co.il 18-01-09 18:08

אין זה פשוט לא עובד.. ניסיתי הכל :(
אני די חדש בקטע בגלל זה אני לא מצליח יותר מדי, אשמח אם מישהו יוכל מטוב ליבו לעזור לי במסנג'ר:

denis11_86@hotmail.com

מבטיח לצ'פר אותו!

mlnn 18-01-09 18:22

שמרת כutf בלי bom?

Denis|Scan.co.il 18-01-09 18:41

מה ז"א כutf בלי bom?
ואם כן אז מה עושים?

mlnn 18-01-09 20:24

http://www.hosts.co.il/forums/showthread.php?t=48171

M.a.T.a.N 18-01-09 22:29

תוסיף פשוט "@" לפני הקוד.
אם הקוד לדוגמא הוא setcookie,
אז:
PHP קוד:

@setcookie("name""value" time()); 

אם אני זוכר טוב

vadimg88 19-01-09 09:07

ציטוט:

תוסיף פשוט "@" לפני הקוד.
לא פתרון טוב בכלל.

M.a.T.a.N 19-01-09 14:02

למה לא?

DvirCohen 19-01-09 14:07

@ איטי מאוד, והוא לא מתקן את השגיאה, הוא פשוט גורם שהיא לא תופיעה.
מה שאומר שהשגיאה עדיין קיימת, פשוט אתה לא רואה אותה.

vadimg88 19-01-09 14:31

וגם זה לא שומר את זה בלוגים של השגיאות אז לאתר את מקור הבעיה אחר כך במידה ותיהיה יהיה כמעט בלתי אפשרי.


כל הזמנים הם GMT +2. הזמן כעת הוא 16:22.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ