הרשם | שאלות ותשובות | רשימת חברים | לוח שנה | הודעות מהיום | חיפוש |
|
|
כלים לאשכול | תצורת הצגה |
07-02-14, 23:37 | # 1 |
חבר מתקדם
|
העברת משתמשים מקובץ 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 עכשיו אני עובד על שרת מחו"ל, לא יודע כמה זה קשור, אני רק יודע שלפעמים יש בשרתים של חו"ל בעיות עם הBOM, אז הורדתי את הBOM מהקובץ והעלתי חזרה לשרת וזה לא עזר ואותן שגיאות. למישהו יש דרך איך אני אמשיך להריץ את הקוד שכתוב בPHP ובו זמנית אעביר משתמשים שינסו להגיע לקובץ דרך הדפדפן לדוגמא www.domain.com/file.php , והם יועברו ישר לindex.php. תודה רבה! |
08-02-14, 15:16 | # 2 |
חבר וותיק
|
אתה יכול להעביר אותם אחרי הלולאות,
השגיאות שמופיעות לך הן בגלל שאתה מציג פלט לפני ההידרים, כלומר אתה לא יכול להציג פלט לפני שאתה משתמש בheader, אחרת תהיה שגיאה כמו שרשמת. אם אין לך פלט לפני, אז כנראה שזה בגלל שאתה משתמש בutf-8 תרשום למעלה: ob_start(); |
08-02-14, 16:28 | # 3 |
עסק רשום [?]
|
הבעיה היא שאתה מבצע פלט לפני הפונקציה שקובעת את ה-Header.
אם יש לך פלט לפני הפונקציה (כמו למשל echo או print) - זה יגרום לשגיאה. גם אם יש תוכן לפני הפתיחה של התג PHP (גם סתם רווח נחשב לתוכן) - זה גם פלט וגם זה יכול לגרום לך לשגיאה.
__________________
BuildDream בניית אתרי אינטרנט לשירותך. עסק רשום במס הכנסה ומספק קבלות כחוק. www.BuildDream.co.il - www.iBuild.co.il |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|