אני מכיר את הבעיה שיש להרבה מתכנתים, שכשהם עובדים עם דף, שיש בו שילוב של פלט, וheader, הדף מנפיק שגיאה:
header information arleady sent.
איך פותרים את הבעיה? די פשוט, ישנה פונקצייה בשם ob_start, רק מה, החיסרון שלה, הוא זמן העלאת הדף [מבחינה פונקציונאלית], אבל אל תדאגו, אתם לא תשימו לב.
אז מה הפונקצייה עושה?
הפונקציה בעצם עוצרת את שליחת הפלט [output], ושולחת את הheaders קודם, מה שבזכותו תוכלו לעבוד ללא תקלות.
מהם headers?
headers יכולים להיות כל מיני פונקציות המוכרות לנו, כגון: header(),cookie(),session() ועוד.
אז איך משתמשים בפונקציה?
PHP קוד:
<?Php
ob_start();
# תוכן הדף
ob_end_flush();
?>
דוגמא קטנה:
PHP קוד:
<?Php
echo "tal";
header("location: index.php?");
?>
כמו שידעו לחלק גדול מהמתכנתים [אני מקווה], קוד זה ידפיס שגיאה, כמו שכתבתי למעלה:
header information is already sent.
אז מה עושים?
PHP קוד:
<?Php
ob_start();
echo "tal";
header("location: index.php?");
ob_end_flush();
?>
וזהו, פתרתם את הבעיה :]
מקווה שעזרתי, טל גלייכר

.