3 ASP : למפתחי אתרים באינטרנט

עריכה מקצועית – זהר עמיהוד | 221, 11, 8 עמודים : איורים ; 24 ס"מ + 1 תקליטור. – ISBN 965-361-232-8

OCR (הסבר)
50 3 למפתחי אתרים באינטרנט הוראות ההתקנה של התקליטור בהקדמה, בפרק 2 ובקובץ 06 שבתקליטור עריכה מקצועית : הר עמיהוד עריכה ועיצוב: שרה עמיהוד עיצוב עטיפה: שרון רז שמות מסחריים שמות המוצריס והשירותיס המוזכריס בספר הינס שמות מסחרייס רשומיס של החברות שלהם. הוצאת הוד-עמי עשתה כמיטב יכולתה למסור מידע אודות השמות המסחרייס המוזכרים בספר זה ולציין את שמות החברות, המוצריס והשירותיס. שמות מסחרייס רשומיס (87%65ו17806₪ 7601510760) המוזכריס בספר צוינו בהתאמה. הודעה ספר זה מיועד לתת מידע אודות מוצרים שונים. נעשו מאמצים רבים לגרום לכך שהספר יהיה שלם ואמין ככל שניתן, אך אין משתמעת מכך כל אחריות שהיא. המידע ניתן ''כמות שהוא'' ("5ו פּ"). הוצאת הוד-עמי אינה אחראית כלפי יחיד או ארגון עבור כל אובדן או נזק אשר ייגרס, אם ייגרם, מהמידע שבספר זה, או מהתקליטור שמצורף לו. לשם שטף הקריאה כתוב ספר זה בלשון זכר בלבד. ספר זה מיועד לגברים ונשים כאחד ואין בכוונתנו להפלות או לפגוע בציבור המשתמשים/ות. ב טלפון: 09-9564716 ב פקס: 09-9571582 ב דואר אלקטרוני: |1.60.1החו00-3ח62ס!חו ב) אתר באינטרנט: |ו.ס6. וחחבּ-סח.ששש 50 3 למפתחי אתרים באינטרנט ירון לייפנברג אייל לייפנברג זז 651860 ב . 0 9:.:. ----], הוצאת הוד-עמי 0 לספרי מחשבים ו 5ס סעכ 566ו5 וס1 3 457 0זח6ו 1 .= ,670 ח76ו .ץ 8 השח ווח .2 :00 )06( כל הזכויות שמורות הוצאת הוד-עמי לספרי מחשבים בע''מ ת.ד. 6108 הרצליה 46160 טלפון: 09-9564716 פקס: 09-9571582 |ו.60.ווַח00-3 06+חו אין להעתיק או לשדר בכל אמצעי שהוא ספר זה או קטעים ממנו בשום צורה ובשום אמצעי אלקטרוני או מכני, לרבות צילום והקלטה, אמצעי אחסון והפצת מידע, ללא אישור בכתב מאת ההוצאה, אלא לשם ציטוט קטעים קצרים בציון שם המקור. הודפס בישראל 2000 0 65זחטום || .! זוזה-ססו 28 ,6108 .0.8.ק 0 ,15 מסת'יב 965-361-232-8 158% תוכן עניינים מקוצר הקדמה הה,ה,הה,הההההההההההההההה ה ה הההההה ה הההההה ה ה הההה ה הההם ה ה הההה| םה[ ה ה ההא 13 פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק פרק :1 :2 :3 4 5 6 :7 8 9 0 1 11 12 :3 :4 :5 :16 :7 48 הכרת טכנולוגיית 57 ה,,הההההההההההההה ה ההה ה הההה םהה ה ההא 17 התקנת מנוע 57 הה,ה,ההההההההההההההההה ה הההה ה[ הההההה םהה ההיא 21 תחביר ושורות קוד ראשונ!ו([::::::::::::ו:ו:ווווווווווו:::: 29 : אובייקט ₪60065% - התחלת הקשר בין השרת ללקוח.. 41 : אובייקט 56 .ההההההההההההההההההההההההההההההההההאהה,ה,ה,:ו,., 7 : אובייקט הסוזבּסווקק:::::=::=:::אי.,:ב:-.:בותיאיי5 5 א:. 07 אובייקט הסן5655 הה,ה,הההההההההההההההההה ה הההה ה[ ההההה םהה הוה 77 : עוגיות (000]0(65):::יי3,הו,פו,ווווווווווווווו'ווווווווווויי::. 3 : מסדי נתו['(]::::::::::::ו::צו:וויווווויווויויוווווווווווי::: 9 : מודל 2-9 55| יישומים מבוססים מסדי נתונים הההההההההההההההההההה:ה:: 11 : שילוב הודעות דואר אלקטרונ' ........::11551555556:560 1630 עבודה עם קבצ'ם....11111155555555555555559999999999999 167 יצירת אובייקטי 60 באמצעות 6 83516 [1503..... 175 אובייקט ‏ זסזזום 57 - 3.0 57 ומעלה..........11.11 197 6 57 *:::יוגא.אאייאפוואייאייאיאי.......... 199 6 50766 - 01076006 2%ן11111111665666.....//05671 209 . 6 1 הה,ה,ה,ההההההההההההההההה אה ה ה|ההההה ה ה ה ההיא 27 אינדקס הה,ה,הה,ההההההההההההההה ה ה ההההה ה ה הההההה ה הההההה ה הה ה ה ה הה םהה[ םהה וא 221 תוכן הענייניס | 5 6 3 4505 למפתחי אתרים באינטרנט תוכן העניינים הקדמה הה,ה,הההההההההההההההההההה| ה הההההה ה הההההה ה ה הההה ה הההה ה ה הההה םהה אה ההא 13 למי מיועד הספר? 1 על המחבריס 1 התקליטור המצורף 1 002 - העתקת הקבציס לדיסק 1 תיקיה ראשית 6ז50%\8 (רשימה חלקית ועשויה להשתנות) 16 פרק 1 הכרת טכנולוגיית 67 ה,םההההההההההההה ה הההה ה הההההה ה התה ההות 17 פרק 2: התקנת מנוע 67 הה,ה,ההההההההההההההההה ה הההה ה הההההה ה[ ה ההיא 21 התקנת ז6/ז56 60/ |החספזסק 2 הגדרת תצורה של ז6עז56 60/ |8חס5זסק 2 תרגיל בדיקת תקינות .4 פרק 3: תחביר ושורות קוד ראשונו([:::::::::::וווו:ווווווווווו:::: 29 הצהרת משתניס .20 בקרת זרימה ולולאות 0 תחביר =1 34 6) 56606 2 לולאת 08₪= :36 לולאת וזדאט 0ם לה הליל ,יפל ה-ב-... 37 לולאת = |זח/ סס 8 הערה (א0878ח6ז) 28.4 אופרטוריס 2 מערכים 29 פרק 4: אובייקט 60065 - התחלת הקשר בין השרת ללקוח.. 41 הבנת טפסי ואד 0 5 ב ל 7 0% .2 %) 2 בניית מסמך ₪11 המאפשר חיפוש באתר של ססחצ -[/ 2 תרגיל ראשון בתקשורת בין שרת ללקוח 6 כרטיס ברכה אישי ב- 450 0 תוכן העניינים | 7 עוד על אובייקט ₪600655 0 5 ...4 5 ל ערך מוסף - לולאת 6800 זס+ 55 פרק 5: אובייקט 556 הה,ה,הההההההההההההההה ה הההה םהה ה ההא םהה ה ההיא 57 מהו אובייקט ק5י 7 6 0 וז ל שרשור מ ו 0 005 0 0חם - 0 ץח סְבחָבּק 1 5 וקא 0 וו 0 9 ו מ 0 ל פרק 6: אובייקט הסזבּסווקק :::::5י%-.:::בי:::5::.בו-יוהיי: :גו 07 הוספת מונה ביקוריסם (66חטסס) 0 607 שלב א 7 שלב ב 7 שלב ג 0 יצירת אובייקט חסספסוופסה 0 בניית מונה ביקוריס באתר 0 65 ל 605.66 0 ב ב || 68 605.60 7 בניית 608% פשוט באמצעות 457 1-7 פרק 7 אובייקט הסן5655 הה,ה,הההההההההההההההההה ה הההה ה[ ההההה םהה הוה 77 אבטחת מידע לפשל 20 2 נובים שוש ג קולוב ב םל 30 חוד 0 החסה 1 5 2 605.6 0 גו 2 6068 %5ח 60 - 2 8 3 450 למפתחי אתרים באינטרנט פרק 8: עוגיות (000]0(65):::::ה,ה',פו'ווווווווווווווו'ווווווווווויי::. 3 6% .-- 1 636 וס ו 85 מפתח 0 טכניקות לייעול העבודה עם עוגיות :4 4ש-.2 88 1 ל שליפת נתוניס מטבלה 0 א%ססם 6חסחק 0 יצירת טבלה 91 הזנת נתוניס לטבלה - .0 עדכון טבלה 9 ביטול טבלה 0 מחיקת רשומות מטבלה 7 פרק 10: מודל 0:,וו'ווווווווווווווווווווווווווויוווייויי.. 55| 26 1 ל ל קבצי טקסט כמסד נתוניס 7 תהליך הגדרת חיבור למסד נתוניס מבוסס קבצי טקסט 7 סיכום בינייס והבהרה 1 האובייקטיס של ססג 1 אובייקט ח0ו660ח0ח60 7 הזנת נתוניס לטבלה .1041 תרגיל הכנת רשימת אורחיס באתר 7 שליפת נתוניס והצגתס ב- 60/ ו 0 55 578-855 1 שלב א 1 שלב ב 1 תחביר ₪6607056% 0 הצגת טבלה שלמה 1 הצגת הנתוניס בטבלת !ד 1 קוב וחו.08ח6ח56 0 1 פרק 11: יישומים מבוססים מסדי נתונים :.............22.:00005 1210 תחילת בנייה של היישוס .|| בעיה! 1 חיפוש 1 טיפול בשאילתה שגויה - שס שאינו קייס נה ממשק מנהל 1 עדכון 7 תוכן העניינים | 9 מחיקה 8 הוספה 0 פרק 12: שילוב הודעות דואר אלקטרונ' ........115.15555565060:0 1630 פרק 3: עבודה עם קבצים הההה,הההההההההההההההההההה|ה|ההה ה וא 17 יצירת קובצ 1 קריאת קובצ קייס 1 טיפול במספר שורות רב - 0 מחיקת קובצ 17 עוד על טיפול בקבציס 1764 פרק 14: יצירת אובייקטי 60% באמצעות 6 ₪356 וה50ו/..... 175 רישוס ה-6|855 :בגו בג. 1/8 יבירת יישוס מבוסס מסד נתוניס באמצעות אובייקטיס 1 עברית 186 פרק 5: אובייקט זסיזו= ק5 שק 1.0 ק5 ומעלה הההההההההההההוהו: 17 6-ל ב וש וש ו שש 1 חססקוז656 197 הסוט !6567 ק 5 ל 177 ץ 63 1 סו 1 חחחט|ס6 ו 0 5 במ םמ 0 מש וסיט טופ 2 שי םש 1 סחון .190 סו טח 50 0 2 50 ב ל 1 06 1 פרק 16 6 ו :ב הה,ה,ההההההההההההההההההה|הה םהה ההההה| ה ה ה הוה 19 חססחסו|כסה וט 0 0 1 שיטות ל אירועיס 20 מאפייניס 200 יב ל קב 6 5 8 1ב 5 סקט וב םשש םשמ כ 6 20 מאפייניס 0 6 2 שיטות 2 מאפייניס 2 חסח60|!66 205 וו 20 שיטות 5 50 2 0 3 455 למפתחי אתרים באינטרנט מאפייניס 9 0 ב ו ב 2 ח0סו5655 200000 שיטות 200 אירועיס 2 מאפייניס 2 פרק 17: 5106 61עז50 - 01070006 2%ן111111156655....../0567 209 6|355 0 2 שח סוס 20 שיטות 2 0 2 סבו 2 2 15 21 5 210.11: 6 2 0 0 0 רחס 0 מ ל 2 ץא 2 6% טשעוז 2 מאפייניס 2 6 הווה 2 |סשוזס פס לש תפ שופ של כ מ סיל ששל שש ל 1 2 6סץ דסעוזס 2 21 |65 506 6 וק 212.15 ץ 1 2 חזבק 0 ו 2 זו 58 2 56 2 0%|6ך 22 636 וחט|ס 21 זז ל ליל מ ב ב של ל ב 212 מאפייניס 2 חסוזקו656 2 םוטא 2 6ְ1000[60ת1!655%6= 21 שיטות - 2 6 60 2 וי 2 0 214-010 תוכן הענייניס | 11 סיב כו וו 5 6 ב מ ו עסו 2 וס עסו 6 ד חכ פרק 8: 66 1 הה,ה,ההההההההההההההההההה|הה ה ה|הההה ה ה ה הוה 27 ץם ז06זס ל משפט ז+ז6פחו 0 5 / 0 משפט 00806 7 משפט 30!6ד 670806 משפט %00!6 קסזס... אינדקס הה,ה,ה,.הההההההההההההההה ה הההההה ה הההההה ה ה הההה ה ה הה ה ה הההה םהה האוא 221 2 3 45 למפתחי אתרים באינטרנט הקדמה טכנולוגיית 457 תפסה תאוצה אדירה בארץ בשניס האחרונות. רוב מערכות האינטרנט בישראל מבוססות באופן זה או אחר על טכנולוגיית ק5. עס זאת, עד לכתיבת שורות אלו, לא היה קייס ספר טוב בעברית בנושא, המסכס את הנושאיס החשוביס ומסביר את ההיגיון מאחורי השימוש בטכנולוגיה והארכיטקטורה אשר מציעיס מיקרוסופט באמצעות 55. פעמים רבות פנו אלינו מפתחים והתלוננו על מחסור בספרות טובה בעברית. לכן, כאשר פנה אלינו המוציא לאור בבקשה לכתוב ספר על טכנולוגיית :85, חשנו כי הגיע הומן לספק לציבור מפתחי האתרים בארצ מקור אמין ומקיף שישמש גס כספר לימוד וגס ככלי עבודה שימושי. לכן, מכיל ספר וה גם תרגילים מתודיים המלוויס את המפתח בצעדיו הראשונים, וגס 6 מקיף המאפשר גישה מהירה וקלה לדקויות הטכנולוגיה. בספר זה תמצאו גס את הנושאים הבסיסיים ביותר כגון תחביר, חילול דפים דינמייס ושליחת הודעות דואר אלקטרוני, וגם נושאיס מתקדמים כגון עבודה מול מסדי נתוניס (גס ללא צורך במסד נתונים), יצירת וטיפול קבצים ובניית אובייקטי 60%. אנו מקוויס כי תיהנו מהספר ותפיקו ממנו את המירב. בהצלחה, ירון לייפנברג אייל לייפנברג הקדמה | 13 למי מיועד הספר? ספר זה מיועד למפתחי אתרים המכירים |ואדח ו- ואד 6וחהחץס בצורה טובה, וכן שולטים בתכנות ב- +38/85610 ברמה בסיסית עד גבוהה. כמו כן, מיועד ספר וה לבוני אתרים המעונייניס לבצע את קפיצת המדרגה מפיתות אתריס סטטיים, מבוסס: !וז ו- 38/56 בלבד, לאתרים דינמייסם המשלבים מידע ממסדי נתונים והיכוליס לשלב מערכות שונות תוך שימוש ביכולות כגון הפקת קבציס ושליחת מסרי דואר אלקטרוני באופן אוטומטי. ספר וה מתאים גס לתוכניתני 83516 !1508 המעוניינים לרתוס את הכוח של סביבת הפיתוח של מיקרוסופט ליישום אפליקציות על גבי האינטרנט או האינטראנט. למעשה, תוכלו למצוא בספר זה את הבסיס לבניית מערכות מסחר אלקטרוני, בנקאות באינטרנט ויישומי אינטראנט / אקסטראנט. ללימוד נוסף של הנושאיס המוזכריס אנו ממליציס על הספרים הבאיס בהוצאת הוד-עמי: 2 33 למפתחי אתרים באינטרנט 2 235 למפתחי אתרים באינטרנט 4 1ואדו] למפתחי אתרים באינטרנט סדנת לימוד 6 ₪516 |בהש5ו ויש עוד... את הקטלוג תוכל למצוא בסוף הספר ובתקליטור המצורף. על המחברים ירון לייפנברג, סמנכייל פיתוח בחברת אינטרנט בינלאומית, מבכירי המומחים באר בתחוס האינטרנט, האינטראנט והמסחר האלקטרוני. מאחוריו ניסיון רב בפיתוח מערכות אינטרנט מבוורות מרובות פלטפורמות וכן בייעוץ לגופיס מסחריים, צבאיים וממשלתיים בארצ. אייל לייפנברג, מנהל פעילות האינטרנט בחברת מולטימדיה מובילה, הוא מראשוני מפתחי האינטרנט באר והראשון שהוסמך על ידי מיקרוסופט ללמד את טכנולוגיית בישראל. מאחוריו שנות הדרכה וייעוצ רבות והובלת פרויקטיס המיישמים את קדמת טכנולוגיות האינטרנט. ספר זה מיישס מתודולוגיה שפיתחו ירון ואייל באלפי שעות הדרכה מול מתחיליס ואנשי מקצוע מהשורה הראשונה במרכז ההדרכה של גיון ברייס. 4 3 50 למפתחי אתרים באינטרנט התקליטור המצורף בתקליטור המצורף לספר זה תוכל למצוא מספר דברים: קטלוג ואז₪ - קטלוג ספרי המחשבים האינטראקטיבי של הוצאת הוד-עמי. הקטלוג מאפשר קריאת פרקים לדוגמה, תוכן עניינים, מגה-אינדקס ועוד. לשס קריאת הפרקיס לדוגמה יש להתקין את תוכנת ז₪6806 67028% 806006 אשר מצורפת בתקליטור. הקטלוג מומלצ לצפייה באמצעות 5 זסזס|קאם 6סחזססח1], המצורפת בתקליטור. התקנת שתי התוכנות קלה וניתנת לביצוע באמצעות קישור ישירות מהקטלוג. הוראות ההתקנה בקובצ פ6אס בתקליטור. תוכנת זסעז50 60/ש [הח50זסק. מספר תוכנות עזר שימושיות. קטעי קוד מקור. הערה: אם מנהל התקן כונן התקליטורים המותקן הוא 16 סיביות (וזה יכול להיות גם אם הכונן חדש) - ייתכן שתראה רק את 8 התווים הרא שונים של שם הקוב> (במקרה שהמקור ארוך יותר), או ייתכן שתראה שהתיקיות ריקות. הטוב ביותר הוא להתקין מנהל התקן 32 סיביות, או לקנות כונן תקליטוריס חדש ולוודא שמצורף אליו מנהל התקן 32 סיביות. התיקיות הרלוונטיות לספר זה: הוראות התקנה בפרק 2 5 סי ה/ש501% הוראות התקנה בהמשך 2 800085 אזהרה: השימוש בתקליטור זה הוא על אחריותו הבלעדית של המשתמש. המוצריס המותקניס בתקליטור ה מסופקים באחריות החברות המייצרות אותם. הוצאת הוד-עמי אינה אחראית, בכל צורה שהיא, לאופן ולטיב התוכנות המותקנות. הוצאת הוד-עמי מפיצה תוכנות אלו כבונוס ללקוחות ההוצאה ואינה מתיימרת לגבות תשלוס עבור התוכניות המצורפות ו/או לתמוך בהם. בכל שאלה לגבי תוכנה הנמצאת בתקליטור, יש לפנות למפתחי התוכנה (כל תוכנה בנפרד), כפי שמצוין בקבצי העזרה של התוכנה המדוברת. הקבציס הס גרסאות שיתופיות (6ז6\3ז8ח5) וחופשיות (66/376ז=). הוראות ההתקנה של התוכנות - בתקליטור בקובץ פ6אס או בתיקיה הרלוונטית. 2 ₪000 - העתקת הקבצים לדיסק כדי להעתיק את הקבציס לדיסק עקוב אחר ההוראות הבאות. שיס לב בפרק 2 להיכן יש להעתיק את הקבציס: 1. לחצ על לחצן התחל, תוכניות, סייר פששסטחו/ו. 2. בכונן הקשיח שלך צור תיקיה חדשה בשם כלשהו. הקדמה | 15 3 הצג את תוכן תיקיה 59262 800%5 אשר בתקליטור. 4 סמן את כל הקבצים וגרור אותס לתיקיה שיצרת. מעתה, בעת התייחסות בגוף הספר לקבציס/תיקיות שבתקליטור, עבור לתיקיה שיצרת. מכיון שמקור הקבצים הוא התקליטור, הס מסומניס לקריאה בלבד. רצוי לשנות מאפיין וה בדרך זו: 1. דרך הסייר היכנס לתיקיה בדיסק, שבה נמצאיס הקבצים שהעתקת. 2 סמן קוב מסויס או את כולס על ידי ג+1שס. 3 הצב את סמן העכבר מעל האזור המסומן ולחצ לחיצה ימנית בעכבר. 4. מתפריט הקיצור בחר מאפיינים. 5 בטל את הסימון בתיבה קריאה בלבד (דאג שתיבה זו תהיה ריקה). 6. לח על החל. 7 לת על אישור. תיקיה ראשית 31-6//+501 (רשימה חלקית ועשויה להשתנות) הערה: תוכנות להן יש גירסה מיוחדת עבור 2000 פשססחש יסומנו בתיקיה ששמה מסתיים ב- 26 (למשל, בתיקיה 160 נמצא קובצ התקנה לתוכנה זו המתאים לכל גירסאות פוססחו/, ובתיקיה 16026 נמצא קוב התקנה עבור מערכת ההפעלה 0 פצעוססחו/ בלבד). בדרך כלל לחיצה כפולה על שס הקוב המפורט ברשימה מפעילה את תוכנית ההתקנה. 2 6 3 455 למפתחי אתרים באינטרנט פרק 1 הכרת טכנולוגיית 950 כדי להבין את משמעות טכנולוגיית 455, יש צורך להבין את פרוטוקול סדדח. פרוטוקול ?₪311 הוא אחד הפרוטוקוליס הפשוטיס ביותר ובעיקרון פועל כשרת קבצים. כלומר, ניתן להקביל את פרוטוקול פד₪1 לשרת המאחסן קבצים ויכול לשלוח קובצ עבור כל בקשה המגיעה מלקוח. נתאר תהליך פשוט של גלישה ברשת לאתר הבית של ססהגץ. בשלב הראשון, מקליד הגולש את הכתובת וחסס.ססח8/. אואואו//:קח בשדה הכתובת בדפדפן. מתחת לפני השטח, פונה הדפדפן לשרת ה- קדדו] של סס זגצ. הפנייה היא בקשת 66%, כלומר, הדפדפן מבקש לקבל דבר מה מהשרת. תחביר הפרוטוקול המדויק נראה כך: 1דד / 056% תרשים 1.1: שרת קדךדח - 567/67 /קדדו) / 66% % בקשת שדח בנויה מהמילה 66% המייצגת את בקשת הלקוח לקבל קוב, מלוכסן (ח5|85) ומגרסת הפרוטוקול (1.1/מאח). היות ובקשה ו מהשרת היא בקשה כללית ולא בקשה לקבל קוב מסוים, על השרת להחליט איזה קובצ לשלוח ללקוח. חשוב להבין כי שרת הוא מחשב ככל מחשב, ולעיתים אינו חזק או מתוחכס יותר מהמחשב הנמצא בכל בית. האלמנט המבדיל בין מחשב רגיל לבין שרת הוא תוכנה המותקנת על המחשב ומאפשרת לאותו מחשב לקבל בקשות מלקוחות ולשלוח כתשובה קבציס. יש הרבה מאוד תוכנות שרת וחלקן אף מתאימות למחשבי 6ק בעלי מערכת הפעלה 8 פצוסשחו//. פרק 1: הכרת טכנולוגיית 457 | 17 בכל תוכנת שרת, יש אפשרות לקבוע איזה קוב יישלח כתשובה לבקשת 66% כללית. קוב וה מוגדר ברוב תוכנות השרת כ- )חסוחטס6סס +/6/80 או כ- א06ח1 וברוב המקריס הוא קובצ ואד. בשלב הבא, מחזיר השרת את הקוב המוגדר כ- )חסוחטססכ 6080|6כ אל הלקוח. הקוב עובר בפורמט 45611 (86ח%67608ח1 חהססהווסזח1 זסז 0006 50800870 הבּ6הוסוחה). פורמט 1 מגדיר ערכי מספרים עבור כל אות, כך שלמעשה נשלחות קבוצות מספריס אשר הלקוח מתרגס חזרה לאותיות ומרכיב קוב טקסטואלי. קוב טקסטואלי זה מכיל את ההוראות לדפדפן, כלומר, |ואז. עס קבלת הקובף, ממלא הדפדפן אחר ההוראות ומציג בפני הגולש את האתר. תרשים 1.2: ו ד ב ט -.'י% בטכנולוגיה בסיסית זו, יש צורך לכתוב מספר רב של מסמכי |אזה. ישנס חסרונות רביס בכתיבת 1אזה, או כפי שמקובל לכנות טכנולוגיה זו בעגה המקצועית, אתרים סטטיים. החסרונות נעיס מהצורך לעדכן ידנית נתוניס משתניס כגון תאריך, ועד לבעיות חמורות יותר כגון חוסר היכולת להעביר נתוניס מהלקוח לשרת ולחולל דפיס שתוכניהס משתנים על פי תנאים שוניס. טכנולוגיית 450 מאפשרת לבצע דברים רבים. העיקרון מאחורי 450 הוא לבנות קבצי ואדה בומן הבקשה מהלקות. כלומר, אין קבצי !אדו מוכנים אלא קבצי וואזדת נוצרים עבור כל לקות. תפישה זו מאפשרת לבנות יישומיס נרחבים על סביבת 60/ו, כולל שימוש במסדי נתוניס, קבלת נתוניסם מלקוחות, קישור למערכות שונות, שליחת דואר ועוד. דוגמה טובה לאתר, המשתמש ביכולות 455, היא אתר בו המשתמש מזדהה ונרשס באתר. לאחר ההרשמה נשלחת הודעת דואר אלקטרוני אל הלקוח ומברכת אותו על הצטרפותו. בשלב הראשון שולח הלקוח בקשת 66% רגילה ומקבל מסמך וזח רגיל ובו טופס הודהות/הרשמה. כאשר הלקוח ממלא את הטופס ולוחצ על לחצן השליחה, נשלחיס הנתוניס אל קובצ בשרת. לקוב זה סיומת 455 הגורמת למנוע 455 להתעורר ולמלא את ההוראות הרשומות בקובצ. פעולה וו מתבצעת על השרת. 8 3 455 למפתחי אתרים באינטרנט תרשים 1.3: : 816 א[ 8 : [81 רג[ בשלב הבא, בודק מנוע 855 על פי ההוראות הרשומות בקוב 850.אאא, אס שס המשתמש שהקליד הגולש קייס במאגר נתונים הממוקס על השרת. אס שם הגולש אינו קייסם, רושס מנוע 50 את המשתמש החדש במאגר הנתונים, שולח הודעת דואר אלקטרוני לכתובת שהקליד הגולש ולסיוס מכין קובצ !₪419 שמכיל את ההודעה ''ז50 צוס 6ס6!6/יי ושולח אותו לגולש. פרק 1: הכרת טכנולוגיית 57 19 תרשים 1.4: סיכום טכנולוגיית 857 מאפשרת בניית יישומיס בסביבת ספ/ על ידי מנוע המחולל דפי וד בומן ריצה (זמן אמת) מחד, ופקודות גישה למסדי נתוניס וביצוע פעולות נוספות מאידך. טכנולוגיה גו תאפשר לנו לייצר דפי |ואזח עבור כל לקוח באופן המתאים לו ולבקשתו הספציפית, ובכך תקצר באופן משמעותי את זמן כתיבת האתר מכיון שקטע קוד אחד יכול להיות אחראי למספר רב של דפים. 0 3 150 למפתחי אתרים באינטרנט פרק 2 התקנת מנוע 59" הפעלה של דפי 5 חייבת להתבצע באמצעות שרת 6₪/ (ראה פרק 1, הכרת טכנולוגיית 50). שרת 8ם\ של מיקרוסופט הוא 115 (ז6/ז56 ח800וחזס+ח1 6%חז6סח1). תוכנת שרת זו ניתנת להורדה חינס מתוך אתר הבית של מיקרוסופט כחלק מ- 08664 חסטקס לבעלי מערכת הפעלה דא פשספחו\ או 2000 פאוססחו/צ. יש תוכנות המאפשרות הרצת 50 על שרתי א1אנט ו- אטא1] (כגון 0פ!ווווח6), אך לא נדון בהן בספר זה. מכיון שספר וה עוסק בגירסה 3.0 של 455 הנתמכת במלואה רק בשרת האינטרנט של מיקרוסופט בגירסה 5 (1155), ישנס אובייקטים ושיטות אשר לא ייתמכו אס תבחרו לעבוד עס שרתיס אחריס כגון 567/68 60/ |8ח50ז6ק המוסבר בהמשך. שיטות ואובייקטיס השייכים לגירסה 3.0 יסומנו בספר זה. בסיום ההתקנה יש לאחסן את הקבצים שתצרו בתיקיה %ססוששע 08ק+6ח1 ולפנות אליהם כ- 127.0.0.1/16.350. אין לפנות לקבצים אלו דרך 1!6>ה6קס של הדפדפן!!! בכל פעם בה תפנו לקבלת קבצים מהשרת הם יילקחו מתוך תיקיה זו. מומל לבצע בדיקת תקינות בעזרת תרגיל הבדיקה בהמשך פרק זה. לבעלי 95/98 פאוססחו\ - יש להתקין את תוכנת ז6עז56 60/ש |החספזסק. את 5/ק תוכלו למצוא בתקליטור ההתקנה של 98 פווספחו/ או בתקליטור המצורף לספר זה, בתיקיה 5/)ק6זהת)סס. התקנת ז6צו56 60/ ובּחספיוסק התקנת ז567/6 60/ |675008ק במחשב בו מערכת ההפעלה המותקנת היא 95 פווספחו/ דורשת עדכון ל- 2.0 506%חו//. עליכס להתקין את קוב העדכון 6א95/5256000.6) שבתיקיה 87806ק6ז5008 בתקליטור המצורף לספר זה. פרק 2: התקנת מנוע 57 21 לאחר ביצוע העדכון יש לאתחל את המחשב. לאחר שהמחשב ייעלהיי מחדש: .1 הפעילו את הקוב 6א56000.6 שבתיקיה 5/ק6ז8א500 בתקליטור המצורף לספר, או לחילופין, במחשב בו פועלת מערכת ההפעלה 98 פוססחו/, הפעילו את קובצ ההתקנה של 5676 60\ |8ח50ז8ק בתיקיה פשקפחס-800:א שבתקליטור ההתקנה המקורי של 98 פשספחוצ (החלף את האות א באות המייצגת את כונן התקליטוריס שלך). בחלון הפתיחה לחצו על הבא (0א6א). |<. קטז56 זסצז 5 פ6/א [ח50ז6?] 1]ס5סזסו4ן ]0501 זסוו1 זסצז 60 |3ה0ס5זסק 65% א) ₪ הד 08 | בחלון הסכס השימוש בתוכנה (₪018) (מופיע בעת התקנה במערכת ההפעלה 5 פאוס4חו/ ולעיתיס מופיע ריק) לחצו על 16660%. בחלון בחירת סוג ההתקנה לחצו על ובּסוטץד (תוכלו לקרוא את פירוט אפשרויות ההתקנה בחלון). בחלון התקנת תיקיית ברירת המחדל לדף הבית לחצו על הבא טאסא), או שנו את הנתיב לפי ראות עיניכס (מומלצ להשאיר את ברירת המחדל כמו שהיא. בהמשך | הספר ההתייחסות | היא לתיקיית | ברירת | המחדל, + סק ח0:1). 2 3 50 למפתחי אתרים באינטרנט קטז56 ז6צז5 60 שא [חס5ז6? ))ס>סזטוו =. ההתקנה מתבצעת וקבצים מועתקיס למחשב. 6. לסיוס ההתקנה יש ללחו על סיום (ח5וחו=) ולאתחל את המחשב. | קטז56 זפצז 5 פפ שא [החס8זפ 1)ס>סזסוו כעת מותקן ז567%6 60/ |8חס5ז6ק במחשבכס. פרק 2: התקנת מנוע 57 23 הגדרת תצורה של ז6צו56 60/ ובּח50וסק 4 בסמוך לשעון בשורת היישומיס תוכלו להבחין בסמל הבא : 0 . סמל זה מראה לנו ש- 5 60/ |החס8זסס פעיל. אם סמל זה אינו מופיע, יש להפעיל את 567/68 065 |8ח50ז6ק מתוך תפריט: התחל>תוכניות>ו567/6 60/ |בּחס5זסק > וסהַבּחבּ1] טס/ |בּהספוסק. במסך זה יש ללחו על לחצן 5%31%. | וז | ב 6 |ח50ז6 42 כ אופוע | 8פוסקסוזם. זו שהחס] זגוס/* [.6/6! 6]! חס ]פו| 6ח) הו '"060ח03ב" 6סווס , 5פוזסזספזום טסתפווסגום חבס סד בוזס ומס -] :5/9105 סור סוס הס ששווסי [- זגוסו] זסם 5 המחור ו ] 4 וס טחוס סט פס ה ו לאחר הלחיצה יופיע הסמל. מעתה יש לאחסן את הקבצים שתצרו בתיקיה זססזשששופטכ6%ח6:1 (אלא אם שיניתס את תיקיית ברירת המחדל לדף הבית, במהלך ההתקנה). כעת ניגש לבצע בדיקת תקינות. תרגיל בדיקת תקינות הפעילו את פנקס הרשימות והקלידו את הקוד הבא: <%()%0=28> 5 ץ08סדך <זכם> !!!פחואזסצו 15 קפה סחד 4 3 455 למפתחי אתרים באינטרנט הקוד בפנקס הרשימות ייראה כך: <%()0356-%> 15 עָ03סד <ום> 15 857 פהך פוטס עוא % וס עו (:₪] עסססו= 3% 29) ₪ הו בי [:₪] 'ח5ו/0וס' חס 1 וטע = בססתזספ0ו46] אזסטש6 14 5 ובס ב פרק 2: התקנת מנוע 57 | 25 ₪ |₪ [+ זוי ב-] :חן 6ב 5 חופ-וחס בי 5 חום = ווח וח א [4 ]חס 8 50ב .]ו ]8 ₪ בס ו.. 3 בסו 2 |החזר!.ס]הו)ס ב א ו 77777777 6448] = שחממשת / | 2 ל [*.*) ו ||ה | :6קע! 85 5/6 / לאחר השמירה של המסמך יש לפתוח דפדפן ולהקליד בשורת הכתובת את הכתובת הבאה ובסיומה להקיש זסזח=. 127 למעשה, שמורה הכתובת 127.0.0.1 לשימוש גלובלי. כלומר, כל מחשב שיקבל את הכתובת 127.0.0.1 יפנה לעצמו (בתהליך שנקרא 886% קסס)). אם ידועה לכס כתובת ק] של השרת, מומלא להשתמש בה במקוס 127.0.0.1. 6 3 450 למפתחי אתרים באינטרנט אס כל השלבים הצליחו, התוצאה שתתקבל תיראה כך: זזס!קא = 61חז6!ח! !)ס5סזסוא - 355 2/127.0.0.1/165%:קוות בּ 350 0651/ 27.0.0.1 1// :קוו [5 0 15 6987 || |פמגאעסקט 15 25 פמ פרק 2: התקנת מנוע 57 27 פרק 3 תחביר ושורות קוד ראשונות בפרק זה נלמד את התחביר הבסיסי אשר יאפשר לנו לבנות את היישומיס המתקדמים בהמשך. הנושאיס בפרק ה הס : > הגדרת משתניס %> בקרת ורימה > לולאות בסוף פרק זה נבנה מסמכי 45 בסיסיים. התחביר אליו נתייחס בספר זה הוא תחביר 0%ו8567/. שפת 856710%/ מתחלקת לשפת צד לקוח (שפה שתעבוד עס הדפדפן במסגרת ₪ודו), ולשפת צד שרת אשר תעבוד רק ביישומיסם אשר נבניס על השרת. בניגוד לשפת +0ו850/ בצד הלקוח, אשר נתמכת רק בדפדפן ז6זס|קאם 6%ח6שח1, שפת 85610%/ בצד השרת מתבצעת ללא קשר לדפדפן. לכן, נוכל לכתוב בשפה זו מבלי לדאוג לתאימות מול הדפדפניס השוניס. כדאי לדעת כי ניתן לכתוב קוד בשפות נוספות כגון +28/85670, 61 וכו'. ניתן לומר כי ל- 457 שפה משלו המתבססת על שפת +0ו8567/, משוס שיש אובייקטיס מיוחדיס רק לסביבת 452. בספר ה לא תתבצע הפרדה זו. עקרונית, השפה אותה מקבל מנוע 455 כברירת המחדל היא 85606/, אולם, ניתן להכריו על השפה בה משתמשים בקבצי 455 באופן הבא : >9%669| /)/20=/2560700%< >9663 /\0/20=18/8500%%< פרק 3: תחביר ושורות קוד ראשונות | 29 שיטה נוספת להכרות השפה היא : <הם/55₪= ד( +ה56/= 20 | זקז56> < ך5017/> <חם/55= ד( +קה33/856== )סז | זקן56> < 50₪17/> מכיון שבספר זה נשתמש רק ב- 856106/ לקוד בצד השרת, לא נשתמש בהגדרות הנייל. שפת 8567106/ אינה 6856 6ע518ח56, כלומר, אין משמעות לשימוש באותיות גדולות או קטנות. ייתכן שבדוגמאות בספר נשתמש באותיות גדולות וקטנות לצרכי הבנה אך ניתן לכתוב את הפקודות בכל אופן (למעט קטעי קוד הכתובים ב- זְתְוספהּא38 אשר הינה שפה 6856 6 ). כשס שדפדפנים מבצעים קטעי קוד התחומים בין סוגריים זוויתיים (< >), יודע מנוע קה לבצע קוד התחוס בין (%>) ל- (<%6). לדוגמה: >% 6 ג %< כמו שפות תכנות רבות, גס מנוע 855 מתייחס לקוד על פי שורות ולכן איו לשבור שורות, כלומר, כל שורה מתבצעת בפני עצמה. אס יש צורך לכתוב קוד המתפרס על מספר שורות, יש להשתמש בסימן הקו התחתי (. ). לדוגמה: >% 6 ג | 0006 50 פַחס | 6 65 חס %< הצהרת משתנים משתני 10%ז856/, בדומה למשתני ז18/85610, הס משתנים גמישים אשר יכוליס לקבל כל סוג ערך מסוג +חפוז8/. כלומר, אין צורך להצהיר על סוג המשתנה אלא המשתנה יודע להתאיס את עצמו לערך המוזן לתוכו. ליצירת משתנה ניתן להשתמש במילה השמורה |א1פ. לדוגמה: א וחוסם "ס|ו6"=א ץ וחוסם 2=ץ יש לציין, כי אין חובה להשתמש במילה ויזס. כמו כן, מכיוו שאין הגדרה של סוג משתנה (מספר, מחרוזת וכדי), המשתנה מתאים את עצמו לסוג הערך שהוזן לתוכו. 0 3 457 למפתחי אתרים באינטרנט אס מתעורר הצורך להסב סוג משתנה, ניתן לבצע הסבה (8ַח6950) על ידי שימוש בתחביר: "1 "=א (אחו6=+ המשתנה ץ יקבל את ערכו של א המוסב ממחרוזת למספר. ניתן להסב משתניס לסוגיס רביס כגון: טווח +חוס | החלף לסוג מספרי (ז606שחו) | 32768- עד 32767 ץ05% | החלף לסוג מחרוזת (פַחו5) | 0 עד 2 מיליארד תוויס בקירוב פח65 | החלף לסוג בודד (6פָח51) 7% עד *1.40129867 / "40282367 עד 7 1.4018986 601 | החלף לסוג כפול (6!טטס0) 1% צעד + / 5% עד 2+ פַח61 | החלף לסוג ארוך (פחסו) 8. עד 2,147,483,647 [00ט6 | החלף לסוג בוליאני 6ז או 18156 (ח68|ססט) 6 | החלף לסוג בית (ץט) 0עד 255 זטסס | החלף לסוג מטבע (ש6ח6זזטש) | 922,337,203,685,477.5808- עד 7?, 922,337 6 | החלף לסוג תאריך (08%6) 0 עד 31.1.9999 כולל כמו כן, ניתן להפוך ייצוג עשרוני ((083ו066) לייצוג בבסיס 16 (וּחחוססְחַהַא6ח) על ידי שימוש בתחביר: 0=א (8)א6ח=+ המשתנה ץ יקבל את הערך ה שהוא הייצוג ההקסדצימלי ל- 10. הסיכוי להשתמש בכל סוגי המשתנים הוא נמוך ביישומי אינטרנט בסיסיים, אך כדאי להכיר את האפשרויות חקיימות. פרק 3: תחביר ושורות קוד ראשונות | 31 350 מחולל דפי |אדה. ניתן לחולל קוד דינמי (כגון משתניס) וכן ניתן להשתמש בקוד סטטי (כגון שורות טקסט או פקודות ואדח. שורות אשר אינן תחומות בין סימני הפתיחה (%>) והסגירה (<%) של 55ג, יישלחו אל הלקוח כמות שהן. כלומר, הקובצ: >% א וחום "ואסס1]"=א %< 6וחס0ס|60 יחולל וישלח אל הלקוח את המסמך: 6וחס0ס|60 אחת הדרכיס לשלב קוד דינמי בשורות הסטטיות היא להשתמש בסימן השווה (=). לדוגמה, ‏ אס נרצה לשלות קוד המשלב את שורת 3% הסטטית - 6 60 עס ערך המשתנה המוגדר במסגרת קוד ה- 50, נכתוב את הקוד בצורה הבאה: 0 >% א וחום "ןאסס|"=א %< <%א=%6> 6וח60<\/6|60= זס|60 %ח10> מסמך 5 זה יחולל וישלח ללקוח את מסמך ואדה הבא : [00] 6וח6|60/\< 760= זוס|60 %חס)> 2 3 450 למפתחי אתרים באינטרנט להלן מסך הדפדפן, הקוד הנראה ב- 06זט50 שסו/ וקוד קפ : סוק = 61תז6)ח! 1605011 - |חווח. 1ק3%קסוא65 ס פס סאוש: [2 | 46 1005 פפסופת ‏ אש 06ם ‏ 6 | 5-2 8 ₪ 4 | 9 4 4|8- 3 ₪ . ב וק וו עז0פו | 085 = 56100 סו |36/88 | קסופ | ווק 6% | 015 127.0//.פוויו [ 65] 800059 | 1 05 760<06160ו=ו6010 %ה0+> או -] ה 6 8 610 | ]לא=%> 60100=076020616006 00%+> 6 בי .ספוט - ותו ספב ו ₪ |../5סאוום צ-+ |8500 | זט 5 סו 105086סו1 והות ה 3 ו וסן כלומר, מנוע 457 שלח ללקוח את שורות הקוד הסטטיות (760<)/6|6006= זס|60 %חס)>) ובמקוס הקוד הדינמי (<%א=4%>), מיקס את ערכו של א, כלומר, |ואססוו. לטובת הדוגמאות הבאות, כאשר נרצה לשלב ערך משתנה במסמך ואדה הנשלת ללקוח, נפתח את הסימן (%>), נוסיף את סימן השווה (=), נרשוס את המשתנה ונסגור עס הסימן (<%). הדוגמאות הבאות יכילו את מסך הדפדפן כשמעליו מסמך ₪411 הנשלח ללקות (אותו ניתן לראות ב- 66זט50 וסו/), ולבסוף את קובצ 452 השמור בשרת. דרך הדגמה זו מראה בצורה ברורה כיצד קוד 450 מתבצע על השרת ומכין מסמך ואד המתבצע על דפדפן הלקוח. פרק 3: תחביר ושורות קוד ראשונות | 33 בקרת זרימה ולולאות כבכל שפת תכנות, גם ב- 457 יש טיפול בבקרת ורימה ובלולאות. מכיון שאנו מניחיס שקוראי ספר זה מיומניסם בכתיבת 28/85600%, אין צורך להסביר את משמעות המושגיס, אלא להתמקד בתחביר. תחביר =1 ב-10%ז856/ ניתן להשתמש בבדיקת =1 באופן הבא: אשד הסטו0חס6 =[ 5 57 =ז סאם להבדיל מ-18/856106, התנאי אינו תחוס בסוגריים ויש להוסיף את המילה אפחדך באותה שורה. כמו כן, הפקודות המתבצעות אם התנאי מתקיים, אינו תחומות על ידי סוגריים, אלא מתבצעות עד הפקודה :1 סאם. ניתן כמובן להשתמש גס במילה 5155 באופן הבא : אפוד 2=א =1 1=ץ 8 ב בוב 1=ץ 2=2*9 זז סא 5660 6 בדיקה נוספת (מקבילה לבדיקת חסטושו5 ב-ז28/85610) נקראת 655, והתחביר לביצוע הבדיקה הוא: א 655 07 |55 2 656 2ץ=ץ 0 655 3=ץ = 5₪ סאם המילים א 6455 551561 מגדירות כי הערך הנבחן הוא הערך של המשתנה א. כל שורה הנפתחת במילה 6455 מגדירה מקרה בו למשתנה ערך מסוים. לדוגמה, בשורה השנייה מוגדר כי במקרה ולמשתנה א יש ערך 2, יש להוסיף 2 למשתנה ץ. בשורה הרביעית, 4 3 45 למפתחי אתרים באינטרנט מוגדר כי במקרה ולמשתנה א ערך מטווח הערכים המופרדיס בפסיקים, יש להוסיף 3 למשתנה +. להלן דוגמה: מסמך ₪41 שיישלח ללקות הוא : להלן המסך: 52.0 >% א וחו 4=א א 6856 56|66% 3 0896 "ס||6"=א 2 68956 "000"=א ב %< <%א=-%> 5 )₪650 650) 5 68 611 86 865616 15 8 פרק 3 : תחביר ושורות קוד ראשונות | 35 לולאת 0 התחביר לשימוש בלולאת 08=, גם הוא שונה מלולאת 08 של זְסז56ה/18. בלולאת ₪ של 0%ו8567/ יש להגדיר ערך התחלתי של משתנה, ערך סופי, וניתן להגדיר את השינוי בערך המשתנה באופן הבא: 5 ל 51 100 סד 1=1 08 1א=א דשא התחביר כולל את המילה 08=, הערך ההתחלתי של המשתנה המונה את ריצות הלולאה, המילה סד והערך הסופי אליו מגיע המשתנה ומפסיק את ריצת הלולאה. המילה ₪2 51 מגדירה כי ערכו של המשתנה יעלה ב- 5 בכל ריצה של הלולאה. אס לא נשתמש במילה קש 51, ברירת המחדל היא 1, כלומר, ערכו של המשתנה יעלה ב- 1 בכל ריצה של הלולאה. יש לציין כי בספירה שלילית (משתנה המתחיל עס ערך גבוה מערך הסיוס), חובה להשתמש במילה 515 להגדרת שינוי הערך. הגדרת סיוס הלולאה היא המילה דאשא. כדי לראות תוצאה של ריצת לולאה, ניתן ליצור את קוב 455 הבא : 53.0 <2% 5060 10 60 0=! 9%107> <זכ(> <%6=1%> 15 זסטוחטח שד <0%א9676> להלן המסך: |א|8]= 0 - - ₪ ₪600 06ך םה אסצ 20 06 | 8 2 ₪ | 5 ד | סופטה טס 7 ₪1 | א ₪ | עסשה שהמומ] הסש56 | שחסה | הנמושת | קספ המט| 7 אמ 8 | 500 350/3%03/ 27.0.07 1//:קוול ]מה | |ום|-. 5 ההק | 0 5 ססות 76 4 5680 00 6: 2 18 ע6ממתגות 6מ" 4 15 6 ממוגות 6 <ום> 8 15 "וסמהטה פחד 6 5 6 ממתגות סו 8 ₪ זפמממנות ג קשה 560 ₪8 ₪ | <זופ> 2 15 וסטתשת שן | (1 4 תססהמום סמיך" 2% 5600 18 60 1=8 06)%א / כ ]| <ום> 4 15 וססחטה שד <%%אפח%> <ום> 6 15 "וסמתטה פהד <ום> 8 15 "וסמהטה החד <ום> 18 15 זסמחטה שהך הווהמו ₪ 6 25% ס| 0008167 | טוט -[01ק5 02 ...א - .3 [כ?]| ‏ ם דקפ | רטלק רפש | | על 2 ל ₪ אק 7ץ אק גכ 65 | | וופמצו 6 3 455 למפתחי אתרים באינטרנט דוגמה נוספת היא : 354.30 <7% 0) 1=! זס)9%> <זם><+ח0ס)/>< <1%= %> =5126 00%]> <0%א9606> להלן המסך: 127.0.0.1/85/3504.550/ :קוו [65| 5 סוסא - :3:04.3 ₪ ] / 2 ן 7 <1פ%<00%+/>5126=1<0 5ה0+> <7% 0+ 1-1 "0)%>| <-ום%<006+/>5126=228 00%+> <-ום%<001+/1%<20%-5126-6% מהס+>|. <5%א%06> | <ופ%<00%+/>5126=320 006+> <-ופ%<00%+/>5126=820 %ה0+> <-ופ%<00%+/5126-528% 6ה0+> | <-ופ><00%+/>5126=620 00%+> <-ופ%<00%+/5126-7286 %ה0+> ניתן לעצור לולאת ₪08 במקריס מסוימים על ידי שימוש בביטוי זס] זואם. לדוגמה: 0 סז 1=1 זס+ הסח 1=7 )ו סז זוא 60 סח לולאת !1דאט ספ לולאה זו מאפשרת לבצע ריצות לולאה עד להתקיימות תנאי מסוים. לדוגמה: 2=א ודאט ספ 1=א קססון פרק 3: תחביר ושורות קוד ראשונות | 37 המילה התוחמת את גבולות הלולאה היא קסס). לולאת = ו1רו/ 0 לולאה זו תתבצע כל עוד מתקיים תנאי מוגדר, כגון: 2 = תחצו סס 1=א קססן גם בלולאה זו, המילה התוחמת את גבולות הלולאה היא קסס). שיטה נוספת לכתיבת לולאה זו היא באופן הבא : 2>א = זהח/ 1א=א סאפ/צ בשיטה זו, המילה התוחמת את תכולת הלולאה היא סאםצו. הערה (א'ובּוחסיו) בכל שפת תכנות ניתן לתעד את הקוד על ידי הערות. כדי לכתוב במסמך שורת הערה שלא תתבצע על ידי מנוע 55ה, יש להשתמש בסימן התג (י) באופן הבא : >זה רז 3 15 פוחש' אופרטורים 0ח וגס 60 מודולוט 5% לא זס או - שווה < קטן מ- > גדול מ- => קטן שווה =< גדול שווה <> שונה 8 3 455 למפתחי אתרים באינטרנט מערכים הכרה על מערך חד-מימדי נעשית על ידי שימוש בפונקציית ץפּזזה : ("זוהש", "3 |טח65רח", "ץההסם", "ז55סץ") הזוה = שהזזהץוו פנייה לאיבר במערך נעשית על ידי ציוו מיקומו בתוך סוגרייס מעוגליס (האיבר הראשון נמצא במיקוס 0): "ההו6!80 0 ח16"= (3)ץה זזה עו ניתן להגדיר את גודל המערך ללא הונה ראשונית של ערכים, על ידי שימוש בהכרות וחוס וציון מספר האיבריס הייעודי: (6)ץהזזה שו וחוס כדי ליצור מערכים רב-מימדיים יש להשתמש בהכרות חופ, ציון מספר המימדים וגודלם. כך לדוגמה, הכרוּה על מערך דו-מימדי בעל 3 איבריס במימד הראשון ו- 2 איבריס בשני תיראה כך: (3,2)ץְבזוהץוי] חחוס בשימוש במערכיס יש חובה לציין את גודלס, אולס לעיתיסם גודלו של המערך יכול להשתנות. במקריס בהסם נרצה להגדיל או להקטין את המערך יש להשתמש בהכרוזת חו60אט, המאפשרת לנו להקצות בצורה דינמית גודל חדש למערך. כך לדוגמה, מערך שגודלו הראשוני היה של 5 איברים יגדל בעזרת החו₪60 ל- 10 איברים : (5)ץזזה שו וחוס (10)ץ3זוהץו והוסס6א חשוב לציין, כי שינוי גודל המערך ימחק את תכולתו הקודמת, למעט אס נשתמש בהכרזת 6567/6זק המורה לשמור את תכולת המערך: (10)ץזזהץו וחוס (20)ץהזזהץן| 7/6ו6506זום והוסס6א פרק 3: תחביר ושורות קוד ראשונות | 39 פרק 4 אובייקט +₪60₪65 - התחלת הקשר בין השרת ללקוח בסוף פרק זה נדע לקבל מידע מהלקוח (דרך טופס |ואדה), ולהחציר תשובה דינמית. ל-450 מספר אובייקטים המאפשרים לבנות יישומיס אינטראקטיביים בין השרת ללקות. בהמשך נבין את משמעות האובייקטיס השונים ואף נשתמש בהם. האובייקט הראשון, ואחד המשמעותיים ביותר, הוא אובייקט +866065. אובייקט וה מאפשר לקבל מידע מדפדפן הלקוח החל בנתונים המוזניס לתוך שדות בטופס וכלה בעוגיות ונתוניס נוספים. כדי להשתמש באובייקט זה, יש להבין את פעולת טפסי וואדו. הבנת טפסי 1 ד טופס 11 מורכב ממספר אובייקטים. אובייקט מסוג אחד הוא שדה הקלט (68), חסטטס, אססא66ה60, 0ו80ז...) המאפשר קליטת נתוניס מהמשתמש. האובייקט החשוב הבא הוא אובייקט ההגשה 0וחפ50) המיוצג כלחצן, אשר עס לחיצתו נשלחים הנתוניס שנאספו בטופס. מכיון שלחיצה על לחצן אוחפט5 שולחת את הנתונים, יש להגדיר בצורה מדויקת להיכן נשלחיס הנתונים. הגדרה זו מתבצעת באובייקט פתיחת הטופס (<חזסו>) על ידי התכונה 16₪0₪. תכונה זו מגדירה לאיזה יישוס ועל איוה שרת לשלוח את נתוני הטופס והגדרתה מתבצעת באופן הבא: <חסספסו!סכ3 566 החסס. | סץ. או /: קה ה= 3600 וחחזס)> נתוני טופס (08%=) נשלחיס אל השרת באחת משתי דרכים, 5%סכ או 06%. פרק 4: אובייקט ₪600659% - 41 05% שיטה זו היא השיטה הטבעית לשליחת נתוניס על גבי פרוטוקול קדזהּ. כדי לשלוח נתוני טופס ב- 05%ק, יש להוסיף בשורת הגדרת הטופס את המילים 60000=20%ח באופן הבא: <205% = 6000 516.60 ץרח. צשאועע/ /: קל = 600 וחזוס)> <א=6וחפּח 0א6=%5%כ/ס %טסח|> <והח6=50ק/ס זטסחו> <וחזס+/> טופס זה ייראה כך בדפדפן: [<1ם)- | זסזס!קא = )6תזט)ח! 050/1ז4;0 - והזח הוזס]קס!656 ס 5/צם סשאו/צ: + | 60 1008 668סטב] | אפוע ‏ 08ם ש6ן] | 6-2 - 9 2 5% 4 3" זחוזק | זו | 65סעב = 568100 6חסו] | 36/588] - קסופ ומס 6% | ₪0 = | - | הח החזסי] | בי | עזפטם) זוהזסטם סוופה] חס וא עש | | | בעת לחיצה על לחצן זוחחטט5, המשתנה א יישלח לשרת המוגדר ב-חס360 כשערכו יהיה המלל שהוזן לתוך שדה הטקסט. כלומר, אם המשתמש הצין לשדה את המלל 'סו|46 ולחץ על לחצן אווחפט5, המשתנה א וערכו יישלח לשרת החס66.6ו5/ח. וטושו בצורה הבאה: 60 =א. 5% שיטה זו הינה שיטה חלופית לשליחת מידע לשרת והיא נבדלת משיטת 00% בכך שכמות המידע שניתן להעביר בה היא מוגבלת וכן ניתן לראות את הנתוניס בשורת הכתובת. כלומר, הנתוניס יוצגו בהמשך לכתובת השרת. לדוגמה: ס||6 = א? וחסס. ואססרח. אא /: כקת 2 3 50 למפתחי אתרים באינטרנט המשתנים וערכיהם מופרדים מכתובת השרת על ידי סימן שאלה (!). אם יש יותר ממשתנה אחד, יופרדו המשתנים על ידי סיימן אמפרסנד (8) באופן הבא : א = 608 = אפהסטבת ‏ אש 08 6 | "לי | חוזק ו עסו = 65וסעב-] 568100 שחס] | 858/ט ונק 0% סל [+ ו =א? הטסו ססחח.וו/ / :קוח | 80665 | | עזפטום) זוהחסטום סוסה[ מ / חס עו | | | אם כן, קיימות שתי דרכיס לשליחת הנתוניס לשרת. לכל דרך יתרונות וחסרונות ויש להחליט לגבי כל יישוס באיזו שיטה להשתמש. מנועי חיפוש מעדיפים להשתמש בשיטת ז66, משוס שעל שורת הכתובת המכילה את המשתנים המייצגים את החיפוש, ניתן להגדיר סימניה (0816ח800%, פטוזסטה-) ובכך לשמור חיפושיס מוצלחים. פרק 4: אובייקט ₪600659% | 43 לדוגמה, משתמש ירצה לשמור את הגדרת החיפוש הבאה: |<1ם) - | זסזסוקא = 1חז6)ח! /050זס:4 - !ססחב ו 1 30 1006 >סהסובץ ‏ אש 06ם ‏ 6 | כ 9 ₪ 2 9 : ד זחוזק וה עסו | 68)וס/יב- 508100 ו 6 6% 31100! 5 0 0-2 31100.0 סו שו ה - ץד - פס -. ה - ו 5 סח ו פצפ/י0פס , פכןססע1 [טנטנת* זז 58 5 וט - ו הרז ימה[ 17 - 1 סיומנוהולן - [דפוד א > 3 1006 9085ב | אשוע אטם 6 | 4 5 9 2 וו עז0פו] | 65)וזסעב = 568100 9/5 | קסופ )ססוח=0? 500 ₪ ו שו וש -- !ואוש שש וו 4" 00 הס 56005 30 הו ו א 7 מ פחפטם 461 ]10| 5 ספצצ 5 פע (1011 -1) 1/18+6[05 00177 28+0) !ססו[ב ער :ב 1 118110081 < 168ו630.] < 2886610811 < פ1וסע < מ68!10צט 6 הס חה20גוחבּ 6 /21817100%5] < 1807628 < (%/12זי1) 4880018110 ו 11981 פוטס תי (1-7017) 1/18+6[65 ₪166 !ססובּ ר 0 סמו - ק טי 1 18110281[ < 680168.] < 289161081 < פ1וסע < מ0ג681עט6ת 6 ,21841001 < 187628 < (110/5) 018110 2.880 א חו!זדה1רן 1616 "מזהה מז * 4 3 450 למפתחי אתרים באינטרנט בניית מסמך 1 ד המאפשר חיפוש באתר של 00צ למעשה, ניתן לכתוב מסמך ₪191 המאפשר לשלוח שאילתות לאתר הבית של סס₪גץ. היישוס המבצע את החיפוש באתר הבית של 0+ נקרא ה6ז568 והוא נמצא בכתובת : הזחו וחוסס. ססח3ץ. ה6זה50//: קת יש להכניס כתובת זו לתכונת חסו6ה של הטופס, כך שמילות החיפוש יישלחו אליה, באופן הבא: <" הזוח סס. סחי הז 50 /: סק ח"=ח600ה וחזוס)> לאחר מכן יש לבנות שדה טקסט בעל השס ס, מכיון שמנוע החיפוש של ססחגץ ממתין למשתנה בשם זה: <ס=ס6וחפּח %א6=%5כ/ס +טוקח|> לפניך קוד |ואדח המלא השולח מילת חיפוש למנוע החיפוש של ססתגץ: |החזח. וחוס+ ססחהץ <066= 600 5680 חור 60 סח הז 568//: 0 ה= 36007 וחוס)> <ס=ס6וחפּח 6=%5%%כ/ס %טסח|> <)ווח6=50ק/ס סטסחו> <חחזס)/> להלן המסכים: [<1ם)- | זסזס!קא = )6חז6)ח! 050/1ז6ו - והזח .הוזסקט!65% 0 0/5 שאו/צ:) כ | 60 1008 68סטב] | אסוע ‏ 08ם ‏ 6 | " ₪ שא | זוז ו זו = 665סעב- 568100 סוחס | 48/₪58] | קסו5 ופוס 0% סג ₪ | 6 |החזה.החזכ]. סיסע | בי | עזפטם) וווחטטום הי חס עו | | | פרק 4: אובייקט 6000595 | 45 [<1ם)- | ו !ססח3 ו 1 | סו 1006 900065" אש א0ם ‏ 6 | רו וריו וי חוזק וו עזספו] | 65)וסעב = 568100 חס | 48/858] | קסופ ווה 0% ספ לק [+ ]ו0ט=0? 0ז 56 חופ/ הס סס3/ע.ח0ז56// :קוו ₪ חן - [בחם 00866 - טופ 8 !כוכונדוגקר - = 461 5 3180 5 ספצצ 5 ספשע 8 סו 58 !31100 צ' 1115106 = 4 (46 ₪ סב !ססבל מס 28 :0014150 15,000 צ6קיכ) : קתנקקטון5 / שחטחו פא | | פס [6) כמובן, ניתן לייצר את שורת הכתובת באופן ידני כשמדובר בשיטה 66%. לעומתה, מהווה השיטה 005% אמצעי מאובטח יותר להעברת מידע, מכיון שלא ניתן לראות את המשתניס בשורת הכתובת. תרגיל ראשון בתקשורת בין שרת ללקוח תחילה נבנה טופס |ואזח רגיל. בפקודת וחזס נכניס ל- חסוש6ה את כתובת השרת עליו אנו עובדים, כלומר 127.0.0.1 (ראה תרגיל בדיקת תקינות בפרק 2). אנו מעוניינים כי הנתוניס שיוזנו לטופס :יישלחו לקובץ 8525 אותו נבנה בהמשך אשר ייקרא 350 וח זס+ 86%ָ. אס כך, שורת הקוד הראשונה במסמך יז תהיה: <60700=06%ח פהּ. וס 127.0.0.1/06%//:קה=ח3600 החזס)> שימו לב כי נשתמש בשיטה 66%. נוסיף את המלל: :חח זטסץ חו 6סץצד לאחר מכן נוסיף שדה טקסט בשס א. <א=6וחפּח %א6=%5כ/ס %טסח|> וכן נוסיף לחצן זו ספ ונסגור את הטופס באופן הבא: <)וחטט6=5קכ/ט +וקחו> <חחזס+/> 6 3 450 למפתחי אתרים באינטרנט כך ייראה הקובף |וחשח. חזס1: <60700=06% "ספהּ. וחזס+ 127.0.0.1/06%//:קח"=ח8600 וחזס)> : 6החפח זטסץ חו 6קץצד <א=6חחּח %א6=?%6כ/ס זטקחו> <והח6=50ק/ס זטסחו> <חחזס+/> להלן המסך של |חשח.וחזס+: [<1ם)- | זטזס!קא = ]6חז6!ח! !)ס5סזטו/א - |חוזת.הוזס]קט)א63 . פס פא ו/צ:) בּ | 1006 >סהסטבת ‏ אש 08 6 | , וו | זחוזק ו עסו = 85!וזס/ב = 56100 שוחסו] | 8858 | קסופ זוז 0% 8 | 000.7 למסו | 4469 | עזפטו זוחטטפ ]. 6מנת צגוסזי בג כל חס עו עפ | | | כעת נבנה את מסמך 55ג. לאובייקט ₪60065% מספר שיטות אשר יפורטו בהמשך, אך כרגע נתייחס לשיטה הראשונה : ()9ח1ז55ז6ט. למעשה, מוגדרת 8חו5₪/זפט) כתכונה, אך בשל העובדה שיש להעביר אליה ערכים, נתייחס אליה בספר זה כאל שיטה. השיטה 0650108 מקבלת את מחרוזת המשתנים הנשלחת בשיטה 66%. יש לציין איוה משתנה אנו מעונייניס לקבל, ומכיוו שהמשתנה הנשלח מטופס |אז שבנינו נקרא א, אס נרצה לקבל את ערכו בטופס |ואז₪4 נצטרך לכתוב: ("א")6065%.0007/50700ז בהדגמה פשוטה זו נכתוב קוב 455 בשס 850.וחזסז 96%6, ובו ברכת 6וחסס!6/ אליה נצרף את ערך המשתנה א אשר הגיע מהטופס באופן הבא: <%("א" )6/5 65% 00 = %> 6והססו6/\ פרק 4: אובייקט 600690 | 47 להלן המסכים של התרגיל: זסזס!קא = 1חז6)ח! 050/1ז0; - !הווח הוזס ]רק טוא63 ועט פאו/צ: כ [ ו | 0 ומ טע פד חסזב =א? 350 הזזס) 127.0.0.1./06% סע 6מ:ס 7610 8 3 450 למפתחי אתרים באינטרנט הבה נבין את התהליכיס המתרחשים בתרגיל זה: שלב א רת דפד פן 0 עס 616% הדפדפן מבקש את מסמך ד (|וחסח. וחזס?). שלב ב רת דפד פן 6 90 געס] 6161 ד ] השרת שולח את מסמך 4191 ללקוח. הדפדפן מבצע את קוד !ואד שקיבל ומציג מלל, שדה טקסט ולחצן זוחטט5. שלב ג דפד פן שרת עגוס םג 6קץיך 6 1 0 ג0ס] 6161 מסזה + סנב = א?380. ועס10 86% 6% ) המשתמש מקליד את שמו בשדה הטקסט ולותחף על לחצן זוחזטט5. ברגע הלחיצה, אוסף הטופס את ערך השדה, משרשר אותו לכתובת המופיעה בהגדרת חסוז46 ושולח. פרק 4: אובייקט ₪60069% | 49 שלב ד שרת קובץ 452 מקבל את הפנייה ומכין מסמך ₪411 חדש, המורכב מהמלל 6הסס|6/ ומערך המשתנה א. המסמך החדש נשלת שוב ללקות. כרטיס ברכה אישי ב- 45 קטעי הקוד הבאיס יאפשרו לגולש להגדיר לעצמו כרטיס ברכה אשר יכלול צבעיס שונים, גודל וצבע גופניס ואף תוכן מילולי דינמי. הצעד הראשון יהיה לבנות מסמך !אד ראשוני לו נקרא |זח.6870 |חספזסס. נפתח מסמך !דח חדש: <|וחזה[> <6שוח/= א |668= זס|0960 ץ00ם> <זז 60 / > <%ח0]/ > 680 870 0ח660זכ) |8ה50ז6ק <526=7 %חס1> <-7ס%ח60> <זח> ח63 טסץ הסספסו!קכה פוש ח1 .סח 6370 0ח 66 |ההספזסק 6 60 שוהססוס/ <1ז6708%6>0 <זכ> 300 5126 8 זס|סס %חס? ,זסוס6 הטסזא6ה0 06 ₪ הוחוה7ו06% עם 6370 הסוס הצוס זטסצ <זה>.655806 5 0ח660זט סחד לאחר מכן, נבנה טופס אשר ישלח את הנתוניס לקובץ 452 שייבנה בשלב הבא, וייקרא 50 676806₪ באופן הבא : <60700=066ח 6870.850 127.0.0.1/670806//:ק₪ה=ח600 וחוס)> כעת נוסיף שדות אשר יאפשרו לגולש להגדיר את צבע הרקע של כרטיס הברכה, צבע וגודל המלל ותוכן הברכה. : זסוס6 ס0הוסז0א286 8 600056 <זס><ז6=2060|0וחפח 6=%666כ/ס סטסחו> : זס|60 10% 8 600056 <זס> <זס|%00חהס)=6וחבּח %א%6=סכ/ט +וקחו> 0 3 45 למפתחי אתרים באינטרנט 600056 8 100% 5126 : <100%5126= 36 50!60%> 1<1=ס6ט|הע חססקס> 2<2=ס6ט|הע חסטקס> 6=3<3ט|הע חסטקס> 06=4<4|ה8/ חסוסקס> 6=5<5ט|/ חסטקס> 6=6<6ט|ע חסקס> 6=7<7ט|הע חסטקס> <ז0> <50|000]> >?0%8708 806 =687070055806< <זק> <0%)9708)/> לאחר מכן, נוסיף לחצן זוחחפט5 ונסגור את הטופס. <והח6=50ק/ס זטסחו> <חוזס)/> כך ייראה הקוד המלא של |וזח.0ז68 |8ח0ס5ז6ק : <|וחז[> <6סוח/= 0 |668= זס|0960 ץ00ם> <ז 60 / > <%ח0]/ > 680 6870 0ח660זכ) 8ה50ז6ק <26=7ו5 %חס1> <> <זח> ח68 טוסץ הסספסו!קקה פוחז ח1 .סח 630 6600 |ההספזסק 6 60 שוהססוס/ <זכ>6708%6 <זכ> 300 5126 8 זס|סס %חס? ,זסוס6 הטסזא6ה0 06 ₪ הוחור7ו06%0 עם 6370 הסוס הצוס זטסצ <זח>.655806 5 0ח660זט סחד <060= 60700 "670.85 127.0.0.1/670005//:קח"=ח36000 וחזס)> : זסוס6 ס0הוסז0א286 8 670056 <זס><ז6=2060|0וחבח 6=%666כ/ס סטסחו> : זס|סס 100% 8 600056 <זם> <ז00%00|0?= 6וחבח 6=%666כ/ס 6טסחו> : 5126 100% 8 600056 <10019126= 86 50|665> 6=1<1ט|הע חססקס> 2<2=ס6ט|הע חססטקס> 6=3<3ט|/ חסטקס> 06=4<4|ה8/ חסקס> 6=5<5ט|אע חסטקס> 6=6<6|ה8ע חסקס> 6=7<7ט|הע חסטקס> <זס> <50!60/> פרק 4: אובייקט ז₪60065 | 51 : 655806 זטסץץ חו 6קץד <687070655806= 816 00%9708)> <זכ> <%0%)8708/> <)הח6=50ק/0 +טסחו> <חחזס)/> <|חש/> וכך נראה המסך שלו: ה | 6 | 005[ 8פוהטב] | שופוע 01 6 | ₪ . > . 9 (₪ ₪ | ₪ ₪ 3 וו 0 = 3/0165 = 56100 חס | 6/688] | כסו5 בבוס 0% כעת, נכתוב את קוב 5 בשס 6870.850 676816 אשר יקבל את הנתוניס מהטופס ויבנה באופן דינמי את כרטיס הברכה עבור המשתמש. בקובץ וה נשתמש ב- 509ץ60065%.0067ז עבור כל אחד מהפרמטריס שיישלחו מהטופס. להבהרה, אס הטופס ימולא בערכיס הבאים: 60ז, צוסוו6ץ, 7, !1066 6000, תישלח השורה הבאה אל השרת: !ו | 8:03700655806=0000 7 = 526 חס 8 סוס = סוס 6080 = זס|000? 680.35 ב127.0.0.1/07080//:כקחת כעת, כל שנותר הוא לשלב את פקודות ]דח עס ערכי הטופס באופן הבא. להלן התוכן של הקוב 6870.850 6076806 : <%( "זט" 6/5 ."= %> = זס|ס96כ ץ00ם> <<%("ז0|0 500 60651.6" = 9% > =%א+ <ז60010> <<%("0)10005120ה067/50. 60651 = % > =5126 %חס)> <%(68700655806 )0 חו6/50ט90=760065%.0> 2 3 450 למפתחי אתרים באינטרנט להלן המסכים של יישוס זה בפעולה: ו כ | זחוזק וו עז0ופו3 | 69וזס/יב-] 5681070 חס | 49558 | קסופ זוז 0% ספל [+ החור הז 65% כ פא :0 ן₪ מ 0% 6מגוס1ק030% 8 2086 !םיו 0 10% 8 10086? |= ?| 86 0+ 8 0220088 = !אסגות 6008 / 6 צגוסזד בצ 36 שופט) וחפוס וס עו | | | זסזס!קא = 61חזפ)ח! 050/1ז 357 3 06816 | 60 008[ 88]מסטב] | סול 88ם ‏ 6 | 49 -9|8 4 9 |8 ₪ 8 -. זחוזק וו ז0ופו] | 69וזסיה = 56810 חס | 6/588 | תס50 הח 0% "* ו26=76031000655306=020ו15ח0]וס||6ע= זס|00ו00ו806=זס|00טפ? 350 זב 06866 27.0.0.1 1//:קוות בי | סוחס א | | | פרק 4: אובייקט ז₪60065 | 53 עוד על אובייקט ₪60₪65% אנו יודעיס אס כן, לשלוח נתוניס לקובצ 452 ולהשתמש בהם. כעת נכיר את אובייקט 5% לעומק. לאובייקט וּה, כמו לאובייקטיס אחרים, יש מספר שיטות ומאפייניס בהם ניתן להשתמש. השיטה הראשונה בה השתמשנו היא ()9חו57עזסטף. שיטה זו כאמור משמשת לקבלת ערכי משתנים המגיעים מטופס בשיטת 660. אם הנתונים נשלחים בשיטת 005% ניאלצ להשתמש בשיטה המקבילה חזס". אין הבדל בין הפונקציונליות של שתי השיטות. לקבלת משתנה א שנשלת ב- 66% נכתוב: ("א")6065%.0067/5000ז ולקבלת אותו משתנה שנשלת ב- 005% נכתוב: ("א")0ח60065%.107ז 5 תכונה זו של אובייקט ₪6006% מאפשרת שליפה מקבצי 600665 של הלקוח, ועל כך ידוו בפרק העוגיות. 5 ווה /וס 5 תכונה נוספת של אובייקט 600658%] (אשר גס אליה נתייחס כשיטה), היא 55 המאפשרת לשאוב 43 פריטי מידע על הלקוח ועל השרת. לדוגמה, ניתן לקבל את כתובת ק1 של הגולש על ידי כתיבת הקוד הבא : %> (" 30 6006 )8065 /60065%.56/6"= %> פו ק1 זוסץ <% להלן חלק מהנתוניס שניתן לקבל בעזרת 6065%.567/67/8180!65 : > ("ק !!בּ")65!כַ3ּ65%.507/07/311שסו תכונה וו מאפשרת גישה ל- 468061 דד הנשלח מהלקות. 468081 סדדת הוא הקדמה למסמך ₪411 הנשלח ללקות וכן למידע המגיע ממנו, ובו מוגדריס נתוניס כגון השפה בה משתמש הלקות, הדפדפן הספציפי ועוד. ב- ז46806] פדז4 ניתן למצוא מידע חשוב על הלקות הגולש. להלן דוגמה ל- 68067 דד : *]<; 607 סדד 0:6 סאה | דק065א סדדת 6ו|660-4א: 10 =אצס6 שדדת 1: 0 קדדת טאשטוכ ;98 פאוססחו/ ;5.0 1515 ;6!סטהקוהסס6) 4.0/בווו2סוז: דא=6א השפ סדדת 6 קקהקפ= דדקאם--60015:50555510%10 סדדת 6 ,6:02 60אם= זדק065א סדדת 4 3 450 למפתחי אתרים באינטרנט > ("ח%הכ |בּס6ו5ץתק [כְקְב3ּ")65! בהּוובּעוסעו50.+₪6065 תכונה זו מאפשרת לקבל את התיקיה האמיתית בה נמצאיס הקבציס. > ("0%70ה6|] %ה607%6") 65!ַהּוזבּ/507/07 .₪6065% תכונה זו תחזיר את אורך המסמך שהתקבל מהלקותח. > ("6%7000ו₪ 60065%ז") 65!בּוזהּ/]ס/ז50 .₪6065% תכונה זו קובעת אס הגולש שולח את הנתוניס ב- 205% או ב- 66%. ערך מוסף - לולאת 6361 וס לולאה מיוחדת בה ניתן להשתמש היא לולאת 6860 זס). לולאה זו בנויה לרוצ על רשימת עצמים מוגדרת מראש ולהתייחס לכל פריט בנפרד. לדוגמה, אס נפנה אל מסמך 55 ונשלת ב-ז5ם6 את הפרמטרים הבאים: 18/=282=3=א, נוכל לקבוע לולאת 6860 זס1 אשר תחלצ את הערך מכל משתנה. לדוגמה, התחביר של קוב |וחז0.ח686 זסו 81%ז5: <060= 60700 35 ה680 זס?=36000 החזס)> <זכ><6=1|ה/ א=6וחפח 6=%066כ/ס 6טסחו> <זכ> <6=2|ה/ ץ=6וחפח 6=6066כ/ס 6טסחו> <זכ(><8]6=3/ 6=2וחפח 6=%0כ/ס 6טסחו> <+והח6=50ק/ס זטסחו> <חוזס+/> להלן התחביר של קוב 350 בשס 68060.8 זס), הקובע כי עבור כל פריט (חסטו) במחרוזת (8חו5%ץזסטף) יוצג ערכו: >)00% 526=7< >% 60650.5 חו החססו ה680 זסז %< <זס> < 16% ח90=760065%.006/507> %> סח <% פרק 4: אובייקט ז₪60065 | 55 אס נקרא לקובץ וה עס הפרמטריס בשורת הכתובת (שימו לב לשורת הכתובת), נקבל את התוצאה הבאח: [<ום)- 3 בּ 6 3 450 למפתחי אתרים באינטרנט פרק 5 אובייקט 56חסכ 465 מהו אובייקט 57 ? ל- 84503.0 7 אובייקטים. אובייקטים אלה מכילים קטעי קוד מוכניס המאפשריס למפתח לבצע פעולות מורכבות בשורות קוד בודדות. כפי שנלמד בפרק הקודם, כדי לקבל משתנה הנשלח מטופס יש לכתוב ("א")8חו600651.0067/507 בלבד. כך ניתן להשתמש בכל אחד מהאובייקטיס לביצוע מטלות שונות. האובייקטים המוגדרים ב- ק5 הם: בי 6 חססהסו|קסהּ חסו5655 5 00[606 00% זסזום 350 בפרק זה נכיר את אובייקט ₪6500056. 6ו כ 365] כשס שאובייקט :60065 מאפשר קבלת נתוניס, משמש אובייקט 56ח₪6500 לשליחת נתוניס אל הלקוח. בפרק זה נסקור חלק מהשיטות והתכונות של אובייקט זה. פרק 5: אובייקט 0500056 | 57 66וו/ השיטה הראשונה אותה נסקור היא השיטה ווזו, המאפשרת כתיבה לקובצ ודו הנשלח אל הלקוח. כלומר, במקוס לרשוס : >% א וחום "סו|6ח"=א %< <%א= > 6ח8|600/ ניתן לרשוס : %> א וחום "סו|6ח"=א א 8 " 6וחסס6|6/" שו 56חה050ז <% שרשור שימו לב, ששרשור המחרוזאת מתבצע בעזרת סימן האמפרסנד (8). כשס שב- ה אנו משרשריס מחרוזות טקסט בעזרת סימן החיבור (+), נשרשר ב- 8455 בעזרת 8. ניתן לשרשר ב- 455 גם בעזרת סימן החיבור, אך בשל מצביס אשר מכילים מספריס ובהם עלול סימן החיבור לבצע חיבור מתמטי, נשתמש באמפרסנד בספר זה. להבנה מלאה של 6שו.₪6500056, מומלצ לנסות לבצע את תרגיל כרטיס הברכה מהפרק הקודם בשיטה צו, ולשנות אותו לפי הרשוס בהמשך. כך ייראה הקוד |וח%ח.6870 |8חספזסק : <> <6סוח/= 6% |668= זס|0960 ץ00> <זז 60 / > <%ח0]/ > 680 870 0ח66זכ) |8ה50ז6ק <5126=7 %חס1> <> <זח> ח68 טוסץ הסספסו!קקה פוחז ח1 .סח 630 6600 |ההספזסק 6 0+ שוהססוס/ <1ז6708%6>0 <זכ> 300 5126 8 זס|סס %חס? ,זסוס6 הטסזא06 06 ₪ הוהוהו06% עם 6370 הסוס הצוס זטסצ <זח>.655806 5 0ח660זט סחד <60000=06 "6870.857 127.0.0.1/676806//:כח"= חסח6ה החזס]> : זסוס6 ס0הוסז0א286 8 600056 <זס><ז6=2060|0וחפח 6=%666כ/ס סטסחו> : זסוסס 100% 8 600056 <זס> <זס|%00ח0ס)=6וחבּח %א66=ס6כ/ט +וקחו> 8 3 455 למפתחי אתרים באינטרנט 600056 8 100% 5126 : <100%5126= 36 50!60%> 1<1=ס6ט|הע חססקס> 2<2=ס6ט|הע חסטקס> 6=3<3ט|הע חסטקס> 06=4<4|ה8/ חסוסקס> 6=5<5ט|/ חסטקס> 6=6<6|פע חסקס> 6=7<7ט|הע חסטקס> <זם> <906|6/> : 655806 זוטסץ חו 6קץד >?0%8708 86 =681070655806< <זק> <0%)8708)/> <+ווח6=50ק/ס סטסחו> <וחזס)/> <וחטח/> 6 >% (" סוס )65 60651.0 8 "=זסו0060 ץ00ם>" 6ש .56 הז "< "8 ("זס|ס6)חס)") 8חהו60650.6/5 8 "=אסס" וע 650056 "<ז660%0>" 6פו/. 05056 "<" .8 ("26ו05ח0ז" )0 חו6/50 60651.0 8 "=26ו5 זחס?>" וצ 650056 ("055806 60656560 ססועצ 05056 %< ניתן גס לחולל קוד זה בעזרת 66וצו.56ח6500ז אחד על ידי שימוש בקו תחתי לשבירת שורה, כפי שנלמד בפרק 3, תחביר ושורות קוד ראשונות, באופן הבא: קפ 06 >% 8 ("זסוס096" )0 הו6/50 60656.0 8 "=זס|0060 ץ00>" 50056.6 8 "< "8 ("זס|ססחהס)") 8חה000650.00650ז 8 "=6אס " 8 "<%07ח60>" 8 "<" .8 ("10005126")ח6065%.0067/5071 8 "=526 +חס]>" 065.65 6 655806"( %< פרק 5: אובייקט 6500056 | 59 +) שיטה גו מאפשרת להפנות לקוח לאתר או דף אחר. בדוגמה הבאה, מזדהה הלקות דרך טופס טקסט. במידה והסיסמה היא ''609000'', מופנה הלקוח לדף |וחשח.5ז6פט. בכל מקרה אחר, יקבל הלקוח את עמוד הפתיחה. תחילה נבנה טופס |ואדת : ההז החרטה <|וחז[> >)6< > /06< <6שוח/= א |668= זס|0960 ץ00ם> :חח 0זסצא55הכן זוסץ חו 06 6פבּסוק <005= 6000 450. ה0 68 ת6חסטה 127.0.0.1/67066%//:כח= חס60ה החזס]> <ס=6חחפח זסשו355כ =6כ/ס סטסחו> <והח6=50ק/ס סטסחו> <וחזוס)/> <|וחטח/> כעת נבנה קובץ 45 המקבל את הערך של כ ובודק אס הוא שווה ל- 609008. במידה וכן, תתבצע הפניה לדף |565.0₪ש. 680.3 הסרח ה 666% %> הו "0 60"=("ק" )60651.0 זו "|ר75.007ז156" 66%ו6011ו.56 6520 6 "3768 065% 506 0+ 6רס526=4 <ששסו|6ץ= זסו0060 00>" 05056.6 חס <% נוסיף גסם את המסמך !56175.0 כדי לסיים את ההדגמה: |החסח. 15015 <אחוכ=זס|5960 ץ₪00> <526=5 00%)> | 6 6הססו6/ חשוב לציין כי פעולת ₪601760 יכולה להתבצע רק לפני שנשלח משהו ללקוח. כלומר, לא ניתן לבצע הפניית 6017606 אס התבצע 6וזשו.6500056ז כלשהו או נכתב קוד ואד (למעט מקרה של שימוש בתכונה ז6ו1טם אשר נידונה בהמשך פרק זה). 5 תכונה זו מאפשרת שליחת 6006/65 ונידונה בהרחבה בפרק 8, על העוגיות. 0 3 457 למפתחי אתרים באינטרנט סח= ברגע שמנוע 455 מזאהה את המשפט 56.600ח6500ז הוא מפסיק את שליחת הנתוניס ללקוח. כלומר, בדוגמה הבאה לא תתבצע השורה השלישית. >% "זהסקסב ||ו" 66ועש.56ח6500ז 6.0 "זהסכקה ססח ||ו" 66ועש.56ח6500ז %< ץז בק זו נקודה טובה להציג את אחת התפיסות המקובלות במיקרוסופט לכתיבת קוד. אס אינך בטוח בשליטתך בחומר, אין צורך לקרוא את הפסקאות הבאות משוס שניתן להתבלבל בשלבי ההיכרות הראשוניס עס 455. תוכל לחזור לקטע זה בהמשך. בכל הטפסיסם שכתבנו עד כה הגדרנו את יעד שליחת הנתונים ב- ח16₪0. אס לא נגדיר יעד לשליחת הנתונים, יישלחו הנתוניס לאותו הקובצ. כעת, ניצור קוב 452 אשר מציג טופס 411 וגס יודע לקבל את פרטיו. בשלב ראשון יוצג הטופס בכל פעס שעולה הדף. 60/1 35 <וחזס)> <א=ס6וחפּח 0א6=%5%קכ/ס %טסח|> <+ווהח6=50ק/ס זטסחו> <וחזס)/> <זח> <%("א")0ח96=76065%.006/501> 5בצ 60אורחסט5 סזסעט 85%| סד מסמך זה יעלה בפעם הראשונה כך: | ₪ | פס 1005 פסאסום ‏ אש 0 6 | ₪ . 2.6 7 ₪ 9.4 | , חוזק ובו עסו | 65ס/ה = 56810 שחס] | 36/858 | כסו5 מס 0% סג ₪ | 4 550 1עזח66ז/ 127.0.0.1 | בי | עזסטוב) זוהזמגום | 8 11686 סגו 16ס/ו 1881 6 טס שא | | | פרק 5: אובייקט 6500056 - 61 שימו לב, שמכיון שאין עדיין ערך לשדה א, אין מילה כלשהי שמופיעה לאחר המשפט: 5 רחס 5 זסעט 85%| סד כעת נמלא את השדה ונלח על לחצן אוחטט5. מכיון שאין הגדרת יעד לשליחת הטופס, יישלחו הנתוניס שוב ל- 0₪/1.850ח₪66 והתוצאה תיראה כך: |<1ם])- | זסזס!קא = 1פחזס)ה! 050/1ז4:0 - ק5ב. 1עזוח66ו 4 | 1005 הסופת אפע א 5 | / וו ו זחוזק ובו סו | 68וזס0 עב 568100 6חסו | 6/588 | קספ הס 0% 0 ₪ [+ ו00%>=א? ק38. 56191 127.0.0.1 | בי | עופטם) ופפ | 00 88 1606)טנטגוט 010 1891 6 סוחס עאן עפ | | | השימוש המעשי של תפיסה זו הוא לרכוּ את הטופס ואת התגובה לטופס באותו מסמך. בקובצ הבא נגדיר טופס ודו : <וחזס)> <א06=?6/ף )וקחו>: שוחפּח זטסץ חו 6קץצד <+ווהח6=50ק/ס סטסחו> <וחזס+/> מכיון שאין אנו מעונייניס להציג את הטופס שוב לאחר שליחת הנתונים, נבדוק אס הנתונים הוגשו על ידי אמצעי הבדיקה שפקוחספו. התתביר הוא כזה: חס (("א" 6500 600650.0ז)/קרת 56 זו בדיקה וו מבהירה האס הדף עולה בפעם הראשונה או בפעמיס הבאות. אס הדף עולה בפעס הראשונה, אין עדיין ערך לשדה (ש0ח55!) ואילו לאחר לחיצה על לחצן זווזסט5 יחיה תמיד ערך למשתנה א. אם כן, במידה והמשתנה חסר ערך (כלומר הדף עלה בפעם הראשונה), נציג את הטופס ונסייס את שליחת המשך הדף על ידי ₪0500056.600. 2 3 55 למפתחי אתרים באינטרנט >% הסט (("א" )650 טף.6065%ז)/ס רשפ זו <% <וחזס)> <א06=%6/ף )טוקחו>: שוחפּח זוטסץ חו 6קץצד <+והח6=50ק/ס זטסחו> <וחזס)/> >% 50056.0 זו 66 %< אס התנאי אינו מתקיים, כלומר, יש ערך למשתנה א, נבצע קטע קוד שונה באופן הבא : 2. >% חסר (("א" הו 60656.5 )סקו 15 זו %< <וחזס)> :חח זטסץ חו 6קץד <א=ס6וחּח 6=%6%6כ/ס %טקחו> <והח6=50ק/ס זטסחו> <וחזס)/> >% 50056.0 60 11%< <אוס||6ץ=)0 6ט1פ= זס|0960 ץ00ם> <526=5 %ח10> ,<%("א" )0 ח6/50ט).40065%] =96> <חם> !אסס| %ה017076/ ה הטו 806 5306 6 0+ סוהססוס/\ פרק 5: אובייקט 6500056 | 63 כך ייראו המסכיס בפעס הראשונה והשנייה: ₪ 1005 ס0מופ" אש ]6 | / ₪ לי וו סופ | 65וזס/ב-] 598108 חס | 3558 | קסופ מזה חס 0% אמורו --- | פהסחטתה ששש וסט ופט ]= 6 זגוסזן ג עד מ | >שחשאשן | | 00000 פס ןש זסזס!קא = 61חזס!ח] !)ספסזסו)א - ק2.35עז1ח186 | 3 1005 פסהסטבת שער אשת 6 | 8' -₪ זי | זמוזק ובו עו 85!וזס80 ה0ז568 | 39/8580 | קסופ מס 0% | סק [+ [3ע==א? ק35 .16612 27.0.0.1 1 ] יי | / סט שא | | | פחסם [₪) 5 וווקןא= תכונה זו מגדירה את הזמן שלאחריו. כאשר ינסה המשתמש להיכנס שוב לאותו המסמך, יטען הדפדפן את המסמך מהשרת ולא מהזיכרון המקומי שלו. תכונה זו מקבלת ערכיס בדקות. כלומר, אס נקבע שלמסמך מסוים 3 דקות בתכונת 65זוקאם, יימחק מסמך זה מזיכרון הדפדפן לאחר 3 דקות. לדוגמה: %> 0105=3א6. 0500056 <% ניתן להשתמש גס ב- 658050!066ז01א₪ כדי להגדיר תאריך תפוגה מוחלט לדף. 4 3 450 למפתחי אתרים באינטרנט זס?טם תכונה וו, המקבלת ערכי 6טש או 9|566, מגדירה למנוע 457 האס להתתיל ולשלות פקודות !31 ללקוח לפני ניתוח כל הדף (16500056.000/6=]856), או האס לסייס לנתח את כל המסמך ורק אז לשלוח ללקוח את התוצאה (006=ז6500056.000ז). הגדרת 8061 חייבת להופיע בתחילת מסמך ק5ג. הערך הבסיסי של 8097 הוא 56ו8=. 9ס !סד4הסקקה תכונה זו מאפשרת להוסיף שורות טקסט לקבצי 106 של שרת שדזח. ניתן להוסיף עד 0 תוויס ללא שימוש בפסיקים. לדוגמה: ("65 חורה 2 3607 5106 15 66| 5 6 ד" סוס 50056.6 זו תכונה זו מאפשרת להוסיף שדות ל- ז46800 דד באופן הבא : "ו סז וע" "6" 006807 56 סז פרק 5: אובייקט 6500056 | 65 פרק 6 אובייקט חסוזב3ּסו!200 לעיתיס נוצר הצורך לשמור מידע גלובלי ביישוס. הדוגמה הקלאסית לכך היא הצורך להוסיף לאתר מונה ביקורים (זפזחטסס). מכיון שדפי 857 מתעורריס לחיים עס בקשה מהמשתמש ו'נסגריס' עס סיוס ביצוע פעולתם, אין אפשרות לשמור ערכיס כגון מספר המבקריס בדף 455. לצורך כך, נוצר אובייקט חסספסוופקה המהווה אובייקט חיצוני ליישוס המכיל ערכים ונגיש לכל דף 455 בשרת. באובייקט זה ניתן לאחסן ערכיס קבועיס או משתניס אשר ישמשו את היישוס (מכאן נגזר השס חסטפסווססה). לצורך הבנת הרעיון העומד מאחורי השימוש באובייקט זּה, נבחן את התהליכיס המתבצעיס בהוספת מונה ביקוריס לאתר. הוספת מונה ביקורים (ו6+הווס6) שלב א בשלב זה יוצר מסמך 452 אובייקט חסספסווסק ומעניק לו את השס 'יחו0ס2יי. יש צורך בשס עבור כל אובייקט חסטפסו|סקה כדי לאפשר מספר רב של משתנים מסוג זה. מייד עס יצירת האובייקט וקביעת שמו, קובע מסמך ?85 את הערך ההתחלתי של האובייקט כ- 0. שרת קדדח חססהסו|ססה חו200= 6חחה] 60| / קוו קוו פרק 6: אובייקט חסטפסו|סק - 67 שלב ב משתמש נכנס לאתר ומבקש את אחד ממסמכי 55. אותו מסמך ניגש ומעלה את ערכו של אובייקט חסטפסווסקה הקרוי חו200 ב- 1. שרת קדדה חסוז8סו!סס א חו200= 6וחהּ)] 6=1טו קה 61!ו= 35 62!ו= %חוו6 שלב ג מסמך 452 לוקח את ערכו החדש של חו200 ושולח אותו ללקוח (משורשר עס המלל - 1 זס וטא זסשופוצ 6זהּ טסץ). שרת קדדה חסו8סו!סס א חו200= 6וחהּ] 6=1טו פה 61 62.35 ופצ 376 טסצ 1 זססוחטא וו מרגע זה ואילך, כל מסמך 455 יוכל לבצע את אותו תהליך וכך יישמר מספר המבקרים באתר. אובייקט 8008|פָק ממשיך להתקיים עד לסגירת השרת או למחיקתו בצורה יישומית. 8 3 455 למפתחי אתרים באינטרנט יצירת אובייקט חסוטבּסו!ככקה תחביר יצירת אובייקט חסטפסו|סקג הוא פשוט. יש לכתוב את המילה חסטפסו|סקה ולאחריה את שס המשתנה אותו ניצור כגון ''חו200יי. לקביעת ערך המשתנה נוסיף את הסימן שווה (=) ולאחריו את הערך הרצוי. לדוגמה: 1=("חו200")חסספסו!סקהּ כדי לבצע את קטע הקוד הנייל, נכתוב אותו במסמך 455 ונפנה אליו פעס אחת. כדאי להוסיף מלל כלשהו כדי לקבל אינדיקציה שהקוד התבצע. לדוגמה: 6.30 הסטהסווקכהּ >% 1=("חו200")חסספסו!ססהּ %< 5% ח6סכ פה 6וסהזבע הסספסוו|קקה חוד כדי לראות את ערך המשתנה, נציג אותו באחת משתי הדרכים שנלמדו לשליחת מידע ללקות: <%("ח200" )0 סו|קק96=3> 0 56% 15 "הו200" 6|סהוזפע הססהסווסקהּ סחד או %> ("חו200")חסוהסו!קק3 8 "סס 56% 15 "חו200" 6!טהוזהע הססבסו|קכה שד" 6סוצ. 50056 <% בניית מונה ביקורים באתר לצורך בניית המונה ואחסונו במשתנה מסוג חסספסו|סקא, נבנה מסמך 455 אשר ייצור את המשתנה ז6ח 60 66|!600אם. .]660 זססחווס6 חסספסווסקא >% 0("ז0שחו60 %ח66||]6א6")חהסספסו|וסקהּ %< .0 ה006 35 זס הטוס זטסץ ! 8805 חס פרק 6: אובייקט ח800סו|סק - 69 נריץ את קובץ ?45 פעס אחת ונקבל את התשובה : <ובו. 1 |₪ 9 1006 פפהטפת ‏ אשע 08ם ‏ 6 | ₪ . > . 8 ]( ₪ | 8 58 5880 חס | 8888 | ססז5 בבוס אס סג ₪ [* 350 .ז63)0ז0 זסומגוסס הסווהסווםק3/ 27.0.0.1 1 :קוו ₪ | 8 ב066 1188 ע%6מגוסט צגוסזד ! 8111181108 1 ס?) מ / | אחחפ | | 0000000000 פס ןש כעת, נבנה מסמך 455 אשר יעלה את ערך המשתנה זסזחטס6 0%ח060|!6א6 ב- 1 ויציג את ערכו למשתמש. כמו כן, נשרשר את המשפט '': זססוחטח זססופוצ 6זה טסציי. 306.80 זסלח 60 <6טוח/= 6 |668= זס|0960 ץ00ם> <526=7 %ח0]> >% 1+ ( "סח 60 %ח66|!6א6" )סוק = ("זססחווס6 +ח66!|6א6")חסטפסווסקהּ ("זסזחטס6 %ח66|!0א6")חססהסווקקה ₪ ": זססוחטח זסזופוש 6זוה טסץ" 56.66 ח0ק5ז <% 0 3 150 למפתחי אתרים באינטרנט נפנה אל המסמך 0806.850 זסזחוס6 בפעס הראשונה ונקבל את המסך הבא : רן- זסזס!קא = 61חז6)ח! ]/ס5סזסו)א - קְ5הּ.6חָהּכ ז6זחט127.0.0.1/60//:קזות |2 סה 1005 >סהסוב ‏ אס 00 6 | 3 -3| 6 4 | ₪ . > . > ווק | - 56808 | שתסר] | 38680 | סופ 1 0% ב [+ 350 סְחָה זטוחנוסס/ 27.0.0.1 2/1 :קשות [6] 806 | 1 0 בתנום 181601 סז גוסיצ אשחפ | | ו ןש כאשר נבצע טעינה מחודשת של המסמך על ידי ה6/765ז או 6080ז, נקבל: זסזס!קא = ]6חז6)ח! ])ס5סזסו - ק5הּ.6חָהּכ ז6זחט127.0.0.1/60//:קזות ב 46 06ס1 65הסוב ‏ אש א 6 | ₪ | ו . 2 . 5 ובו עו = 65וס/ב 1 6חסו | 360 | כ00ו5 ווה 0% 0 [+ ק5ב.ְחָבק זט)חגוסס/ 27.0.0.1 1//:קזות [6] 8066 | ו / טוח פ | | חס ןש בכל פעם שניגש למשתנה ז6זחט60 %ח06|!]6א6, נקבל את הערך שקבע הגולש הקודס. פרק 6: אובייקט חסספסווכסה 21 5 לאובייקט חסו0זפסוופקה תכונה המאגדת בתוכה את כל משתני חססוומק שנוצרו. עס זאת, לא ניתן לגשת ל- +ח%6ח60 באופן רגיל, אלא יש צורך להשתמש בלולאת ח68₪0 זס+ (המווכרת בפרק 4, אובייקט 60065%). וכך,| עבור כל פריט (₪0) ברשימת האובייקטים | מסוג הסספסו|סכבּ (פזח%6חסס. חס3סו!סקא), יוצג ערך המשתנה באופן הבא: 5.350ח6חס6 הסספסו|סקהּ >% 5חסחסס. הס הסו|קקה חו החססו ה680 זסז "<זם>" .8 (הח6ו)5)ח6)הסס. הסספּסו!כק3 66וצ. 650056 +%ח <% את במידה וקיימיס אובייקטיס מהסוג הנייל. 6 5.6 שיטה זו, הנתמכת בגרסת 3.0 850 ומעלה, מאפשרת מחיקת אובייקט חסטפסו|סטבּ ספציפי באופן הבא : ("הו200" )6 סרחה הס0. הסספסווסקא ||ה6עסוח6ו.5ח6 60 שיטה זו, אף היא נתמכת מגירסה 3.0 ומעלה, מאפשרת מחיקת כל האובייקטיס מסוג חסוז3סו!סקה תוך שימוש בתחביר: ( )רזח הס0. הסספסווססא 2 3 455 למפתחי אתרים באינטרנט בניית 63% פשוט באמצעות ₪50 פרוטוקול קד41 הינו פרוטוקול חסר קשר רציף (56866!655), ולכן קיימת בעיה עקרונית בבניית 608% המחייב קשר רציף לכל המשתתפים בשיחה, מכיון שיש לשלות עדכוניס על משפטיס חדשים שהוזנו. עס זאת, ניתן לדמות קשר רציף על ידי מנגנוו השהייה הטוען שוב את הדף המעודכן מהשרת כל פרק זמן מסויסם. ואת נבצע על ידי פונקציית 356%/ה3 הנקראת +600וחו7ד50. את ערכי המשתניס באובייקט חסספסו|סק יכולים לראות כל המשתמשים, ולכן נוכל להשתמש בו כדי לאחסן את פרוטוקול השיחה העדכני. נגדיר אובייקט חסספסוופסה שיצבור את המשפטיסם המוזניס מכל המשתתפים בשיחה, יפריד אותס באמצעות <זט> ויאפשר לכולס לצפות בתוכנו. נבנה 1806561 אשר יכיל חלק תחתון סטטי שיאפשר הזנת משפטים, וחלק עליון אשר יכיל את פרוטוקול השיחה ויתעדכן כל פרק זמן נתון. הוח .680-656 <"207007="1 "*,0\85="70% 656%רח8"]> <"חו/6="68רחהח "576="608%.850 6וח3ז1> <"חוץטמחו"=6חחפח "350 2)טסחו"=576 6וח3ז]1> <180056%/> כעת נבנה את החלק העליון המתעדכן כל 2 שניות ומדפיס את משתנה 608% של אובייקט מסוג חסו80סוומֶק (המשותף לכל המשתמשים) המכיל את פרוטוקול השיחה : 6.350 <8/495000(== )ו | ךקן56> ()6|0807806 הסטססח1 ָ ()080ו6ז. ח6300ס! ד (2000, ( )2806 6!080ז')וססוחו ד56 < 50₪17/> <%("80ח6")ח600ו|קק90=8> נבנה את החלק התחתון המקבל את שס המשתתף בשיחה ואת המשפטים. חלק זה אף אחראי על הטיפול באובייקט חסטפסוומֶק4. עס כל הזנה של מידע, ישרשר חלק וה שבירת שורה <זפ>, שס המשתמש שהזין את המשפט והמשפט עצמו (שימו לב כי נשתמש בתפיסת 600% סַחָבּק המופיעה בפרק 5, אובייקט 56ח6500). פרק 6: אובייקט חס80סווסק - 73 850.זטסחז חס( (("ץ58" )רתס .665% )םס קות6פו)זסח זו9%> ("6 באר" )רז ס= .065% = שרח הרת ("ץְ58")רחזס-].₪6065% = 580 ("+68")ח 0 3סו|קקה3=("להח6")הסספסווסקהּ "<0/>:" 8 ס6וחהּץוח 8 "<8>" 8 "<ם>" 8 1580 8 60 11%< <60000=005ח החזס]> >%806< <ז> <"< 86% = %> "= 816 שרחה = 6רחהח 6א6ת=6כ/ס +טקחן>6וחבו <ז0> <5126=30 /6=58וחפּח 6%6ם=6ק/ם +טקחו>:58 <וחזס1/> < "א|3 ך"=6ט|פע זורחס 6=5כ/ס 6טסחו> שיפור של +68 יכלול צבעיס שוניס לכל משתתף באופן הבא : קפה.זטסחז וסוס %> ("6ט|ט", "ה66ז","60ז")ץהזזה = שבדו זסוס6 חסרט ((("ץ58")רח וס .665% )סק ר56ו)סה זו ("6 באר" )רז ס= .065% = שרח הרת ("זס|15616-0ו") רחוס .665% = זס|סץרח ("ץ58")רחזס-.₪6065% = 0ו58ו | ("%+68" )חס 3סו!קק3=("שהח6")הססבסווסקהּ "<₪><" 8 זסוס60ץוח 8 "=זסוסס +חס)>" 8 "<זם>" .8 15810 8 "<%ח0?/> <0/>:" .68הההץוחה 8 <11% 60 <60000=005% וחזס]> <06ה%> ;85 ק05ח8<"< 6% חר = 9% > "= 816 שרה = 6רחהה 6א6=66ק/ס +טקחן>6וחבו <ז6=15616-0|0ח3ח -56|606>וס|60 2 סף 0=! 9%]01> <%חסח% זס|ס6ץוח=(1) הו זסוסס זו <חסטקס/>< %(1)ץ8 זו /זס|60= 9%> <56!66060 הסוסקס> <966|50%> <חסטקס/> < %(1)ץהזס|ס6= %> < חסוסקס> זו 6ח9%06> <50|600/ > < 66% <זכ><526=30 /6=58וחּח %א6=%6כ/ם זטסחו> ץ58 <"א|ה ך"=6ט|פע זורחס 6=5ק/ס 6טסחו> <חחזס)/> 4 3 450 למפתחי אתרים באינטרנט כדי לבדוק את ה- 0₪8%, ניתן לדמות מספר משתמשים על ידי פתיחת שני חלונות של דפדפנים. כך תיראה התוצאת: 43 ₪ 0 [ = 00/0500 127/ סו 4 1 1 .0/0085 35/ 27.0.0-1 1//:קוו. | סנ גו 0/0815 :1104126 ו 18 0ן, 18 10 ,מז 0 1 7 סו סע אוסם:0116. 1 ה :100860 [ש. ‏ ₪0] :זס|0ס 0056 | ספץ] :שמחה עטסץ זפוהנן ]90 ] :00108 00096 שמת זנוסעי זמר ן רֶ רת 3: פרק 6: אובייקט ח800סווטֶכא - 75 850.זטסחז חס( (("ץ58" )רתס .665% )םס קות6פו)זסח זו9%> ("6 באר" )רז ס= .065% = שרח הרת ("ץְ58")רחזס-].₪6065% = 580 ("+68")ח 0 3סו|קקה3=("להח6")הסספסווסקהּ "<0/>:" 8 ס6וחהּץוח 8 "<8>" 8 "<ם>" 8 1580 8 60 11%< <60000=005ח החזס]> >%806< <ז> <"< 86% = %> "= 816 שרחה = 6רחהח 6א6ת=6כ/ס +טקחן>6וחבו <ז0> <5126=30 /6=58וחפּח 6%6ם=6ק/ם +טקחו>:58 <וחזס1/> < "א|3 ך"=6ט|פע זורחס 6=5כ/ס 6טסחו> שיפור של +68 יכלול צבעיס שוניס לכל משתתף באופן הבא : קפה.זטסחז וסוס %> ("6טום","חה66ז", "60")ץ3וה = שהזזהזסוס6 חר( ( ("ץ58" )רחוס .665 )סק רה56ו)סה זו ("6 באר" )רז ס= .065% = שרח הרת ("זס|15616-0ו")רחזס= .665% = זס|סץרח ("ץ58")רחזס-.₪6065% = 0ו58ו | ("%+68" )חס 3סו!קק3=("שהח6")הססבסווסקהּ "<₪><" 8 זסוס60ץוח 8 "=זסוסס +חס)>" 8 "<זם>" .8 15810 8 "<%ח0?/> <0/>:" .68הההץוחה 8 <11% 60 <60000=005% וחזס]> <06ה%> ;85 ק05ח8<"< 6% חר = 9% > "= 816 שרה = 6רחהה 6א6=66ק/ס +טקחן>6וחבו <ז6=15616-0|0ח3ח -56|606>וס|60 2 סף 0=! 9%]01> <%חסח% זס|ס6ץוח=(1) הו זסוסס זו <חסטקס/>< %(1)ץ8 זו /זס|60= 9%> <56!66060 הסוסקס> <966|50%> <חסטקס/> < %(1)ץהזס|ס6= %> < חסוסקס> זו 6ח9%06> <50|600/ > < 66% <זכ><526=30 /6=58וחּח %א6=%6כ/ם זטסחו> ץ58 <"א|ה ך"=6ט|פע זורחס 6=5ק/ס 6טסחו> <חחזס)/> 4 3 450 למפתחי אתרים באינטרנט פרק 7 אוביי קט חסו5655 בפרק שעבר השתמשנו באובייקט חספסוומֶקה כדי לשמור נתוניס גלובליים ברמת היישוס. בפרק זה נראה כיצד ניתן לשמור נתוניס שוניס עבור כל גולש. היישומיס לשמירת נתוניס עבור כל גולש הס רביס ונעסוק באחד החשוביס בהמשך הפרק, אך תחילה ניישם רעיון פשוט המגדיר כי בכל דף באתר, יקבל המשתמש את שמו (זאת לאחר שהקיש אותו בדף הראשון). נתחיל בבניית מסמך ]ואד המכיל טופס להזנת שס משתמש. |הח. 6006 /\ <אוס||6ץ=)%6 60ז= זס|960 ץ00ם> <5020=6 100%> <זח>1567 6וחסס|6/\ <56551001.850= 46000 החזס]> : 6החהח זוטסץ חו 6קץצד <ח=ס6וחפּח %א6=%5%כ/ס +טסח|> <זם> <+והח6=50ק/ס זטסחו> <וחזוס)/> פרק 7: אובייקט ח0ו5655 | 77 הדף הראשון ייראה כך: זסזס!קא = 61חז6)ח! 50/1ז6ו4 - |הוזח.6חז127.0.0.1/%6!60// :קזוח בּ 60 008[ | 8שומסטב] | פוש 8םם ‏ שו | 8 | ₪ ף) 8 . <> . ₪ עסו = 0165ב = ה0זם56 חס | 380858 | כסו5 המוז 80% סוס ווהזפטם הווחו א | | לאחר מכן נבנה את מסמך 450 אשר יקבל את המשתנה ח ויצין אותו אל משתנה מסוג חסו5055. יצירת משתנה מסוג חסו5655 הינה פשוטה ותואמת את התחביר ליצירת משתנה מסוג חסחספסווְקהּ, באופן הבא : ..."86 10 50")ח0ו5655 להלן הקוד: 5500 >% (" ")שה 6/50 .600651 = ("6חפ תח זה 5")חסו5055 %< <שוסו|סץ=>חווע צוס|ו6ץ=>חו! סוהצ=א6ס סטופ=זסו60פפ ץ0סם> <5/26=6 %ח10> <%("6 הח ז00)"5010ו5655= %> 6והססוס/ <זם> <2806>/8 6%%ה<6)=56551002.852ז]ח 8> שימו לב כי קייס בקוד קישור לדף נוסף (2.850ח0ו5655). מכיון ששס המשתמש נשמר באובייקט מסוג חסו5055, נוכל לקבל את שמו גס במסמכיס נוספים כגון ק2.85ח565510 כדלהלן: 5 <צוסו|6ץ=זס!0960 ץ00ם> <5/26=6 %ח10> <%("6 הח ז10 00)"50ו5655= %> 6והססוס/ 8 3 455 למפתחי אתרים באינטרנט כמובן, כל משתמש יקבל את השס שהזין. ניתן לבדוק זאת על ידי כניסה למסמך משני דפדפנים שוניס (זאת משום שאובייקט ח0ו5655 משתמש למעשה בעוגיות (0006/65) ושומר את המידע על מספר ה- ח0ו5655 אצל הלקוח). כך ייראו שני המסכים של 001.850ו5655 ו- כק56551002.85 : 1 בּ ]| 008[ 66והסץב] | או 08ם ‏ 6ום | : + 2 - 4 ₪ . > . ₪ 7 6 | 9 ₪4 4% 901 | 85!וזס/יב ]58810 פסה | 396858 | קס0ו5 בזבושזם] 6% סח ₪ - הסזבע=ח? 35. [₪סו5655/ 0.0.1. 27 1// :קוות [ ה סז 016ס61א כ|] | 0088[ 66ווסצב] | או 08ם ‏ שום | 9 4 3 עסו | 68וזס/ב = ה568]0 סוחס | 48/8858 | קס!5 זט 6% 0 [- 2.350חסו5655/ 27.0.0.1 1// :קת ₪ ה )הזוח 40 אם כך, ניתן לשמור מידע עבור כל לקוח. מכיון שהיישוס מתבצע בעזרת עוגיות, ניתן לוותר על השימוש באובייקט זה ולקיים את הפונקציונליות שלו תוך שימוש יידניי בעוגיות. אך מכיון שאובייקט ח0ו5655 מקצר תהליכים, מומל להשתמש בו במקרים בהס מתעורר צורך שכזה. פרק 7: אובייקט ח0ו5055 | 79 אבטחת מידע אחד השימושיס העיקריים של עוגיות, ולכן גס של אובייקט חסו5655, הוא אבטחת דפים מסוימים. ניתן לבקש מהגולש להודהות עבור מסמך, ולכן ניתן להגן על מידע על ידי בדיקת הסיסמה. אולס, בדרך כלל, אנו מעונייניס להגן על מספר רב של דפים, ולכן נוצרת בעיה. אם נבקש סיסמה בכל דף, הרי שהפכנו את האתר ללא ידידותי בלשון המעטה, ואס נבקש סיסמה רק בדף הראשון המכיל קישורים לדפים נוספים, יוכל כל גולש לבצע גישה ישירה (בה הוא מציין את שס הדף בשורת הכתובת) אל כל דף שאינו מוגן. כל שעלינו לעשות, הוא לאחסן את האישור (במידה וההודהות עברה בהצלחה) למשתמש באובייקט ח0ו5655, ולבדוק אותו בצורה שקופה בכל דף. נתחיל בבניית המסמך הראשון, אשר מבקש את שס המשתמש ומבצע בדיקה. אס הבדיקה נכונה, כלומר הוקשה סיסמה הנכונה, יוכל המשתמש לראות את תוכן הדף. לצורך כך נשתמש בתפיסת ₪060 6אָבק (ראה פרק 5, אובייקט 56ח66500). כמו כן, נשתמש בשיטת %פסק אשר אינה מראה את הפרמטרים בשורת הכתובת ומחייבת שימוש בשיטה הז0ס.60065%ז. קפ 1 630 חסרטווה %> הרש (("6חחהח 560766" )רתז0ס).6065%ז)/סקרח6פו זו 8 ":סהחהח 566766 זוסץ זזה 16856 <5 =526 %ח0ס1>" 6סו עו 56 הז 8 "<86ח 6=56076%החבח 0ז0/ש855ק=6כ/ס 6טמחו> <05%= 0סר60רח וחוס]>" "<וחזס1/> <>וחטט6=5ק/ זטסחן>" 50056.0 6 הס "ה "= ( "חח 50076%" )650.10 6 זו "א560706"(="0")ח0ו5055 8 "<6סוח/ט=>חווע 6סוחהעש==חו| ס6סוהצ=%א0 0%ה|פ=זס|960 ץ00ם>" 6סו/ש. 50056 = 8 " 6וח526=5<\/6|60 %ח0ס]>" 8 "<ז>:6א!| 8065 5600076 00067 300655 עשסח ח63 טסץ<זם>" "<06>/3הכ 566070 56076< 50ב 2ח00 063 חה6וסה=)6זח 8>" 6 ("חזסא55כ סחסז/" )סש 650056 חס ] חס <% אס הסיסמה נכונה, מאחסן דף 52 את האישור 0% במשתנה 56076 מסוג ח0סו5655, ומציג למשתמש את הדף עס הקישור לדף המאובטח הבא. 0 3 45 למפתחי אתרים באינטרנט כעת, מכיון שרק למשתמש אשר הזין את הסיסמה הנכונה (3א8זח6טוח), יש משתנה מסוג ח0ו5655 המכיל את הערך א0, ניתן לבדוק בכל דף מאובטח נוסף כי באמת קיים אובייקט וה והאם ערכו הוא 0% באופן הבא : 63002.3 הסרוב >% חס "אס"=("560760")חסו5655 ז1 "56 260וסח1ה 6סס|5126=5 " 6סןע. 650056 56 "060160 06655" 6פו/ע. 05056 חס %< ניתן לבדוק את בטיחות האתר על ידי ניסיון גישה ל- ק00680002.85ח006ט127.0.0.1/8 על ידי דפדפן אחר או על ידי סגירה ופתיחה של הדפדפן (לצורך מחיקת העוגיה), ללא מעבר דרך 1.350חסחַ68חסוזוה. התשובה שתתקבל היא: 060160 ₪06055. +טוססוחוד אובייקט חסו5055 נוצר עבור כל משתמש ומשמש לתחימת ביקור באתר (חסו5055), ולכן יש הגבלת זמן המגדירה כי אס המשתמש לא ביצע כל פעילות במהלך 20 דקות, נמחק אובייקט חס|56559. אותן 20 דקות הן ברירת מחדל וניתנות לשינוי על ידי התכונה וח באופן הבא : 2 = זטססחחו ד.ח0ו5655 הערכיס המתקבליס הס בדקות. הסוחבּטה כמו כן, ניתן לסייס ח0ו5655 באופן יזוס על ידי השיטה 3880000 באופן הבא : חס 56550 עס השימוש בשיטה זו, נמחקיס כל האובייקטיס המוגדריס כ- חסן5055 וכל ההגדרות המוגדרות עבור משתמש. פרק 7: אובייקט ח0ו5055 | 81 6 5 שיטה זו הנתמכת בגירסה 3.0 ומעלה, דומה לשיטה הזהה באובייקט חסטפסווססה, ומאפשרת גישה לכל האובייקטים המוגדרים כ- ה565500 על ידי שימוש בלולאת 60 זס? באופן הבא : 5 00 505500 חו וחססו ה680 זסז "<זם>" ,8 (הח6ש!)5ח6חסס. ח0ו5655 166ע. 6500056 סח 6 5.6 שיטה זו, הנתמכת בגירסה 3.0 ומעלה, דומה לשיטה הזהה באובייקט חסטפסווססה. ניתן למחוק אובייקט ח0ו5055 מסוים על ידי השימוש בתחביר: ("[00כ" )005.60 חסו5055 [|ב6עסוח6'ו.5 6 60 שיטה זו, הנתמכת בגירסה 3.0 ומעלה, דומה לשיטה הזהה באובייקט חסטפסווסקה ומאפשרת מחיקת כל האובייקטים המוגדרים כ- חסו5655 עבור המשתמש באופן הבא : ()(0/68ח6ז. 05 ח600. חסו5055 2 3 455 למפתחי אתרים באינטרנט פרק 8 עוגיות (65וסס6) ספר זה מיועד לכותבי 06ְ28/8560, ולכן לא נדון כאן במהות העוגיות, אלא נבחן את הכלים שמציע 455 לטיפול בסוג זה של אחסון ואחזור נתוניס. ניתן לשתול 6006/65 באמצעות 56.6006165ח76500 ולשלוף באמצעות 600656.6006!65ז. חשוב לציין, כי למעט מקריס בהס התכונה ז0668ט16500056.0 מקבלת ערך 6טזד, יש לבצע כל פעילות הקשורה ל- 600665 לפני כל סוג של קוד !א הנשלח לשרת, כלומר, בשורות הראשונות של קוב 55ג. כידוע, לכל 600668 מבנה ברור המוגדר במחרוזת טקסטואלית ובה: %> שם 00066 אשר לפיו ניתן לגשת אליה. > ערך 60066 המאפשר אחסון מידע. > תאריך תפוגת 60066 אשר אם לא קיים, מגביל את קיוס ה- 60066 עד סגירת הדפדפן. + מסלול מורשה הקובע אם למסמכים נוספים על השרת מותר לגשת לאותם 5 בשונה מ- 38/85006, בה מוגדרת 60066 בשורה אחת המופרדת בנקודה-פסיק (0, ב-450 יש לתת פקודה עבור כל תכונה של 60066 באופן הבא : 56.000065)"00008"(=2ח6500 בפקודה צו, הגדרנו עוגיה בשס הּפַחטף ואחסנו בתוכה את הערך 12. ואס (" ה" )56.00065ח6500 בשורה הזו הוגדר כי לעוגיה 8פָחטף, יינתן תאריך תפוגה. "/"= רק ("8 0" )56.600165ח6500 וכמובן, בשורה זו הוגדר חז73 עבור העוגיה. פרק 8: עוגיות (6006065)- 83 6 + באמצעות התכונה )+חטסס, ניתן לברר את מספר העוגיות שנרשמו אצל הגולש, על ידי היישוס הנוכתחי. לדוגמה: 60065.8 הטוס >% ("6500056.6006165)"8ז ("6500056.6006165)"0ז ("ע")6500056.6006165ז (")")6500056.6006165ז + 60650.60006165.000 .8 "<526=5 זהס1>" 66 50056 <% ולהלן התוצאה: <1ם)- | ו ב | ₪9 1006 500065" אש א6ם ₪ | 5 .- . 8 5 8 | 8 4 4% סופור | 88וזס/ב- 568100 שוחסו] | 80898 | קסו5 מס 30% ספ [* 65.550ו>סס0 )הצוסס/ 27.0.0.1 1//:קוות ₪ 8 | 4 3 450 למפתחי אתרים באינטרנט 636 וס 50 מאפשר מעבר על העוגיות כמערך על ידי שימוש בלולאה ח680 זס) באופן הבא : 60006.8 680 זס= >% "ס||6ח"=("6500056.6006165)"8ז 4" ("6500056.6006165)"0ז "ה|(6500056.6006165)"/"(="8002ז 3 (")")6500056.6006165ז 5 חן וחססו ח680 זס+ "<זם>" .8 (0ח060ו)60650.6006165 8 "<526=5 זחס1>" 66 56 ח500סז ]סח %< כך תיראה התוצאה: |<1ם)- | ד | ₪9 1006 500065" אש אשם ₪ | > . <> . ₪ ₪ ₪ | 6 ₪4 ₪ זסופו | 88ווזס/ב- ה0ז568 שוחסו] | 38/89 | קסו5 מס 0% סק [+ 000616.350. ה630 [127.0.0.1/0// :קוו ₪ 8 | שימו לב, כי כל עוגיה הוצגה בשורה נפרדת מכיון שהגישה לכל עוגיה התבצעה כ- (הח60₪65%.0008165)!56 לעומת 600656.6006!65 בלבד, אשר היה מחזיר את התשובה הבאה: פרק 8: עוגיות (6006/69) | 85 זסזס!קא = זפחזט!זח! 050/1ז4:0 - ק65.35ו600% |127.0.0.1/31//:קווח ‏ 0 1008 | 8שווסצב" | פוש זהם ‏ 6 | >. 2.6 9 ₪ | 8 ₪ 4 עז0פו = 68וסעיב = 56810 סו | ה38/₪8] - קסופ מס 30% סט ₪ [+ 68.380ו6006 ||27.0.0.1/3 1// :קוו ₪ חן 813 16110;0=234;0=20071--8 4 / אחשופ | 8[ 0000000000 תס ןש כאמור, המסך הנייל נובר כתוצאה משימוש בקוד הבא : 600165.850 ווה >% "ס||6ח"=("6500056.6006165)"8ז 4" ("6520056.6000165)"0ז "8|ו4002"= ("/")6500056.6006165ז] 3" (")")6500056.6006165ז 5 א₪א;8 "<5 =5126 %ה10>" 166/ש. 6500056 <% מפתח ניתן לאחסן מספר נתוניס רב בתוך עוגיה על ידי שימוש במפתח (שְ6א). במקוס לשמור מספר רב של עוגיות שונות, ניתן לתת לאותה עוגיה מפתחות שוניס אשר יאפשרו לשלוף את המידע בקלות. לדוגמה, אס נרצה לאחסן פרטי משתמש כגון שס פרטי, שס משפחה וטלפון בנוחיות, נגדיר עוגיה אחת בשם 060818 ז6פו. בתוך עוגיה ו במבנה של מערך, נגדיר את שאר הנתוניס בצורה הבאה: "0156רח"= ("6 חח 75" )("01668|5 501" )05 56.600 0500 "6 סרטפ "= ("6 חח 85%!")(" 01648115 501" )65 56.60 6500 "02-985658"=("ז06 חח 6חהסתכ")(" 0689115 ")065 56.60 הז כעת, ניתן לגשת לנתוניס בצורה הפשוטה הבאה: ("915ז6 ז6065%.6006165)"050 6סוזע. 5056 6 3 455 למפתחי אתרים באינטרנט הקוד המלא ייראה כך: 6006165.350 66 %> "ספ "= ( "50" )"01658115 501" )065 56.60 500 "660 רחט!ט"= ( "6 185" )("01681]5 501" )005 56.60 6500 "02985658"= ( "זר 6 הס הכ" )("5ו6%8 0 50 ")065 56.60 הז ("06%89(|5 810065%.60006!65)"0507 "<5126=5 +חס1>" סע 650056 <% התוצאה תיראה כך: זזסוקא = 61חזס)ח! 050/1ז0: - ק6006165.85 ע6א/127.0.0.1//:קווח 4 | 36 1005 השע" אש 08 ₪65 | > . 2 . ₪ )3 ₪ 4 - יב זחוזק סו = 665וסץב = 56810 6חסו] | 46/658] | קסו5 ונק 0% 0 [+ 65.550ו6ס00 ע27.0.0.1/66 1// :ות 6] 536 | 1/0 א 5 61161 61 בגו[ ט--1/8 ב א 15, 8601 65 5 0298= ד בהא זא אנד כפי שניתן לראות, קיבלנו את כל ערכי המפתחות כולל שמות המפתח. לא תמיד נרצה לקבל את המידע בצורת מחרוזת אחת, ולכן נוכל גס כאן להשתמש בלולאת 680 זס+ באופן הבא: 62 00. >% "וס "= ( "50" )"01658115 501" )005 56.60 6500 "660 רחס "= ( "6 1850" )("0681|5 501" )005 50056.6 "02985658"= ("ז טרח הס ה6815"()"0 0 50 ")065 56.60 הז 0!608||5"(‏ 60/650.6006105)"00501ז חן וחססו ה680 זס+ "<זם>" ,8 (רח660ו)("06%81|5 [800650.0006!65)"00507 "<5126=5 %חס1>" 66 56 ח500סז ]סח <% פרק 8: עוגיות (6006/69) | 87 או תיראה התוצאה כך: זפזס!קא = ]6חז6!ח] 1]ס5סזסוא - ק600%16%.35 2ע6א/127.0.0.1//:קווח ₪ קפ | 0088[ 668סטב] | אפסו 08 6ום | 5-28 2 28 4 |" | 0 = 65וזסעב-] 588100 סוחס | 8/858 | קס50 םס 6% ג [* 6006165.8580 -8602/ 27.0.0.1 1// :קוו ₪ חן 8 סט[ ספות מ אחש שו | ו 0000000000 שחסם ן₪ טכניקות לייעול העבודה עם עוגיות היתרון היחסי שיש לעוגיות, הוא העובדה שמכיון שהנתוניס נשמריס אצל הלקוח, אין צורך במקוס על גבי השרת לפרטיהס של מיליוני גולשים. עס זאת, הגישה לעוגיות לא תמיד נוחה ולעיתים קל יותר לגשת למשתניס מסוג ח0ו5655. לכן מומלצ לאחסן את הנתוניס אצל הלקוח בפורמט של עוגיה אך להעביר את הנתוניס למשתנים מסוג 565500 עס התחברות הלקות. אס נשתמש בדוגמה 850.ח0ו5655 66 המאחסנת באופן יעיל את פרטי המשתמש ונגדיר כי: "סרח "= ( "50" )"01658115 501" )005 50056.6 "60 רחס "= ( "6 1850" )("0681|5 501" )005 50056.6 "02985658"= ( "זר 6 הס ה68915"()"0 0 56 ")065 56.60 הז נוכל לבנות תסריט קצר המזין את הנתוניס הללו לתוך משתנים מסוג ח0ו5655 עס הגעתו של הגולש לאתר באופן הבא : (9115"()3ז06 ז60650.0006165)"050ז= ("6 חחח 5%ז")חסו5055 (06081|5"()2 0501" )60065%.600165ח= "הח 856|")חסו5055 (06%8]5"()1 00501" )60165%.6006165 = ( "טרח 6הסת0")חסו5055 מרגע וה, נוכל להשתמש בנתוני 565500 בנותיות בכל דף בתחוס השימוש של המשתמש הספציפי. שימו לב כי הגישה למפתח העוגיה נעשה בסדר הפוך, כלומר, הגישה ל- שוח 5%זו8 מתבצעת באמצעות מספר 3 בעוד שהגישה ל- זספוחטח 6חסחס מתבצעת באמצעות המספר 1. 8 3 455 למפתחי אתרים באינטרנט פרק 9 מסדי נתונים פרק וה הוא פרק עיוני אך תיוני. מכיון שרוב יישומי האינטרנט/אינטראנט כיוס מבוססים מסדי נתונים, יש להבין את תפיסת מסד הנתונים ולהכיר את שפת הגישה אליהס. קורא המיודע עם שפת ‏ 501 רשאי לדלג לפרק הבא. כל ארגון צובר נתונים. ביןו אס זהו בנק הצובר מידע על לקוחותיו, מצב חשבונותיהס והפעילות אותה הס מבצעים, ובין אם ווהי חנות קטנה אשר מאחסנת את נתוני המכירה והעבודה מול הספקים השונים. הצורך באחסון אותם נתוניס הוא צורך אמיתי וחשוב, המוגבל על ידי הצורך לשלוף את אותס נתוניסם במהירות כדי להשתמש בהסם בזמן אמת. למרות עוצמתו הרבה של המחשב המודרני, עדיין קיימת מגבלת זמן על עיבוד נתוניסם רבים. אחת הדוגמאות הקלאסיות מדברת על מסד נתוניס המאחסן את פרטיהס האישייס של כל תושבי מדינת ישראל. כעת מבקשיס ממסד הנתוניס לשלוף את כל התושביס אשר שמס הפרטי הוא משה, ועיר מגוריהס היא ראשון לציון. על המחשב לעבור על 6 מיליוו רשומות ובכל רשומה לבצע בדיקה ראשונית על שמו הפרטי של התושב ובמקרה של התאמה למשה, לבצע בדיקה נוספת על עיר המגורים. לכל הדעות פעולה ארוכה ומייגעת. כעת, מחלקים את המידע במסד הנתוניס לטבלאות. כל טבלה מכילה תושבי עיר מסוימת בארץ. לבקשת אחזור מידע דומה, יוכל המחשב לעבור רק על הטבלה המאחסנת את תושבי ראשון לציון. התוצאה, תהליך בדיקה בודדת (בדיקת השס הפרטי) על כ- 350,000 רשומות בלבד. ללא ספק, חלוקת המידע לטבלאות ספציפיות מייעלת את תהליך אחזור המידע בצורה משמעותית, אולס, יש דרכים רבות לייעל את תהליכי האחסון והאחזור. לדוגמה, רוב השמות הפרטיים של התושביס יחזרו על עצמם ובכך יוסיפו לזיכרוו הדרוש לאחסון המידע. ניתן ליצור טבלה המכילה את כל השמות, אשר ממילא נכפה על מסד הנתוניס להכיל, ולהעניק לכל שם מספר. בטבלת התושבים יופיע מספר זה במקוס השם. בדרך כלל תופס המספר הרבה פחות זיכרון ממחרוזת השם, ולכן השמות עצמם יופיעו פעס אחת כל אחד, וכך נחסך מקוס רב בזיכרון. פרק 9: מסדי נתוניס | 89 במקרים כאלה יש לבצע שיקול של חסכון במקוס מול ביצועים, שכן על כל מספר בטבלת התושבים להיבדק מול טבלת השמות. התהליך בו נבנה מסד הנתוניס בצורה היעילה ביותר לאחסון ואחזור נקרא נירמולי (גזור מהמונח ח2800?|חחזסא) ודורש התמחות בתחוס זה. עם ואת, לבניית יישומיס פשוטיס המכילים מספר טבלאות וכמות לא גדולה של מידע, אין צורך בהבנה נרחבת, כי אם בכמה כללי בסיס. ויב יש סוגים רבים של מסדי נתוניס המאחסנים מידע בדרכים שונות. מסדי הנתוניס אליהס נתייחס בספר וה הס מסדי נתונים יחסיים (03%808506 |הח0ז6!3?) המכילים את המידע בטבלאות. קיימיס בשוק מסדי נתוניס שנכתבו בשפות שונות, ולכן התעורר צורך לשפה סטנדרטית המאפשרת אחסון ושליפת מידע מכל מסד נתוניס. שפה זו היא 501 (00806ח3 | זט 60ז600ט-50). שפה פשוטה זו מתחלקת לפקודות שליפה, הזנה ועדכון. נתחיל בדוגמה פשוטה. שליפת נתונים מטבלה טבלת 000% 6חסחק מאחסנת ספר טלפונים קצר: )ססט 6הסחק "טח 6הסחהק 6וזהח 35% | ספת 56זו= 212011 צסאהה ץ-ח6 ואססוז 11256 ההאחטר חט 8 הסט [פ 3 אס נרצה לשלוף את מספר הטלפון של מוקי בן-יעקב, נכתוב משפט 501 אשר יגדיר: בחר את שדה מספר הטלפון מטבלת 000% 6חסחם היכן ששדה השם הפרטי שווה למוקי נתקדם עוד צעד לכיוון שפת 501 ונרשוס : בחר את וספוחטח 6ה0ח8 מטבלת 00% 6חהסתק היכן ש- (6סס|!|=6וחבּח זו 0 3 45 למפתחי אתרים באינטרנט כעת נבחן את משפט ‏ 501 : 100 =6וחהּח 15% 6וסחצ אססט שהסתק הס יוסטוהטח 6הסחק 5660 משפט זה יחזיר את התשובה :321321 אס נרצה לשלוף גס את מספר הטלפון וגם את שס המשפחה של מוקי, נכתוב: '[0ס]'=6רחהה 5%זו= 6וסחצו אסס 6חסתק וחסיז שוחהח 35% |,זססוהטוח שחסק 5660 משפט זה יחזיר את התשובה :321321 צ0א88ץ-ח6ם כמו כן, נוכל לשלוף את כל שורת הנתוניס על ידי שימוש בכוכבית (*): 'ו6=']100רחח זו שזסחצו אסס שחסתק וחס * -56|60 משפט זה יחזיר את התשובה : ואססוו צ0א88ץ-ח6ם 211 שליפה אף יכולה להתבצע על פי שני מאפיינים, כגון שס פרטי ושס משפחה: '880 /-ח6 =6רחהח 35% | סחהב ואססו]'=6חחּח זו שזסחעו אססם שחסתק וחסז * 5666 יצירת טבלה התחביר ליצירת טבלה פשוט אף הוא: צור טבלה בשס פפַחוחז 880 וקבע את העמודות הבאות (שס מסוג מחרוזת, דירוג מסוג מספר). משפט 501 ייראה כך: (ז וח 0 ,ההזה 6הב]) 05 חח ₪80 30|6+ 670866 ניתן להבחין כי עמודת 6וחפּ היא מסוג זח6ז. בשל ההבדלים בין מסדי הנתונים, יש לדעת על איזה מסד נתוניס אנו עובדיס, למרות העובדה שניתן לפנות לכולס ב- %1, ישנם שינויים קטנים כגון הגדרת סוגי השדות. ז608ז3 מסמל שדה מסוג טקסט במסד נתוניסם מסוג 8460655. במסד נתוניס מסוג 07806 ניאלצ להשתמש במונח 2ז זה . אם כן, ווהי הטבלה שיצרנו: 5 וח 2356 ₪38 סרחה כמובן, עדיין לא קיימים נתוניס בטבלה. פרק 9: מסדי נתוניס | 91 הזנת נתונים לטבלה משפט 501 להזנת נתוניס לטבלה ייראה כך: הזן לטבלת 85חו+ 880 לשדות (88000,ס6וחהּא) את הערכיס (66,10זטוז). וכך ייראה התחביר האמיתי: (10, 6 5 (0חו ,6 ב05)3 חור ₪80 ססחו +ו6פחו התוצאה תתבטא כך: 5 וחץ+ ₪30 ₪89 סרחה 10 ו ניתן לוותר על שמות השדות אס ההזנה תואמת את מספר וסוגי השדות, לדוגמח: (4, 6 ד')65ט|/ 05חוחז ₪80 ססחו +וספחו הפעולה תתבצע ללא הבדל: 5וה+ ₪30 ₪89 סרחה 10 זו 4 ד עדכון טבלה לעיתים עלינו לעדכן מידע הרשוס בטבלה. התחביר לעדכון ייראה כך: ד'=6רחה3] 6זס חצ '56( זכ =6חחבּ 56 05חוח) 280 66ה0קט התוצאה תתבטא כך: 5וה+ ₪30 ₪88 סרחה 10 וו 4 6 פטזס 2 3 50 למפתחי אתרים באינטרנט ביטול טבלה לביטולה של טבלה השתמשו בתחביר הפשוט: 5 וח 830 80|6+ קסיום שפת 501 היא שפה פשוטה בבסיסה, אולס חשוב לציין כי בבניית יישומיסם אשר אינס פשוטיס לחלוטין ומשלביס קשרים בין טבלאות ובדיקות מסובכות, יש להכיר טוב את השפה ולהתנסות בה. המלצת מחברי ספר זה היא, ללמוד על בוריה את השפה משוס שיישומיה רביס כמעט בכל סביבת פיתוח, לרבות יישומי האינטרנט. ניתן למצוא 6 בסיסי לשפת 501 בפרק 18. מחיקת רשומות מטבלה מחיקת רשומות מטבלה מתבצעת באמצעות הפקודה 06!6:6. אס נרצה למחוק את השורה הראשונה בטבלה שיצרנו, נרשוס מחק מטבלה 88ַחוחז 880 היכן שעמודת 6וחבּא שווה ל-זססזטו כך שהתחביר יהיה: "סו =6רחב 6זסחצו 5פחוה 280 חס 6ל6וסכ להעמקה בנושא 501 אנו ממליציס על הספר שיצא בהוצאת הוד-עמיל: בסיסי נתונים טבלאיים ושפת ‏ 501 - עקרונות ועיצוב ראה פרטיס בקטלוג בסוף הספר ובתקליטור המצורף. פרק 9: מסדי נתוניס | 93 פרק 10 מודל 00 בפרק זה נלמד כיצד לשמור מידע דרך דפי 50א, וכן, כיצד להציג דפיס דינמיים מנתונים השמורים על השרת. 6 כדי להבין כיצד ניגשים מ- ?45 למסדי נתוניס, בחרנו בספר זה להסביר תחילה את מהות 0086. מכיון שמסדי נתוניס שוניס מתקשריס בשפות שונות, יש צורך בגורס מתווך אשר יידע להסב את שפת 501 המשותפת לכולס, לשפה הייחודית של כל מסד נתונים. גורס זה נקרא וסטוזס. זסטוזם מאפשר להתחבר אל מסד הנתוניס ולהעביר לו את משפטי 501, כך שניתן להתעלס מדרך החיבור, המשתנה ממסד נתוניסם אחד למשנהו, ומשפת השאילתות, ולבצע חיבור פשוט בשפת 501 תוך התעלמות (חלקית לפחות) מסוג מסד הנתונים. 6 בבסיסו הנו קופסת פוזפצוזס. ניתן להתקין בו פופטוזסם שוניס וליצור חיבוריס לוגיים למסד נתוניס. לדוגמה, אס נבחר להתחבר למסד נתונים של 67050%ו הנקרא ‏ 501, נוכל לבקש מ-0086 ליצור חיבור למסד הנתוניסם בהתבסס על זפטוזס ‏ 501 המותקן בו. לחיבור נעניק שם פשוט. בכל פעס שנרצה בחיבור למסד נתונים, נבקש מ-0086 את השס הפשוט שהענקנו לחיבור. 0086 ידאג לכל השאר. השס שנעניק לחיבור נקרא א5 (סזט50 פאה סוחהּ)). פרק 10: מודל ₪00 | 95 להלן תרשיס המדגיס את פעולת 0086: מסד נתונים מסוג 001ס-5!/! סעוכ .5-51 |אססו/!=(6והאח) אפס זסטחכ 6וס8זס 6וט=(6וההח) אפפ מסד נתונים מסוג 080|8 הסיכוי שכל קוראי הספר משתמשיס באותו מסד נתוניס הוא קטן, ולכן נתמקד בספר זה בשני מסדי נתוניס. האחד, ובו נדוו בפרק וה, הינו קובצ טקסט, והשני הוא 5 ₪1670506)%6]. קבצי טקסט כמסד נתונים גס ללא תוכנת מסד נתוניס, ניתן לאחסן ולאחזר מידע בצורה יעילה. ואת נבצע על גבי קבצי טקסט. זפטוזכ 6%ד 1670506 יסייע בידינו להתייחס לקבצי הטקסט כאל טבלאות לכל דבר. מכיון שתפקיד 0086 הוא להפוך את הגישה לנתוניס לשקופה למפתח, יעלה בידינו לבנות קוד יישומי מלא. תהליך הגדרת חיבור למסד נתונים מבוסס קבצי טקסט נפתחת תיקיה (0106=) מיוחדת עבור קבצי הטקסט אשר ישמשו אותנו כמסד נתוניס. |<1ם)- | :: - נחוזסוקא = ₪ כ 1085 אוסוע ‏ הש ות || ||א | = |₪|| % ₪ [+ [= א = ] :01 15חפ)חסס | ו | (:₪] אזסא 3-6 5 (₪]))+א 3 זו וח = ) 8[ 5 קוחו תוס פוה [ 5 וח [ 3 סוס אוש ב 5 בש מס (] 5 3 5 - 1 לווסססיי כ | ו 60!סעס6ר (ש וס 0 פווסספויו ב [ם] 4 6 וש ] 5 [5]וספןפס 1] 6 3 455 למפתחי אתרים באינטרנט נקרא לתיקיה בשס |)ססן. |<1]. | :] - טחוזסוםא-] ₪1 6 1008 אופוע ₪88 6 | |= |8|פ] |₪ צ - ---- מיכ] :=' ]ס 5וחש)חסכ) סו | [₪] אוסאי 4-5 8 (₪]))א 3-3 קז ]הח [- = ) 9[ 0-ה 6 ב חספה [- 5 5 ב 7 | וס אופא ב וס ב , ספ פגוספטיאו = 0% = טגוספטייי ב 4 (|5])ספןפט 1 לאחר מכן נלחץ על התחל (5)37) | נבחר בתפריט הגדרות (95ח5601) -> לוח בקרה (ו6ח3ק |סשחס6). לאחר מכן, נאתר ונלח לחיצה כפולה 7 (69ו01 ש!|פטסס) על סמל 0586 38 פסה (ייתכן שבמחשבים מסוימים יצוין רק )0086‏ [0פ32] 65סזוו50 אס אין במחשב את הסמל כלל, יש להיכנס לאתר מיקרוסופט, בכתובת: וז ח. 0362 / 83 / 050.60 6ורח. וצצ ולהוריד את הגירסה האחרונה של 86סס0. בכל מקרה מומלצ להוריד את הגירסה העדכנית. פרק 10: מודל 0סא | 97 זהו המסך שייפתח בפנינו: זס 3 הוחו 66זוס5 )03 )8 סם 3 = | 40 | וספ חסוטפחחסכו | פהוספוד | פשאזום | יט שג | 5% פע | |[ אאם] ---- פא [ס4חח."] זפעוז 00855 ]]ס5סזסו] 8 []פם.*] זסעיוז 356 08 )ס5סזסו] ו 55 [5א.*] זסשוז |ססא= ]]ס5סזסו] 8 |פסאם [פ4.*] זפשיוזק סזקאס= )ספסזסוו 5 סקאס [פהוח."] זפעיוז כ 300685 50סזסו 4‏ 03080356 97 00655 145 (9%ס.* ;6א)."] זסשוז כ 61 1 ספסזסוות ח (%פס.* :1א)."] זסשוז0 א 7 )ס5סזסו] 5 וא ך זוז סקאס |בגופו/ 50/1זסוו = 3)30356 כ סזקאסת |בגופו/ר זסשיוז סזאס = [הגופו/ +)ס5סזסו] 5 [] סזל)אס= |הגופו/ במסך וה ניתן לקבוע קשריס למסדי נתוניס ברמת ז58 (לפי שס לשונית הכרטיסיה - 05% ז6פט). כלומר, רק המשתמש שמגדיר את הקישור למסד הנתוניס יוכל להשתמש בו. 8 3 450 למפתחי אתרים באינטרנט נבחר בלשונית 05% ח506ץ5 (כזכור, 6וחהא 66זטס5 זכ הוא השס הלוגי לחיבור הספציפי) ונקבל את המסך הבא: זס)3זו5וחוחו 66זנוס5 )03 )8 סם ל זז 5 501 | 5 מסך וה מאפשר הגדרת חיבור למסד נתוניסם, המאפשר לכל משתמשי המערכת להתחבר דרכו. נלחץ על לחצן הוסף (466) ונקבל את המסך הבא : 6 זט 50 313 86% 6316 70 [00ח.>] זפעוז כ 400655 ))50סזסו] 0 [פ4.*] זסצוז 356 0ב )]ס5סזסו] 8 [15א.*] זסעיוז כ [06א= )]ספסזסו] 8 []פם."] זפשיוזם פזקאס= ספסזסו! 222.00 6 זס 00 |ספסזסוו 70 , 5ם5."] זפעוזם א30זב )ס8סזסו] 0 ]| 7 0 "=" זסעוז סזקואסת |הגופו/ +]ס5סזסוו] 39 זז 501 פרק 10: מודל 0כגא | 99 מסך זה מראה את כל ה- פזפצוזם המותקניס ב- 0086. נבחר את זפטוזס +א6 ד 50סז6!ו ונלחץ על סיים (חפוחו=). והו המסך שנקבל: קטו56 ואפ 0086 במסך זה נקבע את שם החיבור כ- אפסץו בשדה הראשון. זכרו כי כעת נקרא החיבור שלכס למסד הנתוניס - אפסץוא. לאחר מכן נבטל את הסימון בתיבת הסימון התחתונה (ץ זו %ה6זזט 056). לאחר שנבטל את הסימון, נוכל ללחוצ על הלחצן ץ01ז66ו1 56166% ונקבל את המסך הבא : עֶז60!0זו0 ]56/60 וי יי ו = %:2] .3907 ."] 65וו= 6% ך נבחר את תיקיית ואססן החדשה ונלתצ 6ס. לאחר מכן נלחץ 06 פעמיים (בשני המסכים הקודמים) וכעת אנו מוכניס להתחיל בעבודה. 0 3 50 למפתחי אתרים באינטרנט סיכום ביניים והבהרה לאחר שביקשנו מ-0086 להעניק שם לוגי (אפסץוא) לחיבור לקבצי הטקסט, לא מעניין אותנו אם המידע נשמר במסד נתונים של 07866, מיקרוסופט או בקבצי טקסט (שימו לב כי עדיין לא הבנו מה הכוונה בשמירת מידע בקבצי טקסטי). אנו מאחסניס ושולפיס מידע מ-אפפץוא. זוהי גדולתו ופשטותו של 0086 המאפשר לנו לבצע משפטי 1 פשוטיס בלי להתחשב באופן בו הנתוניס נשמריס בסופו של דבר. למעשה, מרגע שהוגדר א5כ, יכול המפתח לשכוח מאופן אחסון הנתוניס. האובייקטים של 00 אם כן, כל שנותר כעת הוא לשלוח משפטי 501 אל אפסעוא כגון יצירת טבלה, שליפת מידע וכוי. כדי לפנות ל-אפסץ), יש לבצע קריאה מסודרת מ-4520 ל- 86סס0. כאן נכנסיס לעזרתנו האובייקטיס של ספג. ראשי התיבות של 400 הס 00160 5803 6ש60, אך ייתכן שתיתקלו גם ב- 6%ש46 לה. הרעיון העומד מאחורי 800 הוא לספק מספר אובייקטים מוכניס מראש אשר יאפשרו גישה קלה למסדי נתוניס דרך מתווכים כגון 0086 (ללא האובייקטיס המוכניס מראש של ססה, היינו נאלציס לכתוב שורות קוד רבות ומסובכות כדי להתחבר ל- 0086). האובייקטיס בהס נדון בספר וה הס: ה0וז60 600 - אובייקט המאפשר התחברות קלה אל א5 שהוגדר ב- 0086. 6% - אובייקט שישרת אותנו בשליפת מידע ממסד הנתוניס. אובייקט חסו66%ח0ס6 אובייקט וה יבסס עבורנו קשר למסד הנתוניס. התחביר ליצירת אובייקט 0סא אינו פשוט במבט ראשון, אך הלוגיקה מאחוריו היא פשוטה. התחביר הוא : (" 660 חח 60. 30000" )6768060060 ז6=50/6 50% המילה 56% מאפשרת לאתחל את 6 כאובייקט ולא כמשתנה רגיל. השימוש באובייקט ובשיטה :07680600[66. ז6/ז56 מורים למנוע 455 לגשת לאובייקטים הרשומים במערכת (אובייקטים אלה מותקנים עם התקנת השרת) ולייצר את האובייקט 6 על פי התבנית המוכנה שס. במקרה זה, אובייקט חסוז66חחס6. תחביר זה מאתחל את המשתנה 6 כאובייקט מסוג ח6600חח60. פרק 10: מודל ₪0 | 101 0150 |008 1 קה סו סו עז5ו8 6 9 ("ה0ו660 ה 0.60 0[60)"3000 6708160 ז6=567/0 56% 60 שופו זםם | עופוספתם 5 0008 [ 0 וס 0008 0 הסוס הס 08 00 4-5 בעזרת התחביר ]0 ניגש ק5ה לרישום המערכת ובונה את 6 כאובייקט מסוג ח6600חחס6 5. וטס 008 [--1 וס 08 ג 0 זסזו .0008 ₪ 5זסזם. 0008 ב 1 זז 0008 ב ]-+- 3 3 3 ד 50 וס הו ובס 1 65 פוטפוחסס עו כעת, יש להגדיר לאובייקט ח6600חח600 (60) לאיוה אפפ עליו להתחבר. ואת נבצע על ידי השיטה חסקס של אובייקט ח6600חח60. ";פסץ]=ח05" חסקס.6 התרשיס הבא ממחיש כיצד פונה 55 למסד הנתוניס דרך 0086. 6 כ (" 800.60" 0706006 ז/6=5 56 זסצוזם +א6ד 15 = זפטווס --- ";פסץ1=ח05" ה6.006 \פסץא = (סהההח)אפס מבי מסד נתונים (קבצי טקסט) בשלב גה, לאחר שקבענו כי 6 הינו אובייקט מסוג ח6600חח60 וכי עליו להתחבר ל- אפס שהגדרנו ב- 0086, ניתן לבצע פקודות ‏ 501 על ידי שיטת 66016א₪ של אובייקט ולחה 0ס6. "(87ח6 |6 ד ,6317 6רחבא) 8016 5% 90!6+ 676866" 60006א6.6 משפט 501 וה ייצר טבלה בשס 806 זו ובה שתי עמודות. עמודת שוח מסוג זהח6 (מלל), ועמודת |69ד מסוג 603 אף היא. 2 3 450 למפתחי אתרים באינטרנט להלן הקוד המלא : .760 80!6+ >% (" 660 חח ס6. 30000" )668660060 ז6=50/6 506 ";5ץ1א=ח05" הסקס.6 "61 |6 ד ,68 סחחהּ]) 80|6+ ₪756 90!6+ 676866" 66000א6.0% <% 0 6% 85 8016+ זטסצ הריצו קוד וה. לאחר מכן הציצו בתיקיית ואססן החדשה ותגלו כי נוצרו שס שני קבציס: קובץ בשס 806 5זף, וקובץ בשם וחו.604ח50. ואססן:] - טחוזסוםא = 7% סו 10085 אוסוע ‏ ום ‏ שו || || |= |₪|פ| 4 |םו | = ] ואססן%:=' ]ס 8והטוחס) | 5 וא | יי - [:₪] אזס/א ₪ | [=]וא 3 זאו ו [ 6-מ [אססן 44 קוז והוס טח 0 65 ב 5 סעס6ה [ 4 וס 0 טגוספפייי ב + / [0.9800 :50308 86]ז] 218%] פפועט 39 0 [0)]5פ|פס 2 אם תפתחו את הקוב 58916 118% בעזרת פנקס הרשימות (0ַ608זסח), תגלו כי זו למעשה הטבלה שיצרתם. אל תשנו בקובצ זה דבר. +| + + פרק 10: מודל 00 | 103 כך ייראה הקוב 8916? )זו : <ןם) = = קופ | ה0ה56 88ם 6|] ",סח בא" כפי שבוודאי ניחשתם, הנתוניס בטבלה מוקפים בגרשיים ומופרדיס בפסיק. ניתן לשרטט את הטבלה החדשה שיצרנו כך: 6 =5חו- ו6ד סוחבּא אם כן, יצרנו טבלה על השרת דרך קוב 55. כל שנותר הוא להזין מידע אל הטבלה. הזנת נתונים לטבלה כעת, נכין קובץ 457 חדש אשר יזין נתוניס אל הטבלה החדשה שיצרנו. ניצור אובייקט חסו66 הח 60 כפי שביצענו בתרגיל הקודם, על ידי שימוש ב- 507/67.0768%600[66. ("ה660 חח 00ס. 3000" )6768060066 ז6=56/6 56% נגדיר שוב את אפכ, אליו אנו מתחבריס, על ידי השיטה חססקס: ";5ץ1א=ח05" הסקס.6 והפעם נבצע +ז6פחו אל הטבלה. נבצע את מספר פעמים: "('1234', [ססרח')65 ]ה 80!6+ זו ססחו שפח" 660066א6.6% "('8]065)706:,4321/ 80!6+ זו סשחו +הספחו" 660066א6.6% "('0','6690ם65)'630ט|פע 80|6+ 15% ססחו +ספחו" 66006א6.6 4 3 4505 למפתחי אתרים באינטרנט חידוש נוסף בקוד זה, הפעם נסגור את אובייקט ח6000חח60 על ידי שימוש בשיטה 6, כדי לא להכביד על מסד הנתוניס. אמנס במקרה זה אין אנו מתחברים למסד נתוניס, אך מומלץ לסגור את 600080008 עס סיוס הפעולה כדי למנוע מצב בו משתמשים רבים משאירים 860005חח60 פתוחיס וסותמים את מסד הנתונים. 6 אס נרצה לבטל לחלוטין את אובייקט ח6600חחס6 כדי לחסוך במשאבי מערכת, נשתמש בתחביר: 8חותז0ה=6 56% להלן הקוד המלא : פ.ח 80!6+ >% ("ה0 66 חח 00. 80000 )6768000066 זס/6=56 506% ";5ץ1א=ח05" הסקס.6 "('1234', [)ססוח')65 ]ה 80|6+ 5%זו ססח! שפח" 660066א6.6% "('8]065)706:,'4321/ 80!6+ זו סשחו שפח" 660066א6.6% "('0','6690ם65)'680ט]פע 80|6+ 15% ססחו +ספחו" 60006א6.6 6 8חותז0ה=6 56% %< 6 6 0+ 5060 5הצ הסטהוחזוס)חו ד לאחר הרצת הקוד בהצלחה, נפתח שוב את הקובצ 18016 5זו ונראה כי המידע אכן נכנס לטבלה: <ןם) = = כו ה5680 8%8ם 6|] "1 ז'', "סבו "123 '' באס סח**י "321", "ןי "6698", "630060" פרק 10: מודל ₪00 | 105 כמובן כי לצרכי הבהרה ניתן לשרטט טבלה זו כך: 6 5%זו- וד סוח הא 134 ואססו 1+ 100 00 6800 תרגיל הכנת רשימת אורחים באתר לפני שמתקדמיס הלאה בספר, מומלצ לתרגל יצירת טבלאות בדרך זו מתוך דפי 450 שוניס. לפיכך נבצע תרגיל בו נאפשר למבקריס באתר להירשס ברשימת האורתים. לצורך תרגיל גה נשתמש באותו א5כ שיצרנו (אפסעוו). מטרת התרגיל היא לבקש את פרטיו האישייס של מבקר ולרשוס אותם בטבלה מבוססת קבצי טקסט. נתחיל במסמך 452 אשר יבנה את הטבלה. נבסס את 6 כאובייקט ח6600חח60: ("הס 66 חסס. 80000" )6768060060 ז6=50/0 50% נחבר את אובייקט ח6600חח60 שלנו ל- אפס המוגדר ב- 0086, הלא הוא אפפסעו : ";פכץ=ח05" ח6קס.6 וניצור את הטבלה 200% 065% המכילה שס פרטי, שס משפחה ודואר אלקטרוני. כל השדות הללו יהיו מסוג ז603, כלומר יכילו מחרוזת טקסט שאינה עולה על 255 תוויס. "6 |ו678, 63 6ההח], זה ח6 6ר8ח1)א 00 065% 90!6ז 6768%6" 66006א6.6 נסגור את אובייקט 60066000 ונבטל אותו מזיכרון היישוס: 6 8חותז0ה=6 56% 6 3 455 למפתחי אתרים באינטרנט לפניכס הקוד המלא, כולל מלל |אז אשר ייתן לנו אינדיקציה כי הקוד התבצע: 67.0 80|6+ %ססכ 00656 >% (" 660 חח ס6. 30000" )668660060 ז6=50/0 506 ";פ5ץ1א=ח05" הסקס.6 "6 [[ח6, זה 6 שרהבח!, 6 6ההח))אסס 065% 9016 676866" 66060א6.0% 6 8חותז0ה=6 56% %< [ץ||510605500 0708060 206 85 %8016 אססם 065% נריצ קוד וה פעס אחת. אס נריץ קוד וה יותר מפעס אחת עלולה להתעורר בעיה, מכיון שהטבלה אותה מנסה קוד זה ליצור, כבר קיימת. זו הודעת השגיאה העלולה להופיע אם נריצ קוד זה יותר מפעס אחת : <1ם]ן- | זט זס!קא =] 61חז6!ח] 050/1זו - ק6316.35ז6 6!פ3) אססם 65%ט127.0.0.1/0//:קווח בּ 0 | 0085[ פפוסטב] | שפוע ‏ 08ם ‏ ו | ד ₪ ) ₪ . <> . > וו זפ = 85!וס/ב-] ה0ז568 סוחס | 48/558 | קסו5 מס 6% 0 [+ 636.350ז0 3016) %ססם 65%גוף/ 27.0.0.1 1// :קוות ₪ חן '4 8004081' זסזזם פזפטוזם 6סס זסז זפםויפזק פס = 01 חספפזסווא .81515 88ז|3 'אססם זפפטפ' פוטב ד [זפצוזם זאד 6שס סז[ה80פחסווו 4 פחו| ,ש35. 678818 180|5 00%ם זט פרק 10: מודל 0כג | 107 לאחר הרצת הקוב> פעס אחת בלבד, נראה כי בתיקיית ואססנ נוצר הקוב 006 9065%. כ ופ סט[ פע 08ם ש6ן] || || |= |₪|פפ| 8 |פ | = ] ואססן:-' )0 5וה6)חס סוס || (₪] אוסא 3 ]א 3 6 +פזו] [מט -]1[-5 8אן 00% )סגו 36 וו ₪ 5 פאן וזו 3הת6ר[50 = - |פוה [- > 5 0-ה רו 6 ו / [0.3808 :30806 66ז] 215%] ועט 365 [80)]5|פס 3 אס נפתח את הקוב 000% 065% בעזרת פנקס הרשימות (0ְהַסס6זסח), נוכל לראות את מבנה הטבלה: סא - אססם |5סטם 4 6 563808 08ם ‏ 16 "11הּח6", "סההּה1", '"סהבּה+" כעת, נבנה מסמך ₪191 המכיל את טופס קבלת הפרטים: [הסח.06%81!5 |החספזסק <ץ200> <ז60010> <זח> <00%+/>8006 00656 וס סז 6החססו6/ <26=5ו5 זחס)> <2006.850 00651 ססחן 6 56חו 061915 |675008ק=ח3600 חוזס)> <זם> <ח)=6וחהּח א6=66כ/ס זוקחן> : סוחפא זפזו= <זכ><ח|=6וחבּח %א%=6כ/ס זטסחו> : סוחבא] 35% | <ז0> <ח6=6וחּח ]א5ס=6כ/ זטסחו> : |ובא-5 <ז601500 = 6ט!פע אאוחטט6=5כ/ס +טוקחו> <חוזס+/> 8 3 150 למפתחי אתרים באינטרנט חשוב לציין, כי כל יישוס אינטרנט בנוי מתכנות בצד שרת, כגון ?85 שאנו בונים, ותכנות בצד לקוח. כיון שספר זה אינו דן בתכנות בצד לקוח, אין בקוד וה שימוש ב- 50%, אך חובה על יישוס שכזה לשלב בדיקות 38/8500 בצד הלקוח המחייבות מילוי של כל השדות בטרס שליחה ובדיקת הזנת כתובת דואר אלקטרוני תקינה וכדי. כך ייראה מסך וויודו : זסזס!קא = ]6חז6]ח! ]/050ז6ו - [חו)ח.5!ו₪613 |3ח50ז127.0.0.1/26//:קוות [₪ קפ 0085[ 8פסטב] | אפש כ מזםם ‏ שו | | 6 ₪ 6 ד | וו עז0פו | 685ס/יב-] 56810 חס | 8/858 | קסו5 וק 6% סט ₪ | - |וחזר.15ו6%8. |הס5זפם 27.0.0.1 1// :קוו ₪ בי | 8% 016% גוס 60 616016 | : סוזנב 11 +פצעק | : הבז[ 1.88% :84 | פוטס ₪ /-- אאשוהר------------ ה טא כעת עלינו לבנות מסמך ק45, אשר יקבל את הנתוניס מהטופס ויזין אותס אל הטבלה. נבסס שוב אובייקט ח0ו660חח60 ונגדיר אפפ : (" 660 חח ס6. 30000" )668060060 ז6=50/0 5066 ";5=ח05" ח6קס.6 כעת נבצע +ו6פחו תוך שרשור הנתוניס שהגיעו מהלקות: 8" 8 ("ה")0ח600651.006/50 8 ")05 ט3/ 00% 65% ססחו +50חו" 60006א6.6 "(" 8 ("הח0)"6ח50/חסטף.60065ז 8 "," ,8 ("ח|")0ה50/חסט.00065%ז שימו לב, כי השרשור אינו פשוט, כיון שיש לכתוב את הגרשיים הבודדים (') המחויבים בתחביר .501 -> (!וח6', סוחהח 85%!', הח >6פזוז'), וכן את הגרשיים הכפולים (י) המחויביס בתחביר השרשור של 450 -> ...600656 ₪ "...)חן +ו6פחז" לאחר מכן נסגור ונבטל את אובייקט ח6600חחס6: 6 8חותז0ה=6 56% פרק 10: מודל 00 | 109 להלן הקוד המלא הכולל גם את מלל אז4 שיופיע על המסך עס סיוס הפעולה (שס הקוב הוא כמובן השס המופיע ב- ח600 של הטופס ב- ווידח) : 000.35 065% ססח! +ו6פחו 0619115 |החספזסק >% (" 660 חח ס6. 30000" )6768660060 ז6=50/0 506 ";פסץ]=ח05" חסקס.6 8" 8 (" ה" 650 60050.0 8" )פס ט| אסס0 656 סםחו +הספחו" 66006א6.6 "('" ,8 ("חז6")חַהו50/ה6ט600651.0ז ₪ ,"8 ("חו" 9 חו6/50וס. 6651 6 8חותז0ה=6 56% %< !506065510 1601550760 ח006 6ַעהח טסצ <3/>זס? 0+ 8866 <|שח.06%81!5 |ה8ח50זסק=)6וה 8> הערה : כמובן שאין לפנות ישירות לקוב 0006.850 065% ססחן 1 6פח! 061815 |החספזסס, כיון שאז לא יישלחו אליו הנתוניס ח6,ח!,ח+ ותתבצע הזנה ריקה לטבלה! ניתן לפתור בעיה זו על ידי בדיקת /06ח156 פשוטה. כלומר, להתנות את ביצוע הקוד בתנאי: הס (("חז")0ה50 .0600650 רתפ זו ולא לשכוח ‏ 0ח6 בסוף! הבה נעקוב אחר צילומי המסך של היישוס. נתחיל במסך וואדת : זסזס!םקא = 61חז6)ח! !]ס5סזסו/א - |חוזח.115ו₪613 |3ח50ז6ם/2127.0.0.1/:קוות | ₪ 80 10065 88;וסטב] | אפוש 88ם 6 | 5 . >. )3 ₪ 9 | ו עז00פו] | 65וזס/ה = 568107 6חס | 36/8858 | קס)5 השס 6% ₪0 ₪ | שא |הזזר!..5ו613 |הספזסם 0.0.1. 27 1// :קוזת ₪ 5 | 8 016 זנוס 10 6בת6160 א סח ח5] פמנב ד[ +פצגת פ-חסם] : 316 11 1.88% 90 סח 5] 84 4 /--- אאשואה | | 00000 פס ןש 0 3 4505 למפתחי אתרים באינטרנט לאחר מללוי הנתוניס נקבל: סוכ ]וחרפ = חב - יפ = 1 סוס וח =1? 39 .טספ 65% [5 0+ 10 280% !810068817 1618161606 066 6זי8ם גוס/ר כל שנותר, הוא לפתוח שוב את הקוב 200% 065% מתיקיית ואססן ולראות כי הנתוניס הוזנו: סא - אססם [65טט 1 "311ח6", '"סההבּה1'", ''סהבּה+" "60. 0010 ח5", '"1"ובּ- הסם'"", "1 [ססת ח5 פרק 10: מודל ₪0 111 שליפת נתונים והצגתם ב- 60/ כדי לשלוף נתונים ממסד נתוניס ולהציגם, יש להכיר אובייקט נוסף של ספה הנקרא 00% ו לצרכי הבנה, אם נשלוף נתון אחד ממסד נתונים, כגון שם פרטי של אדס, לא תהיה בעיה לאחסן אותו נתון בתוך משתנה רגיל. לעומת זאת, אס נרצה לשלוף את כל הנתוניס מטבלה, לא נוכל לאחסן את המידע במשתנה רגיל. אנו וקוקיס אס כך, למשתנה שיכול להכיל מידע טבלאי. זהו אובייקט ז₪6607056. אובייקט ₪6607056% הוא משתנה טבלאי המעניק לנו כלים נוחיס לגשת למידע. הבה נדמה תהליך שליפת מידע מטבלה במסד הנתונים, לתוך אובייקט ז86607056. שלב א מסד נתונים טבלת פסוההּח הטוס חופָפַטח בשלב זה, לאחר שנוצר אובייקט ₪66070560, הוא ממתין ריק. כדי לאפשר ל-₪66070560 לשלוף את המידע מטבלת מסד הנתונים, יש להגדיר לו כיצד להתחבר דרך אובייקט חסו66 חח 60. לאחר ההתחברות, שולף ₪660705% את המידע מהטבלה ומאחסן אותה אצלו, כולל שמות העמודות. 2 3 450 למפתחי אתרים באינטרנט שלב ב 6וחהח 35% | סוחפח 6פזו= אובייקט ה- ח6600חהח60 מאפשר חיבור צסחסזובּחהּ ואססוח זט חוםסטח בשלב זה, לוקת אובייקט ₪66070568 את הנתוניס מטבלת פוחִאַח ומאחסן אותס בצורת טבלה. כיון שאובייקט ₪60010566 נמצא במסמך 55ג, ניתן כעת לגשת למידע דרך קוד 55(. שיס לב שבתרשים נוסף אלמנט בשס א06ח1. אלמנט זה הוא אלמנט לוגי המצביע על שורה בטבלה. כפי שמופיע בתרשים, א06ח1 מתחיל בשורה הראשונה, כך שאס נבקש מ-₪66070566 את עמודת 6וח8 זפזוח, נקבל את |אססוח. אס נרצה לקבל מידע משורות אחרות, ניאלץ להזיז את א06ח1 שורה אחת קדימה ולבקש שוב את עמודת 6וחפח >פזום, ואז נקבל את חוספָטח. תחביר 6607056% יצירת אובייקט ₪66070561 זהה ליצירת אובייקט ח6600חח60: ("6007056%ז. 80000" )6768060066 ז56/6= 56% השימוש בתחביר 567/67.07681600[60, מורה למנוע 455 לגשת לרישוס המערכת ולאתחל אובייקט על פי אובייקט 86607056 הרשוס שם: זו 6519 9 מו שופו וב עופופסת חבז ק. סוסה ו 5 זב 08 סה 0 זבה פטס [ זז 08 סג 5 זו פטס 0 זה 0 טוהב פוטסה ב ומוה סוסה ךב + + 3-5 = 4₪%50ו0 43 031 ]1 םאר זפוופוחס) וא פרק 10: מודל ₪0 - 113 השלב הבא הוא הגדרת אובייקט ח6000חח60 אשר דרכו ימשוך אובייקט ₪6607065% את המידע ממסד הנתוניס. אם אתחלנו אובייקט ח06000ח60 בשם 6, נשתמש בתכונה 00ו0660ח360/6600 של אובייקט 866070566 כדי להגדיר מול איזה ח6600חח0ס6 נעבוד: 6= 660 חח 60/6600 השלב הבא, יהיה שליפת המידע מטבלת א00פ :8065 אשר הגדרנו בתרגיליס הקודמים. שליפת המידע מתבצעת באמצעות התכונה ח6סס של אובייקט ז₪9607056 : ")000 0656 וחסז) * 561666" הססס.ז כעת, מכיל אובייקט ₪660705% שלנו (ז) את כל המידע מהטבלה. הערה: בטרס נמשיך, יש להיכנס ל- |80ח.0613185 |8ח50ז127.0.0.1/06 ולהזין עוד מספר שמות לטבלה כך שנקבל מספר שורות כגון: <1ם] = | = 8|0] | 56008 זםם 6|] "311 "136 ,"הב ה+'] 60. 010970סה ח5"', "1-ו - הספ'", "+ ב1ססת חתפיי '"60. ח60 81ח בת6טשב3ּ'', "הבת6טט", "301 "וב" "+6ח. 321030080 -ו", "בַכבּחָ"וּבּטָבּח", "2161בּ-'י "600. 31 1ח+ 0ח1טף"וטפ", '"1טף"וטפ", "חבּ"וטב"י "600. ה155170036%10ח'', "הס36+1ה1'', "ח551 1ח'י כעת, נחלץ את המידע מהשורה הראשונה ונציג אותה בדף ס6/. זהו קטע הקוד שכתבנו עד כה: 676800 60%(ט0 ה6600 החס6 06 15 פורז' ("ה660 חח ס60. 80000" )6768060066 ז/6=56 56% ";5ץ1א=ח05" הסקס.6 ח0ו68ז0 00[66% 60070561 שר 15 פורז' ("6007056%ז. 80000" )67680600[66. ז56/6= 56% 6600660 =6 ")000 656 וחסז) * 561666" הססס.ז כיון ש-א06ח1 נמצא בשורה הראשונה, כל שעלינו לעשות הוא לבקש מאובייקט להציג את ערך העמודות |ו608 ,6וההח| ,6התפח?. גישה לעמודה ב- ₪66070560 מתבצעת באמצעות השיטה 88105 באופן הבא : ("86ח")86!05.] 4 3 50 למפתחי אתרים באינטרנט אם כן, נציג למשתמש את התוצאה: "<זם>" ,8 ("06ח8ח)")₪6!05.ז 8 "=6רחפח זו" 66 50056 "<זם>" ,8 ("6רח3ח|")86!05.ז 8 "=6רחפח 35% 1" 66וע.56ח500ז "<זס>" .8 ("|ו08ח86105)"6. 8 "=!5-181" 50056.6 הקוד המלא ייראה כך: 350 %3000ה656זכ טס 6חס >% (" 660 חח ס6. 30000" )6768660066 ז6=50/6 506 ";5ץ1א=ח05" הסקס.6 ("6007056%ז. 80000" )67680600[60. ז56/6= 56% 6600660 =6 ")000 656 וחסז) * 561666" הססס.ז "<5126=5 100%>" 66ו/ץ. 6500056 "<זם>" ,8 ("06ח8ח)")₪6!05.ז 8 "=6רחפח 186" סע 650056 "<זם>" ,8 ("6רח3ח|")86!05.ז 8 "=6חחפח 35% 1" 66ע.56ח6500ז "<זם>" .8 ("|ו08ח86105)"6. 8 "=!5-181" 50056.6 %< כך תיראה התוצאה: זפזס!קא = 1פחז6!ח] !]ס5סזסו)א - ק5בּ.חסוזבּ]ה656זכ סז 6ח2127.0.0.170/:קוות [₪ 1005 8שוסטב] | שסוצ ‏ 08 6ן] | ו ₪ | ₪ . 2 . 5 ₪ ₪5 עב 568108 חס | 38/8858 | קס)5 ומק 6% 9 [+ 350 חסו!ה+ח556זכ .אוסז 6חט/ 27.0.0.1 1 :קוות ₪ 8 | ו 06-81 -=-16זגת +4, [ נתסס.1001620ת11=50ה]/- 4 / | אחחפה | | 0000 אס ןש מזל טוב! הצגנו מידע ממסד נתוניס בפעס הראשונה! פרק 10: מודל ₪0 | 115 הצגת טבלה שלמה כדי להציג טבלה שלמה, נדרש להזיז את א06ח1 שורה אחת קדימה ובכל תזוזה להציג את נתוני השורה בה הוא נמצא. הדרך הבטוחה ביותר לבצע ואת היא באמצעות לולאת וחטש ס0. כאשר מתמלא אובייקט ₪66070560 בפעס הראשונה, נמצא א06%ח1 בתחילת ₪6607056%, כלומר בשורה הראשונה. מקוס גה נקרא =80, כלומר, ₪16 +0 פַחוחחו60ם. ניתן להתייחס אליו כאל זספ.ז. השורה האחרונה מוגדרת כ- ₪6 +0 0חם, וניתן להתייחס אליה כאל )60.ז כעת ניצור לולאה אשר תזיו את א06ח1 שורה אחת קדימה בכל ריצה, עד אשר יגיע ל- + תחביר פתיחת הלולאה יהיה: 0% וסחט 0 בכל ריצה של הלולאה נציג את נתוני השורה: 8 ("[8ח6!05)"6.ז 8 "---" 8 ("6ההח!")6!05. 8 "---" 6 ("6ההבח]")6!05.ז 50056.6 "<זם>" ונזיו את א06%ח1 שורה אחת קדימה על ידי שימוש בשיטה אפחסטסח של אובייקט 00% ]חס עסו לאחר מכן נסגור את הלולאה על ידי התחביר: כססו כך ייראה הקוד המלא להצגת נתוני כל הטבלה: 000.30 665% || אוסח5 %> (" 660 חח ס6. 30000" )6708060060 ז6=50/0 50% ";פסץ]=ח05" חסקס.6 ("6607056%ז. 80000" )6768660060 ז507/6= 50% 6= 6600 חח 860600 "000 065% וחסז * 56/6600" הסקס.ז "<5126=5 100%>" 66!ז/ש.6520056ז] 0% וסחט 0 8 ("ו8ח6!05)"6.ז 8 "---" 8 ("6ההח!")6!05. 8 "---" 8 ("6ההבח)")6!05.ז סו 50056 "<זם>" ]תסו סססן <% 6 3 455 למפתחי אתרים באינטרנט וזו תהיה התוצאה: זסזס!קא = 61חזפ!ח! ])ס5סזסו)א - ק5בּ אססם )65 |!הּ איסת2127.0.0.1/5/:קוות ב כ 008[ סטב" אפוע ‏ 208 6 | וו ויר וו ור | עסו = 68וס/ב] 56810 6חסו | 40/858] | קסו5 םס 30% 0 [+ 35.ססם )סגו !31 .000%ח5/ 27.0.0.1 1//:קוותת ₪ ב .10010050 ם5---811- ת6ס--- 0118 רבחתת 001. 012100 800---ת0[1 01 --- 301 איה ץש 7 בתסס.[162(301118גופיננוס--- [גופנוס-- - התייה ב15518962(200100.00ר---מ1880110---פת1851רת סחזסוה 4 הצגת הנתונים בטבלת !ו ד כדי להציג את הנתוניס בטבלת ₪411 מסודרת, נדרש לשרשר פקודות טבלת ואדה אל תוך הקוד בצורה הבאה: 306.30 |וחסח 35 א%ססכ ז5סטף || אוסח5 %> ("ה0 66 חח 00. 80000 )6768060066 זס/6=56 56% ";5ץ1א=ח05" הסקס.6 ("6007056%ז. 30000" )67680600[60. ז56/6= 56% 6= 660 חח 86600 ")000 656 וחסז) * 561666" הססס.ז "<5126=5 %ה10>" 66ו/ץ. 0500056 6 !וד 8 5הססס פווש' "<זס0זסם %80!6>" זו/ש.56ח0500ז צוסז 90|6+ | 1 8 5הסקס פוחס' "<>" 6שועש.56ח6500ז סחפח זו ' "<60/ >6ר8] 5%זו= <שטוחצו= זסו60 +הס+> <|668=זסו060 ?>" 6שועש.56ח50סז 6וסמז' חח 85% 1 ' "<00/ >6חּ 356 |<6וחא= זס|60 +הס?> <|608= זס!060 ה%>" 6טחעש.56ה6500ז 6וס מז 6 |ו%8]-= ' "<00/ >|181-= <6וח = זס|ס6 +הס?> <|668= זס!060 ה%>" 6טועץ. 650056 ויו <ק/>" 06ו/.56ח6500ז |סחט 00 קסס| 06 )0 חטז 661 אוסז 6|טפ+ ]ואד שוסח 8 הסקס וווצו פוחש' "<>" 65056.6 "<60/>" .8 ("סההח)")6!05.] 8 "<60>" 66 56ח500סז "<60/>" ,8 ("6רהבח!")86|05.ז] .8 "<%0>" 50056.6 "<00/>" .8 ("|ו08ח86|05)"6. 8 "<%0>" 50056.6 צוסז 9016? 15% 6|056 פרק 10: מודל 50 | 117 ססס| 6+ ]0 חטז ץופעס עוסז 80!6 |וי ד 6רז 056 |ווא פוחז' "<>" 6 ץעש.56ח0ס05ז חס סרח סססן 6 !ואד 6חז 60565 פוחז' "<80!6+/ >" 6 ץעש.56ח6500ז %< יש להקפיד כמובן על פתיחת טבלת !419 לפני תחילת הלולאה, וסגירתה לאחר ביצוע הלולאה. וזו תהיה התוצאה: |<ום) .₪ - ק13016.85 |חו)ח 35 00%ם ]65טש !31 6י0ת27.0.0.1/5 1 :ות 3 081.0 ב[(1)0גוש גומ 30110.0 (0)הבט מ בפרק הבא נבנה יישוס מבוסס מסד נתוניס. 8 3 150 למפתחי אתרים באינטרנט קובץ וחו.3ו5670060 אס תפתחו את הקוב וחו.08ח6ח56 אשר בתיקיית ואססן, תגלו כי כאן נמצאות הגדרות הטבלאות. כל שס טבלה מוקף בסוגריים מרובעים ( ]) |<1ם)- | 34 - וחו.3ח6 50 |= קפ ה5680 88ם 6ו] [18פ%3 105%+] סט [=-ו06 3 16 36 601 = 5 סבוה 05001=+הּהוס] 5 הח₪1656 שבּח6 פַהב6011=843 5 ה0166 שבּה6 61ז=6012 [%ססם 65%ט8] סט [=-ו3006 16] 36 601 63-61 0500=+בּהיוס] 5 הח0160 בּה6 פַהבּה+=6011 5 הח₪166 בּה6 פַהבּה6012=1 5 הֶ₪166 "ב3ה6 6013-6311 ניתן לראות כי תחת הגדרות 906 55זו1, ישנס שני שדות, 6וחפּא ו- ו6ד. שניהס מסוג ז8ח ומכילים עד 255 תווים. ניתן לשנות הגדרות אלו באופן ידני דרך פנקס הרשימות, או דרך זסצוזכ %א6ד 160506 ב- 86ס0, זאת על ידי לחיצה על לחצן פחסטקס במסך הגדרת א5פ. |< | קטו56 )אפז 00806 :3 5006 368 | 308 ה ואססן: :שזסזספזום | ...זו 50160 80 תפ 96 -] פרק 10: מודל ₪0 | 119 לחיצה על לחצן פ5חסטק0 תגדיל את המסך ותאפשר ללחוצ על לחצן הזוס 6ח6. קטז56 ואפ ז 086 2כזניו יח ]הזז ] ]א6 7 6חו/6 וז יי 2 4 שש ב 0שוזוחזוום כ 25% ה | משווזוובו ויו | :| בובו ן | ו מומל בשלב זה לא לשנות הגדרות. 0 3 150 למפתחי אתרים באינטרנט פרק 11 יישומים מבוססים מסדי נתונים בפרק וה נבנה יישוס מבוסס מסד נתונים, ונביו את הכלליס החשובים בבניית יישומים מסוג זה. הפעם נתייחס למסד הנתוניס של מיקרוסופט - 460655 5. אם אין ברשותך את תוכנת 866655, תוכל לבצע את התרגיליס על מסדי נתוניס מבוססי קבצי טקסט כמו בפרק הקודם. כל שתצטרך הוא להגדיר א5ם המשתמש ב- זפטוזם 6%6ד 04פסזסו!א, וליצור את אותן הטבלאות אשר ניצור ב- ₪06655. היישוס אותו נבנה הוא ספר טלפוניס מאובטת. בספר זה יוכלו כולס להביט, אך רק משתמשיס מורשים יוכלו לשנות או להוסיף פרטים. לצורך כך נבנה מסד נתונים ב- 5 (או בקבצי טקסט כפי שנלמד בפרק הקודם). נפתח את תוכנת 406055 ונקבל את המסך הבא : <|? ב ך יצירת מסד נתונים חדש באמצעות | 6 |א6 7+ אשף מסדי הנתונים 5% 7 פתיחה של מסד נתונים קיים אישור | ביטול נבחר באפשרות מסד נתונים ריק (803956ז8 עקוחם). פרק 11: יישומיס מבוססים מסדי נתוניס | 121 המסך הבא שנקבל יהיה וּה: |<[? ו ||₪ =]| ₪ | ₪ כ בר מצי שא שק סח.=סספ שחסחק (פוח. *) 036308505 366655 :]ס5סזסווי] במסך ה נבחר תיקיה לאחסן בה את מסד הנתוניס (לצורך התרגיל, פתחו תיקיה חדשה בשס 28808565 ובחרו בה). העניקו לקובצ את השס 500% 6חסחכ ולחצו על צור (0708%0). וה המסך שיופיע: זה ה <ום - 5 ₪ מסך זה מייצג את מסד הנתונים החדש שלנו. במסך זה ניתן לייצר טפסים, דוחות, שאילתות ועוד. כיון שאנו מעונייניס רק ביצירת טבלה, נישאר בלשונית הטבלאות, ונלחץ על חדש (שו6א) כדי ליצור טבלה חדשה. 2 3 150 למפתחי אתרים באינטרנט נקבל את המסך הבא : | < |? [יועץ הו אשף ובלאות ייבא טבלה קשור טבלה 4 מסך וה מאפשר הגדרה של עמודות בטבלה החדשה שניצור, הכוללת: שם עמודה, סוג עמודה (טקסט, מספר וכו') והערות לגבי העמודה. במסך זה נגדיר חמש עמודות: 6חפחז - מסוג טקסט 6שוחפח! - מסוג טקסט ו6ז - מסוג טקסט 5 - מסוג טקסט ח0ו0660080 - מסוג טקסט פרק 11: יישומיס מבוססים מסדי נתוניס | 123 לאחר מכן נבחר בתפריט קוב->שמור (58/6>66) ונעניק את השס 6618|55 |8חס8זסס לטבלה באופן הבא: <ו? ו - 5 |5008זסק רדק 5 יודיע את ההודעה הבאה: 0 <| תיבה וו מציעה לצרף עמודה לטבלה אשר תכיל מספר חד ערכי לכל שורה. ערך חד ערכי כוה נקרא בטבלה מפתח ראשל (ע66א /זפחוזס), ומשמש לזיהוי חד ערכי ברשומות. כיון שאנו לא נשתמש במפתח חד ערכי ביישוס הבא, נלח על לא (סא). כעת, נסגור את החלון המכיל את הגדרות הטבלה (היזהרו לא לסגור את חלון 60655 הגדול!), ונקבל את המסך הבא, המראה כי במסד הנתונים שיצרנו (0006 6חסחס), יש טבלה אחת בשס 061815 |8ח50זסק. 4 3 150 למפתחי אתרים באינטרנט |<וםו. 1 [< ]ב ו |מוכ 0 כעת, נחזור על תהליך יצירת הטבלה ונגדיר טבלה חדשה בעלת שתי עמודות: - מסוג טקסט 5 - מסוג טקסט ונקרא לה 8זפפט. אס ביצעתס את התהליך כהלכה, תקבלו את המסך הבא : <1ם)-| הוור ה <וםו. 4 (266815. |חספזסם: תיוות | 5 ₪ | / מ ררה הרו ]תאו ]‏ | | כעת, לחצו על טבלת 5ז6פט בעזרת הלחצן הימני של העכבר, ובחרו באפשרות פתיחה (ח6ק0). פרק 11: יישומיס מבוססים מסדי נתוניס | 125 המסך שיתקבל: | < | [₪]] 200655 ))50סזסווא קובץ עריכה תצוגה הוספה עיצוב רשומות ‏ כלים חלון עורה > וטו | .874 7 7 [<1ם)-. 5% : טבלה || זשפט | | | 8% | | וא 00 0 וח ו רשומה:| ו | + 2 | 4 | 4 |%4 מתוך 2 תצגתגלשנתנם 0000007777 | אא | אא | ןר רת | מסך וה מאפשר הונת נתוניס אל הטבלה הנבחרת. הזינו שני שמות משתמש ושתי סיסמאות. בחרו בתפריט קובץ->שמור (58/6>6!6) וסגרו את החלון. נבצע את אותו תהליך לגבי טבלת 0603|55 |8ח50ז6ק (לחצן ימני על שס הטבלה ובחירה באפשרות פתיחה) ונזין לפחות 3 רשומות (שונות!) באופן הבא : <וםו- ו שובץ עריכה מצוגה הופפה עצוב בשמות כלים בלו עורה ו . -68|א< ‏ פמש ₪ 09 5 ₪ -א |<וםו. ו | 06תהח! | | >ותהח! ‏ | | |8) - | 8600688 | ה00הקטסםס | הז 9 4 וו 81עו | ה58|8508 5008 חו8זפחופטז 6 זו הסטחכ ח8ז1ח68 7 1" 8 128088 = |)טחזה רשומה:] ו+| + 3 ]| + ]4 |%4 מתוך 3 6 3 4505 למפתחי אתרים באינטרנט שימו לב: למעשה, יצרנו שתי טבלאות. טבלה ראשונה, טבלת 15ו0609 |5008ז6ק, תשמש אותנו לשמירת נתוני ספר הטלפוניס. טבלה שנייה, טבלת 5זספט, תשמש אותנו לניהול משתמשים מורשים לעדכון ספר הטלפונים. כל שנותר לבצע כעת, הוא להגדיר אפפ ב-86ס0, כדי שנוכל לגשת למסד הנתוניס דרך אובייקטים של 400 מ-455. נפתח את 0086 (דרך לוח הבקרה - |6חחהק |סזשחסס) ונבחר בלשונית א05 :5756 כפי שביצענו בפרק הקודס: יו (09.* ;%א."] זסעיוז 0 + ד זוספסזסוא | א סעוז פרק 11: יישומיס מבוססים מסדי נתוניס | 127 נלחצ על לחצן הוסף (400) ונבחר וסעויזם 4266655 016ס5סוסוו. זט 313 86% 16816 ו ספסזסו] 0 [פם.*] זפיוז 356 00 +)ספסזסוו] 0 [15א.*] זסשוז כ [פסא = )ספסזסוו] 0 [ופם."] זפעיוז סזאס= )ספסזסוו] 22.00 הז זס! 0086 )ספסזסוו] 270 [ 5ב.] זפעוז0 א300זב= )]50סזסו] 0 (ג([שפם.* ;1א).*] זסשוז כ 81 7 )]ספסזסוו] 0 זסעיוז פזקאס= [בגופו/ ]]ס5סזסוון 1.3 זז 501 8 3 150 למפתחי אתרים באינטרנט בשדה 6וח3 66ז500 088 נכתוב את שס 5% כ- 6חסחק ואז נלחצ על לחצן בחר (56|6060). 586160] 6 | | | 06 | :וזסזספזו 6ב 330356 ב סטחח.%ססם שהסחזם | 308 . 5% 3 5 | ספ 8 עה 688 -] 6ופטוסאם -] ?> 5 :וז :6סע ]ס ₪65 081 1 | 1 [* ]ה :] = [- וחז.*] 3303568 כ 0 בחלון שנפתח, נבחר את קובצ מסד הנתוניסם שיצרנו ב- 460655 -> 00ח.>ססס 6חסחס, נלחץ אישור (א0). עתה נלחץ שוב אישור (06) בשני המסכיס הבאיס כדי לאשר את פעולת ההגדרה שביצענו. כעת, נוכל לבקש לגשת ל- א₪5 בשס 6חסחט, ולקבל גישה אל מסד הנתונים 200%.000 6חהסחק, המכיל את שתי הטבלאות איתן נעבוד, 5 |8ח50זסק ו- 5075ש. תחילת בנייה של היישום נבנה את מסמך 57 השולף נתוניס ומציג אותס כטבלה. כמובן, נשתמש באובייקטיס חסו66 הח 60 ו- ₪6607056%, כפי שלמדנו בפרק הקודם. 50 561החק >% (" סו 6 חח ס6. 80000" )668060060 ז6=50/6 506% ";006חק=ח05" ה6קס.6 ("6007056%ז. 80000" )6768060066 ז56/6= 56% 6= 660 חח 860600 "0619||5 |החספזסכ וחסז * 56166" הסכס.ז "<ץ000>" 05056.6 000% 6חסחכ ץוח 60 6והסס|6/<ח06> <5126=5 +הס1>" 66 50056 "<6ח0)/> <%07ח60/ > הספסווסקהּ "<זחה>" 66ןז/ש.6520056ז "<> <ז00ז007 80!6+>" 6סוע. 56חה50סז "<< >6רח3] 19% <66!חעט= זס|60 %ח0+> <|668= וסו060 ה+>" 66ו .56 ח500סז "<)/ >6רח3] 85% |<66וחעש= זס|60 %ח0+> <|608= זסו0060 הז+>" 56.66 ח500סז "<ה)/> זסטוחוו] 6הסחק <6שוחצו= זס|ס60 %ח0+> <|668= זסו0060 ה+>" 66 50056 "<7/>" 6סןזע.6500056ז פרק 11: יישומיס מבוססים מסדי נתוניס | 129 6%.ז וסחט סם "<7)>" 166/ו.6500056ז "<60/>" .₪ ("סרהםח)")6!05.] 8 "<>" 66 50056 "<%0/>" ,8 ("6רחבּח[")86!05.ז .8 "<60>" סט 50056 "<60/>" 8 ("|")₪6!05.ז 8 "<0ס>" סו 50056 "<ש/>" 06ןע.56ח6500ז ]אסתסעסוח.ז סקססן "<זח> <0!6+/ >" 166 .6050056 <% כך ייראה השלב הראשון בבניית היישוס: זסזס!קא = 61חזס!ח! !]ס5סזשו - ק5בּ. 3561ח127.0.0.1/2//:שוות ב ופ | 1005 | 68וסעב= | שו 08 6 | | ₪ 4 9 | ₪ 9 . > . 9 וו - ה5680 שחסת | 8658 | קס50 זב 0% 9 | 590 78981פ/127.0.0.1//:קוות. [65] 8060655 | 1168010₪קה 000% 6מסמכ ענת 0 6בסס[6 וו 79 | ב8גטצה]] 0% 6 ?פב טגת צגוב111 7 זב שימו לב, כי לא מוצגים כל הנתוניס השמוריס בטבלה. זאת כדי לאפשר הצגת השיטה של הפיתוח המאפשרת מעבר בין דפי יישוס תוך שימוש בקישורים. כלומר, בסיומו, יאפשר מסך זה לצפות בנתונים הבסיסיים (שס פרטי, שם משפחה וטלפון), ועל ידי לחיצה על אחד השמות הפרטיים, נקבל מסך פרטים אישי עבור אותו אדם, ובו נוכל לראות את כל הפרטיס השמוריס בטבלה, לרבות כתובת ועיסוק. 0 3 150 למפתחי אתרים באינטרנט בגלגול ‏ הבא של המסמך, נוסיף לכל הצגה של שסם פרטי את התג <0806.850 |6)=0675008זח 8> כדי לאפשר למשתמש להגיע לפרטים האישיים של כל מי שרשוס בטבלה באופן הבא : 562.350הח %> (" 660 חח ס6. 80000 ")6768060060 ז6=50/6 56% ";6ח0חק=ח45" ח6קס.6 ("6607056%ז. 80000 )6768660060 ז507/6= 50% 6= 6600 חח 860600 "069[5 |8ח50זסכ וחסז) * 561666" הססס.ז "<ץ200>" 66ו/ש. 6500056 000% 6חהסחכ ץוח 60 6והסס|6/\< זח06 > < 5126=5 +הס1>" 66 50056 "<100%/> <%07ח60/ > הסוס בסו!סקהּ "<זחה>" 66וז/ש.6520056ז] "<> < ]ספ 90!6+>" 66 650056 "<< >6רח3] 18% <66!חעט= וס|60 %ח0+> <|608= וסו0060 ה+>" 66ו .650056 "<)/ >6רח3] 85% |<6טוחעש= זס|60 %ח0+> <|668= זסו0060 ה+>" 66 .650056 "<ר%/>זסטוחו] 6הסחק <6שוחצו= זס|ס60 %הס+> <|668= זס|0060 הז+>" סע 650056 "<7/>" 6סוע.6500056ז 0% וסחט 0 "<>" 06ןש.6520056ז] ₪ "<06.350בּ2ן !5073ז61=206ז] 3> <0ל>" 50056.6 "<%/><ה/ >" .8 ("סהְחַ8ח")₪6|05.ז "<0)/>" ,8 ("6רחבּח[")86!05.ז 8 "<0ל>" 5005666 "<0ס/>" 8 ("6!05)"00.] 8 "<%1>" 6סוצו.56 הז "<]/>" 6ס]ע.6500056ז תסו קססן "<זח> <80!6ל/>" 6סוזע. 05056 <% פרק 11 : יישומיס מבוססיס מסדי נתוניס | 131 התוצאה תיראה כך: ו בפגהתזב [ 6 8+60 בנג [ציוום עס 2 3 150 למפתחי אתרים באינטרנט בעיה ! כרגע, כל שס פרטי הינו קישור. עס לחיצה על כל שס פרטי, נגיע לקובצ 6.850 |8ח50ס. אולס, כיון שכל הקישוריס זהים (היינו, <806.850 |6]=2675008זח 8>), לא נוכל להחליט את הפרטיס של איזה אדס להציג. הפתרון מגיע בעזרת השיטה 96% המאפשרת שליחת פרמטרים בשורת הכתובת. כך שבמקוס לרשוס: 8 "<2806.850] |8ח50ז6ק=61ח 8> <%0>" 50056.6 "<00/> <8/>" .8 ("6והבח)")₪6|05.ז נרשוס: 8 "=2806.850?0 |675008ק=)6זח 8> <0ל>" סלו 650056 8 "<" 8 ("סההבח)")6|05.ז "<00/> <8/>" .8 ("6והבח)")6|05.ז כיון ששליפת המידע והצגתו מתבצעת בלולאה, תהפוך השורה מצורה זו לצורה הבאה: <0)/> <3/>אסץ< א0ץ=6.350?0ט23 |8ח50זסק=]6זח 8> <> <%0/> <3/ >וטח+והּ< 6טח+והּ=306.350?0כ |8ח50זסק=]6זח 8> <> <%0/> <3/ >05ו6.350?0=3105<3ט23 |8חה50זסק=61זח 8> <> כך שבקוב 0806.850 |8חספזסק, נוכל לגזור את הפרמטר כ ולדעת לאיזה אדס התכוון המשתמש כאשר לת על הקישור. קוד וה: 350 563הח >% (" 660 חח 60. 80000 )6768060060 ז6=50/6 56% ";6ח0חק=ח45" ח6קס.6 ("6607056%ז. 80000" )6768060060 ז507/6=] 50% 6= 6600 חח 860600 "063[5 |הח50זסק וחסז]) * 561666" הססס.ז "<ץ200>" 66ו/ש. 6500056 0% 6חסחכ ער 60 6הה6|60/<ז0ח66> <5226=5 %חס1>" 6פוע 56 הז "<100%/> <%07ח60/ > הסוס בסו!סקהּ "<זחה>" 66וז/ש.6520056ז] "<> < ]סט %90!6>" 6סו .50056 "<< >6רח3] 18% <66וחעט= וס|60 %ח0+> <|668= וסו0060 ה+>" 66 50056 "6רח3] 85% ]<שסוחא= זס|60 %ח10> <|668= זס|060 ה%>" ששו 65056 "<ר%/> ז06 וח 6הסחק <66וחצו= זס|60 %חס?> <|668= זס|060 ה%>" 6סועו. 56 הז "<7/>" 6סןע/.6500056ז פרק 11 : יישומים מבוססים מסדי נתוניס | 133 |סחט 0 "<>" 06ן/ו.6520056ז] | ₪ "=16.350?0בּ2 !50703ז61=26 3> <60>" ל 50056 ₪ ("סוהבּה)")5 .יז "<3<>/%0/>" ₪ ("סההםּח)")6!05ה. 8 "<" "<%0/>" ,8 ("6רהבח|")6!05.] .8 "<%0>" 56.6 סז "<60/>" 8 ("]")₪6!05.ז 8 "<0ם>" סע 56ח6500ז "<]/>" 6סןע.6500056ז ]אסתסעסוח.ז קססן "<זח> <580!6/>" 6סוזע. 65056 <% ייתן לכאורה את אותה תוצאה כמו 8562חק, אך כאשר נבקש 6סזט50 צוסוצ בדפדפן, נראה כי כל קישור שולח איתו נתוניס שוניס. במקרה זה את שמו הפרטי של האדס. [<זם] - | הקוסא - [563]1בחכ 1] ו 0% פ6חתסתק עה 60 %07<0816006ה5126=5<>60 %ה0+><ש00ם> ה%><ו%><-00ו0ם %53816><ה><%ה0+/><%560ה66/>ה1163%10קקב3ּ %ה0+><₪460106=5631 ה%><ת%/66ה43 1%6<]:175%הש=60100 %ה0+><46010=5631ם 1+6<70088הש=ו6010 %ה0+><₪860100=5631 ה%><ת6>/6הב43 356 1%6<1הש=י6010 66<3><-ו!><-ו / ><ח> / >*ום פחטו /79 7 <6+/>חטחוב ן <₪+><₪+/ >< / > סע 35 . סחָבּק 31ח50ו6ק=+פ"וח 66<8><.ו6><-%/><50 <%0<>%0/>ח5161חה1פט-ו<0+><0+/><3/ >יוטח -ובּ<-וטח+-והּ=ק?ק5ב. פִחָבּק 31ח50ו6ק=+6-ות %6<3><-%><-ו1/ ><6= / >86 5665 <05>/3<>/%0<>%0<02>/50<>%8<9878987>/%0חב <5סְהבּ=ק?ק5ב3. סַחָבּק [3ה650ק=+6ת <-1ח%><3016+/><%/> 4 3 4505 למפתחי אתרים באינטרנט כעת, נכין את קוב 2806.850 |5008ז6ק. בקובץ זה, נבקש את ערך הפרמטר םש המכיל את שס האדסם עליו ביקש המשתמש לקבל את המידע, ונחלצץ את הנתוניס הרשומיס על אותו אדס במסד הנתוניס. למעט העובדה כי לא נשתמש בלולאה משוס שאין צורך ביותר משורה אחת בטבלה, ולסגירת אובייקט ז056ז660ח, אין קוד זה מכיל כל חידוש. 0 |החספזסק >% (" 660 חח ס6. 30000" )668660066 ז6=50/0 5066 ";6ח0חק=ח45" ח6קס.6 ("6007056%ז. 80000" )67680600[66. ז/56= 56% 6600660 =6 8 "=6הח] 6זסחצ 0613115 |8ח50זסק וחסז) * 561666" הססס.ז "8 ("ק" 50 00650.6 "<> <%ח0)/ >06כ |2675008 <5126=5 %+הס1>" 6סו שש 050056 "<זם>" .8 ("6ההַ8ח)")16!05.ז 8 ": 6חחב זו" 66 50056 "<זם>" .8 ("6הבח!")86!05. .8 ": 6וחה 35% 1" סע 56ח6500ז "<זם>>" .8 ("|ז")₪6!05.ז 8 ": זססוחטף!] 6הסתק" 66 .650056 "<זם>" .8 ("6!05)"4007055. .8 ": 007055" 66 50056 "<זח>" .8 ("חסו80קט6!05)"066.ז 8 ": הסחהקט006" 66 50056 "<800%>/8 6חסחק 0ף 86% 352 8563ח6)=2זח 8>" 56.66 ח500סז <% כעת, נפעיל את 127.0.0.1/008563.850 ונקבל את המסך הבא : זפזס!קא = 61חזפ]ח! !)ס5סזסו1 - ק127.0.0.1/273563.3%// :קזוח בּ 4 ]| 10088 | 8פ:וסטב | שפו ‏ ז0ם ‏ שום | וו ו ור - 5680 חס | 380888 | קסופ מס 6% | ₪ [- 0.0.1/008963.590 .27 1//:פווה. 6 ] 860695 | 108110]קה 000% 6תסגכ ענ 0 6בתססן6 7 פגומהן] אל 6 ב916בננטגת צגום11 7 עס וזב אחש | | ררש פרק 11 : יישומים מבוססים מסדי נתוניס | 135 כאשר נלת על כל אחד מהשמות הפרטיים (סוח8א ז5זו=), נקבל מסך אישי המתאים לו בשל העובדה שכל קישור שולת את הפרמטר ם עס ערך אחר. כאן אולי המקוס להסביר, כי בשל העובדה שאין שני שמות פרטייס זהים, ניתן לזהות אדס באופן חד ערכי על פי שמו. ביישוס מציאותי, יש צורך במפתח ראשל (עמודה המכילה מספר חד ערכי עבור כל רשומה ומאפשרת זיהוי חד ערכי). להלן 3 המסכיסם האישיים של שלוש הרשומות בטבלה. שימו לב לשורת הכתובת בכל אחד מהס: 0%ע=ק? 380 .חב |3ח50זסם 0.0.1 27 1 :קוות | 6808 6 אס 6ונבזן זפצת 8:18 |: 6חנב 1[ 1.88% 79-: 6 מהצגו11 6בנסבן 4 811 )8 זעש: 2/001688 88169 806: סג מנוססכ) 8 שפמסם 0 40% <1ם)- | זסזס!קא = 61חז6)ח! 050/1ז4:0 - זוהוזהּ=ק?50ה.6חהּכ |3ח50ז127.0.0.1/26// :קזוח 1 זוור!זה=ק? 350 .חב |3ח50זשק 0.0.1. 27 1 :קוות [6 60 8|[ 6 צגוג[811: 36 11 +פצן ב%6פבנסגת: סנב 1[ 88% 1 6 60 טנגו11 6בנסמזק 6 רו ב0ב10: 802688 2% ?31 פכן: 810 מגוסטכ) 86 ש6מסם 0 406 6 3 150 למפתחי אתרים באינטרנט + ]1005 65סאפ" ‏ אס א4ם ₪ | 5-2 9 ₪ 9 4 4 ₪ ו עסו = 88)וזסב = ה0זה56 סו | ה36/₪8] = קסופ םעט 6% 0 [+ 5חה=ק? 350 הכ |חספזסם 27.0.0.1 1// :קוו ₪ 5 | 6908] 6 8ב 11316 +פצ שס: 316 11 +88 1 7 6 ותגוז[ 6מוסבק +" 8 28818+: 202688 צסמזגוה: 8110 גוס 0כ) % ש6שבסם 0 30% 4 /----- אחחפה | | 00000 אס [6) כאן, בעזרת השימוש בקוד פתוח, יצרנו 3 דפי ₪11 שוניס באמצעות קוב> 455 אחד. כמובן, קוד וה יכול לייצר אלפי דפי |ואדת שוניס, בהתאס לאנשיס הרשומיסם בטבלה. חיפוש כעת נוסיף למסך הצגת הטבלה, אפשרות חיפוש מספר טלפון על פי שם. נאפשר למשתמש להקיש שם פרטי, או שם משפחה, או את שניהם. כדי לאפשר חיפוש, נוסיף לקוד הקיים, טופס אד המכיל שני שדות, עבור שס פרטי ושס משפחה באופן הבא (כמו כן, נעביר את תגית ץ00פ ואת הכותרת ל- 411 רגיל במקוס 66ועש.56ח65800) : <ץ000> <0ח06/ > חסטהסו!כקה אססט 6הסחכ עו %0 סוהססו6/< זסח66> <26=5ו5 +חס)> <זח> <וחזס)> :סז ה56870 +מחן> < ח|=6רחבּח 6=%6כ/0 +טקחן> רחב 356 | <ח]=6רחהּח 6=%66כעס +טסחו> :סרחה זפזו= <וחזס)/> < ה56870= 16| א וחס6=5ס/ט מכיון שלא נשתמש בספר זה בבדיקות בצד לקוח באמצעות זְְִַַ556ּ28, לא ניתן שס לטופס. פרק 11: יישומיס מבוססים מסדי נתוניס | 137 הוספת קוד גה כמות שהוא למסמך .חק תיתן את התוצאה הבאה: זטזס!קא = זסחזס)ח! 050/1זסוא - ק127.0.0.1/203564.35//:קווח 4 2 ]1005 8065" סע א6ם 6 | | 2 4% | 6 2.0 = וב עז80ו = 68וזס עב 5610 תסו | 38/89 | קסו5 מס 30% | ₪6 [+ 03564.3 31051 27.0.0.1 1// :קוו ן 8 | 1169310קקה 000% 6מסמכ ענ 60 6בתס6[6אר ₪6 8101 0: | הז | 6 38% 1 - וצ 79 בפגונצהן] אפ 6" בגר צגוב111 7 עס וזב ו ו 00 ניתן לשים לב, כי לטופס אין תכונת חסוז86. עובדה זו, תשלח את נתוני הטופס לאותו 57 ממנו נוצר. זו האדמנות טובה לנצל את תפיסת ץ%₪ח₪6 6פָק המופיעה בפרק 5 על אובייקט ₪6500056. בתפיסה זו, כל עוד לא נשלחו אל 455 פרמטריס (סימן לכך שהקובצ עלה בפעס הראשונה), יוצגו נתוניס מסוימיס. אס נשלחו פרמטרים (סימן לכך שהקובצ עולה בשנית לאחר שנלחץ ונשלח מתוכו טופס), יוצגו נתוניס אחריס. אס לא נשלחו פרמטריס (המסמך עולה בפעס הראשונה), נציג את הטופס והטבלה כפי שהיא מוצגת בצילוס המסך הנייל. אס נשלחו פרמטרים (המסך עולה שוב לאחר שנלחץ לחצן החיפוש), נציג את אותו מסך בתוספת תשובת החיפוש. אם כן, נבדוק אס נשלחו פרמטרים. למעשה נבדוק אס הפרמטרים אינס ריקיס על ידי התחביר: חר (( "הח הו 65.50 600) קרח 56 זסה זו בדיקה וו תוודא כי הפרמטרים אינס ריקים (שקוח6פו )סח) וכך נדע כי הגולש הקיש על לחצן אוחפו5 ומעונייו לקבל תוצאת חיפוש. כדי לייעל את הקוד, נכריז על אובייקט חסו66 חח 60 ו- ₪6607056% בתחילת המסמך, וכך נוכל להשתמש בהם במהלך הבדיקה. 8 3 150 למפתחי אתרים באינטרנט כך יתבטא רעיון זה בקוד: חס ( ("6 ")60656.5 )סקר 56 +סח זו 8 "=6ח8ח1] 6זסחצו 5|ו06%8 |החספזסכ וס | 5660" הססס.ז 8 ("הז"0065070 .00650 "" 8 ("ח") 65 60651.0 8 "=6וחהח! סחהּ ("|6ם")605.ז 8 " : זססוחט 6הסחק <זם>" 50056.6 60 בקוד וה שתי בעיות משמעותיות. האחת, אין טיפול נפרד במקרה והמשתמש הקיש רק שס פרטי או רק שס משפחה. שתיים, אין טיפול במקרה והמשתמש הקיש שם שאינו קייס בטבלה. טיפול בשאילתה שגויה - שם שאינו קיים תחילה, נטפל במקרה בו המשתמש הקיש שס שאינו קייסם בטבלה. במצב בו אובייקט 6% ביצע שאילתה שאינה מחזירה כל תשובה (במקרה של חיפוש שס שאינו קיים), נוצר מצב בו א06ח1 נמצא כהרגלו בתחילת ₪6607056% (=80₪), אך מכיון שאין כל רשומות, הוא נמצא גס בסוף ‏ ₪660705% 0ם). כל שעלינו לכתוב כדי לברר אס הרשומה ריקה, הוא: הסח 601.ז זו כלומר לבצע בדיקה לוגית המוודאת אס א06ח1 נמצא בסוף ‏ ₪6607056 מייד לאחר השאילתה, מצב המתקיים רק אס השאילתה לא החזירה תשובה. בדיקת הגשת שס פרטי ו/או שס משפחה: תהליך הבדיקה שנבצע הוא פשוט. נשאל תחילה אס השס הפרטי שווה ל- יייי, כלומר, ריק. אס השס הפרטי ריק, נבדוק אם שס המשפחה אינו ריק גם הוא, ונבצע שאילתה על פי שס המשפחה בלבד. אם שם המשפחה קיים, נבדוק אם גם השס הפרטי קיים, ונבצע שאילתה בהתאם. כך ייראה הקוד (הכולל גם את הטיפול בשאילתה שגויה): 6 זסז פחטז 16 06 + 66065 ץוחס זו פוט ' הסט (("חז" פה 50 .60065 )קרפו זסה זו .שוח ספת הס ""=("חז" )6/5 .סז זז הסט ""=("ח!" )650.65 סז + "[6החהח הספזסכ 3 26 זסח 010 טסץ<>" 6 צו.56ח6500 6 | 8 "=6ההח| 6זסחצ 0613115 |החס5זסק וחסז * 56666" הססס.ז "" 8 ("ח|" )650.65 חס ז60.ז + "!50| סח 15 זס] 45860 טוסץ הספזסס 6חד<0>" 6חצו.56ה0סס65 6 6 "<זם>" ,8 ("6ההבח]")6!05.ז 8 " : 6וח8 זו" בסו 56חה6500 פרק 11 : יישומים מבוססים מסדי נתוניס | 139 "<זם>" .8 ("6הח8ח|")06!05.ז 8 " : 6חב 85% 1" בסוחצו.56חהסס65 ("|6ם")16!05. 8 " : זססוחטא] 6הסחק" .650056 6 זז 0חם 0חם 6 הסט ""=("ח!" )650.65 סז + 8 "=6חח1 6 זחא 0613[15 |החהספזסק וחסז) * 56666" הססס.ז "" 8 ("חז" 05.50 הסור 601.ז זו "!50| +סח 15 זס1 85860 טסץ הספזסס 6חד<2>" .650056 6 6 "<זם>" .8 ("6ההבח]")6!05.ז 8 " : 6וחה זו" 6סו.56חה6500 "<זם>" ,8 ("6ההח|")06!05.ז 8 " : 6חבא 85% 1" בסוחעו.56חהסס65 ("|6ם")6!05. 8 " : זססוחטא] 6הסחק" 6ח/ו.56חה6500 6 ] סחם 6 8 "=6חח1 6 זחא 0613115 |החהספזסק וחסז * 56666" הססס.ז 65.65" "( 8 ".8 ("ח|") 650 60650.0 8 "=6ותפח! סחהבּ " הסור 601.ז זו "!50| סח 15 זס1 35860 טוסץ הספזסס 6חד<0>" סחצו.56ה0סס65 6 6 "<זם>" ,8 ("6ההבח]")6|05.ז 8 " : 6החה זפזו=" 6סוח/ו.56חה0ס65 "<זם>" ,8 ("6הח8ח|")06!05.ז 8 " : 6וחבא 85% 1" בסועו.56חהסס65 ("|6ם")16!05. 8 " : זססוחט] 6הסחק" 6חצו.56חה6500 6 0 + 0חם + 0חם 0חם אלגוריתס מסורבל זה עובד, ותוכלו למוצאו בקובצ הבא : 350 564החו %> (" 660 חח 60. 80000 )6768060060 ז6=50/06 56% ";6ח0חק=ח05" ח6קס.6 ("6607056%ז. 80000" )6768660060 ז507/6= 50% 6= 6600 חח 860600 %< 0 3 4505 למפתחי אתרים באינטרנט <ץ000> <ח0?/> < 6000 / > הסוסהסו!סקה3ּ 00% 6הסחכ עו 0ף 6ההסס6|6/<ח06> < 526=5 +חס1> <זח> <וחזס)> <זם>:107 ח56876 +ומחו><ח|=6חחח זא6=%6ק/ם +וקחו> 6וחב] 85% | <ח6=1חחהח א6ת=6כ/ס 6+טמחו>:סרחבא 6פזו= <וזס+/> <ה56870= 6ט|8ע וחפט6=5ס/ם %> 6 זסז הט 16 06 + 66065 ץוחס זו פוט ' הסט (("ח"00ַהו וס .600650 )קרפו זסה זו .וח )פזח' חס ""=("חז" .000656 זז חסרט ""=("ח!") 650.65 סז + "[6החהח הספזסכ 3 0/6 זסח 010 טסצ<>" 6 צו.56חהס650 6 | 8 "=6ההח]| 6זסחצ 0613115 |החס5זסק וחסז * 56666" הססס.ז "" ,8 ("ח|")0 650 טף.0065%ז חס ז60.ז + "!50| סח 15 זס] 35860 טוסץ הספזסס 6חד<>" 6חצו.56הסס65 6 6 "<זם>" ,8 ("6ההבח]")6!05.ז 8 " : 6וח8 זפזו=" 6סו.56חה6500 "<זם>" ,8 ("6ה8ח|")06!05.ז 8 " : 6חבא 85% 1" בסוחעו.56חהסס65 ("|6ם")16/05. 8 " : זססוחטא] 6הסחק" 6וחצו.56חה6500 6 זז 0חם סחם 6 הסט ""=("ח!" )650.65 סז + 8 "=6חח1 6 זחא 0613115 |החספזסק וחסז * 56666" הססס.ז "" 8 ("חז" 05.50 חס ז60.ז זו "!00| +סח 15 וס 85860 טסץץ הספוסק 6חהד<>" סל שש.56ח0ק65 6 6 "<זם>" ,8 ("6ההבח]")6|05.ז 8 " : 6חה ז5זו=" 6סח/ו.56חה0סס65 "<זם>" .8 ("6ה8ח|")06!05.ז 8 " : 6חב 85% 1" בסוחעו.56חהסס65 ("|6ם")1605.] 8 " : זססוחט] 6הסחק" 6ועו.56חה6500 6 ] סחם 6 8 "=6חח1 6 סח 0613[15 |החספזסק וחסז) * 56666" הססס.ז 8 ("ח"0 650 00650.0 "" .8 ("ח!")חו00675.ז665ז 8 "=ס6ותםח! חב " פרק 11: יישומים מבוססים מסדי נתוניס | 141 הסור 601.ז זו "!50| סח 15 זס] 35860 טוסץ הספזסס 6חד<0>" שחצו.56ה0סס65 6 6 "<זם>" ,8 ("6ההבּח]")6!05.ז 8 " : 6חה לפזו=" 6סוו.56חה6500 "<זם>" ,8 ("6ה8ח|")06!05.ז 8 " : 6חב 85% 1" בסוחעו.56חהסס65 ("|6ם")6!05. 8 " : זססוחטא] 6הסחק" 6חעו.56חה6500 6 א 0חם ₪0 0חם ₪ 0חם %< <ז> %> "063[5 |8ח50זסק וחסז]) * 561666" הססס.ז "<> < ספ %90!6>" 66 650056 "<< >6רח3] 19% <66חעט= וס|60 %ח0+> <|668= וסו060 ה+>" 66ו .650056 "<)/ >6רח3ּ] 85% |<66וחעש= זס|60 00%+> <|668= זסו0060 ה+>" 56.66 ח500סז "<ח?/> זסטותגו! 6הסחק <6סוחאו= זס|ס60 %ח0?> <|668= זסו060 >" 6סו .650056 "<7/>" 6סןש.6500056ז |סחט 0 "<>" 66ן/ש.6520056ז] 8 ("506ח]")6!05.] 8 "=2806.350?0 |8ח6750ק=)6זח 8> <0ס>" 6 50056 "<0?/> <8/>" ,8 ("סהההּח")86!05.ז 8 "<" "<%0/>" ,8 ("6רהבּח!")86!05.] .8 "<%0>" 56.6 סז "<60/>" 8 ("|06!05)"6.ז 8 "<0ס>" של .650056 "<]/>" 6ס]ע.6500056ז] ;+אסתסעסרח.ז קססן "<זח> <80!6ל/ >" 6סוזע. 05056 <% אמנס, קוד וה עובד, אך הוא מסורבל ולא יעיל. שימו לב, כי לאחר כל פתיחת אובייקט ז86607056, חייבת להתבצע סגירה כדי לאפשר גישות נוספות למסד הנתונים. כמו כן, שורות קוד רבות חוזרות על עצמן. ניתן לפתור בעיה זו על ידי בדיקת צד לקות באמצעות זְַמְַ56הע38 אשר בנוסף לפרמטריס, ישלת דגל המודיע אילו שדות מולאו. על פי דגל ה תבוצע השאילתה. ספר וה דן בתכנות בצד השרת, ולכן נייעל קוד זה בצורה אחרת. נבצע את הבדיקות ונקבע את ערך המשתנה המחרוזתי. לאחר סיוס הבדיקות, נבצע את השאילתה המתאימה למסד הנתונים תוך שימוש במחרוזת השאילתה המתאימה. 2 3 50 למפתחי אתרים באינטרנט לדוגמה: ₪ "=6והח! סח חס (("חז" הס .60065%) סקר 56 זסה זו חסרש ""=("ח" )0 ח60650.016/50 + חסרש ""<>("ח!" )60650.5 זו "" ,8 ("ח|")חו50/ 60650.6 8 "=סותפח! "=ץזסטף זס 6 חס 56 חסרש ""= ("ח!" 6/5 ס.ז60065 זו "" ,8 ("חז") 665.05 8 " =6ותפח "=ץזסטף זס שק 6 ₪ ("חז")חה50 60651.6 8 "=6ההבּח "= ץוסטף 01 6קס "" ,8 ("ח|")0 650.65 00ז ] חס 60 חסו (/ וסט 01 06) וחספ זו "הח הספזסק 3 026 לסה 010 טסץ<>" 56.6 סקז 56 ץ סט 0% 6כ/ .8 "6זסחצו 0603115 |החספזסכ וחסי * 56166" הסקס.ז הסור 601.ז זו "[500ו! זסח 5| זס] 35660 טסץ הספזסק שד <>" 50056.6 6 6 "<זם>" .8 ("6וההח6!05)"1. .8 " : 6וחב] 156" 6סו/ש. 65056 "<זם>" ,8 ("6ההבח|")6!05.ז 8 " : 6וחב 355 |" שוש 56ח0ס65 ("16|05)"6. .8 " : זססוחטא 6הסחק" 6שו/ש.56חה6500 6 + 60 זז 0 ] חס פרק 11: יישומים מבוססים מסדי נתוניס | 143 כך ייראו תשובות שונות לחיפושים שוניס: זסזס!קא = )6חז6)ח! 050/1זסוא - =ה|אזטחוזהּ-ח127.0.0.1/203565.350?1// :קזוח 1" | =ח|8זוו/וז8=ח71 03565.3 .270.0 1// :ות [ 5 3011080101 0008 6תסבכ עדת 10 6בתסס[6אר 680 בר 6 1 [ שמ3ז[ שפצ עגוב[1נה : 6מנב ז[ +פצגק טג : 6חנב 11 1.881 6 : 6 טמנגוז1 6מנסבן. ?הס 1 מז אכה וז 9 ו 6 ב6+פבנטגת, | פס זסזס!קא = 61חז6]ח! ])ס5סזסוא - =ח|0]08=ח1?ק127.0.0.1/23565.35//:קזות בּ =ח710=0108 350 .01.3565/ 27.0.0.1 1// :קוו 5 31108108 000% 6מסחכ ענת 0 6ב סס[6 זר ₪60 ר-) [ 6 1 אש 4% 1 11 15 'ד10 351660 וו ונספוצ6ק סור פַדַפפְדפ ו אפ 6 פופמוסגת|| גוחב | מש כ ממ" שריו 4 3 45 למפתחי אתרים באינטרנט לפניכס הקוד המלא : 350 565החק %> (" 660 חח ס6. 80000 ")6768060060 ז6=50/6 56% ";6ח0חק=ח05" ח6קס.6 ("6007056%ז. 80000" )607680600[60. ז56/6= 56% 6= 8606006600 <% <ץ000> <%ח0?/ > < 00 / > הססהסו!סקהּ אססם 6הסחכ עו 0ף 6ההסס6|6/< 06 > < 526=5 +חס1> <זח> <וחזס)> <זס>:ז0ס? 50870 +ומחו> <ח|=6חחח זא6=%6כ/ס +וקחו> 6וחהב] 85% | <חז=6חחהח א6=06כ/ס 6טמחו>:סרחבא 6פזו= <וזס+/> <ה56870= סט[ ופט6=5ס/ס %> הס (("חז" הו 50 .60065%) קרח 56 זסה זו חסרש ""=("ח" )0 ח16/50ו60650.0 + חסרש ""<>("ח!" 60650.6 זו "" ,8 ("ח|") 6/5 60650.0 8 "=סותפח! "=ץזסטף זס 6 ] 60 56 חסרש ""= ("ח!" 60065.5 זו "" 8 ("הז") 665.05 8 " =6ותפח "=ץזסטף זס 6סם 6 8 "=6הח! 30" 8 ("ח "5 60650.6 8 " =6ותפח "=ץזסטף 06 6קסש "" ,8 ("ח|")0 650 טף.0065%ז ] חס 0 חס (/ וטו 01 26)/סקוח6פו זו "[!סהחהח הספזסכ 3 26 זסח סוס טסץ<ם>" שש 56 הז 56 ץ סט 0% 6כ/ .8 "6זסחצו 0603115 |החספזסכ וחסי * 56166" הסקס.ז חס +60.ז זו "[500ו! זסח 5| זס] 35660 טסץ הספזסק שד <>" וע 56 סז 6 56 "<זם>" .8 ("סוההח6!05)"1. .8 " : 6וחב 56זו=" 6סו/ש. 65056 "<זם>" ,8 ("6ההבח|")6!05.ז .8 " : 6וחב 355 |" 6שוז/ש. 65056 ("6|05)"61. .8 " : זססוחטא 6הסחק" 6סו/ש.56ח0ס65 פרק 11: יישומיס מבוססים מסדי נתוניס | 145 6 ₪ 60 + 60 ]א 600 <% <זח> %> "069|5 |8ח50זסק וחסז) * 561666" הססס.ז "<> < ]ספ %30!6>" 6סו .50056 "<ח+/>6רח3] זפזו= <66וחא= זס!60 %ח0?> <|668= זס|060 ה%>" 6סוע. 5056 "<)/ >6רח3] 85% |<66וחעש= זס|60 %+ח0+> <|668= זסו0060 הז+>" 66 650056 "<ח)/> זסטרתוו! 6הסחק <6סוחצו= זס|ס60 %ח0+> <|608= זסו060 >" סו 650056 "<7/>" 6סןע.6500056ז |סחט 60 "<>" 6סןז/ש.6500056ז] 8 ("506ח)")6!05.ז 8 "=2806.350?0 |8ח6750ק=)6זח 8> <0ס>" 500566 "<8<>]/60/>" .8 ("סהַַבח6!05)"1.ז 8 "<" "<)/>" ,8 ("6וחבח!")06!05.ז] 8 "<0ס>" סו 50056 "<60/>" 8 ("]")₪6!05.ז 8 "<60>" סע 650056 "<]/>" 6סןע/.6500056ז +אסתסעסוח.ז סססן "<זח> <80!6ל/ >" 6סוזעו. 05056 <% ממשק מנהל ספר הטלפונים עובד, כולל דפים אישיים ואף חיפוש, וכעת כל שנותר, הוא לבנות ממשק עדכון והוספה למנהלי הספר, כלומר, מסך אדמיניסטרציה. נתחיל בבניית מסך ההזדהות. מסך זה יכיל טופס וייבנה כ- ₪ פשוט. |החשח. הורחו80 >ססם שהסחק <%ח0)/ > 80 50חורחוסג/ 800% 6חהסהק<526=5 %חס+> <205%= 600 כ35. חהורח0ה 000% 6חהסחק=ח0ס60ה החזס]> <ז0> <ח=6וחפּח %א6=%5כ/ס זטסחו> : סוחבו <ז0> <=6חחח זסצו355ק=6כ/ס זטסחו> : סזסשופפבק <והח6=50ק/ס זטסחו> <וחזס)/> 6 3 4505 למפתחי אתרים באינטרנט כך ייראה מסך זה : ור | | כו 1008 | 8פוסעב] | אסו% ‏ 88ם ‏ 6 | . .. 0 / - - .םי הז שוחס | 36/858] | סופ בח 30% 0 ₪ [* |הח)ר.רזורחבוב. אפ שהוסחום/ 27.0.0.1 1 :קוזת ₪1 בי | סו 1תווח0, 00% 6מסחק ונב 1 : 898018 | עגור זוחזסגום ופוח 40 | כעת נבנה את הקוב 850.חוחח0 200% 6חסחק המופיע כ- ח600ה של הטופס, ואליו יישלחו הפרמטרים ח ו- ס. קוב וה יבדוק אס שס המשתמש והסיסמה קיימים בטבלת ופט ובמידה וכן, יאפשר לראות את הנתונים. הבדיקה תתבצע על ידי שאילתה המחפשת שילוב של השס והסיסמה. במידה ואין תשובה לשאילתה (0₪ם, זוכריס!), השילוב של שס וסיסמה אינס נכונים. שימו לב, כי אנו משתמשיםס בשיטת 005% מטעמי סודיות, ולכן חובה להשתמש ב- זס).60065%ז. כך תתבצע הבדיקה: ("ה660 חח 600. 80000 )6768060066 זס/6=56 506% ";006חק=ח05" חה6קס.6 ("6007056%ז. 80000" )67680600[60. ז56/6= 56% 8 ("ה")6065%.107 8" =₪0567 6זסחע 5075 וחסז * 56166" הסכס.ז | 8 "=55הכ 0ח3ּ " "" .8 ("ק")וחזס).6065%ז חס +60.ז זו <זח>160ח26 600655 <526=5 %+ה0ס+> " סע 50056 0.0 " אם כן, אס הסיסמה אינה נכונה, יש לחסוס את גישת המשתמש ולהוסיף 0. זז כדי להיות בטוחים, שחלקים נוספיסם מהמסמך לא יישלחו לגולש לא מורשה. במקרה שהסיסמה נכונה, יש להציג למשתמש המורשה את הנתוניס. בספר ה בחרנו להציג למשתמש המורשה את אותה טבלה שרואה הגולש הרגיל, אך לדאוג שהקישוריס מהשמות הפרטיים, יובילו למסכי פרטים אישייס בהס יוכל המנהל לבצע שינוייס, הוספות או מחיקות. פרק 11: יישומים מבוססים מסדי נתוניס | 147 עלינו לאבטח את שאר המסמכים הנמצאים ביישום, ולכן בחרנו להשתמש בעוגיות. כך שברגע שגולש הזדהה בהצלחה, נשתול לו עוגיית אישור אשר תיבדק בכל דף מאובטח. שימו לב, כי בבניית הקישוריס בטבלה, התלפנו את ...0806 |6)=2615008זה 8> ב- ...6 |675008 6)=560076זח 8>. זאת כדי לאפשר למנהל הספר להגיע לדף מאובטח בו יוכל לשנות את הנתוניס. להלן הקוד שכולל בדיקת עוגיה מאובטחת למקרה של גישה חוזרת לדף לאחר הודהות: 350 חווחסה אססכ 6הסחק %> (" 660 חח ס6. 30000" )6768060060 ז6=50/6 50% ";6ח0חק=ח45" ח6קס.6 ("76007056%. 607680000[60)"80000. ז56/0= 56% 6= 660 חח 860600 8 "=855 300 ".8 ("ח")7600650.)07 8 "=ז5 6זסחעט 5ז0פ וחסז) * 561666" הססס.ז "" ,8 ("")60065%.)07ז הסור "65ץ"< >( "חהסוזה28וזסהזטב3ּ" )105א600.+65ש6ז חב 60%.ז זו "<זח>160ח26 60055 <526=5 %חס1> " 6סן .50056 0.0 חס 6 "65ץ"= ( "חהסוזה2וזסו+טב3ּ" )0165 6520056.000יו <% <ץ000> - הסוהסו!סק3 000% 6הסחכ ץוח 60 6ה6|60/< 06 > < 526=5 +חס]> <%ח0/ > < 60 > חר <זח> <וחזס)> <זכ>:107 ח56876 +ומחו><ח|=6חחח זא6=%6ק/ם +וקחו> 6וחב] 85% | <ח6=1רחהח א6=06כ/ס 6טמחו>:סוחבא 6פזו= <וחזס)/> <ה6=56876ט|פש 6 רת6=50כ/ס %> הסר (("הז" 6/5 ו60656.0ז) סקר 56 +סח זו חסרש ""=("ח" )0 ח60650.016/50 + חסרש ""<>("ח!" )60650.6 זו "" ,8 ("ח|")חו50/ 6 60650.0 8 "=סותפח! "=ץזסטף זס 6סם ] חס 56 חסרש ""= ("ח!" 6/5 .600650 זו "" 8 ("הז") 50 60650.0 8 " =6ותפח "=ץזסטף זס 6סם 6 ₪ ("חז")חה50 60651.6 8 "=6ההבּח "= ץוסטף 01 6קס ₪ ""=6וההח| סח 8 3 4505 למפתחי אתרים באינטרנט "" ,8 ("ח|")0 650 טף.0065%ז ] חס זז 60 חס ( וטו 01 06)/סקוח6פו זו "[6החהח הספזסק 3 026 לסה 010 טסץ<>" 56.6 סקז 56 ץ סט 01 06 8 "6זסחצו 15ו0613 |החספזסק וחסזז * 561666" הססס.ז הסור 601.ז זו "[00ו! זסח 5| זס] 35660 טסץ הספזסק שד <>" וע 56ח500סז 6 56 "<זם>" .8 ("סהההח6!05)"]1. 8 " : 6וחב] 156" 6סוץ. 65056 "<זם>" ,8 ("6ההבח|")6!05.ז 8 " : 6וחב] 355 |" שוש 65056 ("[86105)"06.ז ,8 " : זססוחגו! 6הסחק" 66/ש.₪6500₪56 6 חס זז 60 ] חס <% <זח> %> "063[5 |הח50זסכ וחסז] * 561666" הססס.ז "<> < ספ %90!6>" 66 50056 "<< >6רח3] 19% <66!חעט= וס|60 %ח0+> <|668= וסו0060 ה+>" 66ו .650056 "<ר/>6רח3] 35% ]<6שוחצ= זס|60 00%+> <|668= זס|0060 הז+>" 50056.6 "<ר%/> ז6ס וח 6הסחק <6שוחא= זס|60 %חס?> <|668= זס|060 ה%>" 6שועו. 56 הז "<7/>" 6סןע.6500056ז 0% וסחט 0 "<>" 6סןשו.6500056ז] 8 "=קכ?ַ5בּ.6חָבּכן !2075003 61=500076זה 8> <%1>" 56.6 קפס 8 ("006ח3ח)")6|05.ז "<8<>/60/>" .8 ("סהַַהח6!05)"1.ז 8 "<" "<60/>" ,8 ("6רהבּח!")86|05.] .8 "<%0>" 56.6 סז "<0ס/>" 8 ("6!05)"00. 8 "<%1>" 6פוצו. 56 הז "<]/>" 6סןע.6500056ז] ]סרח קססן "<זח> <80!6ל/>" 6סוזע. 5056 <% פרק 11 : יישומים מבוססים מסדי נתוניס | 149 כך ייראה מסך האדמיניסטרציה: |< וד 8 1006 פשסטבת ‏ אש 08 6 | ₪ . << .₪ 7 ₪ | עז0פו = 85]וסץב- ה0זה56 שחס | 386358 | קס50 מזםוזם-] 0% | 0 ₪ [+ 350 הוחחטה. טספ שהסחתכ/ 27.0.0.1 1// :קוו ו₪] ימ הורוז40, - ם1168010ק3 000% 6מסגכ עד 60 6בס6[6אר ₪60 | זט | 6 + 6 וצו 79 | מפגומהן] 6 ל8בנ טגה 7 כעת, ניגש לבנות את דף העדכון המאובטח. לפני כל פעילות, יבדוק הדף המאובטח את העוגיה חסח8?חסוחזטהּ כדי לאמת כי המשתמש הודהה בצורה מסודרת. לאחר מכן נציג את המידע בתוך שדות טקסט, זאת כדי לאפשר את שינוי הפרטים (מלבד שמו הפרטי של האדס, אשר בשל חוסר במפתח ראשי, מזהה כל אדס בצורה חד ערכית). כך נבצע את בדיקת העוגיה והצגת הנתוניס : %> חס "65 ע"< > ( "חס 2 תה" )65 60650.600ז זו "<ז>160ח26 06655 <5126=5 %הס]>" ססועע. 650056 1-8 6 (" 60 חח ס6. 30000" )668660060 ז/6=50 566 ";6ח0חק=ח45" ח6קס.6 ("6007056%ז. 80000" )67680600[60. ז56/6= 56% 6= 660 חח 860600 8 "=6הח] 6זסחצ 0613115 |8ח50זסק וחסז * 561666" הססס.ז "" 8 ("ק") 65.65 סז "<> <006+/>0806 |675008ק 5660076 <5126=5 +חס1>" 66 50056 "<רז6=10רח3ח הוהזס?>" 6ס וע 050056 "<זם>" .8 ("6ה8ח)")₪6!05. .8 " : 6וחה זו" 56.66 ח500סז "<זם><" .8 ("6החבח|")6!05.ז 8 "=6ט|פע ח|=6חהּח +טכחן> : 6וחב 35% 1" סע 56 הז "<זם><" 8 ("|₪6!05)"6.ז 8 "=ס6טוע |6=%6רחפח +טקחו> : זסטוהטצ! 6הסתק" 56.66 ח6500ז 0 3 4505 למפתחי אתרים באינטרנט "<זם><" .8 ("06!05)"83007055.] 8 "=6ט|9/ 6=800וחפּח זטסח!> : 007655" 56.66 ח500סז 8 "=6ט]8/ 6=06חחהח זטקחו> : הסהט206)" 6סוע. 56 הז "<זח><" .8 ("חסוהק 066" )6105 "<ץ)ו6=]00ט!8ע ץ)0סרח=6רחהח הסאטפ=6כעס +טסחו>" 66 50056 "<26|606 =8]6/ 06|616= סרהה הסטטופ=6ק/ט זטסחו>" 6סוע. 56חה050ז "<> < 6=00|ה/ 6=300וחהח הסטסטפ=6ק/ס זטסחו>" 6סוע. 05056 "<200%>/8 6חסחק 60 880% < 5ב ווחוסה >ססט 6הסהק=)6זה 8>" 56.66 הז 0 %< כך ייראה המסך: <ור) - ו 7 460 | 008[ | 8וסטב] | אשש זהם- 6 | 6 9 . > . ₪ - 5 ה קסופ זב 30% | 86 ₪ [* ץ=כ? 350 .הבכ |ההספזסכן 5606 27.0.0.1 1// :ות ₪ 5 | 5601176 601 6 א : 6מנ3ז1 זפצת 07778 תפשחחש] : 816 11 1.88% 07777 987980%8] : 62 ממנגוז[ טמוק זא 688 0000707 שת : 8110 גוס כ) | 8 | סופופם | וס / שפוחו פא | | | סחסם [6 בשלב זה, שלושת הלחצנים אינס פעילים. כדי לאפשר ללחצנים לפעול, אין מנוס מכתיבת קוד +38/85610 המשנה את ה- חס60₪0ה של הטופס בכל פעם לקובא 5 שיטפל בהזנה, שינוי או הוספה. לחילופין, ניתן לפתור בעיה זו על ידי קישור היפר-טקסט פשוט. להלן פונקציית זְַָ56הע38 אשר תקבע את ה- ח600ה של הטופס ותשלח אותו: (ה0ו0650080)ח3600 וחזס1 56% הסטסחות ָ ;סו 6508 = 60 סוס ( 0 5. רתוס+ .6 0 , פרק 11: יישומים מבוססים מסדי נתוניס | 151 חשוב לציין כי עלינו לשלוח תמיד גם את שם האדם (מכיון שהוא מספק לנו זיהוי חד ערכי). אין אדס המופיע בשדה ולכן לא יישלח שם, ולכן נוסיף שדה נסתר (ח606ו) אשר יכיל את שס האדם באופן הבא: "<" 8 ("חז")86!05. .8 "=6וו|/ ח6=1חבּח ה006וחה=6ק/ט 6טסחו>" 50056.6 באופן וּה, יישלח שמו הפרטי של האדס עם הטופס. עוד נושא למחשבה הוא האס להשתמש בתפיסת /שח66ח, או לבנות קוב 455 עבור כל פעולה. התשובה היא לעולס הרגשתו האישית של התוכניתן. אם הוא חש כי יוכל לבנות מסמך /%ח₪96 מסודר וקל לתחזוקה, ניתן לבנות קוב אחד. מכיון שמסמך ץזח₪66 הינו ארוך ומסובך יחסית, נבנה בדוגמה זו מספר קבצי 455 קטנים. תחילה, נוסיף את פונקציית 28/8566 ואת ההפניות אליה מהלחצנים. להלן הקובצ הגמור: 806.85 |5008ז6כ 500076 %> חס "65 /"< > ( "חס 2 תה" )165 6065%.600ז זו "<זח>160ח6 400055 <5126=5 %הס1>" שוש 650056 006.0 6 (" 660 חח ס6. 30000" )6768060060 ז6=507/6 50% ";6ח0חק=ח05" ח6קס.6 ("6607056%]. 80000" )6768060060 ז507/6= 50% 6= 6600 חח 860600 8 "=6הח1 6 זחא 0613165 |החהספזסק וחסז * 56666" הססס.ז "" 8 ("ק") 650 650.00 "<זח> <2306>/100% |8ה26750 566076 <5126=5 %חס1>" סו 650056 "<ווח'זס6=1וח3ח וחזס1>" שו 05056 8 "=6וו]8/ ח]6=1ח3ח ה006וה=6כט 6טסחו>" 50056.6 "<" ,8 ("סוחבח)")6!05.] "<זם>" .8 ("סהַהח6|05)"1. 8 " : 6וחפא זו" 66וע. 650056 | 8 "=6ט]/ ח|=6רחפּח +טקחו> : 6וחה 85% 1" 66 .650056 "<זם><"" .8 ("6ה8ח!")6!05.] 8 "=6ט]8/ |6ז=6וחפח לטקחו> : זסטוחוצ! 6הסחק" 50056.6 "<זם><"" ₪ ("|0!05)"00. 8 "=8|06/ 6=30וחפּח זטסחן> : 007655" 50056.1 "<זם> < ".8 ("6!05)"8007055.] | 8 "=6ט]8/ 6=06חחפח +טקחו> : הסחהקט006)" סע 50056 "<זח><"" .8 ("הסו הק 6!05)"066.ז 8 "עו 6=]00ט!3ע וסרה =6רחהח הסאטפ=6כ/ס זטסחו>" 66 50056 "<('ס35. ץו00רח')ח3600 הוחזס1 56%=>סו!סחס" 6 = 816 06]6%6= 6רחהח הסאטפ=6כ/ס סטסחו>" 6סו .650056 "<('06|606.850')חסו360 סז 56%=אסו!6חס 2 3 50 למפתחי אתרים באינטרנט 0 =6ט|ה/ 6=800וחהח הסאופ=6כ/ס זטסחו>" 66 50056 "<זח> <('300.350')ה3600 סז 56%=אסו!6חס <800%>/8 6חסחק 0ף 86% <352. 8563ח61=2זח 8>" 50056.6 ] חס %< >5000< (ה06500800)ח3600 וחזס1 56% הסטסחות / ;06508 = 860 סנס ( סופ רוטוו 0 , >/50100< עדכון הקובצ הראשון שנבנה הוא הקוב שיטפל בשינוי הפרטים. על קוב זה לקבל את הנתוניס ולהחליף אותם בטבלת 061915 |8חס5ז6ק על פי השס הפרטי. כמובן, שבתור קובץ מאובטח, יש לבצע תחילה בדיקת העוגיה חסט8לוזסחזטג3. לאחר סיוס הפעילות, יפנה הקובצ את המשתמש ל- 850.חוחז0 200% 6חסחכ על ידי ז601766ז, כדי לראות את השינוי בטבלה. קפה. עסו %> חר "65 עי"< > ("ח2800הסתשט6065.600165)"3 זו "<זח>160ח26 60055 <526=5 %הס?> " 6סן עו 650056 50056.0 6 (" 660 חח 60. 80000" )67660060 ז6=50/0 50% ";6חסחק=ח05" ח6קס.6 8 "=6וההּח] 56% 06181|5 |החספזסק 0806" 006006א6.0 8 "= ,"8 ("חו" 650.50 8 ("0 "ה 50 60065.0 8 "=3007055 ,"8 ("|ס" 65.50 סז 8 "=6הח1 6 סח ".8 ("06" )60650.5 8 "=חססבקטססס ." "" .8 ("חז" )65.65 6 8חותז0ה=6 56% "35 חורח30 000% 6הסתכ" 601760%ז. 650056 זו 60 <% פרק 11 : יישומים מבוססים מסדי נתוניס | 153 הבה נבחן את היישוס עד כה. אהו מסך האדמיניסטרציה: 1]<1םן- | זסזסוקא = )6חז6!ח] 50/1סזסוא - 352 חוחו3ּ אסס 6ח127.0.0.1/200//:קווח ב 350 .חוחח30. סט שתסחכ 27.0.0.1 1 :קוות [₪ הווה40, - ה1108110קק8 000% 6תסגכ עדת 0 6בתס6[6 א ₪610 | 9988 | ונז 81 1 א צפצץ לת ]א אמ וכיה 9 מפגומצ;] 6 1 מגגת] 7 צס אם נרצה לשנות את פרטיו האישיים של פסוחּ, נלחץ על שמו הפרטי ונקבל את המסך הבא: <ובו- ₪ ה 5חזב=ק? 35. הבכ |ההספזסכ 5606 27.0.0.1 1 :ות [₪ ₪601176 6808[ 6 פוצר : שוב 11 +פצ אש : 816 11 1.88% 077077 078866] : 62 וגו 6מנסמק ₪₪7707] 688 וגו ] : 8110 גוס % שנס 0+ 0% 4 3 85 למפתחי אתרים באינטרנט נשנה את שס משפחתו ל- חסחסס ונלחצ על לחצן עזוסו. <1ם])- | ו ו ו ו | ₪ ספ 1005 פשסטבת ‏ השע 08 ₪6 | | " | דד 0 = ₪68סעב-] 568100 שחס | 48888 | קסופ ונק 30% 0 ₪ [+ 38 הוחח3. סט שחסחום/ 27.0.0.1 1 :קזותן ₪ 5 | - הוז10, - ה116810קה 000% 6הסחכ ענ 60 6במסס[6 א ₪0 ל 1% - 4% | סז 79 בפגונצהן] 6 19פבננטגת ום 0 = 7 אחשה שה 8 8 0000000000 שתסם ן₪) ניתן לראות בטבלה, כי השינוי במסד הנתוניס התבצע. מחיקה פעולת מחיקה היא פעולה פשוטה. כל שעלינו לעשות הוא למחוק את הרשומה לפי השס הפרטי באופן הבא: 00|606.8570 %> חר "65 ץ"< > (" חס 280 וסט" )65ו60650.600 זו "<זח>160ח26 60655 <5126=5 %+חס+> " 50056.6 6.0 סז 6 (" 60 חח ס6. 30000" )668060060 ז6=50/0 506 ";006חכ2=ח05" הסקס.6 8 "=6 8 6 חש 0618115 |8ח50זסכ וחסי] 061606" 660066א6.6% ".8 ("ח "50 065.06 6 8חותז0ה=6 56% "35 חורחוס3 00% 6חסתכ" 7601766. 050056 חס <% פרק 11: יישומיס מבוססים מסדי נתוניס | 155 כעת נבצע תהליך מחיקה. [<| וםן= | זסזסוקא = )6חז6!ח! 1/ס5סזסוא - 352 הווה אססש 6ח0ח127.0.0.1/20//:קווח 1 30.35 סט שתסחכ 27.0.0.1 1 :קוות [₪ הודח 4, - ה1108110קק8 000% 6תסגכ עדת 0 6בתסס[6 שר ₪610 6 9[ ו 4% | פַָּפַפַפפ/ בפגטנ 3 6 86 בנ גת 7 0 במסך האדמיניסטרציה, נבחר את שם האדם אותו אנו מעונייניס למחוק, ונגיע לדף הפרטים האישיים המאובטח. אסץע=0? 35 פְחָ03 |ההספזסכ 5606 27.0.0.1 1// :קוו [₪ 5601176 ]68008[ 6 אס : 1136 +פצג גומ 81| : 6מנ3 11 1.88% ל : 6 ממנגוז1 6מסגץ 4 זוע ו : 09688 מז ו :וט % ש6שמסם 0 340% 6 3 150 למפתחי אתרים באינטרנט כל שנותר, הוא ללחוץ על לחצן 561616 ולקבל את המסך הראשון. |<1ם)= | זט זס!קא = 6חזסוח! 050/1זסו4 - ק5ה.חוחווהּ. אססם 6חסת127.0.0.1/2//:קווח ב כ 1005 88מסטב] | סש /0ם ‏ 6ן] | 5 . >. ₪ )]( ₪ | 8 4 ₪ עז0פו = 85]וזסץב- ה0זה56 חס | 386358 | קס50 זב 0% ₪0 ₪ [+ 350 .חוהח30. סט שתסחכ 27.0.0.1 1 :קוות ו₪] | הווח 4, - ה1108110קק8 000% 6תסגכ עד 0 6בתס6[6 א ₪60 | זט | 6 +13 ו וצו צגום11 3 6 8+9בצנ טג 8 7 כפי שניתן לראות, הרשומה המבוקשת נמחקה ממסד הנתוניס. הוספה מסך ההוספה אינו מסובך במיוחד, אך מתחלק לשני חלקים. החלק הראשון, הוא הצגת שדות טקסט ריקים שיאפשרו הזנת פרטי האדס החדש. החלק השני הוא הזנת המידע אל מסד הנתונים. מכיון שפעולות אלו אינן מסובכות מדי, נבצע את שתיהן בקוב 450 אחד בתפיסת ץ0ח66ח. בכל מקרה, מכיון שאנו עוסקים בדפיס מאובטתים, נבדוק תמיד כי העוגיה חסוסה28וזסחזטה קיימת. לאחר מכן נבדוק אס הדף עולה בפעס הראשונה על ידי בדיקת ץוחו לאחד השדות ונציג את המידע בהתאם. החלק הראשון ייראה כך: חר "65 /"< > ( "חס 2 תה" )65 6065%.600ז זו <ז>160ח26 00055 <5126=5 %חס]>" 6סועש. 50056 1-8 + 60 הרש ( "סרחה זו" 65 .6065% )סקר 56 זו "<> <%חס?/> חהספזסכ סח 3 526=5<400 זהס?>" 56.6 חהסקפסז "<וס+>" 66]/עש.56ח500ז פרק 11: יישומים מבוססים מסדי נתוניס | 157 "<זם> <6חחהח 9%זו6=1רחהח זטסחו> : 6וח3] 5%זו=" סע 05056 "<ז > <6רחהח 6=|35%רחהח זטסחו> : 6וח3] 1.35%" סשועע. 05056 <זם> < טח 6הסחק=6חחפה +טקחו> : זסטוגו 6הסהק" 50056.6 "<זם> <6=3007655וחפח זטסח!> : 007655" וע 50056 "<זח > < ה0ו6=060008רחח לטקחו> : הסהקט06כ)" 6סו עו 650056 "<זס1/> < זר > < זור 50= שופ ורס 6=5כ/ס זטסחו>" 6סו 50056 אס התנאי: הסח ("6רחהה 5%זו" )6/5 .60065%ז) ות 56 זו אינו מתקייס, יבצע קובץ זה פעולת בדיקה ראשונית לוודא כי השס הפרטי אינו קיים בטבלה (להזכירכם, אנו וקוקיס לשס פרטי ייחודי מכיון שאין לנו מפתח ראשי). אס השס אינו קיים, יוזנו הפרטיס לטבלת 661918 |8ח50ז6ק במסד הנתונים. להלן הקוד המלא : 18 00.30 %> חר "65 /י"< > ("ח2800הסתשט6065.6006165)"3 זו "<זח>160ח6 400055 <5126=5 %חס]>" שוש 50056 006.0 זו חס חס (( "סרחה ")65 ט.6065%ז) רשפ זו "<> <%ח10/ > ח50זסכ שוח 3 526=5" סע 50056 "<והזס?>" סוז/ט.6520056ז "<זס> <6רחהח 9%זו6=1רחהח זטסחו> : 6וחב] 5%זו=" סע 05056 "<ז> <6רח8ח 6=|35%חבח 6טכחו> : 6וחב 35% |" סע 650056 "<זם> < סט חח 6הסחק=6וחפה +טקח!ו> : זסטהגו 6הסהק" 50056.6 "<זס> <6=3007655החפּח זטסח!> : 007655" וע 50056 "<> < הסה 6=0600רחפּח +טקחו> : הסחהקט006)" 6ס .50056 "<חזס1/> <> <זורח6=500ט!פע הו 6=50ק/ס זטסחן>" סע 50056 6 (" הסוח ס6. 80000 )7060060 ]7/0 6=50 56% ";6חסחק = ח05" ח6קס.6 ("6607056%. 30000" )068860060 זס50/0= 56% 6= 6600 חח 860600 8 "=36ח1 6זסחעע 0609115 |הח50זסכן החסיו 6הההח1 5660" הסקס.ז "" 8 ("6 הח 56ו "650.50 חס ז60.] זו ,8 "1050ו|8/ 0608||5 |8ח50זסכ ססחו +ס5חו" 6ז6.6%660 8 7" 8 ("6וחפת 5%" )חה50/ה6 .600051 8 "," 8 ("6החפח 0"!35%ח50/ 60051.6 8" 8 ("זסהחטת 6הסחק 65.65 סז 3 450 למפתחי אתריס באינטרנט 78" 8 ("8007055 )5 00650.6 "('" 8 ("חסו 8 ט060" )065.65 6 08 ה=6 56% "ספה חור307 00% 6חסתכ" 6017600 56ח500טז 56 "<זם>.1505א6 ץ680ז| 60056 טסץ 6חבּ] זו 6הד" העש 56ח500סז "<8/>א6)=800.350<286זת 8>" 6סו/ש.56ח500סז זו 606 חס <% כעת נבחן את הוספת הרשומה. נפתח את מסך האדמיניסטרציה: <וםן- 7% 4 1006 5פסטב" ‏ אפ 06ם ‏ ₪6 | > . > . 9 )3 ₪ | 8 4 3 עז0ו] | 89ווזסעיב-] ‏ 568100 סוחס | 3₪/₪58 | קסופ םס 6% 0 ₪ [+ 350 הוחחטה. אסספ הפסכ 27.0.0.1 1//:קוות ₪ ימ - 01 - ה1168010קקה 000% 6מסמכ עד 60 6בסס[6א ₪60 | - ב | וז 1.38% ]מו 0% צגום 311 6 810 בננ מ גר 7 8 נלחץ על אחת הרשומות, ולאחר מכן על לחצן 66 ונמלא את השדות. פרק 11 : יישומים מבוססים מסדי נתוניס | 159 <וב) .ד ב = הסבתס|=6[=4566540630ו6חופז5הופת=חוז [₪ מספי6כן שש 8 2400 סז : 6ב ד[ + 77 ₪|שפטם]: 6[ 19% 8780700007 : 62 וגו 6מנסגק 8 זו : 02888 סופסז] : 8110 גוסכ |<1ם]- | ד 35 .חוחח30. >ססם שתסרכ 27.0.0.1 1 :קוזת [6 40 - ם1108110קכה 000% 6מסמכ עו 10 61606 זר ₪680 +0: רו 6[ 91 1 טא ד 6 מונפנטסגת| | וגונחב| < | 808900 5ס| - ממ | 7887 שפטט| מסטג| 0 3 150 למפתחי אתרים באינטרנט שיפוריס אפשריים למערכת יהיו לחצן זטס 108 אשר יבטל את העוגיה ויחזיר את הגולש למצב משתמש רגיל. כדאי גם להעביר את לחצן 400 למסך הראשי המציג את הטבלה ועוד. יישוס וה מהווה בסיס טוב להמשך פיתוח יישומיס מבוססי מסדי נתוניס כגון חנות וירטואלית, פורוס קבוצת דיון וכדי. היישוס המלא נמצא בתיקיה חסספסו|סקא 200% 6חסחק בתקליטור המצורף. כל שנחוצ כדי להריצו הוא להעתיק את תוכן התיקיה הזו אל תיקיית זססזאואואופט6%חו במחשב שלכס (במערכת הפעלה מסוג דא, %ססזאואושופטסז6חו%החוצ) לאחר התקנת השרת, ולהגדיר את הקוב 2006.008 6חסחכק ב- 0086 כ- 25% 506ץ5 מסוג 66655 ₪15 זסצוזסם בשס פחסחק, ולגשת מהדפדפן אל: ספה חסוזהסו!קקה אסס שחהסחק/127.0.0.1 פרק 11: יישומיס מבוססיס מסדי נתוניס | 161 פרק 12 שילוב הודעות דואר אלקטרוני כדי לייצר ולשלוח הודעות דואר אלקטרוני יש צורך בשרת זא בעל שירות קדו5% פעיל. אסול 88 6 |< |5]=. טחוש 6וספחסם 1 9 ה ₪ ₪ 8 ₪ || אש ד א | חוסהח5 זז 5 הווה תזס!ח| +סתזסזהו [ = ) זז 5 סו החזס!ח| )6הזטוח! | ) חוסהח5 זז 5 הסו580חבז ד ס5סזסוו = זיז 5 הסו501ח3ז 1 ספסזסו! | | וו | הו | נמהההההההההתהההההההההההההההההמר ‏ ן כדי לוודא כי שירות 5ד5% פעיל, יש להיכנס לחלון הניהול של 1155 6-050/0וו! זו ). פרק 12: שילוב הודעות דואר אלקטרוני | 163 כעת יש להגיע לשירות קדוז5 באופן הבא : שסוש. 08ם ו |< |8]=. 60 אוסטחוע ‏ 50|6חסם ו 9 | ₪ ₪ 3 ₪ 5 ) | > | וו = >< ו ₪ ב יפ > || אש ה | ]ססות 80|6חס [ = פחובחחס 0 69 5 הסוב הזזס!ח| +סהזפטה! [- )= זו | סוטוב * 8-בו 6 קד ומוס 5 9 06/30] 6 6 6 6 הסוובזווהווחם' 49 56 = 547 ]ווב! 0[ 5 35 7 ספוא )3 3-ה / | בת אס לחצן ההפעלה (שְ!ק) המסומן בח הוא אפור, השירות פעיל. אס הוא שחור, יש ללחוץ עליו. כעת, יש לייצר את אובייקט הדואר. אובייקט הדואר נוצר על פי האובייקט |ו3 שש6ח.6000%5 (ז6ע507 דא 00[666 0868 חססהזסטבו|ס6), באופן הבא : (" .6005" )668060060 ז56/6= וח 56% לאחר שייצברנו את אובייקט הדואר וח, ניתן לקבוע מספר שדות דואר אלקטרוני סטנדרטייס כגון: קביעת כתובת השולח < "66006%.600ס["=וחסז). וח קביעת כתובת הנמעך < "766.60 ₪||3"= ס6. וח קביעת כתובת המכותבים לידיעה <- "06%ח.08חט[66="5062. וח קביעת כתובת המכותבים הנסתרים לידיעה <‏ "סַזס.5%ח605/6)קטסזף"=06ט. וח קביעת הקובץ המצורף < "0 60!6="6:6006ח6בהה. וח קביעת כתובת מצורפת <‏ "וחסס.40021!3. צשצואו/ /:כקת"= |₪(ה6הה. וח קביעת פורמט ההודעה כטקסט(1) או כ- אתר(0) < 1=זפחזסתץהספ.וח קביעת נושא ההודעה < "6וחסס|500160=")//6. וח 8 "ץ003 וסץ 6זה עשוס1] ,565 ששח 6רחססוס "= ץססט. וח | 8 ".טסץ ז0? 65ח +68זס סעבּח 1" 8 (13)זח6 "!500 0866 8 חורחוח0ס6 רוחה 1" 8 (13)זח6 4 3 4505 למפתחי אתרים באינטרנט שימו לב, כי בתכונת ץ500 הקובעת את גוף ההודעה, משורשרים (13)זח6. או למעשה השיטה לשבור שורות בהודעה. (13)זח6 מייצג את חז6ז 68771806 השובר שורה ומחזיר את הסמן לתחילת השורה הבאה. כעת, כל שנותר הוא לשלוח את ההודעה על ידי: 50 וח אס ברשותכס שרת זא בעל שירות פזוא5 פעיל, תוכלו לבנות יישומים כגון רשימות תפוצה מבוססות מסד נתונים או קוב טקסט, וכן לדאוג כי בכל אירוע מסוים או תקופת זמן קבועה מראש, ישלח האתר הודעת דואר אלקטרוני אליכס. פרק 12: שילוב הודעות דואר אלקטרוני | 165 פרק 13 עבודה עם קבצים אחת האפשרויות הנפתחות בפני מפתחי 455 היא הטיפול בקבצים על השרת. ניתן ליצור קבציס, לקרוא ולכתוב אליהס ואף למחוק. היישומיס לאפשרויות אלו הס רבים. מכיון שקיימת שליטה על תהליך ייצור הקבצים, ניתן לייצר כל פורמט הנוח למנהליס ומתחזקי האתר לצרכי רישוס ומעקב. ניתן גם לייצר פורמטיס הנוחיס לקריאה על ידי גופי צד שלישי אשר לעיתיס מעדיפים לעבוד מול קבצי טקסט שטוחיס (65!ו +8!=), מאשר מול מסדי נתוניסם מבוססי טבלאות. יצירת קובץ כדי לטפל בקוב> יש להשתמש באובייקט הלוגי 6ו₪. תהליך הייצור של האובייקט 6= אינו פשוט, מכיון שאת אובייקט ₪6 ניתן לייצר רק על ידי שימוש באובייקט 0 65/506וו, אשר הינו אובייקט מערכת. לכן נפעל בשני שלביס. בשלב הראשון נייצר אובייקט ‏ 65/506700[60!= על ידי שימוש בתחביר המוכר לנו מייצור אובייקטים, כגון ח6600חחס6 ו-66070560ז. מכיון ש-655%600160!ו רשוס במערכת כך: עזו5ות 5 קפ אופו ‏ וש עזופופסת וסוס 5 .סו םוקוזס5 [- 3-6 עז הסוס המווקוז5 5 וו 0 8 ל ב וס [ 0 זו 6 .ופוס 5 [- סוחס .61וווז 5 [ = חס ופוס 5 [- 8-8 ₪ +|-+ / פד או בבוס | א ופוטפוחסס עויו: נשתמש בשיטה :67681600[66 של אובייקט ז6שז56 באופן הבא : ( "1655000060 0 חו 567" )6768660066 ז15=50/0 566 פרק 13: עבודה עס קבציס | 167 השלב השני, יהיה להשתמש באובייקט ‏ 000[60ח6!65/506 כדי לייצר את אובייקט 6|₪ לו אנו וקוקיס. לשס כך נשתמש בשיטה 67686606 של אובייקט 000[66ח1!65/506 באופן הבא (ניצור את + כאובייקט מסוג 6) : 56% +=)5 .07680606%0|6)"6:)0001.04"( שורת קוד זו תייצר את הקובצ 6.ואססא בספריה :6. אס נרצה לרשוס טקסט אל הקובצ, נוכל כבר להשתמש באובייקט 6|₪ שלנו 0), על ידי התכונה פטחאו. "?00 טסץ ס0 שוסו>" סשחואו.+ זהו הקוד המלא ליצירת קוב טקסט וכתיבה לתוכו: 670806 +6%6 6.350 >% ( "1655000066 0 חו 507" )6768660066 ז15=50/6 566 ("ז. 6001 :0]6)"6א1=1]6.0768%606 50% "|ץפצ שרח א 010 1" סשחעו.+ %< 60666 0% 6: 0. אס אין הגבלת הרשאות במערכת ההפעלה שלכם (במקרה של שרת מסודר), תוכלו לראות כי הקוב נוצר והמלל "ועְפּאו ץח זו 6/0 1" נכתב לתוכו. <1)-. )סא - ואו ואסס> 2 כו 56000 208 6ום ]נָעָבּט שָה 1% 810 1 אם נריץ את 6.850 1א6ז 676816 בשנית, יידרס הקוב 600.04 הישן על ידי החדש. ניתן למנוע מצב זה על ידי הוספת המילה 18/56 באופן הבא : (9|56), ")60061.0 :0]6)"6א07080006. 166=+ 8 3 4505 למפתחי אתרים באינטרנט קריאת קובץ קיים לפתיחת קוב קיים נשתמש בשיטת 60116 דחסקס של אובייקט 8|6. שיטה זו מקבלת שלושה פרמטרים. הפרמטר הראשון הוא שס הקובצ הרצוי. הפרמטר השני הוא לאיזו מטרה נפתח הקוב כאשר: 1 - מסמן פתיחה לקריאה בלבד 2- מסמן פתיחה לכתיבה (במקוס הטקסט הקיים) 8 - מסמן פתיחה למטרת הוספה הפרמטר השלישי קובע באיזה פורמט ייפתח קוב הטקסט: (0) - מסמן כי הקוב ייפתח כקובצ 45011 (1-) - מסמן כי הקוב ייפתח בפורמט 06ס6וח (2-) - מסמן כי הקוב ייפתח על פי ברירת המחדל של המערכת אס כך, נייצר תחילה אובייקט 65/506700[66! : ( "1165560060 הו 567" )6768660066 ז15=507/6 50% נייצר את אובייקט 6 כ- + ונשתמש בשיטה 6!ו"זא6 זח6קס כדי לפתוח את הקובצ % אשר יצרנו בדוגמה הקודמת : (1,0,"ז0. ו00א:6)"6| אס חסקס. 1=)65 56% לאחר מכן נציג את תוכן הקובצ תוך שימוש בשיטה חדשה של אובייקט ₪: |ו6808ז [|6303ז.1 8 "<זכ>: 15 600.06 01 %ה6חסס 6 [<5226=5 זה0ס+>" 6סו ץע 56 הז להלן הקוד המלא: 6.350 6+ 680ז >% ( "1165506060 חק 567" )6768660066 ז15=50/6 56% (1,0,"ז0. ו00א:6)"6| אס חסקס.1=65 56% [|1.6303 8 "<זכ>: 15 600.0 01 %ה6חסס 6 [<5226=5 זה0ס+>" 6ס ץע 50056 <% פרק 13: עבודה עס קבציס | 169 להלן התוצאה: |<1ם)- | זסזס!קא ] 1פחז!ח! 050/1ז4:0 - 6.350 ]א6) 127.0.0.1/636//:קווח ‏ | 1906 65אסום" ‏ אע ]6 | > 2.8 ₪ ₪ | 8 4 ₪ עז80ו = 65וזס עב 568100 סו | ה38]₪8] | קסופ םס 30% סל [+ 6.350 16% 886 127.0.0.1//:קזות ₪ | : 18 1אז.00%1א 01 1ת16ת 60 6מד !ג עוח 11 10 1 טיפול במספר שורות רב כאשר קוראים מקובץ בעזרת השיטה 0-6א6 זח6קס, נמצא הסמן הלוגי (א06ח1) בתחילת השורה הראשונה בקובא. מבנה זה מזכיר את מבנה אובייקט ₪66070566. כדי לקרוא שורה אחת בלבד נשתמש בשיטה 8חו|680 במקוס השיטה ||6803ז. השיטה 6ו|680ז תקרא שורה אחת בלבד ותעביר את א06ח1 לשורה הבאה. נפתח את הקובצ % בפנקס הרשימות, נוסיף לו מספר שורות ונשמור אותו באופן הבא : |<1ם)- | סא - ]או.וסס> 5 6 268 568008 60 1% פחם 15 406 06 15 7? 1 פח 5פפטף [ ?7 ךף0ח01א%31 פש סוב )בה כעת ניצור את אובייקט 1!655%6000[66 הבסיסי: ( "165500060 0 חו 507" )668660066 ז15=50/6 50% נשתמש בשיטת 6!ו0א6זח6קס שלו כדי לייצר את + כאובייקט מסוג 66 : (1,0,"[אססוח:6)"6|א6ח6קס.5)=+ 56% 0 3 50 למפתחי אתרים באינטרנט כעת נבקש לקרוא את השורה הראשונה ולשלוח אותה לגולש: "<זם>" .8 6חו|680ז.1 86 " :15 6חז! +5זח סד" 66ו .650056 לצורך הבנה, נציג גם את השורה השנייה. להזכירכם, עס סיום קריאת השורה הראשונה, עובר א06ח1 לשורה הבאה ולכן ניתן לקרוא אותה: "<זם>" ,8 6חו1.76801 8 " :15 סחו| 6ח5600 6חד" 56.66 ח500סז להלן הקוד המלא: 350 651חו| 6!קחוטוח 680ז >% ( "165500066 הו 507" )6768660066 ז15=50/6 506 (0)",1,0.וא6)"6:)00| 60 +ח6קס.1=16 56% "<526=5 100%>" 66ו/ץ. 6500056 "<זם>" .8 6חו|1.7680 8 " : 5 6חו! 5%זח סד" 56.66 ח6500ז "<זכ>" ,8 6חו|1.7680 8 " : 5! סחו| 6ח5660 6חד" 56.66 ח500סז <% כך תיראה התוצאה: |<וםו. 7 | ₪ | כו 100 | 88]וסעב] | פוש 08 6ו] | -- 4 0 | ₪ 9 . > . > 80 = 65וזסעב-] ‏ 568107 6חסו] | 48/558] | קס)5 מס 0% סל |+ 50ב. 651חו| 6|קוזוגוהז ‏ 127.0.0.1/1680// :קוו ן₪₪ ב ]4 16 18 106 : 18 1186 11781 שד ?7 5 00 : 18 116 560060 שמ .> אשחש 8 8 0000000000 תס ןש כדי לדלג על שורה, נוכל להשתמש בשיטה 6חוומו56 של אובייקט 86. בקוד הבא נרצה להציג את השורה השלישית ולכן לאחר קריאת השורה הראשונה נבצע 6חוומו56 ונקרא מייד את השורה השלישית באופן הבא: 652.350חו| 6!קחוטוח 680ז >% ( "1655000060 5670" )6768660066 ז15=50/6 56% (001.0)",1,0א:6)"6|א6ח6קס.5)=+ 56% פרק 13: עבודה עם קבצים | 171 "<526=5 100%>" 66ו/ץ. 0500056 "<זם>" .8 6חו|1.7680 8 " : 15 | 5% סד" 56.66 ח500סז סחזוס1א1.5 1.6806 8 " : 15 סחו| סזוה+ סח ד" 6סעש.56ח500סז %< ניתן לראות כי אכן התבצע דילוג מעל לשורה השנייה: 1] [₪]]] זטזס!קא = וסחזס)ח! 1/ס5זסוא - ק652.35ח/| 6!קוווטח 630ז/127.0.0.1//:קווח כ | קפ 1008 88]וסטב] | שפו ‏ 8ז0ם ‏ שום | 3 4 8 ש ד 6 עז0ז8ו] = 68וזס/יב = 0זה56 6חסו | 48/558] | קס)5 זמ סב 1 סם ₪ [+ 350 .652חו| 6|קוזוגוחח 1630 127.0.0.1// :קוות ₪ חן 116 18 106 : 18 116 11791 6מיד !18 116 911688 1 : 18 1186 6ע1) 6מדך / הווחו פא | | 6חסם [45 אם נרצה לעבור על כל השורות במסמך טקסט, נוכל להשתמש בתכונה חחִהּסַשַ5סְחַחםהּ המייצגת את סוף הקוב, באופן המזכיר ריצה על אובייקט ₪66070561 : ר0015068ח1.305 וסחט ס 1.6806 66 .6500056 קססן כלומר, 653.350חו| 6!קחוטוח 680ז %> ( "165500066 50" )6768660066 ז15=50/6 56% (0",1,0.וא6)"6:)00| 0 ח6קס.1=]6 56% "<526=5 00%+>" 66]ץש. 050056 ר0015068ח1.305 וטחט ס "<זם>" .8 6חו|680ז.1 50056.6 קססן <% 2 3 450 למפתחי אתרים באינטרנט להלן התוצאה: 1] [₪]]] זטזס!קא =] וסחזס)ח! 1]ס5סזסוא - ק653.35ח/] 6!קוווטח 630ז/127.0.0.1//:קווח 1 | קו6 100 85]וסץב] | שפו ‏ 08 6 | שו ו ו עסו = 68וזס יב = 0זה56 6חסו] | 46/558] | קס)5 מס 30% 0 ₪ [+ 633.350חו| 6|פו!וגותת ‏ 27.0.0.1,/530 1 :ות ₪ חן 106 18 16 ?7 18 זכ) 1 911688 116 18! ?300 5חוא181 6 36 )בוא ₪ | שששי= מחיקת קובץ כדי למחוק קוב יש לייצר אובייקט 00[66ח1!65/506 : ( "1655000060 0 חו 507" )6768660066 ז15=50/6 56% לאחר מכן, יש לייצר אובייקט 66 תוך שימוש בשיטה 6!ו96 באופן הבא : (". ו1=]6.060|6)"6:)00 56% בשלב זה ניתן להשתמש בשיטה 086!606 של האובייקט + (אובייקט מסוג 06) : יו להלן קוד המוחק את הקוב 6ט.)סס6) : 6.350 6%6+ 001606 >% ( "1655000066 50" )6768660066 ז15=50/0 56% (". ו1=1]5.060|6)"6:)00 56% יו %< 0 סו פרק 13: עבודה עס קבציס | 173 עוד על טיפול בקבצים ייצור אובייקט ₪6 בעזרת 6!ו0א6זח6קס או 06א16ז676810 לא מאפשר גישה לתכונות הקוב>. כדי לייצר אובייקט 8!6 עס גישה לתכונותיו, יש להשתמש בשיטה 6ו960. רק שיטה זו מאפשרת ייצור של אובייקט 86 באופן בו ניתן לגשת אל תכונותיו הרבות. הקוד הבא מדגיס הצגה של מספר תכונות של קוב קיים: 65.8570וסקסזק 66[פס 86 >% ( "1655000066 הו 507" )6768660066 ז15=50/6 56% ("ז)ס.001א:6)"6!|-1=16.060 56% "<526=5 00%+>" ]ץש 050056 "<ז>" ,8 6הההּח.1 8 " : 6וחפח 16" 6ס .050056 "<זכ>" 8 1.06 8 " : 06 6" 66 50056 "<זם>" .8 1.0706 8 " : סע +חהסו" 56.66 ח500סז "<זם>" .8 ה0ה1.0 8 " : ההק" 50056.6 "<זם>" .8 1.5126 8 " : 5126" 6 ץש. 050056 "<זכ>" 8 1.08000708060 8 " : חן 768060" 166 050056 "<זם>" .8 1.0801350000160 8 " : 08060 85% 1" 56.66 ח0ק5סז <% להלן התוצאה: | קפ 10088 | 88:מסעב] | שפו ‏ 08 6ום | 6-8 ₪ | " 0פו = 0665ב 568100 6חסו] | 48/558] | קס)5 םס 0% | 0 ₪ [+ קפ63.3ו!זסקסזם )ספןפ 6ווז/ 127.0.0.1// :קוו ₪ וי 0% : ש6נגת 116 ]תוסכ 161 : 6 116 :1 : 6ט1ן) )תסיחנו) : ההק 8126 : 4 0 19/02/00 : חן 07768160 2 19/02/00 : 08160קנו 41 1 4 תשששתשת 4 3 50 למפתחי אתרים באינטרנט פרק 14 יצירת אובייקטי ]60 באמצעות 6 6ו₪35 |[בּט5ו/ פרק זה מיועד למתכנתיס ב-8856 |אטפוצ. כאן נלמד לייצר אובייקטים כגון האובייקטים המלוויס ספר זה (ח06600ח40000.60, 666[טסוח506ש1!65. פחסק 56 וכדי). ההיגיון מאחורי בניית אובייקטיס הוא רב. החל בעובדה פשוטה כי קוד 855 הוא איטי בשל הדרך בה הוא נקרא ומתבצע מקבצי טקסט ואילו אובייקטים מהודרים לשפת מכונה מספקים מהירות וביצועים עדיפים, וכלה ביתרונות התפיסה המכוונת עצמיס (קיצור קוד, שימוש חוזר ועוד). בשל העובדה שהאובייקטיס נבניס על פי סטנדרט א0ס (|₪006 60%[פ0 %ה6הסקת60) הנתמך בשפות רבות, ניתן לבנות את אותס אובייקטיס ב- ++6/6, 8ּצ28, 88516 |08פו/ ועוד. בספר זה נבחן את שפת 88516 |הטפו בשל פשטותה. עס פתיחת סביבת העבודה של 6 8856 |1508/, נקבל את המסך הבא : |<|?. ]ןז א חסוסבּסווקקה פע או ו | =אם אששו6ם = שא 53370 הזהקו [חס) 9% 9 % % לא 3% % 5% 5% 5 %% 8% חסובּשו|קקה 115 8606[סזק 853 | בזבקוע פע ]₪ להפהחטססים חב > = > א סזזט! 6ר!! ו 313100 5וה וסח5 סיק -][ במסך זה יש לבחור ₪11 6%ע460. למעשה, ניתן ליישס אובייקט גס כ- םאם 6%ש860 אך כיון שאובייקט מבוסס 5%5 מתבצע כתהליך נפרד, נפגמיס ביצועי המערכת. יתרונו היחסי של 5אם הוא העובדה שגס אס תהליך 5אם נופל, לא ייפגע שאר היישוס. ברוב פרק 14: יצירת אובייקטי 00% באמצעות 6 8 175 המקריס, ישנה העדפה להשתמש ב-₪11 בשל התחשבות בביצועיס. לאחר בחירת 1 אשעטסה, נקבל את המסך הבא : וסחוי 80-15 5ססד חהּזסום ע זפ הגו הסט 6החזסת ספנסז פע 08 ₪6 ₪ | 3 ל ₪ 9 5% | , | 8|0 ₪ ₪ 0|₪ שו 5 085 458-ב (613551) 618551 ₪54 - 35516 18551 | 80901206 | ב ]הס - 0 [יהסו58חה זד5 זויין - (->-ה8בות ה בובו ,רו תחאו 5060165 3%ל סט!ם/ 8 5665. ופט 8 )0 5580665חו 676866 ח68 טסץי שימו לב לחצ. חץ זה מצביע על תיבת התכונות ובתוכה על תכונת השם. כיון שבחלון העליון המסומן 6!8551, תיבת התכונות מכילה את תכונותיו, נשנה את שמו של 6!8551 ל- 000א6+ באופן הבא : [[0066] 980466)] - [חסופסם] 8850 טפוש 0פסזסווא - דוססןסז ,ל קוסנ אוסטחו/ 5ח₪00-1 1005 הבוטו עס חנו הטספ 6בחסת 06 אפ 06 6 ₪2 3 לש ב 5 ו 9 05 ₪040 0 0 ₪ ₪ --₪| 1 | (016001ז0) 06661 5 01855 05% גם בתיבה זו ה משתנה שמו של ה- 60/]355 כאן יש לשנות את שם ה- 585ה|2) [ כ 6חס!פ/י - 0 בח6פהַחוחו39 3 | שחס|פ/ - 0 0686036 ז 3:35 | 6 - 5 בוחה 55חזן 0 |י]הסו530חב זד5 דויון ו 0 0006 חו ספ סומח 56 פחזנוס ה וב 5 088 זס ,60708 ו שימו לב, כי גס בתיבה העליונה (המסומנת בחצ), השתנה שמו של 0855 ל-000:א6). אם כך, אנו עומדיס ליצור 01855 (למעשה תבנית לאובייקט) שיאפשר לשרשר טקסט למחרוזות קיימות ולכן שמו הוא ₪00א9ז. שמו של הפרויקט הוא 6601[סזס. ניתן לשנות זאת על ידי סימונו בתיבה העליונה ושינוי השס בתיבת התכונות התחתונה, אך 6 3 4505 למפתחי אתרים באינטרנט בשלב זה נשאיר את שס הפרויקט 661[סזק. למעשה, כשס שאובייקט מסוג חס 660חח60 מתבסס על התבנית ח08000ח30000.60 יתבססו אובייקטים מסוג %00א6ז על התבנית %70. בשלב הבא כאשר נאתחל את משתנה א כאובייקט מסוג 00א06, נשתמש בתתביר: ("00א6. 0[6601ז" )67680600[66. ז501/6=א 56% מטרת האובייקט החדש שניצור, תהיה לשרשר את המללה סוו6 לכל מחרוזת שתישלת אליו. כדי לאפשר שליחת נתוניס והפעלה ניאלצ ליצור שיטה ל-0!855 שיצרנו. לשיטה נקרא 0ו|8006 והתחביר בו נשתמש יחיה וה: ("00א6. 0[6001זק )6768600[66. ז507/6=א 56% ("הסהחפססוח")ס!|6רו300. א 6 עו.56ח6500 השיטה סו|8006 של האובייקט א (מסוג 400א6), תשרשר למחרוזת שקיבלה כפרמטר ("חסהפססוח") את המחרוזת "סוו6ח" והתוצאה על מסך הגולש תהיה: הסהפססוז סוו6 אס כך, עלינו לבנות את השיטה סווסַחְ6ַא40. נתחיל ונכתוב את התחביר בשטח העבודה של ₪856 |508ו/ : [< וםן. ‏ [[0006) 16466] - [₪10] 830 [ה5ו/ 50/1סזסווא - [וספןסוכ א | |₪]-. ופ אוסנחו\. 5ח80-1 טס ההזמו עזפט חנום מטפ זמחחזםת הפנסוק אפ 08 6 ₪2 4 לש בי 5|8 | | | ₪080 ₪8 ₪ -םב-| | )0661 1( -| |ה16ווס‎ תסנססתטע התע ]= חן ₪ ₪ ל 6ב (הַת1ע595 פת 30086110)5 תסנססתטע 116מטק - 6 ו (506)) 506 ₪5 | 800010266 [ חן . 0 6חסוחפ/י - 0 3ח86הַחו0חו9ה )| 6חס(!פ/י - 0 058606 זנו3:350 | 6 - 5 הַחוח5:3ח[ן ₪ 5 50 ו 4 0%₪/₪ הווווי (6ח3) 0 6086 חו 560 שחזפח שח! פחזנססה, 5 805 זט ,|סלחס6 ,חזס] 8 ע/0ח06. התחביר לבניית שיטה הוא כדלהלן: 58 35 (0חו50 35 5)סוו30076 חסטסחט1 סווסגוק כפי שניתן לראות, השיטה (חססחט)) סוו800709, מקבלת פרמטר אחד מסוג מחרוות (9חו50), ומכנה אותו בשס 5. לאחר הסוגריים, ניתן לראות את הביטוי פַחו5 85 אשר משמעותו היא כי השיטה (חסטסחט)) גם תחזיר מחרוזת כיון שכזכור, על השיטה להחזיר את המחרוזת שקיבלה בתוספת המחרוזת "סו|6ח". התחביר לקביעת תוכן המחרוזת שתתחזיר השיטה הוא: 5 8 "סן||סח"= סו!006ה פרק 14: יצירת אובייקטי 00% באמצעות 6 %8 | 177 כלומר, השיטה סו|8008 תחזיר את המחרוזת "סו|₪6" משורשרת למחרוזת 5 שנשלחה על ידי יוזם הקריאה לשיטה. כעת, נסגור את השיטה על ידי התחביר: חסטסחט) 0ח= למעשה, ברגע שנסייס להקליד את שורת פתיחת השיטה, תוסיף סביבת העבודה של 6 |פטפו את סגירתה. כך תיראה השיטה המלאה: 508 35 (0ח5071 35 5)סוו300176 חסטסחטז 6ווסטק 5 8 "ס||סח"=סוו006הּ הסטסחט 6ח= רישום ה- 61355 השימוש במילה אובייקט שגוי, כיוו שאובייקט הינו המשתנה הנוצר מתבנית 6!855 הרשוס במערכת. כלומר אס נרשוס: (" הסח 60. 30000 )67680600[66. ז50/0=א 566 יהווה א אובייקט, בעוד ש- ח06600ח60 הוא למעשה 0855 או התבנית שעל פיה נוצר האובייקט א. אס כן, כדי לפנות ל-01855 שיצרנו מתוך מסמך 55ה, עלינו לדאוג כי הוא יופיע ברישוס המערכת (ע₪90150), כשס שכל שאר ה-6!85565 בהס השתמשנו במהלך הספר מופיעים. לצורך כך נבחר בתפריט 116 -> 1 1ש.6611[סזק 6א13א באופן הבא : [[2066] 16%0566] - [חשופסט] 83510 |הטפוש |]50סזס: - [וספןסז .א | |5]=. פם אסטחו 44175 סד הזה זפ חנו טטספ ממחזם וסוס אפ 08 שו 4 2 3 ל םי ₪ 5/8 | | | 80/0 ₪ :| ₪8 | אאסטאם | :| ןו - ספןטזק + 000000 פואאא] 0+ ...פוטס הפס = מ ]| 5 = 5 (07016601) 6661[סיזם 28 ם) סז חפ | א% 5 01855 5%)-=] 9 0800 ))00000( 8 (שת1ע596 5ת 30016110)5 תסנססתגו = 8 " 6110"= מס נ=) סז 53% ₪ 2 .85 01606 588 ₪] 5 60000 5/6 ק ...5 000 586 שחספ/י - 0 ְבּחַ6הַחוחו8 3:3 | 6חס!פ/י - 0 3506696786 )ב | 6 - 5 בַחו0ח5%3ח1, 0 - 0 ["חסוס53חה וד זויון - וש הבוח ה 1 +-2-=-ח| 0 6006 חן 560 פחזבח של פחזנוס6 ה 5 035 זס ,(0שחס6 ,חזזס] 3 חפט גוסב | חזזם: 8 3 4505 למפתחי אתרים באינטרנט שמרו את הקוב> ||661.0[סזפ בתיקיה מסוימת באופן הבא : ב ₪ 0 )תפס צ=| ₪ 0 )תפס צ=| ב )ספןסזק כעת, רושמת סביבת העבודה של 88566 |508ו/ את 11ם במערכת המקומית. כדי לבדוק כי הרישוס התבצע כהלכה, נלחף על התחל->הפעלה (500>חטם) ונקיש את המילה %%. זהו המסך שנקבל: וו = עזו5ו6 2 זו סוחס שו זססת 015555 אה [-0- ₪ זאפהחטםס פאה 8-0 פאוס מו וסט | פאה 8-0 5 ואה [-0- םס זאפהחטס פאה 8-0 הגס אצס צפאח 8-63 פרק 14: יצירת אובייקטי 00% באמצעות 6 8 179 נפתח את 6חוח86!] 10681 366 ולאחריו את 50/0816 ולסיוס את 6|85565. |< וםן|=. זסזו = עזו5ו9 25 6 אופוצ 268 ע9ופס ה 8 קוח עו ₪89 581 ]סח 81006] דסח 5555 צפאה ב הפפ זאפחחטם פאה ב =אוחסו וס | צפאה 0-ו פוחסס 5 זסוסם 3 הוח 0 וזב 0 ו 0 0 506 [ 5 59005 00ג 0 סח , זסווקוחס=) סוסקה 5 6 3 פע ע6ו6 ₪6 [-) פ-ש-₪--₪ / 5|שזבאוו/ס ₪5 [04 ו 00 1 ל אושווקוחסם עו בתוך 0185565 נאתר את 00/א6+. 6601[סזק |<ום|=. זסזו = עזו5ו9ת 2 בי יי זוזל זסוחוזק [- ) זוזל זה והוז [-) תוזז !חחוש [-) וסוחוזם 3 ססזל). 30306 הטוס 50פססזם. [-=) סז זחַ3ח3 הגופ 6550ססז [- 6 30300.7 60% 950פססזש [-) זו 30306.7 פוטס 550ססזם. [-) סז [ = זו שעזסקסזק [-) זו 36ז וחב לועווסקסזם. [-) 36 /ע)זסקסז [- 5 זט 3 סז 06 5 0 5066 [- -" חב מז ₪ סכ 1 .. , / 0פןסזק 5 5 5 35 זאטס פ ם![רם מ . 01 | סוחס עו ב 6ב 0שאס). [וספןסזקיי (וב06] [ףג 8-8 8-8 = מס אס 400/א6601.0[סזש אינו מופיע, או במידה וקייס צורך להפנות ל-6!855 על מחשב שאינו המחשב עליו נמצא ק45, יש לכתוב בשורת הפקודה (חטח): 1 סקר 0ס6:6 6050732 0 3 150 למפתחי אתרים באינטרנט בכל מקרה, ברגע ש-0!855 רשוס במערכת, ניתן לגשת אליו מקוד ק5. נכתוב את הקוד הפשוט הבא: 6.0 סקר ס6 6!קוחו5 >% ("00א6). 0[6671זק )50/07.0768%600[661= א 506% ("0008ח6ץ")80016!!0.א ססועו. 56 הז %< זו תהיה התוצאה: |< וו | | קוש | 1008 8פ6סצב] | אפע ‏ וז0ם ‏ ₪ | | 7 ₪ . טעה 568107 חס | 855 | 5005 מב עס 6% סל | ₪ קב.)הפהסקחחס6 6|קחחופ 27.0.0.1 1 :קז 5 | 116110 3 |. / ]הזחו הס 1 5 | | יצירת יישום מבוסס מסד נתונים באמצעות אובייקטים היישוס המשמעותי ביותר של אובייקטי 60% הוא בעבודה מול מסדי נתוניס. כיון שאובייקט 600% נגזאר מקוד מהודר בשפת מכונה, רמת אבטחת המידע שבו גבוהה עשרות מוניס מזו של קובץ 855 המכיל טקסט פשוט. כמו כן שימוש באובייקטי 60 משפר את ביצועי המערכת. פרק 14 : יצירת אובייקטי 60 באמצעות 6 8 181 להלן ארכיטקטורה לוגית עבור מערכת אופיינית. שרת אבטחת מידע - ||8\זו= לפי הארכיטקטורה הנ"ל, מסד הנתונים נמצא ברשת פנימית מאובטחת ביחד עס רשת היישומיס (6צז56 חסספסו|סק4) המכיל את האובייקטים בעלי גישה לנתוניס. אובייקטיס אלו מכילים את ההיגיוו העסקי 10016 855ח1ו805). כיוו שאין לרשת זו גישה מהאינטרנט, רמת האבטחה שבה גבוהה. לעומת זאת, כיון שיש צורך לתת לגולשיס אפשרות להגיע לשרת 60/), מוקמת רשת חצי מאובטחת המכונה 2<וזפ (2006 260וזסטו!והח6כ) ומקימיס בה שרת 60/. שרת ט6/ אינו מוגן לחלוטין אך גס אינו פרוץ לחלוטין. בכל מקרה, על גבי שרת פ6/ ממוקמיס רק קבצי 856 המהוויס ממשס פשוט. כיון שאין גישה למסדי הנתונים דרך 85, גס לו ייפרצ השרת טפו, לא יסוכנו הנתוניס. עבור כל שליפה או עדכון נתון ממסד הנתונים, פונה 8457 לאובייקט 60% הממוקס ברשת המאובטתחת, וזה בתורו פונה למסד הנתונים. ה-6!855 הבא שניצור, יהיה 61855 המאפשר גישה למסד נתונים. למעשה ניצור יישוס המוודא שס וסיסמה. דבר זה יתבצע על ידי אובייקט |אסס ולא על ידי דף 55. היתרון הבטיחותי הוא שגס אס ייפרצ השרת וייפתחו קבצי 55, כל שיוכלו לראות יהיה אתחול אובייקט |60%, במקוס לראות משפטי 501 המבהיריס את מבנה מסד הנתוניס ודרך הגישה אליו. לצורך כך, נשתמש בטבלת 05608 המוגדרת בטבלה .000% 6חסחק (טבלת המשתמשים ביישוס חסטפסו|כקג אסספ 6חסחתם). אלו מכס אשר אינס משתמשים ב-260655, יוכלו ליצור טבלה תוך שימוש ב- 6%0ד 670504 2 3 4505 למפתחי אתרים באינטרנט זסטוזסם כפי שנלמד בפרק 11, יישומים מבוססים מסדי נתונים. על הטבלה לחכיל עמודת טקסט בשס 6וחפּח ועמודת טקסט בשס 855ק. כמו כן, אס אינכס משתמשיס בטבלה הקיימת, עליכם להזין לפחות שס וסיסמה אחת ולהגדיר אפפ ב-0086. נפתח את סביבת העבודה של 6 8856 |8טפוש ונבחר שוב 11 1600/6%. נקרא ל- 6|855 בשס 846000 ולפרויקט בשם 60%[סזקפכ באופן הבא : [[0000) הסוס 0] ₪ |[ הי די 5 0150 15-45 (ח00ו0806) הסהפכ 8% [ וטו | כעת נבחר בתפריט 0[66%זק]>6)676066ז. = = (31108 זה!066) | 8 ) +66[סופמם 57 ב % 5% רש | = 01855!%0066 חסוז)ה מס חסו0 8 . | שח1)0פ/י - 0 ח8פַחַח 1380 שחסןפי - 0 ח0606ז350: | 56 - 5 = הַח0ח3ספה 5 05117 - 0 סול586ח3 זד5 ו פרק 14: יצירת אובייקטי 00% באמצעות 6 8 183 ולפנינו ייפתח המסך הבא: 1 | :66005 6|סב]||ה/ים ץז זפ ] 0066 9.0 66655 ס5פיסוי | | 68 +6%לחס-2186) 2.0 65ח03 5676 6/6 )ס5סזסוויז ץזב זפ ] ז60[טכ 5ּחָב0 5676 6/6 סוי סז [סזלחס) 6ו/יס6]1 שיו ז)50סזסוי] .1 ([בחסופחשחום-טוט1י]) 00[6665) 368 6%שיס0ם ספטיסוויז |+ זה זסו | 2.0 20[6065) 0313 6%ש₪ ז)ס5סיסוויז עזובזסן | 2.1 05פןס0) בזב0 אע 250 עטוזסוזק ץ'זה זו | 2.0 866070581 2016055 2313 אפסה ז)ס5סזסווז | חוטטוק 6%עוס6 ]50 זסווי] |+ זסחהו5 0-1 5]ס5סלסווי] 56 חב 001 זס] 2.1 .זא= סיסם +)ספססווי | | 0 |סץלחס-) לחשטם +)ס5סשסווי] 0 561 הסט ז)ס5סשסווי] ב 0 פח0ו5ח6ל= זט/'ו56 חפט 506סזם! , ץזבזםו | 2.1 6665ןפ2י 2353 66% :/ס5סזסויז ). 15 530סיס זיז ד5 ₪545 ו|ז= ןיס 56= וז זה 0 תק י6 = :1630 5 יִמִהַבּחַחה 1 מסך זה מאפשר לכלול ספריות אובייקטים חיצוניות לקוד. כיון שאנו מעונייניסם לפנות למסד נתוניס, עלינו להשתמש באובייקטים של מודל ססג. כדי לפנות לאובייקטיס החיצונייס הללו עלינו לסמן את תיקיית 00[666 2808 860/6% 6050%ו₪1. בצילוס מעל נבחרה תיקיה מגרסת 2.1. אס במחשב בו אתם בונים את היישום קיימת גירסה נמוכה יותר, מומלץ להוריד את הגירסה העדכנית מאתר הבית של מיקרוסופט. לאחר הוספת ההתייחסות לתיקיית ססג, יש להתחיל ולכתוב שיטה אשר תקבל את שס המשתמש והסיסמה מדף 5 ותבצע בדיקה מול מסד הנתוניס. נתחיל בפתיחת השיטה באמצעות התחביר הבא: 500 35 (0ח501 35 507100,0855 85 ז0)050זסשש55הקץ)חסע הסטשחט1 סווסגוק כפי שניתן לראות, השיטה תקבל שני משתנים מסוג מחרוזת ותחזיר משתנה אחד מסוג מחרוזת. כעת נכריז על אובייקט מסוג ח6600חחס6. שימו לב להבדל בין תחביר 5 לתחביר 88516 |1508/: החסה ח60. טכ סכה צוסא 25 הס6ער וחוס "6חסחכ= 5" ח006. הס6ץוח ההכרזה על 8007056%ז תיראה כך: סכה צוס 45 6סחץח וחוס חסץרח = ה6600 ה השעו ץר | 8 (ז0507/60050 8 "=6החח 6זסחע ספ וחסז) * 561606" ח6כ66.0מץרח '" 8 (050)72855 8 "=55כ 0ַח3ּ " שימו לב ל-8ח6850 המתבצע על המשתנים ז6פש ו-855ק. תהליך זה מוודא כי המשתניס עובריס כמחרוזת בשל בעיות הנוצרות במערכות מסוימות בהעברת משתניס דרך 4 3 4505 למפתחי אתרים באינטרנט %. כעת נבצע את הבדיקה הלוגית שתצייו כי השאילתה למסד הנתוניס הביאה תוצאה או לא : הסחד -66.50ץוח +[ "אכ" = 0זסצו855ק/0/ 56 "סא" = 6זסצו855ק/וזס + 0חם אס השאילתה החזירה תוצאה ממסד הנתונים, תחזיר השיטה 0זסאו2855/ופצ את הערך "א0". במידה ואין התאמת שס וסיסמה, כלומר 660705%ז נמצא ב-505, תחזיר השיטה את המחרוזת "סא". לאחר מכן נסגור את אובייקט ז₪6607056 : 6 פחוהסס] = 66חשוח 56% הסססחט= סחם להלן הקוד המלא של 6|855 : 9חו50 85 (0חו50 35 5000,0855 85 ז0)050זס/ע55הק סע הסטסחט1 6ווסגוק החסה ח60. סכה צוס 5 הס6ץח וחוס "6חסחכ= 5" ח006. הס6ץוח םס סכה צוס 45 6סחץר וחוס חסץוח = ה0ס660 ה השעו רת 8 (50:600561 8 "=6חחהח 6זסח 565 וחסז) * 561606" ח66.06מ ץוח '" 8 (050)72855 8 "=55הכ 0ח3ּ " הסחד -66.50ץוח +[ "סא" = 6זסשו855ק/וס 6 "אכ)" = 00עש018/2355 + סחם 6 פחוהסס! = 66משוח 56% חסססחט= סחם כל שנותר כעת הוא לייצר ₪11 מ-6!855 ולכתוב את קוב 850 שיאתחל את האובייקט 00600 0[60סזקפכ וישלח את שס המשתמש והסיסמה שהקליד הלקוח אל השיטה 0זסשו355ק /ווסע. להלן קוד 57( : קז %חה6הסקו 60 >% חסר (("ט")ז6065%.10ז)/ס רשפ זו "<60700=205%רח החזס?> " 66/ש. 6520056 "<ז0> < ט=6חחח א6=06כ/ם זטקחו> :6החב] 507" סו 56 הז "<זם> < כ =6וחהח 6א6=06כ/0 6טקחו> :0זסעצ55הק" 106 50056 "<ז10/> <6ורחס/6=5כ/ס שטסחו>" 6סו 50056 6 פרק 14 : יצירת אובייקטי 60 באמצעות 6 8 | 185 ("הסו0[60.08סזק כ )07686006 ס/50=א 50% חס "א0"=(("כ" )ות זס).656 סז ("ט" )רת זס).65% 60 זסצ55ה ס.א זו "<זח> !567( 260וסרטוה 6606 /\< 5 =526 %ח0ס+>" 6סוע. 56 הז 6 "<זח>!160ח6 406055 <5126=5 %הס1>" 66וע. 650056 ] חס ] חס %< שימו לב כי גס לו נפרץ 55 הנ"ל, אין לפורץ שוס מידע על סוג מסד הנתוניס, שס וסיסמת מסד הנתונים או מבנהו. כל הלוגיקה של שליפת הנתונים נמצאת ב-6!855 המהודר. הערה: כל הרכיבים המרכיביסם את היישוס הנ"ל נמצאיס בתיקיה %ח6חהסקו 60 ח0ו6780ח86 בתקליטור המצורף. עברית בשל העובדה כי הדפדפניס תוכננו לתמוך באנגלית במקור, נוצרה בעיה חמורה בניסיון לכתוב עברית. הדפדפניס החלו כתומכיס בפורמט 45611 המגדיר מספר עבור כל אות. להלן טבלת 45611 בסיסית : בסיס | בסיטס מספר ייצוג בינארי 16 8 עשרוני (.זהח6 ווטא) ו 000 000 000 000 (ז6806 01 5004) 50 00 01 01 01 (0א6ך )0 +509) 5% ס0 02 022 02 0א6ך 00 0חם) אד ב 3 3 3 (הסו155ורת5חבזד 0 סחם) 3 00 004 004 004 (ץזוטסחם) סא 01 055 055 0055 ( חר 6|סח6%) 6 כ 006 006 006 (וו86) ב 1 007 007 007 (886%50806) 05 ס0 08. 020 08. (90 ד |%חס2ווסרן) דח 001 009 01 009 (660= 6ח11) - ס00 00 12 020 (80ך |67168/) ח 01 008 3 01 (660= הזס) == 0 006 4 12 (הזו6 68771806) 6% 01 000 5 3 50 כ 005 0166 14 5 017 00 1 1 (₪56806 %ח1] בזהכ) ופ 0000 020 02 016 (1 |₪0ח60 6סו/ש6) (אסא) 61 0 01 01 017 (2 (₪0ח60 6סוצ6כ) 2 00 12 2 018 (3 (0ח60 6סוצ6כ) (-0א) 63 1 3 33 09 (4 (₪0ח60 6סוצ6כ) 4 0 14 024 020 6 3 4505 למפתחי אתרים באינטרנט ( ?066 60|סחא6 סע ה0ס) (10|6 פוסחסזה6חהץ5) (8|068 .5חבזד ]0 סחם) ((66ח68) (₪56806) (ז8%0זה560 ס6ון=) (0ח56 0 ₪60065%) )50866( ייצוג >הא אצ 8 6% ואם 38 6 5 % 79 בינארי 01 סכ[ 1 00 001 ט00 1 0 11 20 1 0000 001 ס00 ב[ 00 1 סנ 1ב 00 001 ט00 1ב 0 11 0 1 00 0001 ס000 1ב 00 11 סט 1 000 001 00 1 0 1 0 1 01 מספר עשרוני 021 022 3 024 5 006 07 008 09| 00 01 012 3 4 05 056 017 08 9 00 011 0412 3 044 5 0166 017 008 09 020 01 02 3 04 05 0566 057 0.8 059 000 01 02 פרק 14 : יצירת אובייקטי 60 באמצעות 6 8 187 8 3 4505 למפתחי אתרים באינטרנט בטיטי ייצוג בינארי 16 1 03 000 000 01| 011 ס0 012 1 3 וי 044 1 5 סכ 0166 1" 017 0(0" 008 1 09 0" 04 1" 058 00" 056 1 040 20" 046 1" 04 00" 020 1 01 0" 02 1" 3 00" 04 1 05 20 0566 1" 057 00" 008 1 059 0" 05 1" 058 00" 0560 1 050 0" 055 1" 05 000" 000 001 01 0 022 1 03 0" 04 1 05 20 0066 1" 007 000" 0.08 ₪ < ₪ 0 ש ה 7 << ₪7 8 0 ₪4 ₪ ₪ <> 7-79 = < ₪9 0 ₪300 םש ש 11 11 מספר עשרוני 03 04 055 0066 007 08. 009 000 071 0-2 3 04 05 076 077 008 09 000 01 02 3 4 05 006 07 0.08 09| 0020 01 022 3 04 055 006 0077 08| 0.09 100 11 12 13 14 בסיס | בסיטס מספר ייצוג בינארי 16 8 עשרוני 1 1 009 11 155 ] 0(" 06 12 16 6 1" 008 13 107 00" 06 154 18 וח 1 0602 155 109 ח 0" 05 156 110 0 1" "06 157 11 ס 00" 020 100 112 0 1 011 11 13 1 0( 02 12 14 5 1" 3 13 15 + 00" 4 14 116 0 1 5 15 117 / 0" 06 16 138 שו 1" 077 107 139 א 00(" 08 20| 120 ץ 1 09 11 11 2 0(" 07 12 12 ָ 1" 08 13 3 | 00" 026 14 14 7 1 סל 15 15 ₪9 20" 075 1%6 156 ש 1" 07 177 177 כפי שניתן לראות, אין בהגדרת 85611 הבסיסית ייצוג לאותיות עבריות. מכיון ש- 1 ממומש על ידי בית חתוס (ץ2 60ח8ו5) ומאפשר הגדרה על פי 7 סיביות טום) בלבד (הסיבית הנותרת משמשת להגדרת סימן המספר), ניתן לייצג 127 אותיות וסימנים. כדי להכיל אותיות וסימניס נוספים, יש להשתמש בפורמטים אחרים כגון 150-881 הממומשים על ידי בית לא חתוס (%6ץ0 60ח4ופחט) ומאפשריס להגדיר 255 אותיות וסימניס. בדוגמה הבאה נכתוב קוד 06ו856/ (צד לקות) קצר אשר יציג 255 אותיות וסימניסם. |החזח. זהת6 <"ז00886="/05070ח3| 500%> 5 0 0=: זס1 "<זם>" 8 81 " - " 8 (ו)זח6 0.6 סח <500/> קוד ה ירוץ 255 פעמיס ובכל ריצה יציג את האות או הסימן המיוצגיס על ידי ו וכן את המספר אותו מכילו. פרק 14: יצירת אובייקטי 00% באמצעות 6 8 189 בתוצאה בדפדפן, ניתן לראות כי לאותיות העבריות ייצווג החל ממספר 224 עד מספר 0. הסוא - 05 6560 ררה 5661005 סרוה 5זרוסרו וס : פ בש כקסם 1006 5 0ס/בת ופצ פוסם - ₪6 | 3 * 4 3 יב | 305 סוט ה6א456 | 8 1 6 ד + י 88660 | 5 || 0 ב | 7655 | למרות שלכאורה נפתרה בעיית העברית על ידי שימוש בפורמטים כגון אזדה |-150, עדיין נותרה בעיה משמעותית בכתיבת עברית. למרות שבכלים כגון פנקס הרשימות, ניתן לכתוב בעברית (במערכות הפעלה תומכות עברית), נשמרות האותיות על פי סדר הזנתן וכאשר אמור הדפדפן להציגן, נכתבות האותיות בסדר הנכון אך משמאל לימין. כלומר, המילה יישלוסיי, תיכתב כייסולש'י. כאשר נתקלו ראשוני המפתחים ב-פ6/ בבעיה זו, הפך המושג 'הפיכון' למטבע לשון. מלכתחילה המלל בעברית נכתב הפוך. על ידי שימוש בתוכנות קטנות הנקראות יהפיכון', ההופכות את המלל, כאשר המלל נקרא על ידי הדפדפן הוא מוצג נכון וניתן לקרוא אותו. שיטה זו ידועה כשיטה הוויוואלית. שיטה זו נתמכת בשני הדפדפנים העיקריים, 86 ו|ו-זסזס!אם 6%חזססח1. כל שיש לעשות הוא לכתוב את המלל הפוך ולהגדיר לדפדפן מערך תוויס 560 ז6081860) המכיל את האותיות העבריות בערכים 224 עד 0. במקרים כאלה, כותב הדפדפן את העברית משמאל לימין ומציג עברית קריאה. כמובן, שמכיון שהשורות מודפסות על המסך מימין לשמאל, נוצרת בעיה חמורה בשבירת שורות. 0 3 455 למפתחי אתרים באינטרנט כלומר, משפט באנגלית : 2808/68 60 סוחססו6)\, יישבר כך: 6006 /\ ₪8 והחחה3 0ף ואילו משפט בעברית : ברוכיס הבאים לגימייקה, יישבר כך: לגימייקה ברוכיס הבאיס לכן השיטה הוויוואלית לוקה בחסר ואינה מספקת סביבת עבודה נוחה לפיתות מערכות בעברית. הדפדפן זסזס|קא= 6%6חז6זח1 תומך בשיטה הלוגית בה ניתן להקליד עברית באופן רגיל, והדפדפן מטפל בהצגה הנכונה. לא כל הגולשיס משתמשים בדפדפן וה, ולכן קיימת בעיה חמורה בהחלטה על שיטת כתיבת העברית. לבעיה וו פתרונות רביס ומגווניס. בספר זה בחרנו להציג פתרון פשוט אשר מיישס את יצירת אובייקט 60% להפיכת מלל בעברית עבור דפדפן מסוג 16156806. היתרון בפתרון זה הינו כתיבת המלל פעס אחת באופן רגיל, והפיכה אוטומטית עבור דפדפנים אשר אינס תומכיס בעברית לוגית. ההיגיוו מאחורי אובייקט הפיכת מלל הוא כפול. קיים הטיפול במיליס ובאותיות, וקייס הטיפול בשורות, מכיון שבעברית ויוזואלית קיימת בעיית שבירת השורות. כדי לטפל בשורות יש לוהות בכל ריצה את המספר המייצג שבירת שורה (13) ולהזין כל שורה למערך. הצגת המערך כשורות נפרדות תפתור את בעיית שבירת השורות. כמו כן, הפיכת טקסט אינה עניין פשוט, מכיון שלעיתיס קייס מלל המשלב עברית ואנגלית וכן סימניס בעייתיים כגון סוגריים וכדי. למעשה, מקבל האובייקט מחרוזת ומתחיל לעבור עליה. כל עוד שאין מיליס בעברית, כלומר ערכים מספריים שאינס בין 224 ל- 250 (או אשר הינס בין 65 ל- 122), מצרף האובייקט את האותיות למחרוזת המיוצגת על ידי המשתנה שפו6ח. כאשר מזהה האובייקט רווח (ערך מספרי של 32), הוא מניח כי הסתיימה מילה וערכו של המשתנה 5אוסח מוזן למערך המיליס הנקרא זזה זסטו. אותיות עבריות מוונות לתוך המשתנה ש5קחש ועם ויהוי מעבר לשימוש באותיות אנגליות, הופך האובייקט את סדר האותיות העבריות במשתנה 050 ומשרשר אותן למשתנה ז50/ו6ח. כך שבמשפט ייקניתי פשססחואו חדשיי יתחיל האובייקט וינתח את המחרוזת משמאל לימין. המילה חדש תזוהה כמילה עס זיהוי הרווח בינה לבין המילה פאוססחוש ותשורשר הפוך למחרוזת - 'ישדתיי. המילה "פאוספחוצויי אשר מכילה אותיות אנגליות בלבד, תשורשר כמו שהיא אל המחרוזת, כך שנקבל: "פשססחואו שדתיי. ולסיוס, תשורשר המללה ייקניתייי במהופך ונקבל את המחרוזת: יתינק פשססחואו שדתיי. כדי לסיים את התהליך, תוזן כל מילה (שתווהה על ידי הרווח בין המיליס) אל המערך זזזסאו. התוצאה שיחזיר האובייקט הינה מערך זזהטזסצו בסדר הפוך, כך שנקבל את המשפט: יישדח פאוסטחוצו יתינק'י. פרק 14: יצירת אובייקטי 60 באמצעות 6 8 191 אס נציג משפט זה בדפדפן 6056906א, נקבל את התוצאה: אוו - כו 680חוח וס 0 אש 6כם ‏ ₪6 % 0 ₪ 32 88 2 (₪ | (₪ מק 4800808] | הסזספם וסור ₪ | הזהשחם- 0% ספ 5'ום ל 0 | = [הזת 05| :008 | = 42 5אזסאססם 67 קניתי פאוססם1אי חדש / | אצ 4 ₪85 ש₪% 34 5 | סכ שחשחנסס == ו נתחיל ונבנה את האובייקט ב- 0856 |1808: נייצר פרויקט בשם 0015ד60ח. בתוכו ניצור את ה-6!855: פוו= נפתח את השיטה וקו אשר תקבל ותחזיר מחרוזת : 50 35 (0ח501 35 -50)זקוח חסטסחג 6ווסטק נכריו על המשתנים הבאים לפי הסדר הבא, משתנה עבור הכלת אותיות עבריות וסימניס מיוחדיס עד להפיכה עס זיהוי סיוס מילה (זיהוי רווח) או זיהוי אות שאיננה בעברית : פקחח חחוס משתנה עבור המחרוזת הכוללת (לאחר הפיכת האותיות העבריות): שפשוסח וחוס משתנה מסוג מערך להכלת כל המילים : ()זזה0זסצו וחוס משתנה שיכיל את גודל מערך המילים : וזה וחוס משתנה להכלת כל אות בומן בדיקתה: זח-ח6טס וחוס משתנה שיכיל את האות הקודמת במחרוזת : ]הז וחוס משתנה שיכיל את האות הבאה במחרוות : זח)אסח וחוס 2 3 450 למפתחי אתרים באינטרנט נאתחל את משתנה 26ו5זזגּ בערך 1 : 5261 נוסיף למחרוזת שנתקבלה (66) תו רווח בסופה כדי לאפשר בדיקת סיוס מילה על ידי איתור רווח בסופה: "" 8 5757 נתחיל לולאה אשר תרוצ על המחרוזת שנתקבלה ותבדוק אותה מתו מספר 1 לכל אורכה: (58)ח6! סל 1=! וס נזין את האות הנוכחית למשתנה זח6זחפזזטס, על ידי הפונקציה 0וחח המאפשרת גזירת אות מתוך מחרוגת בתחביר - (75ז7966ה8ח6 01 זססחחטח , סז ,60% 0ל פַחהו50)סווח : (0)50,6109)1(,1 = תת וט נזּין למשתניס שהכנו מראש את האות הקודמת והאות הבאה במחרוזת תוך בדיקה המונעת גלישה מתחומי המחרוזת : הסור 1-(57)ח1>!6 זז (8)1+1(,1ח!0)50,6 וח = 66 56 " "=זח00א6ח ₪ 0חם חסוט 1<ו )1 (0)1-1(,1ח!0,-0)507ורח= הסוס 56 " "=זח660זוק ₪ 0חם כעת מגיע החלק המסובך באלגוריתם. מכיון שבכל ויהוי של רוותח, מוזנות המיליס למערך אשר בסיוסם התהליך מציג את כל המיליס בסדר הפוך, יש לחימנע ממצב בו שתי מילים באנגלית יוזנו בסדר ישר ויוצגו בסדר הפוך. נבדוק בכל רווח כי המילה הקודמת והבאה אינן אנגליות. אס הרווח נמצא בין שתי מילים באנגלית, נצרף את שתי המילים לאיבר אחד במערך וכך תימנע הפיכתן: 0חה (123> )356 30 64<(זחה-א6ח)856))סח סחה 32= (חה-ח6 345606 )1 הסח (123>(זה66זק)356 סחה 64<(זחה)6זק)56הּ אס מתקיים התנאי, נניח כי הסתיימה מילה חדשה. נגדיר שוב את המערך ונזין לתוכו את המילת: (526ז )סע 056/6זכן והו60 " " 8 (57 )5070/6156 .8 פשוסה= (1 -3526 )זוה טס " "=5קוחך " "= הפעוס)] 1 = וזו פרק 14: יצירת אובייקטי 60 באמצעות 6 08 | 193 אס התנאי אינו מתקיים, נניח כי הרווח הינו בין מילים באנגלית, או שהבדיקה נמצאת באמצע מילה ונמשיך את עיבוד המידע על ידי בדיקת תוכן כל תו. הבדיקה תוודא כי מדובר באות עברית או בתו מיוחד: 6 | 39=(חהח6 )356 זס 251>(זהח6זוטס)356 סחה 223<(זחהח6נוס)356) +[ = 7(=33ח350)076000 זס = 7(=63ח350)060%0 זס | 07(=44ה-856)607760% זס | 07(=126ה-856)607760% זס | 7(=64ח856)6760%0 זס = 7(=35ח350)060%0 זס = 7(=36ח350)6760%0 זס | 07(=37ה-856)607760% זס = 7(=38ח350)0760%0 זס = 7(=42ח356)0060%0 זס = 07(=58ה-856)607760% זס חס ( 46=(זה-0ה6ז56)60 זס זה הזוס + קוח = ח5קרוס 6 וו + )507/56 סח = ספ סח " "= סקוו ] חס ] חס נתחוס את הלולאה: + כעת נציג את המיליס שנאגרו במערך זו סו בסדר הפוך: 1- 506 1 %0 2=8175126-1 וס (2-1)זסזסעש-+זוקוה==וקוו= כ נסייס את הפונקציה: חסטסחט+ סח להלן הקוד המלא : | ס5!סס טשה 590 5 (8חו50 5 50)תקוו הסססחטת 6ווסגוק 59 5 ()זזהסזסשו וחוס סקוו וחוס חפצוסח וחוס חן 5 26ופזוה וחוס 1 = 26ופזה 4 3 455 למפתחי אתרים באינטרנט ""8 7 = 57 (58)ח 1 סד 1 = | זס= (1 ,(9)0ח61 ,0)50ו] = זה-חסזטס הסוחד 1 - (58)ח | > | זז (1 ,(1 + ו)0ת61 ,0)50ו = זחה6זאסח 6 " "= זה0)א6ח + סחם הסחד1 <וז (1 ,(1 - 0)1ת61 ,0)50ו1] = זה6סזס 6 " "=זח6סזק + סחם 0% 0 32 = (זחח6זזוס)56 )[ = 0ח 64 < (זח00א6ח)56) | 0ח 123 > (זח6%00ח)56 | 0ח 64 < (זה60זק)56 החד (123 > (זה60זק)56 (5126זז3 )סע 6/ה56סזק והוסשא 8 סח = (1 - 26ו5זזה)ז סוס " " 8 (58קו6/0756)0 5 "" = הקוח "" = ז50/סח 1 + 877926 = 26ופזה 6 0 223 < (זה6ח6זזנוס)56) + 0 251 > (זהח6זטס)56 זס 39 = (זח%0ח6ו56)6 | זכ 33 = (זהח6זס)56 זז 63 = (זח%ח6ו56)6 | זכ 44 = (זה-0ח6ז0ס)56 | זז 126 = (זה-ח6ז0ס)56 | זז 64 = (זח%0ח16ו56)6 זס 35 = (זח%0ח6וו56)0 | זכ 36 = (זה-ח6ז0ס)56 | זכ 37 = (זה-0ח6זס)56 | זכ 38 = (זה-%ח6זס)56 | זכ 42 = (זה-0ח6ז0ס)56 | זס 58 = (זח%0ח6ו56)6 הסח ך (46 = (זת-ח6וס)56 זה חס 8 טפקוחס = חפקחוחס 6 8 (5070/0756)0050 .8 חפשוסח = שפשוסח וו פרק 14 : יצירת אובייקטי 60 באמצעות 6 8 | 195 " "= חפקווט + סחם + סחם וכ 1 5000 1 70 1 - 26ופזזהּ = 2 זסת (1 - 2)זו וסט 8 זזקוח = )קוח וכ הסססחט= סחם כל שנותר הוא לרשוס את ה-₪11 ולפנות אליו מקוב 452 אשר יהפוך את המלל במידה ומדובר בדפדפן 6156806. לצורך הדגמה של שימוש באובייקט, נשתמש בקובצ ק5ה פשוט אשר יאפשר הזנה של מלל לתוך שדה טקסט, והדפסתו לאחר היפוך תוך שימוש בעברית ויזואלית : 50ה. כן|= ("קו00|5.8 076816000(60)"607. זס507/0= זססקו 9696%> <%(("א 60" )חו 6/5 6065%ז)זזסו. זססקו= 60507 <חחזס)> <%חס)/> <זא 607 =6רחח זטקחו> <"5671 5805 1806="]65 זחס]> <"!אוס! קווח"=6ט|פ "לווס טפ"=6כ/ס 6טסחו> <וחזס)/> <זם> <ח0ח=חפווה ק> >90=76050%< <ס/> הודעה חשובה: השימוש בגופן )56 5805 פ!וי'י חיוני להגנת מלל בעברית לשדות טופס ב-6056806ו]. חשוב לציין כי טיפול בהפיכת מלל הינו מסובך ואמור להכיל מקרי קצה רבים. המטרה בספר זה אינה לפתור את בעיית הפיכת העברית, אלא להבהיר את השימוש ברכיבי 60%. 6 3 4505 למפתחי אתרים באינטרנט פרק 15 אובייקט זסוזם 5( - 0 257 ומעלה אובייקט וה אחראי לזיהוי ולכידת אירועי תקלה בומן ריצת קוד ל45. היישוס העיקרי לאובייקט זה הוא איתור תקלות בומן ריצה לצרכי פָטפ6ם ומניעת הופעת מסכי זסזום גינריים (כלליים) בוּמן אוויר באתרי אינטרנט ואינטראנט. כדי לייצר אובייקט זסזזם יש להשתמש בתחביר: זס7- 35 |66(). 6=50/6 506% מרגע שייצרנו את אובייקט זסזזם, ניתן להשתמש בכל אחת מ- 9 התכונות הקיימות שלו. 6 תכונה זו מחזירה כמחרוזת את קוד השגיאה שהתרחשה: 9-6 הסוסכוז656 תכונה זו מחזירה מחרוזת המכילה תיאור קצר של השגיאה: סק 6.0650 הסולכוו656 5 תכונה זו מחזירה תיאור מפורט יותר של השגיאה: ח00ק6.8500650 פרק 15: אובייקט זסזום 50 197 630 תכונה גו מחזירה את התחוס בו התבצעה השגיאה: 0 6וו תכונה וו מחוירה את שס קובצ 5 בו אירעה השגיאה: 6 תכונה גו מאפשרת לאתר אות מסויס בקובצ 857 בה התבצעה השגיאה: חוחט!6.60 סחוו בתכונה זו ניתן לאתר את השורה בה התבצעה השגיאה: שחו|.6 זס והטחה תכונה זו מתחזירה את מספר השגיאה במידה והשגיאה התחוללה כתוצאה מפעילות באובייקט 60%: זו טח.6 6 תכונה וו מחזאירה את השורה עצמה בה התבצעה השגיאת: 6 8 3 55 למפתחי אתרים באינטרנט פרק 16 6 ופה הסוסבּסו!כקה משתנה גלובלי משותף לכל דפי 457 ביישומי 8ם/ו. משתנה מסוג חסטאסווכקה שומר על המידע שבו, כל עוד שרת טפצו פעיל. 1 = ("זס)חטס6")חסטפּסווסס ה שיטות > 066ס| חוסס את הגישה למשתנה חסוטפסווסקה כדי למנוע גישה של מספר משתמשים בו-זמנית למשתנה: > חסספסו!סקא > >06|ח משחרר את נעילת משתנה חסטפסו!פקה לשימוש על ידי משתמשיסם אחרים: א6סוחט. חססטסו!וסק א דוגמה: 5 טרס סל הססהסו|סקה 6%5ס! ' >6ס!. חסספסווססה 1 + (" 60" )ווק = ("זססהטסס")חהסספסווסקא 5 זססס זס1 הססהסו|כקקה %06 6!68565ז' א6סוחט. חסספסווסקה מומלצ למעט בשימוש בשיטות אלו למניעת מצביס בהס מבקריס באתר לא יוכלו לגשת למשתני חספּסווססה. + (3.0 50 ) 0/6ח5.6ח 60% מאפשר הסרת תוכן של משתנה אפליקציה על פי שמו, או על פי מיקומו, על ידי ציון ערך מספרי: "ססא ססא"=("0556ץ")חסספסווססא "ואססט" = ("ו|פס0")חסספסווסקא פרק 16: 66ה61070 57 199 60 6 65/סוח6ז' (05561/ץ)6עסות6ז. 65הסשחסס. הסספסווססא שפח עס ("ז556סץ")הססהסו|מספ' זס טח ץכ ("55סץ")הסםבסו!קסב3' זס +ה%6ח60 66 65עסוחסז' (6)0/סותסז.6)חסלחסס. הסספסווססא > (3.0 57) ||ו6עסוח6ז.5ח 60 מאפשר הסרת כל תכני אובייקט חסטפסוופסה: ()||/6עסרת6ז. %5ח6סחסס. הסספסו!סס א אירועים > חשה0 אירוע המאפשר כתיבת קוד למצב בו האפליקציה מסתיימת באופן יגוס בשרת ססאו. קטע קוד וה נכתב בתוך מסמך 61088!.858 תחת שגרת קוד בעלת שס קבוע: ()0חם חכ) הסטפסווקסה טפ 6 0065 0006 זטסץ' 50 סחם בתוך שגרת הקוד ניתן לכתוב כל קטע קוד שיטפל במצב ה של סיוס אפליקציה. > %פה0 אירוע המאפשר כתיבת קוד למצב בו האפליקציה מתחילה (עס כניסת המשתמש הראשון לדף 45). קטע קוד וה נכתב בתוך מסמך 6!088|.8588 תחת שגרת קוד בעלת שס קבוע: () ז5חכ) חסטפסווקסה טפ 6סח 0065 0006 זטסץ' ספ 0חם בתוך שגרת הקוד ניתן לכתוב כל קטע קוד שיטפל במצב ה של התחלת אפליקציה. מאפיינים > (חה800סו|קקק6001וההח) %5חה%6ח 60 מכיל את כל האובייקטיס מסוג חסטְפּסווכקה ומאפשר פנייה אליהס על ידי ציון שמס ( חס הסו|ק 1 60והח) : "זווק5" = ("החהחהם")חסספסווסקא "ההא" = ("חפוח5")חסספסווסקא "ף)ססס" = ("ואססוח")חהסספסו|סקא 5 סוכה הו הס סוק סרהה 86 וס ( הסו68ו|כק 360 )חס הססהסו!קקה סו 56הסס65 + סחם כ 0 3 4505 למפתחי אתרים באינטרנט + אובייקט וה מכיל בתוכו את כל המידע שנשלח מהדפדפן אל השרת. מאפיינים > (016006|6ַהַַהּח) 6006165 מאפשר קריאה של העוגיות שנמצאות אצל הלקוח לפי שמס. "8" שבח 60006 שר 01 6ט|פ 6 5 | ("8עו ")05 665.00 > (6|0%386)וזס= מאפשר פנייה אל השדות השוניס שנשלחו בטופס אל השרת על פי שמם, בעזרת שיטת %. "306" 60 6 01 6 פע 6 0605 ("06") ההחס-.ז6065 > (6הח06|0) פחו50ץזסטס מאפשר פנייה אל השדות השונים שנשלחו אל השרת על פי שמס בעזרת שיטת 660. "36 35|" ]0 6ט|8/ 6 605 ("6ח 3 50ה|") הו 665.05 > (87180|683706/) 80|65וזה/50/0 מאפשר גישה למשתניס קבועיס מראש בצד השרת. כותרת דד₪4 שנשלחה על ידי הלקות קדדה ווה מחזיר את השדות בכותרת בצורתם הגולמית שהח ווה מחזיר את הנתיב בו מאוחסניס קבצי האפליקציה והזדהק ‏ |ג516צוזק וקקה הסיסמה שהקליד המשתמש בתיבת הדו-שיח בדפים סחסש55% הודטה (חסְחְהס6וְחסְַסט3 6ו885) מאובטחיס באיוו שיטה משתמש השרת לאבטחת קבצים =קצד הודטה שס המשתמש מתוך תיבת הדו-שיח בדפים הט הדטה מאובטחיס אורך המידע שנשלח מהלקות הדא | דאםדא 60 סוג המידע שנשלח מהלקותח =קצד דאם זא 60 גרסת 061 בשרת םדא צגששם דה6 פנייה לכותרת קדדח על פי שמה <6ו7ז10300]/3] > סדדות פרק 16: ₪01070066 57 201 מחזיר סא תחת |55 או 077 תחת ערו שאינו מאובטת מחזיר את כתובת השרת ממנו הגיעה הבקשה הנתיב הווירטואלי של הקבציס בשרת הנתיב הפיסי של הקבציס בשרת מחזיר את המידע שנשלח באמצעות 651 כתובת ק1 של הלקות שס המחשב של הלקות שס משתמש לא ממופה כפי שנשלת על ידי הלקוח השיטה בה נעשה שימוש לצורך ₪6006% הנתיב הווירטואלי של הקוב המבוקש על ידי הלקות כתובת השרת כתובת +זסק אליו נשלת ₪60065% מחזיר 1 במידה ו-6%ט₪60 מטופל על ידי 551, או 0 במידה ולא באיוו גרסת פרוטוקול מטפל ₪600656 גרסת ושס השרת המטפל בפנייה 5סדדו אהססה 0641 ס-אז הזגק ספדה ופאהחד הדהק 6זדם צמפעטס הססה מדסא5א ז05ס3 שדסא5א =דסא5א ססו דפוא ז5םע₪50א =ו]הא דק1ז₪ח56 =תהא 5₪/קא55 זחסק 5₪/ק55 65 זחסק 5₪/קם5 1 ₪ם/א55 םאהצד-50 5₪/ק55 ("הססא = סו )5.36 2 3 50 למפתחי אתרים באינטרנט 6ו כ 365 שיטות > 36,68067/8|]06 600 0068067 הוספת כותרת סדדח על ידי ציון שמה וערכה: "ס||6]" ,"זה" 00168007 650056 > (870200ח571) פס | דסחסססה הוספת שורה לסוף קובצ 108 בשרת עבור הבקשה הנוכחית על ידי ציוו המחרוות להוספה. אורך המחרוזת המקסימלית שניתן להוסיף הוא עד 80 תווים ואינו יכול להכיל פסיקים (ט : ("0006 68% 3 15 5ורס")ס 01 ד0ח6ככ.56ח6500 60088 > מנקה את החוצצ (61טם). אס לא קייס חוצצ תתקבל הודעת שגיאה: 650056 + 6חהם מסייס את עיבוד התסריט 56100) ושולח את הקוב ללקוח ללא עיבוד נוסף: "זחסוו6 6 0 66% |וואו פוח ד" שסוז/).56חה6500 50056.0 "!סח ||ואו פוחםז" 66וז//. 650056 > חפש₪₪ שולח את תוכן החוצצ ללקות (ְ6אט₪): הפטן. 650056 > 6767[000ח/ 607666 שולח דף מסויס חזרה ללקוח. פעולה זו יכולה להתבצע רק לפני שנשלחו ללקוח חזרה פקודות וואדת : "50017806.850" 6017601 56חה6500 > 66/)ס סהחעו סז שולח חזרה לדפדפן וואדת : "[וא0סח5 סו|46" 6סו/ו.56חה6500 פרק 16: 66ה₪01070 55 203 מאפיינים > הסאטם מורה לשרת לסיים את עיבוד הדף ורק בסיומו לשלוח חזרה את התוצאה ללקות. ההכרזה על מאפיין זה חייבת להיעשות בתחילת הדף: ד = .650056 > 66עקז0סו!טטוס |0ח6360660 הכרזה על מאפיין זה מאפשרת לשרתי שאסזק לשמור את הדף ב-68606. 6וופטק - מאפשר אחסון וק - אינו מאפשר אחסון "שו|טטק" = |56.68606600₪0ח6500 687561 )6081560] 006)0560( > ערכת התוויס בה ישתמש הדפדפן לפענות תווי הטקסט: ("50-8859-8!") 876%6ח₪500756.0 > 6קץ ₪6500756.607%6007 מורה לדפדפן באיזו אפליקציה להשתמש כדי להציג את הדף: "|66א5-6רח. סחע/ הסטהסו!קקה" = 6כץ דחה .650056 > 65זוקאם מורה לדפדפן מתי לטעון את הדף חזרה מהשרת ולא מה-68608. הערך נקבע בדקות: 0 = 65זוקא.₪6500056 > 66ט|65050זוקאם קובע מתי הדפדפן ינקה את הדף מה- 6866 על ידי ציון תאריך מדויק: את השנה יש לציין באמצעות ארבע ספרות. את השעה יש לציין בפורמט של 24 שעות : 18:00:00% 2000 ,21 ה6ז43 =06ו|65050זוקא=. 650056 > 660600חח%600ח₪ו|150 מעדכן את השרת אס הלקות עדיין מחובר אליו מאז 66ו/).56ח₪6500 האחרון. תשובה חיובית תחזיר פטוד. תשובה שלילית תחזיר 856 : חר 18|56= 66060 חח 60ח6ו56.150ח500סז + זז 0ח₪ 4 3 455 למפתחי אתרים באינטרנט הסו60|!!66% > 6ט|8ע = (6ו60160006הַַהּח) 6006165 מאפשר שליחת עוגיות ללקוח. יש לשלוח עוגיות לפני שליחת ₪411 ללקוח ולהוסיף את הפרמטר 65זוסאם (ציון תאריך תפוגה), ואת הפרמטר ו280 לקביעת הנתיב ממנו ניתן יהיה לקרוא את העוגיה: "סוןא 2" = ("ה56.6-006165)"06|316]0ח6500 "21,2002 ץ|טן" = 65זוא6. ("ח1610ה!6רח") 56.0006165ח6500 "/" =ה)08. ("ח16|31610ח")006165-.56ח6500 ו בב שיטות > (8%00[6600ח/) 668%600[66 יצירת מופע חדש של אובייקט מהשרת. יש להשתמש במילה 5% לפני הגדרת שס המופע החדש: ("ז600100[60. 006600806" )0[60כ0768160. 56/0 = 00[60שסח 56% > (עְבה|ספוסס ד8חו50) 6ססחם ווזדר מאפשר כתיבת תגי |ואדח ללקוח מבלי שהדפדפן יבצע אותם: ("<ץ000> :15 80ל 000 6006)"006חת | דר ז 56 6סוז/. 50056 > (עְ3|ספוסס ד8ח501) 06סחם וח מאפשר כתיבת מחרוות על פי פורמט ₪1 תקני לודאות תקינות פורמט הקישור: (" ה 60 חס סכ חורח. וע /: סח" )06 0ס6חם 1( 56 סו 650056 מאפיינים + טססחו 50 קובע את משך הזמן המוקצב לביצוע תסריט 5606). משך הזמן נקבע בשניות : 5 = )60חו 5671007. 50/6 פרק 16 : 66ה₪0)070 570 205 הסו5655 אובייקט ה מאותחל אוטומטית עבור כל משתמש בדף 455 הראשון אותו הוא טוען. האובייקט קייס עבור כל משתמש כל עוד הדפדפן פתוח ולא עבר יותר מהזמן המוגדר מראש (ברירת מחדל 20 דקות). שיטות > הססחהּסה מסיים את אובייקט ח0ו5655 עבור לקוח מסוים : חס 56550 אירועים > חשה0 אירוע המאפשר כתיבת קוד למצב בו ח0סו5655 מסתיים, בין אס באופן יווס או באמצעות סגירת הדפדפן או פקיעת הזמן המוקצב. קטע קוד זגה נכתב בתוך מסמך 8 תחת שגרת קוד בעלת שם קבוע: ()0ח 0 ח0ו5655 טט5 6סח 0065 0006 זטסץ' ספ 0חם בתוך שגרת הקוד ניתן לכתוב כל קטע קוד שיטפל במצב זה של סיוס חסו5655. > %פה0 אירוע המאפשר כתיבת קוד למצב בו ח0ו5655 מתחיל (עם כניסת השתמש לדף 455 הראשון). קטע קוד וה נכתב בתוך מסמך 61088|.858 תחת שגרת קוד בעלת שס קבוע: ()50ח ח0ו5655 טט5 6זח 0065 0006 זטסץ' סטש ₪0 בתוך שגרת הקוד ניתן לכתוב כל קטע קוד שיטפל במצב זה של התחלת ח0ו5655. מאפיינים > סן קובע את המיקוס הגיאוגרפי של השרת כדי לתת נתוני תאריך ושעה מדויקים לאותו אזור זמן: 208 סו חהכב!. ' 1041 = כו0 ]1 .חסו5999 6 3 4505 למפתחי אתרים באינטרנט > כח56550 מחזיר את מאפיין פז של חסו5655 שהינו מאפיין ייחודי עבור כל משתמש והינו מסוג הַחסן: 0 56550.5 > %טספחוד קובע מתי יש להפסיק את אובייקט ח0ו5655 עבור לקוח, במידה ועובר פרק זמן מסויס ללא תקשורת בין השרת ללקוח. הקביעה נעשית בדקות (ברירת המחדל היא 20 דקות): 0 = )ססוח. 5655100 * (ח60215655|0הַהח) %5ח%6ח60 מכיל את כל האובייקטיס מסוג ח0ו5655 ומאפשר פנייה אליהס על ידי ציון שמס (חסן6015655ההח) : "החה|ס" = ("זהוח")חסו5655 "הס" = ("זה0")ח506550 "הזסקו)" = ("505500)"0008 56550.5 חן ה0ו6015655וח3ח ה86= זס= (ה0ו6015655 )חח 0). ה0ו5655 6סוז/. 650056 + סחם כ פרק 16 : ₪01070066 55 207 פרק 17 - 616160066 +10ו256/ 0/6 6|355 6% מינוח 61855 מתייחס לאובייקטיס שנוצרו באמצעות 6%פפע בעזרת הכרות : ...5 5) שחת ויצירת מופע חדש שלהם על ידי שימוש ב--56 ו-שוסא : 60/36[ וחוס 6ח6|35513 שא = 6|סַהה/00[66 56% /7*ובּ הסו6וס מאפשר יצירת אובייקט המכיל צמדיס של מפתח וערך ובכך מאפשר פנייה לערכיס השוניס באובייקט ץ זהחססוס : 5 וחחום ("ץ סוכ חק 56 6768060060 = 10005 56% "החהחחהם" ,"ה" 10005.800 "פטוחחטח" ,"ס" 10005.00 "חטחסחבן" ,"6" 10005.00 "("ס")10005.1660" 6סוז/. 650056 פרק 17 : 6076066 %ק56/ - 209 שיטות 4 הוספת צמד חדש לאובייקט בפורמט מפתח/ערך: 6ט|8/,ץ6א 60.800[סכ/ה הסססוסץוח 5 שיטה לבדיקה האס ערך מסוים קייס באובייקט או לא. השיטה מחזירה פטזד במידה והתשובה חיובית ו-8|56] במידה ותשובה שלילית : (ץ6א)5ז15א0[66%.6כ)/וה הסססוס ץוח 5 מחזיק את כל תכולת אובייקט עזּחסוטוס בתוך מערך: 5 606 וה תסו = עְהז ה צוסו 5 מחזיק את כל תכולת מפתחות עזהּחסט6וכ בתוך מערך: .הת סו = עְהז ה צוסא ס6עסו 5 מאפשר הסרת צמד ערך/מפתח מתוך אובייקט עזגּחסטסוס על ידי ציון מפתח מסוים. במידה ומפתת זה אינו קייס, תתקבל הודעת שגיאה: ("ס")6/סח6ז.ז60[טכ/הההסססוס מאפשר הסרת כל צמדי ערך/מפתח מתוך אובייקט ץזהחסטסוס : 60/68 66[ס/ה ההסססוס 6 מחזיר את מספר זוגות מפתח/ערך בתוך אובייקט ץ והחסטסוס : ה ס660.6[ס ה ההסססוס והח%6ך מאפשר שינוי/הוספת ערך לאובייקט עזפּחסווסוס : "8005088" = ("3")וחסטו.ז66[ס/הההסססוס 0 3 4505 למפתחי אתרים באינטרנט ץצ מאפשר שינוי שיוך מפתח לערך: א סח = (/0086)ש66.66[ס/הההסססוס 7% מםפעצוזום אובייקט וה מאפשר גישה למידע על כונניס שוניס, מקומייס או ברשת : ("+0(6 5/5060 6!ו=. 56 )0768%600(66 = 15 56% ("1!05/5.02601/6)"6 = /07 56% מאפיינים 6 טבּוובּצטה מחזיר את המקום הפנוי בכונן מסוים : 66.6[ 60עו 67 |סטווס מחזיר את אות הכונן אליו אנו פונים : [סעוזס. סנס סקצדסעווס מחזיר מספר המציין את סוג הכונן לפי הערכים הבאים: 0- לא ידוע 1 ניתן להסרה 2- קבוע 3- רשת 4 תקליטורים 5- גה 6מץ דסעוזס. 60[ 60עווט וה5%56ץ1!65= מחזיר את סוג מערכת ניהול הקבציס בכונן מסוים: רה65/506!ן= .602066 עו פרק 17 : 6076006 560% 211 6 מחזיר את כמות המקום הפנוי בכונן מסוים : 6 60 ו מחזיר ערך פטזד אם הכונן זמין לשימוש, מחזיר 8|56] אם לא : 600.1 ו וְזבּק מחזיר את הנתיב עבור קוב, תיקיה או כונן: חזהק.ז6020[60 עו וס וטא ו3וס5 מחזיר ערך עשרוני של המספר הסדרתי של הכונן: זס | 60.56[ סוט 6ו וב מחזיר שס שיתוף של כונן מסויס ברשת על פי תקן 6או, לשימוש בעת עבודה מול כונן מרוחק בלבד : 36 )זה 60066.5 עו 6 ו מחזיר נפח כונן מסויס בבתיס: 6 .שו שוחה )]סוחט!סצ קובע או מחזיר שס כונן מסויס. 2 3 450 למפתחי אתרים באינטרנט זוזזם אובייקט זה מכיל את מספר השגיאה האחרונה שהתרחשה בזמן ריצה. אין צורך לייבצר מופע של אובייקט זה כיון שהוא נוצר אוטומטית. מאפיינים הסושקוז656 מכיל כברירת מחדל תיאור קצר של השגיאה שהתחוללה בזמן הריצה. ניתן להזין תיאור אחר אם מתעורר הצורך: "[סטזכ הזה זטסץ 60ההחס? זפטן 6...1ק00" = הססק0656.זום הס ק656. = סו 650056 "זסטוהטא מאפיין ברירת המחדל של אובייקט זזש. מחזיר את מספר השגיאה שהתרחשה: רתח = 5561000666 ץ65!= אובייקט המאפשר גישה לקבציס לצורך יצירת הוספה או שינוי. יש לייבצר מופע של אובייקט זה. ("0[66 55062 6!ן. חס 56 )670860060 = 600166 56% שיטות 6וץ60 שיטה המאפשרת העתקת קבציס לתיקיה חדשה. ניתן להוסיף פרמטר אופציונלי בעל ערכים של פטזד ו-8/56=, לקביעה האס לדרוס קובצ קיים בתיקיית היעד בעל שס דומה: [6 וס עס ,] !סח סח 650 ,50066 6וןץקס6. 66[ ססות !0 ץ602 שיטה המאפשרת העתקת קבציס לתיקיה חדשה. ניתן להוסיף פרמטר אופציונלי בעל ערכים של פטזד ו-8/56=, לקביעה האס לדרוס קובצ קיים בתיקיית היעד בעל שס דומה: [6 וס ,] ז06|ס- הסוח 650 ,5006006 סוסה ץקס6. 66[ ס6ות פרק 17 : 6076066 560% 213 ז36-0 60 שיטה המאפשרת יצירת תיקיה: 10/0686 ז76806-0|06). 60[ סו 6-6 60361 שיטה המאפשרת יצירת קוב טקסט. ניתן להוסיף פרמטר אופציונלי בעל ערכים של 6זד ו-8/56=, לקביעה האס לדרוס קובצ קייס בתיקיית היעד בעל שס דומה: [[6006וחג , ]סוס עס ,] 6הההח6! 6|ו- אס [76800. 66[ ססות 6-ו מאפשר מחיקת קוב. מכיל אופציה של פטזד הקובעת מחיקה גם של קבצי קריאה בלבד: [0606!66ז10 ,] 6|₪ 6|-6!606כ. 66[ ססות !66560 מאפשר מחיקת תיקיה, מכיל אופציה של 6טזד הקובעת מחיקה גם של קבצי קריאה בלבד : [66זס1 ,] 10067 ז6!606-0!00כ. 66[ ססות 5 םסעוו שיטה המחזירה פטזוד אס כונן מסויס קיים, ומחזירה 89/56 אס לא : (ז600 |6ש1505)01אם סעוכ 60[ 60ות 5 וו שיטה המחזירה פטזוד אס קובצ מסויס קייסם, ומחזירה 8|56] אס לא: (1505)!613006א 60.6[ סו 5 אס שיטה המחזירה פטזוד אס תיקיה מסוימת קיימת, ומחזירה 8|56] אס לא: (1505)10!067806א ז06!ס-. 60[ סו 0-6 מחזיר אובייקט ₪16 עבור קוב מסויס : (6 ה ח6)!6|ו-060.ז60[טססו 4 3 455 למפתחי אתרים באינטרנט 6-00 מחזיר אובייקט זמ עבור תיקיה מסוימת: (7)10106718006ז66.060-0106[ 60ו₪ 6 סצסוא הזות קבציס ממקוס למקוס: 0 חס 0650 ,50066 6|ןהסטסו₪. 60[ ססות ז06!ס-]6ץסוא הזות תיקיות ממקוס למקוס: 06500300 ,500601067 ז00|ס-6טסו. 60[ ססות 6ו- א ד הס מחזיר מופע של אובייקט 5070800[64:א6ד לאחר פתיחת קובצ טקסט מסוים. פרמטרים אופציונליים: להוספה/שינוי (8חו0ח6קקזס=) 8- 006וחס1 לקריאה בלבד (8ַח6801זזס=) 1 לכתיבה (דריסת הקיים) (פחשוזאחס) 2 6 -66806 6 (5011) 0 -6החזס= (16006ח0) 1- 069000 הח506ץ5) 2- ([[[8חזס+ , ]67686 , ]6ססרחסו ,] 6הההח6)!6ון-0א6 דה6 66.0[ 0ס6וח פרק 17 : 6076066 560% 215 ז36-0 60 שיטה המאפשרת יצירת תיקיה: 10/0686 ז76806-0|06). 60[ סו 6-6 60361 שיטה המאפשרת יצירת קוב טקסט. ניתן להוסיף פרמטר אופציונלי בעל ערכים של 6זד ו-8/56=, לקביעה האס לדרוס קובצ קייס בתיקיית היעד בעל שס דומה: [[6006וחג , ]סוס עס ,] 6הההח6! 6|ו- אס [76800. 66[ ססות 6-ו מאפשר מחיקת קוב. מכיל אופציה של פטזד הקובעת מחיקה גם של קבצי קריאה בלבד: [0606!66זס1 ,] 8|6 6|-6!66כ. 66[ ססות !66560 מאפשר מחיקת תיקיה, מכיל אופציה של 6טזד הקובעת מחיקה גם של קבצי קריאה בלבד : [66זס1 ,] 10067 ז6!606-0!00כ. 66[ ססות 5 םסעוו שיטה המחזירה פטזוד אס כונן מסויס קיים, ומחזירה 89/56 אס לא : (ז600 |6ש1505)01אם סעוכ 60[ 60ות 5 וו שיטה המחזירה פטזוד אס קובצ מסויס קייסם, ומחזירה 8|56] אס לא: (1505)!613006א 60.6[ סו 5 אס שיטה המחזירה פטזוד אס תיקיה מסוימת קיימת, ומחזירה 8|56] אס לא: (1505)10!067806א ז06!ס-. 60[ סו 0-6 מחזיר אובייקט ₪6 עבור קובצ מסוים : (6)1636|ן 260 60[ סו 4 3 455 למפתחי אתרים באינטרנט פרק 18 500| 6 פקודת 56|66% פקודה המשמשת לשליפת נתוניס מתוך מסד נתוניס טבלאי. יש לציין איה עמודות ברצוננו לשלוף: .366 הרסחה סרחה ]הרח|ס6 561665 לביטול הצגה כפולה של שמות החוזריס על עצמס יש להשתמש ב- זסחשפוס : וס 1500 ,6החהח|,6 ההז 50|66 התוצאה לא תכיל כפילויות של שדה שו6. לבחירת כל העמודות מתוך הטבלה יש להשתמש בסימן הכוכבית : * 56|666 והסז-] שס הטבלה ממנה אנו שולפיס את הנתוניס. פרמטר חובה: 6חה80!6+ החסי) * 56|66% 6וסו / הוספת תנאי לשליפת מידע על ידי אופרטוריס השוואתייס מופרדיס על ידי סאג, 08 ו- דסא : שוויון = אי שוויוו <> גדול מ- > קטן מ- > פרק 18: 67070006 501 217 גדול שווה =< קטן שווה => דומה ל- 6 אינו דומה 6 %סא בין לבין 1 5262 300 ה/א| ח6006כ = 6 סז חצ 6רה30!6+ וחסזז * 50606 ץְט וסוס סדר הצגת התוצאות על פי שס טור: ו עם ז06זס 6וח30!63+ וחסזז * 56666 לשליפת נתוניס מכמה טבלאות בבת אחת יש לציין את שס הטבלה והעמודה אותה אנו רוציס להציג: 8002 361 916% ההז 36 הר ס60. 62 סו 8+ סרחה א הרה טו|ס6. 361 161ב+ 50|66 משפט +ו56חו משמש לצורך הזנת נתוניס לטבלה. סזוו מציין את שס הטבלה אליה יוזנו הנתוניס : 30636 ד ססחו +56ח1ו 05 ציוו הערכיס אותסם יש להזין. ערכיס מחרוותייס יש להקיף בגרש בודד מכל צד: 086 34,600 )65| 6רחב6!סבל ססחו סח בצורת הזנה זו ייכנסו הנתוניס לטבלה על פי סדר הכתיבה שלהס משמאל לימין. לכן חשוב להקפיד שסדר הערכיס גהה לסדר הטוריס בטבלה. להזנת חלק מהטוריס בלבד יש לציין לאיוה טוריס במדויק נזין את הערכיס החדשים על ידי הוספת פרמטריס לביטוי סזח1 : ('החחההחבם', הההחההּז')פסטוהע סוט וס)ססחו +ו6פחו 8 3 455 למפתחי אתרים באינטרנט משפט סלבּ6ק משפט המשמש לעדכון נתוניס בטבלה. יש לציין באיזו טבלה מדובר: 36 90!6+ 08%6כ( 5% קביעת הערכיס החדשים לכל שדה שעובר עדכון: ' הסרה הק = וטו ה הסרחו = 60 56% 6ב 90!6%+ ססקט 6וסח / באיוו רשימה ספציפית יש להזין את הנתוניס המעודכניס: = 6+ 6 זט הסרה הק'= וט הסרחו'= 610 56% 6רח3ו0!6בל הקט משפט 6|6%6 6 פקודה למחיקת נתוניס מתוך הטבלה. ווזסיו+ מאיזו טבלה יש למחוק את הנתונים: 6ב 306% ד החסיז 061606 6וסח / באיזו רשימה ספציפית יש לבצע את מחיקת הנתונים: '00א0071א600 =6רח8ח 6וסחע סרחה סוב ד וחסיז 06606 פרק 18: 67070006 501 219 משפט 6וטבּד 67036 יצירת טבלה חדשה על ידי מתן שס לטבלה, שמות לטוריס וסוג המידע בכל טור: (... 6 0837 6רח3חרחט|ס6, 6 37 שרחה חר |ס6 )6 0!6 3+ 30|6+ 670866 משפט סוט סוס משמש למחיקת כל הטבלה על ידי ציוו שס הטבלה: 6ח3סוס3 ד 9016 סקסו 0 3 4505 למפתחי אתרים באינטרנט אינדקס האינדקס הינו באנגלית בלבד. כיוון הקריאה משמאל, מסוף הספר. כלומר, פתח את הספר בסופו (לפני הקטלוג) ושס תמצא את תחילת האינדקס - עמוד 1. אנדקס | 221 אםסאו ₪] 0020 0 >< 0 >9%0 %< 30, 2 = 2 ? 3 8 8 4 1 (20[600) חסו5655) עשזסקסזק הססחבסה 1 (וחזס1) ה0 6 0 566 20[606) 3%8 6ע₪60 5 566 73065 507/67 60/6 4 (00[60 ₪6607056%) 600 הס 66 חח 660 5 (00[600 ₪650076) עשוסקסזק 007063007 0 0סכא 9 >00[606₪ 60066008 5 606000 6|056 5 6|]66%₪ 2 658000 660%6א₪ 4 60000 ח6ק0 9 ,112-120 00[605 ₪6607056% 4 6000 ה0ס606 ה ה 660 9 ,116 -80 9 ₪0 4 60000 16!05= 6 0ס0ח6%ח )אס)]סטס|! 4 /*סוסקסזק ח006 1 0005 5 (00[660 6500706) ץ)זסקסזס 08 01 דסהסססא 5 20[60₪) חסוסמסו!|ססא 2 6%קסזק 600%60%5 2 60000 0/6ח6/ז.%5ה%6ח60 2 65000 || 605.66 9 0/6806 3 85 למפתחי אתריס באינטרנט ץז 9 ח066|33800 5011 18, 9 0 5 0 08%808505 9 6חו8ח6 9 (850.*) 6|₪ 9 חס 2 ,20 ]67800ח06 |חסת 8 00600 ז0זזם 55 7 + וסקסזס 500006 7 <וסקסזק הסטס0656 ק5 8 + סקסזק 6806001 8 ?+ %וסקסזק חוחט|ס6 7 ל שוסקסזס הסק 656 8 /*וסקסזק ₪6 8 /ולוסקסזק 6ח!] 8 ששוסססזכ זסטוחטא 8 +6קסזק 500766 50 חהסספסו!כ 566 665(ט0 הססחסוופסה 0 4 160167006 566 00[606% הססחסו|פסה 2 ,6107606 566 00[66% ₪600065% 6% 5ֶ₪0005 566 00[66% ₪60065% 5 ,6167006 566 00[66% 6500756 6500756 566 00[66% 6500756 5 ,₪6167006 566 00[66% 5067/67 ₪ְ567/0 566 00[66% 5067/67 7 ,0167006 566 00[66% 565510 ח56550 566 00[66% ח5655|0 8 9 ,116 (00[660 ₪66076056%) 80 ח00|68ם 1 חססחסחט |ססט6 5 (00[600 ₪650076) עשוסקסזק זסטם סע 1 חסססחט1 06ץ60 אנדקס - 2 6 1 (80!6וזה/) 685008 1 ח8₪00658 1 8/0 1 ש6ח6ז6 1 86% 1 >!סטסס 1 10000 1 פחס|ן 1 סוִפַחו5 1 8ח1ו50 1 חסססחנף |ססס6 1 חסססחטז 0ץ60 1 חסססחט1 זטסס 1 חסססחט1 608%6 1 חסססחט1 |600 4 !וה שו6ח.%5ח600 5 (50ג) 68% 1 חסססחט זחו6 1 חסססחט1 8ח|6 6 0060060 606 6 006 00% 566 |006 00166 6% חקו 60 1 (00) 0[60 ח6600חח60 5 600060 6|056 5 6|6%6%₪ 2 6568000 66066א5 4 60000 ח006 2 001600 00ן5655) 60000 65ח%6ח60 2 (00[660 חססחסו|מק8) /+זסקסזק %5ח6לח60 2 (00[600 חס ולהסו|8) 6000 6/סרח6. הח 60 2 (00[60 ה5655|0) 66000 605.66 2 (00[6600 הססחסו!מק3) 6600 || סרח .הח 60 2 (00[660 ה0ו5655) 6000 || סרח .הח 60 55 |סזח 60 8 וחט 00 8 ₪>!וחשו 00 7 10% 6 ה680 107 4 !)1 3 857 למפתחי אתריס באינטרנט 5 6856 506|60% 8 6000665 3 00160 ₪650006) 60000 6006165 9 + וסקסזק 6008165 1 | 50% 1 |- 60 2 ,1 (501) %80|6 608%6 3 ,01 (00[660 ז567/6) 66000 6768%600[66% 8 ₪א6 6768667 1 חסססחט? 6508 1 חסססחעט) 6507 1 חסססחט 660 ,666 פ 5כ 566 6וחּ] 50766 הזה 3 858085685 1 566 ,90 |0008ה]|6ז 0 5 וטו 1 חסח6חט] 608%6 ,6זהכ 8 >חסוטססכ 60806 5 (501) וחסז? 66| 9 ,30 6זס/וץ6א הזוס 7 ,01 ,95 כ 6 ,37-38 %חס6ו5%9%67 |טחט ספ 8 500060608 6!וחאו סס 8 +63 ,חסוחטססס 1 חסטסחטף |600 ,6|טטסס 5 (0086) זפטוזס 6 6%ך 605066ו1] 3 (501) קסזס 5 5 | ווהוח-ם 4 ווה /עש6ח.%5ח600 1 (00[6600 6ח₪6500) 0חם 6חופח= 9 35 9 ,116 (00[6600 ₪6607056%) 50 2 0201600 ח6600חח60) 600 660%6א5 4 (00[600 ₪650076) /זוס6קסזכ 65זוקאם אנדקס | 4 | 4 (02[66 46607056%) 6000 16!05= 9 (850.*) ₪16 8 00[606₪ 6!= 2 סז וה0150768 הת 4 ץז6קסזק 666768060 4 (זסקסזס 356001860 %61כ 3 6000 6|6%6 4 + זוסקסזס פצוזס 4 /זסססזכ שוחב 9 600060 6!%א6 דחה6ק 0 4 עלוסססזס חִזבק 9 ססוח66ו ||₪680 0 606000 6ח! 6801 4 0 זסקסז 5126 1 ססח6% 6חו 5611 4 +שזזסקסזק 6קץד 4 ,, וצו סַחואזס/ ,65!ו= 8 6076 [2708%6) 8 001606₪ 6!= 2 + סססזכ וה0150768 הז 4 עלו6קסזק 666768060 4 עלוסקסזס 35%%1001860 %61כ 3 6000 6|6%6 4 /זוסקסזס פטוזס 4 /זסססזכ 6וחבּו] 9 600080 6!ן%א6 דח06 0 4 /שוסקסזס חְזבק 9 ססוח66ו ||₪6803 0 606000 6ח! ]₪680 4 /שוסקסזק 5126 1 ססוֶ6% 6חו1כ!56 4 /שזסססזק 6קץד 7 >65/5%60[606%!= 3 2007|6₪) 9 ₪-0א6 דח6ק0 7 65/506000[60!ו= 55 |0זח60 566 , |סטחס6 צוס 7 50800670%₪ זס= 3 857 למפתחי אתריס באינטרנט 6 %ה5%8%07060 ₪80 זס= 7 (6000 60065%) 6000 6006165 וח'זוס- 1 ח3600 860 1 6 55 חפ 0 ,54 (20[660) ₪60065%) 600 וחזס= חסס6חט- 6000! 1 60/60 1 66008 |1 60805 1 600| 1 6 1 1 8ח|6 6508 1 60507 1 1 אסשת 1560 0 6 06% 4 )060)-6₪6 3 ח 6060 6 1] 0016064! / 1 808! / 1 |008ו8066א6ר]ן 1 חססס6חט1 אסח 1 חסססשחט1 אסח 1 ,18 |חשסה 2 ,20 06067800 7 כאח 4 06% 4 86800 2 05% 9 507/60 3 5%8%6|655 אעדקס | 6 1 חס16 4 65\ק 4 0%ח5%9060700 +1 3 50/6 115 6 ,4 ,92 (501) ססחו 561%ח1 וופחז 7 >)6ק זז 1 חסססחט זחוס 9 חסזס|קאם 6%חז%ח1 ךַ ב 0 6856 510/6ח56 3 חסססשחטז ז600חו 56 1 9חס | 1 חסססחט 8ח|6 א 116705086 (60655 1 8 (0080) זפעוזכ 60655 16050 4 8%זסו] 2.1 00[666) 28%8 6/6% 50%סה6וו 6 (0086) זפטוזס +א6ד 60סזסוו 6 (00[6600 ₪6607056%) 00ח6%וח )אסוסעטסוו א 0 חהסוסה2ו|החזסא 4 סהס60לס] 0 7 ,95-96 0086 5 פאס 5 חסטוזס 8 חסעוכ 66655( 605066ו1! 6 זסטחזכ 6ד ספסזסון 1 65 6%%ך 4 0060 ה6600חח00) 600 ה6קס 7 3 450 למפתחי אתרים באינטרנט 4 (00[600 ₪6607056%) /+וסקסזס הח6קס 9 ₪ו"א6 דחה6ק0 5 8 > 8 => 88| <> 8 ס 2 ,138 ,80 ,73 ,61-64 ,66007 סהַבּק 5 566 507/67 ט6/ |החספזסק 2 ,1 05% 5וק 4 חססן 7 !ל5ח1 4 50% 7 05 סָ 2 ,47 66000 ()9חו50עזסטס ₪ 0 200) 00[605 ₪6607056% 4 60000 ה60600ה חה6)0ע60 6 80 6 ₪0 4 60000 16!05= 6 0סח66וח )אס)]סטס|! 4 /וסקסזס ח006 9 6זסשוץ6א ההוססח 0 (00[660 06ה46500) 65000 6017666 1 566 ,90 8%808565כ |8ח00ב|6 8 א8ח6 אעדקס | 8 6 ₪>00[60 ₪601165% 4 67065ק0זק 6006165 7, ,80 ,54 6%000 הוחזוס= 2 ,47 66000 (90חו50ץזסט) 5 670665ק0ז 8180|65 56/6 9 ,57-65 00[665 6500756 5 + ז6קסזק 00168007 5 6זסקסזק 08 !0 ד0חסכסה 5 +ץזוסקסזכ 0767 3 60000 6006/65 4 + שוזסקסזס %ה600 5 ה6₪0 ז0ס1 1 חם 4 שזסססזכ 65זוקאם 0 6000 601766 9 ,58-59 6סח6%וח 66וז/ 5 9 ,103 |חו.6₪08ח56 1 50% 1 (501) 506|60 5 ח5%0%6706070%₪ 0856 56166 6 55/6 0 850005 2 020[600%₪0) ח565510 1 ושוסקסזק הססחּסה 2 6000 %60%5ח60 2 67000 %60%5ח60 2 6000 5.60/6 606 2 60000 ||64ע0ח6. 60605 9 600665 1 *טזסקסזק +ס6חודך 8 6|סהפצ 3 ,1 56% 3 (חסססחט1 28/85670%) 600% 5607 ובו 9 כסחת 1 15 1 סש 3 85 למפתחי אתריס באינטרנט 5 >00[60 567/67 3 ,101 66000 6768%600[66% 56 1 6508 3 >ך5 3 50 0 0₪6 6768% 9 ,93 ההחסז 6!6%6 0 ,3 80₪6+ 0700 8 ,114 ,92 ססחו +ז50חו 7 56006 9 ,92 08%6קש 3 (כח) 5%8%6|655 58 1 חסססחט 650 1 5566 סהַ808חה | ץז6ט 5070600760 1 (ז0ס+) הססטטס +ווחסט5 ד 1 (6מס0 ,סכה) ₪66 %א6ד 1 0201600 ח0ו5655) עשוסקסזק זטססוחוד ט 3 ,92 (501) 000806 צ 5 9 ץז 3 0603788 0 6זסשוץ66א וס 0 06 08%8 +חהוזב/ 0 6קש 0808 %ח8זה 6% 9 %ח6ו|6 9 50/6 0 6856 510/6ח56 5 (5|606 ]567/6) 61676006] 3 8718065 אנדקס | 10 /856710% 0016065 5 6|355 00[606% 9 1 0060660 ץזהחסטסוס 2 00160>₪6 6טוזכש 3 00[60% זזם 5 00[606>₪0 1!65/5%600000[66%= 6 88516 |808ו/ 601% 00[60% 6 606 6 שו 1 507/60 טס/ 1 >6ס0פחו/\ 9 ((02[66 6520706 ) ססחססוח ס6סוז/ 1 3 50 למפתחי אתרים באינטרנט