coldfusion / טפסים מגניבים ב-coldfusion / זיכרון עם קוקיס
זיכרון עם קוקיס
האם אתר רוצים שהטופס שלכם יזכור מידע בין ביקורים? השיטה הפשוטה ביותר לעשות זאת היא בעזרת קוקיס. כשמשתמש מגיש טופס, אנחנו יכולים לכתוב את כל הערכים שהוא הכניס לתוך קוקי. בפעם הבאה שאותו משתמש יגיע לאתר, אנחנו יכולים לבדוק אם הקוקי ההוא קיים. אם הוא כן, אנחנו יכולים לעשות שימוש במידע שלו או שלה כדי ליצור טופס.
דבר ראשון, עלינו לשמור את המידע הזה. מאחר ואנחנו לא רוצים לשמור ערמה של שטויות, עלינו לחכות שהטופס יעבור ווידוא תקינות לפני שנקים קוקי. פתחו מסמך ריק, הדביקו בתוכו את הקוד הזה, ושמרו אותו תחת השם process.cfm.
<cfcookie name="forminfo" value="#form.name#, #form.address#,
#form.city#, #form.state#, #form.zip#, #form.phone#" expires="NEVER">
בכל פעם שטופס מוגש בהצלחה, שורת הקוד הזאת תשמור את המידע האישי של המשתמש בתוך קוקי בשם forminfo. מאחר ותאריך ה-expiration מוגדר כ-"never", המידע ישמר לעד. זה אומר שאם אותם משתמש או משתמשת יחזרו לאתר אי פעם, המידע שלהם יהיה נגיש בצורה של קוקי.
עכשיו שיש לנו קוקי, אנחנו צריכים לגשת אליו. כדי לעשות זאת, עלינו לעשות עוד שני דברים. הראשון, עלינו לבדוק האם הקוקי קיים. אם כן, אנחנו צריכים להשוות את כל הערכים בטופס לערכים שבו. פתחו מסמך ריק נוסף והדביקו את הקוד הבא לתוכו:
<cfif parameterexists(cookie.forminfo)>
<cfif listlen(cookie.forminfo) eq 6>
<cfscript>
name = listgetat(#cookie.forminfo#, 1);
address = listgetat(#cookie.forminfo#, 2);
city = listgetat(#cookie.forminfo#, 3);
state = listgetat(#cookie.forminfo#, 4);
zip = listgetat(#cookie.forminfo#, 5);
phone = listgetat(#cookie.forminfo#, 6);
</cfscript>
</cfif>
</cfif>
זה הקוד שיבדוק אם הקוקי קיים ויתאים בין המידע שבו לבין המידע שבטופס. שמרו את המסמך הזה כ-cookieset.cfm. פתחו את קובץ form.cfm שלכם והוסיפו את הקובץ cookieset בדיוק מעל לקובץ input, כך שהעמוד ייראה כך:
<cfif form.step eq "process">
<cfinclude template="validate.cfm">
<cfelseif form.step eq "input">
<cfinclude template="cookieset.cfm">
<cfinclude template="input.cfm">
</cfif>
מזל טוב! לטופס שלכם יש עכשיו זיכרון לטווח ארוך ולטווח קצר.
עמוד הבא: מרגישים חסונים? >>
|