יש לי בעיה עם $_SESSION

Terminal Frost

New member
יש לי בעיה עם $_SESSION

אני מאתחל SESSION בדף מסויים, ומחכה שהמשתמש יחזור אל הדף הזה (בדרך הוא עובר רק בדפי HTML נקיים, ללא קוד). כשהמשתמש חוזר - משתני הSESSION שלי נקיים! פונקציית ISSET אומרת שהם לא קיימים. הלכתי ובדקתי, ונראה לי שהsession_start() שמופיע בדף שבו אני מחכה - מאפס לי את כל הSESSION כולו. נראה לי שצריך "לשאת" את הSESSION ID דרך כל הדפים בחזרה לדף הראשי הזה כדי שהוא ידע לא לאתחל את הSESSION. איך עושים את זה? תודה
 

זאינאל

New member
אתה צריך לאכסן את ה-ID בעוגיות

יש אופציה להדליק את זה ב-php.ini. ברירת המחדל היא להעביר את ה-ID דרך URLים, שעובד רק אם כל הדפים שלך הם PHP.
 

Terminal Frost

New member
צ'מע זה מעצבן ביותר.

כי אם אני לא רוצה להעביר את הSESSION ID בQUERYSTRING, והדפדפן של רוב הגולשים בעולם חוסם אוטומטית עוגיות שלא באות מאתרים "מכובדים", אני לא יכול להעביר את הSESSION לעמודים הבאים! בעוד שבASP הSESSION ישמר לך לעולמי-עד, או עד שתגדיר לו EXPIRE או שהדפדפן יסגר. מעצבן ביותר.
 

זאינאל

New member
אתה טועה.

גם ASP שומר את ה-session בעוגיות, ורוב הדפדפנים בעולם מכבדים עוגיות בלי שום קשר למאיפה הן באות (כברירת מחדל - חלק מהדפדפנים מאפשרים לך לשנות את זה). היוצא דופן היחיד הוא מוזילה שכברירת מחדל לא מקבל עוגיות צד שלישי - מה שלא רלוונטי למקרה שלך.
 
למעלה