מערכת ד"שים
מכיוון שראיתי שיש הרבה בקשות למערכת ד"שים החלטתי לבנות אחת כזו. המערכת מאוד פשוטה וכדאי להוסיף לה עוד שכלולים, אך אפשר להשתמש בה בתור בסיס. היא בנויה בASP, ונוסיף גם קצת JavaScript ו CSS.
המערכת יכולה לשמש גם בתור ספר אורחים, או כל דבר אחר בסגנון.
איך זה יפעל?
במערכת הד"שים שלושה דפים: showmsg.asp, שתפקידו להציג את כל הד"שים, והדפים addmsg.html ו-addmsg.asp שתפקידם להוסיף ד"ש (אחר-כך נראה מה ההבדלים ביניהם). במסד הנתונים msg.mdb ישנה רק טבלה אחת: messages, היא נראית כך:
שם | תפקיד | סוג |
msg_id | מספר הד"ש | מספור אוטומטי |
sender | שם השולח | טקסט |
דוא"ל השולח | טקסט | |
body | גוף הד"ש | תזכיר |
addmsg.html
הדף addmsg.html בנוי כולו HTML ואת אימות הטפסים נעשה באמצעות JS:
1 2 3 4 5 6 7 8 |
|
עד כאן התחלה רגילה של דף HTML + יישור לימין.
1 |
|
כאן אנחנו מגדירים את ה form. שימו לקטע הזה: onsubmit="return CheckForm()"
שבתרגום חופשי זה: בלחיצה תפעיל את הפונקציה CheckForm. אם היא מחזירה true שלח את הטופס ואם לא אז אל תשלח.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
זה הקוד של הטופס: שדות לשם, לדוא"ל, לנושא ולגוף ההודעה. ישנו גם כפתור שליחה, וסגירת הטופס
1 2 3 4 |
|
כאן אנחנו פותחים בחלק ה-JS, מגדירים את הפונקציה CheckForm ומגדירים את המשתנה frm שיכיל את הטופס addform.
1 2 3 4 5 6 |
|
ופה מתחיל אימות הטופס: אם שדה השם sender ריק אז תודיע שחובה להקליד שם, תעביר את הסמן לשדה הזה, ואל תשלח את הטופס. (זוכרים מתי קוראים לפונקציה הזאת?)
1 2 3 4 5 6 7 8 9 10 11 12 13 |
|
עכשיו עושים את אותו הדבר גם לגוף ההודעה ולנושא (הדוא"ל לא חובה).
ורק במידה שהטופס עבר את כל הבדיקות שליחתו מאושרת
1 2 3 4 5 6 |
|
ואז סוגרים את הפונקציה, את הסקריפט, את ה body ואת הדף.
לקחת הרבה אוויר, עוברים לדף הבא: addmsg.asp.
addmsg.asp
תפקידו של הדף הוא להוסיף את ההודעה, הוא מקבל את נתוני ההודעה מהדף addmsg.html.
לדף הזה אין חלק ויזואלי! הגולש לא יראה אותו, הוא יגיע לדף, וממנו יעבור לדף showmsg.asp.
אנחנו מגדירים את המשתנים, אחר-כך נראה למה הם משמשים.
1 2 3 4 5 6 7 |
|
המשתנים sender, email, subject וmsg מקבלים את הערכים מהעמוד הקודם
1 2 |
|
ירידות השורה ב textarea נרשמות בתור VBCRlf ואנחנו מחליפים אותן ב
.
1 2 |
|
את הנושא אנחנו מדגישים – שמים אותו בין תגי <b&עt;.
1 2 3 4 5 6 |
|
אם ה email ריק אנחנו מוסיפים ל sender קו תחתון ואם לא אנחנו הופכים אותו לקישור לemail.
1 2 3 4 |
|
אני מקווה שאת זה אין צורך להסביר (אם יש, לכו למדריך ה ASP)
1 2 3 |
|
זה קצת מסובך: במשתנה sql אנחנו שמים את משפט ה sql להוספת הד"ש. אנחנו מכניסים את המשתנים שקיבלנו מהדף הקודם לשורה חדשה בטבלה messages. את msg_id אנחנו לא מוסיפים, מפני שהוא מסוג מספור אוטומטי.
1 2 |
|
וזה החלק החשוב: אנחנו מפעילים את משפט ה sql, ומוסיפים את ההודעה
1 2 3 |
|
סוגרים ומאפסים את האובייקט conn (למה?)
1 2 3 |
|
ואחרי שהוספנו את הד"ש עוברים לדף showmsg.asp וסוגרים את הדף.
showmsg.asp
בדף הזה נציג את כל ההודעות, הישנות ביותר בסוף העמוד.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
|
זה קצת הרבה בבת-אחת, אבל אם נסתכל נראה שזה מאוד פשוט: התחלה פשוטה של html וב CSS אנחנו מגדירים שהכתב יהיה בגופן arial ואחרי שלוחצים על קישור הוא יישאר בצבע כחול.
1 2 3 4 5 6 7 8 9 |
|
פותחים את ה body ועושים כותרת מודגשת גדולה וממורכזת של מערכת הד"שים.
שימו לב שה <center> לא סגור
1 2 |
|
כאן אנחנו מוסיפים קישור להוספת ד"ש וסוגרים את ה <center>
1 2 3 4 5 6 |
|
יוצרים recordset ואובייקט חיבור.
1 2 3 |
|
אנחנו פותחים את ה recordset, מוציאים את כל המידע מהטבלה, מסודר לפי msg_id בסדר יורד וסוגרים את חלק הASP.
1 |
|
1 |
|
תמשיך את הלולאה עד שתגיע לסוף ה recordset.
נציג את ההודעות בתוך טבלה אחת לכל הודעה, בכל טבלה תהיה שורה אחת, כדי שהכל יהיה בדיוק איפה אנחנו רוצים שהוא יהיה.
1 2 3 4 5 6 7 8 9 |
|
פותחים את הטבלה והשורה
התא הראשון (משמאל) יכיל את שם השולח, יוצמד לימין
התא השני יכיל "נשלח מאת" ומכיוון שהוא מוצמד שמאלה הוא יהיה סמוך לשם השולח, וקצת מרוחק מהנושא: זה רווח.
1 2 3 4 |
|
התא האחרון יכיל את הנושא
סוגרים את הטבלה והשורה
1 2 |
|
כותבים את תוכן ההודעה, ויורדים שלוש שורות: צריך מרווח בין ד"ש לד"ש!
1 2 3 |
|
כל הקטע שבין ה do until ולבין ה loop יתבצע עד שהרשימה תיגמר, וכל פעם ד"ש אחר – כי אנחנו מעבירים את ה recordset קדימה על-ידי rs.MoveNext.
1 2 3 4 5 6 7 8 9 |
|
סוגרים ומאפסים את אובייקט ה recordset ואת אובייקט החיבור, וזהו. זה הסוף…
לא היה כל-כך מסובך, נכון?
בהצלחה…!
תגובות בפייסבוק