מדריך לעוגיות - ASP Cookies

[27 בפברואר 2009] [0 תגובות]

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

אתרים יכולים לשמור Cookie במחשב שלכם. זהו מעין קובץ קטן המכיל מידע שהאתר מעוניין לשמור, כמו שם המשתמש שלכם, ובכניסות הבאות שלכם לאתר הוא יכול לקרוא את המידע מהעוגיה ולהשתמש בו. הוא יכול להשתמש בו כדי לכתוב לכם הודעה אישית כמו "שלום, יניב, ברוך שובך לאתר!".

כתיבת עוגיה

לפני שנתחיל חושב לדעת: הקוד לכתיבת עוגיה חייב להימצא לפני כל תגי ה-HTML של העמוד.

באופן הכי פשוט, נשתמש בפקודה Response.Cookies עם שם העוגיה והמידע שאנו רוצים לשמור, לדוגמה:

<%
Response.Cookies("name") = "Yaniv Cohen"
%>

בדרך כלל נרצה לשמור מספר פרטים בעוגיה ולא רק את השם שלנו. נוכל לעשות זאת בעזרת מפתחות כפי שניתן לראות כאן:

<%
Response.Cookies("UserInfo")("name")    = "Yaniv Cohen"
Response.Cookies("UserInfo")("mail")    = "yaniv@gmail.com"
Response.Cookies("UserInfo")("website") = "http://www.google.com/"
%>

אפשר לראות ששמרנו בעוגיה בשם UserInfo את שם המשתמש, האתר שלו וכתובת המייל שלו.

ניתן להוסיף לעוגיות מידע נוסף. אחד הדברים שמעניינים אותנו הוא כמה זמן תישמר העוגיה במחשב של המשתמש עד שהיא תיעלם. נוכל לקבוע את זמן פקיעת התוקף של העוגיה לעוד 30 ימים כך:

<%
Response.Cookies("UserInfo").Expires = Date() + 30
%>

אם תתקלו במקרים שבהם תכתבו עוגייה ולאחר מכן תהיה לכם בעיה לקרוא אותה, הוסיפו את שורת הקוד הבאה לעוגיה:

<%
Response.Cookies("comment_info").Path = "/"
%>

ה-Path של העוגיה מכיל את כתובת האתר שיצר אותה. לפעמים אם לא מספקים את הנתון הזה, לא מצליחים לקרוא את העוגיה בהמשך. זה יפתר על ידי קביעת ה-Path ל-"/".

קריאת עוגיה

כדי לקרוא עוגיה ללא מפתחות (לפי הדוגמה הראשונה), נשתמש בפקודה Request.Cookies כך:

<%
userName = Request.Cookies("name")
%>

כעת המשתנה userName יכיל את הערך "Yaniv Cohen" ונוכל להשתמש בו בהמשך הקוד.

על מנת לקרוא עוגיות עם מפתחות (כמו בדוגמה בשנייה), נעשה זאת כך:

<%
userName = Request.Cookies("UserInfo")("name")
email    = Request.Cookies("UserInfo")("mail")
website  = Request.Cookies("UserInfo")("website")
%>

כעת המשתנים יכילו את הערכים ששמרתם.

הערה: אם אתם קוראים עוגיה שלא קיימת, אתם פשוט תקבלו ערכים ריקים.

מחיקת עוגיה

ניתן למחוק עוגיה בדרך עקיפה, על ידי קביעת תאריך התוקף שלה לתאריך שכבר עבר כמו כאן:

<%
Response.Cookies("UserInfo").Expires = "01/01/2000"
%>

סיכום

למדנו כיצד לשמור מידע על המשתמשים שלכם בעוגיות וכיצד לקרוא את המידע בביקורים הבאים שלהם. עכשיו התור שלכם למצוא שימושים לכך באתרים שלכם.

אם אהבת את הפוסט, אני שולח מדי פעם למייל עוד פוסטים מעניינים שלא תמיד מגיעים להתפרסם באתר. אתה מוזמן להצטרף לרשימה:
(אני שונא ספאם. אני מבטיח לעולם לא לשלוח משהו לא מעניין)

תגובות

אתה מוזמן להיות המגיב הראשון. קדימה, אתה יודע שאתה רוצה :)

התגובות נעולות