הרשם שאלות ותשובות רשימת חברים לוח שנה הודעות מהיום

חזור   הוסטס - פורום אחסון האתרים הגדול בישראל > עיצוב גראפי, תכנות על כל שפותיו וקידום ושיווק אתרים > פורום תיכנות

   
|!|

השב
 
כלים לאשכול תצורת הצגה
ישן 07-02-14, 23:37   # 1
Tyler
חבר מתקדם
 
מיני פרופיל
תאריך הצטרפות: Jul 2013
הודעות: 417

Tyler לא מחובר  

Exclamation העברת משתמשים מקובץ PHP ללא פגיעה בלולאה של הPHP

אז ככה, יש לי קובץ PHP על השרת שמבצע כמה לולאות ודברים בקוד שנשלח אליו על ידי.
מובן שזה צד שרת אז לא באמת אפשר להעתיק את התוכן של הקובץ, אך רציתי גם לשים לכיף בתחילת הקובץ HEADER שיוביל את כל אלה שמנסים לראות את התוכן של הקובץ או להכנס אליו לעמוד האינדקס.

לאחר הHEADER כתבתי את כל שאר הקוד שמכיל בתוכו REQUIRE ONCE, משתנים, לולאות, ובקיצור קובץ PHP רגיל שמבצע קוד ארוך.

הבעיה היא שעכשיו אחרי שהכנסתי את הHEADER אני מקבל 2 שגיאות:

קוד:
: Cannot modify header information - headers already sent by
קוד:
ession_start() [function.session-start]: Cannot send session cache limiter - headers already sent
אני בטוח ב100% שהדבר לא קשור לHEADER שהצבתי בתחילת הקובץ, כי על שרת אחר (שרת ישראלי), הקובץ עובד מעולה, מריץ את הלולאה של הקוד ובנוסף גם מעביר משתמשים חטטנים לעמוד האינדקס כשהם מנסים להגיע לקובץ PHP.
עכשיו אני עובד על שרת מחו"ל, לא יודע כמה זה קשור, אני רק יודע שלפעמים יש בשרתים של חו"ל בעיות עם הBOM, אז הורדתי את הBOM מהקובץ והעלתי חזרה לשרת וזה לא עזר ואותן שגיאות.

למישהו יש דרך איך אני אמשיך להריץ את הקוד שכתוב בPHP ובו זמנית אעביר משתמשים שינסו להגיע לקובץ דרך הדפדפן לדוגמא www.domain.com/file.php , והם יועברו ישר לindex.php.

תודה רבה!
  Reply With Quote
ישן 08-02-14, 15:16   # 2
Haimz
חבר וותיק
 
מיני פרופיל
תאריך הצטרפות: Sep 2010
הודעות: 1,221

Haimz לא מחובר  

אתה יכול להעביר אותם אחרי הלולאות,
השגיאות שמופיעות לך הן בגלל שאתה מציג פלט לפני ההידרים,
כלומר אתה לא יכול להציג פלט לפני שאתה משתמש בheader, אחרת תהיה שגיאה כמו שרשמת.
אם אין לך פלט לפני, אז כנראה שזה בגלל שאתה משתמש בutf-8
תרשום למעלה: ob_start();
  Reply With Quote
ישן 08-02-14, 16:28   # 3
BuildDream
עסק רשום [?]
 
BuildDream's Avatar
 
מיני פרופיל
תאריך הצטרפות: Oct 2010
הודעות: 527
Send a message via Skype™ to BuildDream

BuildDream לא מחובר  

הבעיה היא שאתה מבצע פלט לפני הפונקציה שקובעת את ה-Header.

אם יש לך פלט לפני הפונקציה (כמו למשל echo או print) - זה יגרום לשגיאה. גם אם יש תוכן לפני הפתיחה של התג PHP (גם סתם רווח נחשב לתוכן) - זה גם פלט וגם זה יכול לגרום לך לשגיאה.
__________________
BuildDream בניית אתרי אינטרנט לשירותך.
עסק רשום במס הכנסה ומספק קבלות כחוק.
www.BuildDream.co.il - www.iBuild.co.il
  Reply With Quote
השב

חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים)
 


חוקי פירסום
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is מופעל
סמיילים הם מופעל
[IMG] קוד מופעל
קוד HTML מכובה

קפיצה לפורום


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

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