14-02-2005, 19:10
|
|
|
חבר מתאריך: 20.02.03
הודעות: 2,396
|
|
בנוגע להכרעה בעניין...
כל דף שבו רוצים להשתמש ב session חייב להכיל בתחילתו את הפונקציה ()session_start. הפונקציה (כפי שכבר נכתב) מאתחלת את הסשן. האיתחול פירושו- יצירת סשן חדש במידה ולא קיים. או אם קיים- יצירת "חיבור" לסשן הקיים והכנסת הנתונים השמורים בו למשתנה הגלובאלי SESSION_$.
לכל סשן ישנו מזהה מיוחד (session_id) אשר נוצר באמצעות הפונקציה md5 (כאשר ב php5 נוספה האפשרות לייצר את ה session_id באמצעות הפונקציה sha-1). המזהה מועבר מהלקוח לשרת באמצעות שורת הכתובת (GET) או באמצעות עוגיות (יותר נפוץ). קיימת גם אפשרות להשתמש בשיטת POST להעברת הנתונים, אולם היא אינה נפוצה. חשוב לשים לב שאם במהלך התיכנות יש הסתמכות על כך שהלקוח מאפשר עוגיות, אולם הוא אינו מאפשר - בכל כניסה לדף חדש השרת ייצר לאותו לקוח סשן חדש (כיוון שהוא יחפש את העוגיה עם הסשן הקיים, ומכיוון שלא קיימת עוגיה כזאת, הוא ייצור סשן חדש) ולכן מומלץ לעשות בדיקה, האם הלקוח מאפשר עוגיות או לא, וההמשך בהתאם...
בנוגע לאשכול עצמו, הבעיה לדעתי הינה בעיה בתיכנות עצמו, כיוון שעובדה שקיים ערך אחד שעובד לך וערך אחר שלא. יש לך במקום מסויים השמה (או שחסרה השמה) ולכן אתה נתקל בבעיה. חשוב לשים לב (כמו שכבר כתבתי) שכל (!!!) דף שבו יש כוונה להשתמש בנתונים מהסשן, יש צורך בראש הדף למקם את הפונקציה ()session_start.
לאבירם- הבנתי מאחת התגובות הקודמות שלך שהקוד הינו סודי, ולכן אתה לא מעוניין לחשוף אותו. אם אתה מעוניין אתה יותר ממוזמן לשלוח לי הודעה פרטית עם הקוד (או חלק ממנו) ואני אנסה לראות, אולי אני מצליח למצוא משהו שלא ראית .
בברכה, דקל
_____________________________________
"מתכנת זה אדם שפותר בעיה שעל קיומה לא ידעת, בדרך שאינך מבין"
|