PHP/Sessions: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שורה 9:
 
= איתחול ה- session =
בשביל לאתחל session יש להשתמש בפונקציה session_start, במקרה וה- session id נשמר בעוגיות, הקריאה לפונקציה חייבת להיות לפני כל פלט ללקוח. בעייהזאת נפוצהמכוון היאשהעוגיות שהפונקציהשעליהם באמתנשמר נקראתהיישן לפניהן כלסוג פלט,של אבלכותב יוצאת(header) הודעתשנשלח דרך HTTP. לאחר הדפסת תוכן הכותרים כבר נשלחו ולא ניתן לשלוח אותם מחדש. יש לבדוק שאין שורה ריקה או סימן BOM לפני שגיאהקוד בסגנון:הPHP.
<div style="direction: ltr;">
Warning:
Cannot modify header information -
headers already sent by (output started at /home/******/domains/*****/public_html/conf.php:**)
in /home/*****/domains/*****/public_html/file.php on line **
</div>
הסיבה לכך, היא שהקובץ נשמר בקידוד UTF-8 כולל מה שנקרא חתימת BOM האומרת כי הקובץ נשמר ב- UTF-8, ובגלל באג ב- PHP אותה חתימה מזוהה כפלט, ב- PHP 6 ככל הנראה ייצא פיתרון לאותו באג.
הפיתרון הוא להשתמש בעורך שיודע לשמור utf-8 בלי אותה חתימה (כמו noteped++) ולשמור את הקובץ בלי חתימה.
 
[[קטגוריה:PHP]]
 
 
= יצירת session =