1 00:00:00,000 --> 00:00:10,393 >> [השמעת מוסיקה] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 דוד י מלאן: בסדר. 4 00:00:12,120 --> 00:00:12,830 ברוך שובך. 5 00:00:12,830 --> 00:00:13,890 זה CS50. 6 00:00:13,890 --> 00:00:15,570 זהו סופו של שבוע 8. 7 00:00:15,570 --> 00:00:18,360 וכפי שאתם יודעים, יש לנו די שעתי עבודה מקובלת בכמה 8 00:00:18,360 --> 00:00:21,090 של חדרי האוכל, כולל אננברג. 9 00:00:21,090 --> 00:00:23,860 וחלק מהצוות חביב לקח כמה תמונות בזמן האחרון. 10 00:00:23,860 --> 00:00:26,230 ולכבוד ליל כל הקדושים, שחשבנו שאנחנו היינו 11 00:00:26,230 --> 00:00:30,160 לשתף אחד שלא תפס אותנו ב הפתעה כאן באננברג אולם רק 12 00:00:30,160 --> 00:00:31,490 באותו הלילה. 13 00:00:31,490 --> 00:00:36,300 שלך לכיתה יעקב הציבה ל תמונה זו, אבל הייתה משעשע יותר 14 00:00:36,300 --> 00:00:39,760 היה בפייסבוק, שהתפתח שיחה שקרתה אחר כך. 15 00:00:39,760 --> 00:00:43,020 >> הפוסט הראשון שלו בתגובה לתמונה שלו היה זה. 16 00:00:43,020 --> 00:00:46,740 כמה דקות לאחר מכן, הוא החליט לאחד מהם את עצמו עם זה. 17 00:00:46,740 --> 00:00:53,800 זה נמשך אז ללכת לזה, ולאחר מכן, עוד יותר משעשע 18 00:00:53,800 --> 00:00:55,320 כאשר האמא שלו צלצלה ב. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 ולאחר מכן סופו של דבר, נראה זה היה רק 21 00:01:01,800 --> 00:01:04,860 תחבולה נפלאה ל לשחק שקורה. 22 00:01:04,860 --> 00:01:07,080 >> לכן, אם אתם רוצים לראות את ג'ייקוב ואחרים, 23 00:01:07,080 --> 00:01:10,880 ביניהם סינתיה מנג, מי מאחורי הקלעים של צוות אזור CS50, 24 00:01:10,880 --> 00:01:13,970 ראש לכתובת אתר זו והמחזה הזה כאן. 25 00:01:13,970 --> 00:01:18,810 אז בלי עיכובים נוספים, אנו היום להמשיך את המראה הזה בתכנות האינטרנט, 26 00:01:18,810 --> 00:01:21,810 ויצירת בפועל של תוכניות שלא לרוץ בשורת הפקודה שלך, 27 00:01:21,810 --> 00:01:24,080 אבל במקום לרוץ בתוך דפדפן. 28 00:01:24,080 --> 00:01:26,320 >> יש להניח שעכשיו, או מאוד זמן קצר, אתה הולך 29 00:01:26,320 --> 00:01:30,200 להיות בעיצומה של הטמעה שרת האינטרנט משלך, ש 30 00:01:30,200 --> 00:01:31,700 שונה מתכנות האינטרנט. 31 00:01:31,700 --> 00:01:36,210 שרת האינטרנט בpset6 הוא על כל כתיבת תוכנה שיודעת לקחת 32 00:01:36,210 --> 00:01:39,300 בקשות HTTP מדפדפן, או אפילו ממך, אדם, 33 00:01:39,300 --> 00:01:42,340 עם תוכנה בשם Telnet, ו אז להגיב לבקשות אלה או 34 00:01:42,340 --> 00:01:48,600 על ידי לירוק קובץ HTML, או jpeg, gif או, או אפילו קובץ .php. 35 00:01:48,600 --> 00:01:52,490 >> אבל עם שרת אינטרנט, זה לא אמור רק לפתוח קובץ PHP, 36 00:01:52,490 --> 00:01:55,260 משהו שהסתיים ב.php ו אז לירוק את התוכן. 37 00:01:55,260 --> 00:01:58,440 זה אמור לעשות מה הקובץ שראשון? 38 00:01:58,440 --> 00:01:59,390 כביכול. 39 00:01:59,390 --> 00:02:04,060 לא תהדרו אותו, שאמרנו ביום שני, אבל rather-- אז, לפרש אותה. 40 00:02:04,060 --> 00:02:08,070 >> PHP זה שפה פירשה, וכך אחד ממאפייני המפתח באתר שלך 41 00:02:08,070 --> 00:02:11,550 שרת, אם כי יושם על ידינו, היכולת הזו לשרת האינטרנט שלך 42 00:02:11,550 --> 00:02:12,490 לשים לב, הו. 43 00:02:12,490 --> 00:02:14,580 זהו קובץ שמסתיים ב.php. 44 00:02:14,580 --> 00:02:17,970 תן לי לא רק לשלוח אותו ל משתמש כמו זה תוכן סטטי, 45 00:02:17,970 --> 00:02:20,970 אלא נתת לי לקרוא אותו קו על ידי קו, מהשמאל לימין, ולפרש אותו. 46 00:02:20,970 --> 00:02:23,030 >> וכדי לעשות, כי אתה בחורים בעיקרו 47 00:02:23,030 --> 00:02:26,520 דוגית לתכנית במכשיר, ועל הרבה מערכות מחשב, 48 00:02:26,520 --> 00:02:27,500 רק בשם PHP. 49 00:02:27,500 --> 00:02:30,579 שהוא שמו של PHP מתורגמנו של השפה. 50 00:02:30,579 --> 00:02:33,120 אז, חתיכה שאנחנו ליישם ל אתה, ומה שנשאר לך, 51 00:02:33,120 --> 00:02:35,240 סופו של דבר, הוא מספר חתיכות, וביניהם 52 00:02:35,240 --> 00:02:37,960 מיישם תמיכה לתוכן סטטי. 53 00:02:37,960 --> 00:02:40,180 >> אבל עכשיו, ועם בעיה להגדיר שבע, אתה 54 00:02:40,180 --> 00:02:43,660 הולך להתחיל למעבר ל בכתיבה של קוד PHP 55 00:02:43,660 --> 00:02:45,970 שמקבל פירש בשיחה עם גב סיום 56 00:02:45,970 --> 00:02:47,960 מסד נתונים מאחסן מידע. 57 00:02:47,960 --> 00:02:51,020 אז בואו טוב יותר של להבין תחילה כמה superglobals אלה 58 00:02:51,020 --> 00:02:53,720 ורק כמה כוח אתה לצאת מהקופסה בחינם 59 00:02:53,720 --> 00:02:55,250 עם שפה כמו PHP. 60 00:02:55,250 --> 00:02:57,350 דברים שאין לך כדי ליישם את עצמך. 61 00:02:57,350 --> 00:03:01,700 >> אז, ראינו ביום שני _GET $, שהוא superglobal, 62 00:03:01,700 --> 00:03:05,496 שרק PHP מדבר בעד גלובלי משתנה אתה יכול לגשת לכל מקום. 63 00:03:05,496 --> 00:03:06,620 ומה יש בפנים של _GET $? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 מה יש בפנים של זה superglobal שאנו רואים? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 אין ספק מבחינה סטטיסטית ב אדם אחד לפחות יודע. 68 00:03:19,020 --> 00:03:21,590 מה יש בפנים של _GET $? 69 00:03:21,590 --> 00:03:22,426 כן? 70 00:03:22,426 --> 00:03:24,130 >> הקהל: זה משתנה אתה מכניס את מחרוזת השאילתה. 71 00:03:24,130 --> 00:03:24,530 >> דוד י מלאן: מושלם. 72 00:03:24,530 --> 00:03:26,488 זה משתנה לך לשים במחרוזת השאילתה. 73 00:03:26,488 --> 00:03:29,910 לכן, בדוגמא שלנו ישנה יותר של מחדש של גוגל כאשר היו לנו 74 00:03:29,910 --> 00:03:34,130 כתובת URL, ולאחר מכן סימן שאלה, שתוחם את תחילת HTTP 75 00:03:34,130 --> 00:03:37,950 פרמטרים, אז היו לנו q שווה משהו, כמו q שווה חתולים, 76 00:03:37,950 --> 00:03:41,500 מה יהיה באופן אוטומטי להיכנס פנימה של ש_GET $ סופר גלובלי בשבילך, 77 00:03:41,500 --> 00:03:47,430 בגלל PHP, הוא מפתח של Q, ושוויו של חתולים. 78 00:03:47,430 --> 00:03:51,250 >> במילים אחרות, _GET $ וכל הדברים האלה הם מערכים אסוציאטיביים, 79 00:03:51,250 --> 00:03:54,530 שולחנות חשיש של מיני, ש מפתחות חנות וערכים. 80 00:03:54,530 --> 00:03:57,980 עכשיו, בחזרה בpset5, החשיש שולחן ייתכן שיישם, 81 00:03:57,980 --> 00:04:00,220 או לנסות ייתכן ש יישמתי, באמת 82 00:04:00,220 --> 00:04:04,010 היה יעיל אסוציאטיבי מערך, מבנה נתונים 83 00:04:04,010 --> 00:04:07,220 לפיה ניתן לשייך מפתחות עם ערכים. 84 00:04:07,220 --> 00:04:09,690 >> אבל בpset5, הערכים בם היו זניחים. 85 00:04:09,690 --> 00:04:12,430 הערך היה למעשה אמת או שקר. 86 00:04:12,430 --> 00:04:13,900 האם המילה במילון? 87 00:04:13,900 --> 00:04:18,279 לכן, כאשר אתה hashed מילה כמו תפוח כדי לראות אם תפוח הוא במילון, 88 00:04:18,279 --> 00:04:21,820 פונקצית הבדיקה שלך כנראה חזר אמת או שקר. 89 00:04:21,820 --> 00:04:24,120 אז, זה ביעילות ערך שאנחנו מקבלים בחזרה. 90 00:04:24,120 --> 00:04:26,456 >> אבל ראינו ביום שני בקצרה, אתה יכול בהחלט 91 00:04:26,456 --> 00:04:28,830 לשייך מעניין יותר ערכים מאשר רק אמת או שקר 92 00:04:28,830 --> 00:04:30,790 עם מקשים, כמו תפוח. 93 00:04:30,790 --> 00:04:33,909 אתה באמת יכול לחזור מחרוזת שרירותית, ואכן, 94 00:04:33,909 --> 00:04:36,200 זה מה ש_GET $ ואלה משתנה אחרים שתוכל לעשות. 95 00:04:36,200 --> 00:04:40,595 >> אז _POST $ דומים ברוח, אבל אם אתה שולח טופס באמצעות דואר, 96 00:04:40,595 --> 00:04:44,490 שיטת HTTP שונה זה המשמש לדברים כמו כרטיסי אשראי, 97 00:04:44,490 --> 00:04:48,410 ומידע פרטי, ואפילו מידע בינארי כמו תמונות, 98 00:04:48,410 --> 00:04:51,840 את הדברים האלה בסופו של חלק פנימי של _POST $. 99 00:04:51,840 --> 00:04:53,770 ובעצם לקבצים כמו בפורמט JPEG ומה לא, 100 00:04:53,770 --> 00:04:58,290 יש אפילו עוד זה לא עד כאן נקרא _FILES $ גם כן. 101 00:04:58,290 --> 00:05:01,280 >> אז, השרת אנחנו לא להתעכב על מדי הרבה, אבל זה נותן לך גישה 102 00:05:01,280 --> 00:05:04,860 כדי למיין של פרטים ברמה נמוכים יותר על השרת עצמו שאתה משתמש. 103 00:05:04,860 --> 00:05:07,430 קוקי והפעלה, אם כי, אנו יעילות יראו עכשיו. 104 00:05:07,430 --> 00:05:10,940 האחרון הוא מה שאנו משתמשים כדי ליישם הרעיון של עגלת קניות. 105 00:05:10,940 --> 00:05:14,480 אחד סופר פשוט, אבל זוכר שהיינו לנו דוגמא זו כאן, 106 00:05:14,480 --> 00:05:17,640 לספור כמה פעמים אתה ביקר בדף זה לפני. 107 00:05:17,640 --> 00:05:20,850 >> אבל היום, ולא רק להסתכל על ההשפעה של זה, בוא לפתוח את 108 00:05:20,850 --> 00:05:22,640 של Chrome המפקח, אשר בדרך כלל שאתה יכול 109 00:05:22,640 --> 00:05:25,740 לעשות על ידי לחיצה או בקרה תקין לחיצה בכל מקום בדף אינטרנט, 110 00:05:25,740 --> 00:05:27,250 ולאחר מכן בחר בדוק רכיב. 111 00:05:27,250 --> 00:05:31,600 או שאתה יכול לעבור את התפריטים שאנחנו מתארים במפרט של pset6. 112 00:05:31,600 --> 00:05:35,020 ואני הולך על כרטיסיית הרשת כאן, ובואו לצפות לרגע 113 00:05:35,020 --> 00:05:37,590 תנועת HTTP זה הולך הלוך ושוב. 114 00:05:37,590 --> 00:05:40,929 >> תן לי ללכת ראשון קדימה ואת זיכרון המטמון של הכרום ברור. 115 00:05:40,929 --> 00:05:43,470 אז כמה מכם יכול להיות מוכר עם טכניקה זו כבר, 116 00:05:43,470 --> 00:05:45,790 ואנחנו מתכוונים להשתמש בו למטרת איתור באגים כאן. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 עכשיו אנחנו כמו מחשב מדענים עומדים להתחיל 119 00:05:50,890 --> 00:05:53,920 עושה את זה לצורך איתור באגים מטרות, לפיה 120 00:05:53,920 --> 00:05:55,910 אנו לנקות את המטמון, בדרך כלל, כדי ש 121 00:05:55,910 --> 00:05:57,670 יכול להיפטר מדברים שנקראים עוגיות. 122 00:05:57,670 --> 00:06:01,700 אז אתה כנראה בדרך כלל מוכר עם מה עוגיות, או לפחות 123 00:06:01,700 --> 00:06:04,370 שהם קיימים, אבל מה ההבנה שלך שלהם, 124 00:06:04,370 --> 00:06:06,920 רק כמשתמש של מחשבים, מה היא עוגייה? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 כן. 127 00:06:09,990 --> 00:06:14,391 >> קהל: זה ל-- גם קצת, לא קצת בטווח של מדעי מחשב. 128 00:06:14,391 --> 00:06:18,303 זה פיסת המידע ש אתר שולח לך כדי 129 00:06:18,303 --> 00:06:20,209 כדי להיות מסוגל להקליט נתונים סטטיסטיים עליך. 130 00:06:20,209 --> 00:06:21,250 דוד י מלאן: אישור, טוב. 131 00:06:21,250 --> 00:06:24,980 אז זה פיסת המידע ש שרת, מעמיד, למחשב שלך 132 00:06:24,980 --> 00:06:28,840 ובואו להכליל את זה אפילו יותר, זה מפתח value-- גם, 133 00:06:28,840 --> 00:06:30,064 שמתחיל להיות מדויק יותר. 134 00:06:30,064 --> 00:06:31,980 זה חתיכה מידע, פיסת המידע, 135 00:06:31,980 --> 00:06:34,430 ששרת יכול לשים על המחשב שלך 136 00:06:34,430 --> 00:06:38,592 ולעתים קרובות מאוד, השרת עושה זה כדי לזכור מי אתה. 137 00:06:38,592 --> 00:06:40,300 כך למשל, סיכויים אתה בטח 138 00:06:40,300 --> 00:06:42,982 מחובר לאתרים כמו פייסבוק, או Gmail, או לאחרים לפני, 139 00:06:42,982 --> 00:06:44,940 ואתה מתחבר עם שלך שם משתמש וסיסמא, 140 00:06:44,940 --> 00:06:49,000 ואז אחרי זה, לחלק המספר דקות או שעות או אפילו ימים, 141 00:06:49,000 --> 00:06:52,970 השרת זוכר ש אתה, למעשה, מחובר. 142 00:06:52,970 --> 00:06:54,600 עכשיו, איך זה קורה בפועל? 143 00:06:54,600 --> 00:06:58,630 כי ודאי שאינך עבודת ההקלדה שם המשתמש שלך וסיסמא בכל פעם 144 00:06:58,630 --> 00:07:00,760 אתה מנווט ל דף אחר בפייסבוק. 145 00:07:00,760 --> 00:07:02,570 אז מתברר עוגיות הן התשובה. 146 00:07:02,570 --> 00:07:05,360 >> עוגייה שאתה יכול לחשוב כ, סוג של אוהב, יד דיגיטלית 147 00:07:05,360 --> 00:07:09,200 חותמת שאתה עלול לקבל בשעשועים פרק או מועדון שבעצם 148 00:07:09,200 --> 00:07:11,740 מציין שאתה נמצא כאן לפני, ויש לך כבר 149 00:07:11,740 --> 00:07:16,070 הראה תעודת הזהות שלך לסדרן, ל למשל, וכי המועדון או הפרק 150 00:07:16,070 --> 00:07:19,050 עכשיו צריך להניח שאתה אימת כבר. 151 00:07:19,050 --> 00:07:21,270 אתה כבר זוהה על ידי זה. 152 00:07:21,270 --> 00:07:24,740 >> אז עם זה בחשבון, בואו לפתוח את הדלפק כאן. 153 00:07:24,740 --> 00:07:27,220 תן לי ללכת קדימה, אני רק עשיתי, ולנקות את כל העוגיות שלי. 154 00:07:27,220 --> 00:07:29,970 ועכשיו מה שאני הולך לעשות הוא החזקתי את מקש Shift, רק למען סדר טוב, 155 00:07:29,970 --> 00:07:31,740 וכוח לטעון מחדש את הדף. 156 00:07:31,740 --> 00:07:34,170 Shift רק לוודא ש זה דבר יקבל מטמון. 157 00:07:34,170 --> 00:07:36,850 והנה הבקשה שהלך הלוך ושוב. 158 00:07:36,850 --> 00:07:41,560 אז כאן יש לנו בקשה, ולתת לי שלי להתקרב לכאן, והרבה זה 159 00:07:41,560 --> 00:07:44,710 הוא סוג של פרטים לא מעניינים ל עכשיו שהדפדפן יש באופן אוטומטי 160 00:07:44,710 --> 00:07:47,800 נשלח, אבל בואו לחצו על צג מקור כדי לראות את כותרות גלם. 161 00:07:47,800 --> 00:07:51,700 >> ואם אתה כבר צלל לתוך pset6 כבר, אתה בוודאי מכיר את הדברים 162 00:07:51,700 --> 00:07:54,990 כמו זה, ואולי קצת שורות אלה אחרים כאן, 163 00:07:54,990 --> 00:07:59,040 אבל מה שמעניין יותר להיום אם אני לגלול למטה, לא לבקשה 164 00:07:59,040 --> 00:08:02,870 אבל לתגובה שנקרא, קו זה כנראה נראה מוכר. 165 00:08:02,870 --> 00:08:04,977 זה דבר טוב כשאתה רואה על אישור 200. 166 00:08:04,977 --> 00:08:07,060 ככל הנראה, מדובר תאריך ושעה בשרת 167 00:08:07,060 --> 00:08:08,268 ויש כל מינים דברים. 168 00:08:08,268 --> 00:08:09,290 אה, זה מעניין. 169 00:08:09,290 --> 00:08:13,430 >> מתברר בכל פעם שאתה משתמש ב PHP, לפחות בשרת זה, 170 00:08:13,430 --> 00:08:16,360 השרת יורק את מה ש גרסה של PHP שאתה משתמש. 171 00:08:16,360 --> 00:08:18,962 אשר, למעשה, לביטחון מטרות, זה לא דבר טוב. 172 00:08:18,962 --> 00:08:21,170 אבל, אנחנו נחזור לזה בפעם אחרת אולי. 173 00:08:21,170 --> 00:08:25,740 אבל עכשיו זה הקו העסיסי היום, וראינו בקצרה כמה מהם, 174 00:08:25,740 --> 00:08:29,240 אני חושב שעם פייסבוק כאשר אנו חיטטנו סביב המפקח באותה העת, 175 00:08:29,240 --> 00:08:33,380 עוגיית סט היא מה שנטיעה פיסת המידע שקטנה 176 00:08:33,380 --> 00:08:34,890 למחשב שלך. 177 00:08:34,890 --> 00:08:37,490 >> זה כותרת HTTP זה יעיל 178 00:08:37,490 --> 00:08:39,970 אומר לי הדפדפן שלך, Chrome, IE, מה, 179 00:08:39,970 --> 00:08:44,480 היי חנות דפדפן במשתמש של כונן קשיח, או בזכרון RAM של המשתמש, 180 00:08:44,480 --> 00:08:49,680 מפתח בשם PHPSESSID, שהוא סימון מקוצר למזהים הפעלה, 181 00:08:49,680 --> 00:08:53,670 ולתת לו ערך של 0vlk8t, נקודה, נקודה, נקודה. 182 00:08:53,670 --> 00:08:56,480 פסאודו באמת ארוך מחרוזת אלפאנומריים אקראית. 183 00:08:56,480 --> 00:08:59,480 זה רק מספר ממש גדול, אבל זה מקודד עם אותיות ומספרים 184 00:08:59,480 --> 00:09:03,550 כך שהגודל שלו יכול להיות אפילו גדול יותר ממספרים בלבד. 185 00:09:03,550 --> 00:09:06,947 ולאחר מכן, אגב, Path = /, ש רק אומר שעוגייה זה צריכה להיות 186 00:09:06,947 --> 00:09:08,780 הקשורים ל שלמות של האתר, 187 00:09:08,780 --> 00:09:11,150 לא רק ספציפי דף את כל העניין. 188 00:09:11,150 --> 00:09:12,930 אז זה הוא שיד חותמת וירטואלית. 189 00:09:12,930 --> 00:09:16,330 זה כאילו השרת, פייסבוק, או במקרה שלנו במכשיר, 190 00:09:16,330 --> 00:09:21,140 יש 0vlk8t, פשוטו כמשמעו, שנכתב וכן הלאה, על היד שלך. 191 00:09:21,140 --> 00:09:24,360 שים לב מה השרת של, לא עושה הוא שזה לא 192 00:09:24,360 --> 00:09:27,730 אחסון שם המשתמש שלי, בהחלט לא אחסון הסיסמה שלי. 193 00:09:27,730 --> 00:09:31,710 >> במקום זאת, זה נראה אחסון מידע פסאודו אקראי 194 00:09:31,710 --> 00:09:35,010 כך שאף אחד לא יכול לנחש מה היא יד החותמת שלי. 195 00:09:35,010 --> 00:09:37,590 בצד השרת, בינתיים, השרת 196 00:09:37,590 --> 00:09:40,370 הולך לזכור, כנראה במסד נתונים או משהו, 197 00:09:40,370 --> 00:09:46,490 שהמשתמש, שגם בעתיד מציג יד חותמת של 0vlk8t, נקודה, 198 00:09:46,490 --> 00:09:51,440 נקודה, נקודה, צריך להיות קשור לזה עגלת קניות מסוימת, אם אפשר לומר כך. 199 00:09:51,440 --> 00:09:55,060 במילים אחרות, אם עכשיו אני הולך אחזור לכאן ולטעון מחדש את הדף, 200 00:09:55,060 --> 00:09:58,020 איך השרת יודע שבקרתי פעם אחת? 201 00:09:58,020 --> 00:10:01,730 >> או אם אני עושה את זה שוב, איך עושה את השרת יודע שאני כבר ביקרתי אותו פעמיים? 202 00:10:01,730 --> 00:10:04,680 ובכן, אם אני יורד לזה רוב הבקשה האחרונה, ש 203 00:10:04,680 --> 00:10:09,150 הוא שלישי עכשיו אני כבר שלחתי בסך הכל, שם לב לבקשה שלי עכשיו. 204 00:10:09,150 --> 00:10:11,300 יש עדיין זה לבקש עד כאן, אותו 205 00:10:11,300 --> 00:10:15,040 כמו קודם, עדיין יש כל חבורה דברים שאנחנו כבר התעלמנו כמו קודם, 206 00:10:15,040 --> 00:10:19,350 אבל הכותרת האחרון, זו זמן, כי אני כבר היה כאן בעבר, 207 00:10:19,350 --> 00:10:21,980 היא הצגת יד החותמת הווירטואלית הזה. 208 00:10:21,980 --> 00:10:28,957 >> עוגייה לפי הקו הזה כאן, לא קבע אבל מעי גס עוגיית PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 זה רק הדפדפן שלי של אוטומטי מצגת של יד חותמת זו, כך ש 210 00:10:32,040 --> 00:10:37,910 עכשיו השרת, ברגע שהוא מבין, אוו, זה הוא dot 0vlk8t משתמש, נקודה, נקודה, 211 00:10:37,910 --> 00:10:42,010 עכשיו אני יכול לזכור שהוא או היא היא ולשייך מחדש עם משתמש שכל מה ש 212 00:10:42,010 --> 00:10:46,450 מידע שאני רוצה, וכל מידע שניתן לאחסן על ידך, 213 00:10:46,450 --> 00:10:50,130 מתכנת, ב_SESSION $. 214 00:10:50,130 --> 00:10:57,170 >> אז כדי שיהיה ברור, אם אני פותח את ממש מהיר בgedit שקובץ עצמו, counter.php, 215 00:10:57,170 --> 00:11:02,340 בספרייה הציבורית המארח המקומי שלי כמו קודם, תבחין כי, אכן, 216 00:11:02,340 --> 00:11:06,860 אני סופו של דבר אני אחסון ב _SESSION $, במירכאות "נגד" 217 00:11:06,860 --> 00:11:10,110 הערך של הדלפק הקודם ש אני מקבל מהקווים האלה כאן ש 218 00:11:10,110 --> 00:11:13,010 הסתכל הפעם האחרונה ועוד אחד. 219 00:11:13,010 --> 00:11:14,980 אז מתחת למכסת המנוע, זה כל מה שהעוגיות. 220 00:11:14,980 --> 00:11:17,563 זה בדיוק מהסוג דיגיטלי יד חותמת הולכת הלוך ושוב, 221 00:11:17,563 --> 00:11:20,450 ולמען אמת, אם אתה פותח את Chrome של מפקח בכל אתר אינטרנט 222 00:11:20,450 --> 00:11:22,580 אתה מבקר היום, עם סופר הסתברות גבוהה, 223 00:11:22,580 --> 00:11:25,450 אתה הולך לראות אולי אחד, אולי חצי תריסר עוגיות 224 00:11:25,450 --> 00:11:26,650 זה שהוא יזכור אותך. 225 00:11:26,650 --> 00:11:29,500 >> וגרוע מכך, אם אלה אתר בו אתה מבקר 226 00:11:29,500 --> 00:11:32,640 כל מה שיש פרסומות, ש בהחלט די נפוץ היום, 227 00:11:32,640 --> 00:11:36,100 ופרסומות אלו באים אם מצד מרכזי, מישהו מסוים 228 00:11:36,100 --> 00:11:39,000 כמו גוגל או AdWords כפי שהם לחייג לאחד מהמוצרים שלהם 229 00:11:39,000 --> 00:11:42,880 או ספקים אחרים מסוג זה ש למכור מודעות, מה שמעניין, 230 00:11:42,880 --> 00:11:46,510 ולמען אמת מה שקצת מדאיג, על איך HTTP עובד, 231 00:11:46,510 --> 00:11:50,855 הוא שאם יש לך מודעות מוטבעות בFacebook.com, וGoogle.com, 232 00:11:50,855 --> 00:11:54,240 וHarvard.edu, כל מספר של אתרי אינטרנט, כך שזה כזה 233 00:11:54,240 --> 00:11:58,130 שיש גבר באמצע שמכהן את מודעות לכל שלושת אתרים אלה, 234 00:11:58,130 --> 00:12:02,110 מתברר ש עוגיות לכל תחום. 235 00:12:02,110 --> 00:12:05,910 >> אז אם יש לך מודעות שמגיעות מ שלה חברה באתרי אינטרנט שונה, 236 00:12:05,910 --> 00:12:11,140 החברה שיכולה ביעילות לעקוב אחר ש אתה על פני כל אותם אתרים. 237 00:12:11,140 --> 00:12:13,140 הרווארד אולי לא יודע אתה מבקר פייסבוק. 238 00:12:13,140 --> 00:12:15,306 פייסבוק אולי לא יודע ו אתה מבקר בהרווארד. 239 00:12:15,306 --> 00:12:18,160 אבל שירות מודעה מה הם משתמשים אם התחום שהוא 240 00:12:18,160 --> 00:12:21,710 נוכחים בשני האינטרנט Harvard.edu דפים ודפי האינטרנט Facebook.com, 241 00:12:21,710 --> 00:12:26,850 איש באמצע זה בטח יודע מי אתה בגלל העוגיות האלה להיות משותפים 242 00:12:26,850 --> 00:12:30,910 על פני, או לייתר דיוק ל, כי מה שנקרא מתווך. 243 00:12:30,910 --> 00:12:33,820 >> אז אנחנו נחזור לזה ב השלכות ביטחוניות שלה, 244 00:12:33,820 --> 00:12:37,170 אבל יש הרבה מידע יאוחסן עליך כל פעם שאתה 245 00:12:37,170 --> 00:12:40,120 לבקר ברוב כל דף אינטרנט ב האינטרנט וזה באמת 246 00:12:40,120 --> 00:12:42,877 מפחית למנגנון פשוט מאוד זה. 247 00:12:42,877 --> 00:12:44,710 מה קורה, ואז, אם אתה סופר פרנואידית 248 00:12:44,710 --> 00:12:48,190 ואתה מחליט ללכת ל- Chrome או אינטרנט אקספלורר או מה ושלכבות את העוגיות שלך? 249 00:12:48,190 --> 00:12:49,365 מה קורה? 250 00:12:49,365 --> 00:12:50,790 כן? 251 00:12:50,790 --> 00:12:53,170 אתה אמת-- עשית לך את זה? 252 00:12:53,170 --> 00:12:54,350 אישור. 253 00:12:54,350 --> 00:12:55,994 לא, קדימה. 254 00:12:55,994 --> 00:12:59,645 >> קהל: אין לי אתרים מסוימים פונקציה בלי זה כמו פייסבוק. 255 00:12:59,645 --> 00:13:00,520 דוד י מלאן: כן! 256 00:13:00,520 --> 00:13:02,311 אתרים כל כך בטוחים יהיה פשוט להפסיק לעבוד. 257 00:13:02,311 --> 00:13:05,520 וברוב אתרים בימים אלה כי ביסודו להסתמך על עוגיות, 258 00:13:05,520 --> 00:13:08,360 במיוחד אם הם יש לך להיכנס ב, הם פשוט הולכים לשבור. 259 00:13:08,360 --> 00:13:10,360 בגלל לשקול אלטרנטיבה אם האתר, 260 00:13:10,360 --> 00:13:14,480 אין דרך לזכור מי אתה, ולכן דפדפן האינטרנט שלך הוא לא 261 00:13:14,480 --> 00:13:16,949 מייצג בכל HTTP בקשה של יד חותמת זו, 262 00:13:16,949 --> 00:13:18,740 יעילות אתר כמו ללכת של פייסבוק 263 00:13:18,740 --> 00:13:22,050 צריך להנחות אותך להתחבר בכל פעם לתקן 264 00:13:22,050 --> 00:13:26,200 אתה משנה את הדפים, או ללחוץ על קישור, ש אין ספק שלא משתמשים טוב במיוחד 265 00:13:26,200 --> 00:13:26,920 ניסיון. 266 00:13:26,920 --> 00:13:30,020 >> כך שגם שם, הוא בין מחיקות הסחר. 267 00:13:30,020 --> 00:13:34,140 אז בלי עיכובים נוספים, הבה מובן מאליו כי עם תכנות אינטרנט, 268 00:13:34,140 --> 00:13:37,630 בשפות כמו PHP, אתה יכול לזכור מידע כזה בבעיה להגדיר 269 00:13:37,630 --> 00:13:41,550 שבע כאשר אתה מיישם את עצמך אתר כמו-תערוכות E * שעם לקנות 270 00:13:41,550 --> 00:13:45,710 ולמכור מניות, אתה זוכר בדיוק מה שהמשתמש קנה ומכרו 271 00:13:45,710 --> 00:13:49,110 ומי שהוא או היא היא בדרך של מפגש זה. 272 00:13:49,110 --> 00:13:51,110 אבל אנחנו הולכים צריכים דרך מהודרת יותר מדואר אלקטרוני 273 00:13:51,110 --> 00:13:52,640 להתחיל לשמור מידע בסביבה. 274 00:13:52,640 --> 00:13:53,140 נכון? 275 00:13:53,140 --> 00:13:56,780 >> ביום שני, שדיברנו על IMs הפרוש ואיך בגרסה אחת של אתר ש, 276 00:13:56,780 --> 00:14:00,250 לפני שנים, כל מה שעשינו היה דוא"ל פרוקטור מי 277 00:14:00,250 --> 00:14:04,250 הממונה על סוגי הספורט תכנית, שם, ואת המין, 278 00:14:04,250 --> 00:14:07,330 ואם לא הם קפטן, והמעונות של מישהו ש 279 00:14:07,330 --> 00:14:10,136 הרשמה לספורט בין חומות. 280 00:14:10,136 --> 00:14:13,010 אז זה לא רע, אבל הוא או היא אז הייתי צריך לחפור בדואר האלקטרוני שלהם, 281 00:14:13,010 --> 00:14:16,010 ליצור גיליון אלקטרוני או משהו כזה כי, כדי לשמור על הכל מאורגן. 282 00:14:16,010 --> 00:14:19,750 אז בטח שאנחנו כמתכנתים יכול לעשות את זה למשגיח ש. 283 00:14:19,750 --> 00:14:22,970 וכך להיכנס ב- SQL, שפת שאילתות מובנית, 284 00:14:22,970 --> 00:14:26,050 וזה הולך להיראות יפה שונה לשני C ו- PHP, 285 00:14:26,050 --> 00:14:30,990 ואתה תצלול הרבה יותר ידיים על PHP והבעיה להגדיר שבע אלא גם SQL, 286 00:14:30,990 --> 00:14:35,310 או SQL, זה הוא שפה ש אתה משתמש כדי לדבר עם מסד הנתונים. 287 00:14:35,310 --> 00:14:36,480 >> אבל מה רע בבסיס נתונים? 288 00:14:36,480 --> 00:14:38,440 ובכן אתה חושב על מסד הנתונים, לפחות לעת עתה, 289 00:14:38,440 --> 00:14:41,750 כפשוט להיות כמו קובץ Excel, או אם אתה קובץ מספרי משתמש מק, 290 00:14:41,750 --> 00:14:44,400 או אם אתה ב- Google Apps משתמשים גיליון אלקטרוני של Google, 291 00:14:44,400 --> 00:14:49,120 זה יעיל מסד הנתונים, או באמת במיוחד מסדי נתונים יחסיים. 292 00:14:49,120 --> 00:14:53,070 מסדי נתונים יחסיים הוא פשוט משהו שיש שורות ועמודות, 293 00:14:53,070 --> 00:14:56,440 ואתה יכול לאחסן כל סוג של מידע בשורות או עמודות אלה. 294 00:14:56,440 --> 00:15:00,480 >> אבל מה שיפה SQL, ו על מסדי נתונים בפועל, לא רק 295 00:15:00,480 --> 00:15:04,910 גיליונות אלקטרוניים או גיליונות אלקטרוניים של Google, הוא שאתה יכול להשתמש בשפה 296 00:15:04,910 --> 00:15:09,000 לבצע בפועל שאילתות ל להכניס נתונים, כדי להסיר נתונים, 297 00:15:09,000 --> 00:15:11,620 לחפש נתונים, אפילו הכי חשוב, ואתה 298 00:15:11,620 --> 00:15:16,110 לא צריך להשתמש בו בהגינות באופן ידני כבדרך כלל אתה עלול Google 299 00:15:16,110 --> 00:15:17,690 גיליון אלקטרוני כמו זה. 300 00:15:17,690 --> 00:15:22,217 >> אז ב- SQL, יש חבורה של הצהרות או חתיכות בסיסיות 301 00:15:22,217 --> 00:15:23,300 פונקציונאלית שנבנה ב. 302 00:15:23,300 --> 00:15:26,450 יש הרבה יותר מאלה, אבל אתה יכול ללכת מרחק עצום 303 00:15:26,450 --> 00:15:28,620 רק אם אדע ש שפה זו נקראת 304 00:15:28,620 --> 00:15:30,840 יש SQL לפחות ארבעה הצהרות תוכל למנף. 305 00:15:30,840 --> 00:15:34,420 >> מחק, להסרת הנתונים, הכנס, להוספת שורות, 306 00:15:34,420 --> 00:15:37,340 עדכון, לשינוי שורות, ובחירה, 307 00:15:37,340 --> 00:15:39,860 למקבל בחזרה שורות ו זה אכן מה שSQL עושה. 308 00:15:39,860 --> 00:15:43,810 היא פועלת אך ורק על שורות כל כך כי כשאתה מכניס, או להסיר, 309 00:15:43,810 --> 00:15:47,470 או עדכון, או בחר את מה שאתה מקבל בחזרה כתוצאה להגדיר מה שנקרא, 310 00:15:47,470 --> 00:15:49,690 כמו מערך של שורות. 311 00:15:49,690 --> 00:15:51,700 חבורה של שורות משולחן. 312 00:15:51,700 --> 00:15:54,050 >> אז בחזרה ביום, ועד עצם היום הזה, 313 00:15:54,050 --> 00:15:56,560 אתה יכול לקיים אינטראקציה עם מסד נתונים באמצעות שורת הפקודה, 314 00:15:56,560 --> 00:15:59,691 אבל זה לא כיף בעיקר לשימוש חלון בסגנון שחור ולבן זה 315 00:15:59,691 --> 00:16:02,190 ובעצם לבצע פקודות ולחטט באתר שלך. 316 00:16:02,190 --> 00:16:06,054 ממשק משתמש גרפי, או GUI, הרבה יותר עדיף, ללא ספק, 317 00:16:06,054 --> 00:16:08,970 וכך הכלי אנו ממליצים ו מותקן מראש לך על המכשיר 318 00:16:08,970 --> 00:16:10,580 נקרא phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 זה צירוף מקרים מוחלט ש שמו של הדבר הזה PHP יש בזה, 320 00:16:14,060 --> 00:16:17,430 זה רק אומר שהאנשים שכתב את התכנית בעצמם 321 00:16:17,430 --> 00:16:18,670 כתב את זה ב- PHP. 322 00:16:18,670 --> 00:16:23,740 >> אבל זה סופו של דבר על ניהול שרת מסד הנתונים, כמו שרת MYSQL 323 00:16:23,740 --> 00:16:26,589 שאולי יש לך, כמו שאתה לעשות, במכשיר CS50. 324 00:16:26,589 --> 00:16:29,130 אז יש פירוט רב יותר כאן מאשר אנחנו צריכים לדאוג היום, 325 00:16:29,130 --> 00:16:33,280 אבל מה מפתח הוא שעל השמאל צד הוא רשימה של מאגרי המידע 326 00:16:33,280 --> 00:16:36,040 שיש לך במחשב שלך, על מכשיר CS50 שלך, 327 00:16:36,040 --> 00:16:40,090 או לבוא פרויקטי גמר שאולי יש בצד שלישי, החברה של 328 00:16:40,090 --> 00:16:43,415 שרת אתר או אינטרנט, ש ייתכן שאתה משלם עבור שטח. 329 00:16:43,415 --> 00:16:45,290 אז בצד השמאל הוא מאגרי מידע, שאחד מהם 330 00:16:45,290 --> 00:16:48,750 הוא pset7 ששאלתי מן הבא pset שבועות, ולאחר מכן בחלק העליון 331 00:16:48,750 --> 00:16:51,570 יש לשים לב שיש חבורה של כרטיסיות, שאחד מהם 332 00:16:51,570 --> 00:16:55,150 הוא מסדי נתונים, SQL, מעמד, משתמשים, יצוא וכן הלאה. 333 00:16:55,150 --> 00:16:56,900 אז אתה יכול ללכת דרך ארוכה דרך רק על ידי מימוש 334 00:16:56,900 --> 00:16:59,770 שרוב ממשק המשתמש הוא בעמודה השמאלית העליונה 335 00:16:59,770 --> 00:17:02,650 ועל פני הדף ישר לשם. 336 00:17:02,650 --> 00:17:04,980 אז מה אנחנו יכולים בעצם לעשות עם זה? 337 00:17:04,980 --> 00:17:08,609 ובכן, בואו נתחיל יצירת קצת מידע כדלקמן. 338 00:17:08,609 --> 00:17:11,760 >> נניח שלהלן המקרה, כפי שיהיו בימים ספורים, 339 00:17:11,760 --> 00:17:14,440 אתה רוצה ליישם אתר, שנקרא CS50 האוצר, 340 00:17:14,440 --> 00:17:17,328 ואתר זה מאפשר לך לקנות לצטט סוף ציטוט ולמכור מניות. 341 00:17:17,328 --> 00:17:19,619 וזה הולך להבין המחיר של מניות אלה, 342 00:17:19,619 --> 00:17:22,380 סופו של דבר כפי שתראה, על ידי מדבר עם Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 אשר, בצורה נפלאה, יש לו שירות ללא תשלום לפיה ניתן לעבור בעדכוני שוק הון 344 00:17:26,250 --> 00:17:29,830 כמו GOOG עבור Google, וזה יהיה אתן לך בחזרה את המלאי הקיים של גוגל 345 00:17:29,830 --> 00:17:32,250 מחיר בעבר כמה דקות לפחות. 346 00:17:32,250 --> 00:17:35,080 >> אז אתה תשתמש בי, סופו של דבר, להעמיד פן עבור המשתמש 347 00:17:35,080 --> 00:17:37,750 לקנות ולמכור בפועל מניות באמצעות כסף וירטואלי, 348 00:17:37,750 --> 00:17:39,750 אבל הדבר הראשון ש המשתמש הולך לראות 349 00:17:39,750 --> 00:17:43,850 הוא מסך כניסה זה ששואל אותם שם המשתמש והסיסמה שלהם. 350 00:17:43,850 --> 00:17:46,540 וכך, אחד הראשונים אתגרים עבורך בpset7 351 00:17:46,540 --> 00:17:50,460 הולך להיות ליישם את הסוף חזרה מסד הנתונים, הגיליון האלקטרוני, אם תרצה, 352 00:17:50,460 --> 00:17:53,369 זה הולך לאחסון משתמשי שמות וסיסמאות 353 00:17:53,369 --> 00:17:56,660 וסופו של דבר מה במניות שבבעלותם, ו כמה, וכמה מזומנים יש להם, 354 00:17:56,660 --> 00:18:00,110 כך חבורה של דברים אחרים ב שולחנות אחרים, או גיליונות אלקטרוניים. 355 00:18:00,110 --> 00:18:05,020 >> אז בואו נסתכל על איך זה אולי נראה במבט ראשון. 356 00:18:05,020 --> 00:18:06,980 אני הולך לחזור ל המכשיר ואני 357 00:18:06,980 --> 00:18:14,102 הולך לכתובת אתר זו כאן phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 ואתה תראה שזה לוקח אותי לממשק 359 00:18:16,060 --> 00:18:18,520 בדיוק כפי שראינו ב צילום מסך, וכאן אני 360 00:18:18,520 --> 00:18:21,560 יש בסיס נתונים נוספים הרצאה קראה להיום 361 00:18:21,560 --> 00:18:24,280 ותן לי ללכת קדימה ראשון ולחץ על pset7. 362 00:18:24,280 --> 00:18:27,940 >> נדמה לי שיש לי כמה אפשרויות, אחד לחדש, ליצירת טבלה חדשה, 363 00:18:27,940 --> 00:18:30,770 וקישור למשתמשים, ש טבלה שכבר נוצרה. 364 00:18:30,770 --> 00:18:31,790 אז מה שולחן? 365 00:18:31,790 --> 00:18:33,740 אז אם השתמש Excel לפני, ואם יש לך 366 00:18:33,740 --> 00:18:37,110 מספרים משומשים או Google גיליונות אלקטרוניים, אתה פותח את חלון 367 00:18:37,110 --> 00:18:39,350 ואתה מקבל כל חבורה שורות ועמודות, 368 00:18:39,350 --> 00:18:43,120 אבל אז בדרך כלל יש לך גיליונות עבודה בחלק התחתון, או בלשוניות נפרדות. 369 00:18:43,120 --> 00:18:46,140 אתה יכול לחשוב על כל גיליון עבודה כשולחן 370 00:18:46,140 --> 00:18:51,150 כך מסד הנתונים שסופו של דבר, הוא שילוב של טבלה אחת או יותר, אחד 371 00:18:51,150 --> 00:18:54,064 או יותר גיליונות עבודה, ב עולם של גיליון אלקטרוני רגיל. 372 00:18:54,064 --> 00:18:55,980 אז תן לי ללכת קדימה ו לחץ על גיליון עבודה זה 373 00:18:55,980 --> 00:18:59,420 כי אני premade, משתמשים בשם, מוכר גם בשם 374 00:18:59,420 --> 00:19:00,700 נתונים בטבלה. 375 00:19:00,700 --> 00:19:04,130 ואם אני לגלול למטה כאן, תן לי להקטין את התצוגה קצת, 376 00:19:04,130 --> 00:19:08,479 זה מה שאומר לי phpMyAdmin שלנו הוא בתוך השולחן הזה עכשיו. 377 00:19:08,479 --> 00:19:11,020 זה קצת מבלבל בהתחלה מבט בגלל שממשק המשתמש לא 378 00:19:11,020 --> 00:19:15,140 הדבר היפה ביותר בעולם, אבל מה שמעניין הוא חלק זה כאן. 379 00:19:15,140 --> 00:19:17,970 זהות, שם משתמש, וחשיש. 380 00:19:17,970 --> 00:19:20,510 >> מראש, ואתה תהיה בידיים זה בבעיה להגדיר שבע, 381 00:19:20,510 --> 00:19:25,050 אנחנו נותנים לך קובץ המכיל סופר טבלת מסד נתונים קטנה, שהושאל למעשה 382 00:19:25,050 --> 00:19:27,070 ממהדורת ההאקר בעיה להגדיר שתי, 383 00:19:27,070 --> 00:19:29,480 בתוכה יש שש שורות. 384 00:19:29,480 --> 00:19:32,720 אחת עבור לינדה כל הדרך למטה לאחד לZamyla, 385 00:19:32,720 --> 00:19:35,980 ושים לב בצד השמאל של אלה שמות משתמשים הם מזהים ייחודיים כמו אחד, 386 00:19:35,980 --> 00:19:39,410 שתיים, שלוש, ארבעה, חמש, שש, מספרים שלמים, ולאחר מכן ימינה הם אלגוריתמים Hash. 387 00:19:39,410 --> 00:19:42,780 >> ואם, רוב הסיכויים הם, אתה לא עשית הבעיה מהדורת ההאקר להגדיר שתי, 388 00:19:42,780 --> 00:19:46,560 אבל חשיש הוא בדיוק כמו מוצפן סיסמא עם כמה אזהרות. 389 00:19:46,560 --> 00:19:49,470 וכך, מה שאתה רואה כאן הם הגרסאות מוצפנות של כל שש 390 00:19:49,470 --> 00:19:52,950 סיסמאות שלנו מבעיה להגדיר של שתי מהדורת האקר. 391 00:19:52,950 --> 00:19:56,500 עכשיו בצד השמאל הוא רק כמה דברים GUI, עריכת שורה זו, העתקת שורה זו, 392 00:19:56,500 --> 00:19:57,630 מחיקת שורה זו. 393 00:19:57,630 --> 00:19:59,840 >> אבל מה שמעניין עכשיו הוא הבא. 394 00:19:59,840 --> 00:20:03,810 אני יכול בעצם להתחיל ניסויים בטבלה זו. 395 00:20:03,810 --> 00:20:07,330 אז אם אני הולך ולחץ על SQL כרטיסייה, אני מקבל תיבת טקסט הגדולה הזה. 396 00:20:07,330 --> 00:20:10,190 וזה לא איך אנחנו הולכים ל עושה את זה כאשר בעצם כתיבת קוד. 397 00:20:10,190 --> 00:20:12,700 כדי להיות ברור, phpMyAdmin הוא רק כלי זה 398 00:20:12,700 --> 00:20:16,450 הולך לתת לנו לחטט בבסיס הנתונים ולתת לנו להתנסות בשאילתות. 399 00:20:16,450 --> 00:20:19,430 >> כך למשל, תניח ש אני לבצע בדיוק את זה. 400 00:20:19,430 --> 00:20:22,820 בחר, שהוא אחד מאותם מילות מפתח שציינתי קודם לכן, כוכב, 401 00:20:22,820 --> 00:20:25,900 המייצג את כל העמודות בטבלה. 402 00:20:25,900 --> 00:20:26,820 ממה ששולחן? 403 00:20:26,820 --> 00:20:27,990 ובכן, משתמשים. 404 00:20:27,990 --> 00:20:29,950 והודעה שיש זה כנס מוזר בSQL 405 00:20:29,950 --> 00:20:32,140 שבו אתה משתמש בפועל בחזרה קרציות, בדרך כלל, 406 00:20:32,140 --> 00:20:35,940 ציטוטים לא יחידים וציטוטים לא כפולים כשאתה מדבר על שולחנות שמות, 407 00:20:35,940 --> 00:20:38,990 כך חזרה הציטוט הוא הדבר ב יד השמאלית עליונה של המקלדת שלך ביותר 408 00:20:38,990 --> 00:20:39,720 סביר להניח. 409 00:20:39,720 --> 00:20:41,850 >> אז תן לי ללכת קדימה עכשיו ופשוט להשאיר את זה לבד 410 00:20:41,850 --> 00:20:46,020 ולגלול למטה ולחץ על חפש, ואנחנו באמת הולך לראות את אותו הדבר. 411 00:20:46,020 --> 00:20:52,410 יש לנו רק להורג שאילתא SQL אומר כוכב הכל בחר 412 00:20:52,410 --> 00:20:55,610 מטבלה בשם משתמשים, ו מה שאתה מקבל בחזרה הוא זו. 413 00:20:55,610 --> 00:20:58,400 סופו של דבר, נהיה מסוגל לעשות אותו דבר בקוד, 414 00:20:58,400 --> 00:21:02,109 אך לעת עתה כל מה שרציתי אל היה לראות את זה בדפדפן שלי. 415 00:21:02,109 --> 00:21:03,900 ובכן בואו נעשה משהו קצת שונה. 416 00:21:03,900 --> 00:21:08,330 תן לי לחזור לכרטיסיית SQL, ובואו נגיד שמה? 417 00:21:08,330 --> 00:21:11,520 Zamyla איבד את כולה כסף, ולכן זה 418 00:21:11,520 --> 00:21:13,190 זמן עבורנו כדי למחוק אותה כמשתמש. 419 00:21:13,190 --> 00:21:14,630 היא כבר לא מתחבר. 420 00:21:14,630 --> 00:21:18,870 >> אז אני הולך להגיד למחוק from-- גם, לשמור על היוון 421 00:21:18,870 --> 00:21:23,080 לעקביות, למחוק ממשתמשים בי. 422 00:21:23,080 --> 00:21:25,430 וכך, אנחנו יכולים להיות אלה פרדיקטים, או אלה 423 00:21:25,430 --> 00:21:31,180 מוקדמות, בסוף המסר שלי איפה ואיך אני יכול למחוק Zamyla? 424 00:21:31,180 --> 00:21:34,190 בשמה Zamyla, כך טור, אחד מהעמודים 425 00:21:34,190 --> 00:21:37,950 היה שם, אז איפה name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 וכאן אני משתמש כפול ציטוטים או ציטוטים בודדים, 427 00:21:40,000 --> 00:21:42,958 אתה משתמש רק בחלק האחורי קרציות כאשר מדבר על השמות, למשל, 428 00:21:42,958 --> 00:21:45,130 שולחנות או שדות. 429 00:21:45,130 --> 00:21:47,440 ותן לי לחץ עבור כאן. 430 00:21:47,440 --> 00:21:50,400 ועכשיו, בדף האינטרנט הוא להיות קצת לחוץ. 431 00:21:50,400 --> 00:21:53,620 >> או, האם אתה באמת רוצה לבצע מחיקה ממשתמשים בו שמו שווה Zamyla? 432 00:21:53,620 --> 00:21:54,680 כן. 433 00:21:54,680 --> 00:22:01,900 אז עכשיו, אם נחזור לשולחן שלי על ידי משתמשי לחיצה, שמו לב שהממ. 434 00:22:01,900 --> 00:22:02,530 אני פשלתי. 435 00:22:02,530 --> 00:22:04,070 ולמעשה, אני סוג של לחצתי משם כל כך מהר 436 00:22:04,070 --> 00:22:06,195 אתה אפילו לא ראית הודעת שגיאה אדומה, אולי. 437 00:22:06,195 --> 00:22:07,649 מה עשה לא בסדר? 438 00:22:07,649 --> 00:22:09,690 קהל: אתה לא צריך כדי לנצל את שמה. 439 00:22:09,690 --> 00:22:11,260 דוד י מלאן: כן אני הוון את שמה, 440 00:22:11,260 --> 00:22:13,770 אבל בעצם שם משתמש לא אני עשה כמה טעויות, נכון? 441 00:22:13,770 --> 00:22:16,720 אחד, את שם המשתמש שלה הוא zamyla, Z אותיות קטנות, 442 00:22:16,720 --> 00:22:20,140 ושם העמודה הוא שם משתמש, לא שם, אז בואו נעשה את זה שוב. 443 00:22:20,140 --> 00:22:25,750 תן לי ללכת קדימה ו למחוק ממשתמשים בי 444 00:22:25,750 --> 00:22:28,990 שם משתמש שווה סוף ציטוט ציטוט "Zamyla". 445 00:22:28,990 --> 00:22:29,490 בסדר? 446 00:22:29,490 --> 00:22:32,600 אז זה נראה קצת יותר טוב, תן לי לי ללכת לגלול למטה ולחץ על חפש. 447 00:22:32,600 --> 00:22:34,730 זה עדיין הולך ל לצעוק עליי כדי להיות בטוח. 448 00:22:34,730 --> 00:22:37,500 אני לוחץ כן, ועכשיו אנחנו רואים, בכנות זה קרה, באמת 449 00:22:37,500 --> 00:22:39,870 מהיר, פחות מאחד שני בהחלט, זה 450 00:22:39,870 --> 00:22:41,720 הוא בדיוק את השאילתה שקבל להורג. 451 00:22:41,720 --> 00:22:45,617 כדי לאשר, תן לי לחץ על משתמשים ואכן עכשיו Zamyla נעלם. 452 00:22:45,617 --> 00:22:46,700 עכשיו בואו לעשות את ההפך. 453 00:22:46,700 --> 00:22:49,320 נניח שגייב רוצה להירשם לאתר. 454 00:22:49,320 --> 00:22:52,825 מה שאילתא SQL, מה הפקודה שאני יכול להקליד כדי להוסיף גייב? 455 00:22:52,825 --> 00:22:54,200 ובכן, זה די פשוט. 456 00:22:54,200 --> 00:22:58,260 הכנס למשתמשים, ועכשיו זה נעשה קצת נסתר. 457 00:22:58,260 --> 00:23:03,190 אני צריך לציין, לשרת, מה התחומים שאני רוצה להקצות. 458 00:23:03,190 --> 00:23:06,630 באמת לא אכפת לי מה הזהות של גייב מספר הוא, אז אני הולך לדלג על זה. 459 00:23:06,630 --> 00:23:11,360 אני במקום שאני מתכוון לומר שם משתמש, חשיש, ולאחר מכן 460 00:23:11,360 --> 00:23:14,960 הערכים שאני רוצה לשים יש הולך להיות גייב. 461 00:23:14,960 --> 00:23:16,800 ולאחר מכן החשיש, אני לא יודע. 462 00:23:16,800 --> 00:23:19,900 אז לעת עתה, אני הולך תשאיר את זה כגדול לעשות. 463 00:23:19,900 --> 00:23:21,650 אנחנו נחזור ל כי בלהגדיר את הבעיה 464 00:23:21,650 --> 00:23:23,390 מפרט לגבי איך אתה בעצם עושה את זה. 465 00:23:23,390 --> 00:23:24,630 >> אז שם לב, שוב, את התחביר. 466 00:23:24,630 --> 00:23:28,430 הכנס לשם טבלה, אז רשימת סוגריים של השדות, 467 00:23:28,430 --> 00:23:30,980 העמודות שברצונך להוסיף ערכים ל, ולאחר מכן פשוט 468 00:23:30,980 --> 00:23:34,495 אותו הזמנה מדויקת שמאל ל זכותם של הערכים שברצונך להוסיף, 469 00:23:34,495 --> 00:23:36,870 וזה רק עטיפה כי הטקסט הוא קצת ארוך. 470 00:23:36,870 --> 00:23:38,520 אז עכשיו תן לי לחץ על Go. 471 00:23:38,520 --> 00:23:39,830 שורה אחת מוכנסת. 472 00:23:39,830 --> 00:23:43,020 ועכשיו אם אני חוזר ל משתמשים, מה שמעניין 473 00:23:43,020 --> 00:23:48,960 הוא שלא רק שגייב עכשיו ב מסד הנתונים, מה הוא, ככל הנראה, תעודת הזהות שלו? 474 00:23:48,960 --> 00:23:49,820 >> ובכן זה שבע. 475 00:23:49,820 --> 00:23:51,479 למה זה שבע כשלא להוסיף אותו? 476 00:23:51,479 --> 00:23:54,020 אז זה, גם הוא אחד מ תכונות שאתה מקבל מבסיס הנתונים. 477 00:23:54,020 --> 00:23:55,750 הרבה בנו פונקציונליות. 478 00:23:55,750 --> 00:23:57,950 מתברר שכאשר נוצר טבלה זו, 479 00:23:57,950 --> 00:24:01,390 אני מוגדר מראש זה באופן אוטומטי להקצות מזהה באופן כזה 480 00:24:01,390 --> 00:24:02,480 כי זה מגדיל. 481 00:24:02,480 --> 00:24:05,470 אז אם אתה אי פעם חטטת בם, והביט בפייסבוק מזהה מה שלך 482 00:24:05,470 --> 00:24:09,292 מספר הוא, בימים אלה זה לא באמת דבר נכון לעשות, אבל בפייסבוק כAPI, 483 00:24:09,292 --> 00:24:11,750 ממשק תכנות יישומים, שבו אתה יכול לחזור 484 00:24:11,750 --> 00:24:14,430 חבורה שלמה של נתונים על את עצמך, על החברים שלך, 485 00:24:14,430 --> 00:24:15,347 והקשרים שלך. 486 00:24:15,347 --> 00:24:17,430 ומה היה אמורים להיות סוג מגניב, חזרה ביום, 487 00:24:17,430 --> 00:24:19,510 היה להסתכל על מה ששלך מספר חשבון הפייסבוק היה. 488 00:24:19,510 --> 00:24:22,390 מארק צוקרברג, למשל, הוא שלוש 489 00:24:22,390 --> 00:24:23,890 מאז שהוא היה המחבר של האתר. 490 00:24:23,890 --> 00:24:27,610 וכפי שהסיפור הולך, הוא יצר שני חשבונות הבדיקה, משתמש אחד ושני, 491 00:24:27,610 --> 00:24:28,690 שהוא לאחר מכן נמחק. 492 00:24:28,690 --> 00:24:32,780 וכך, צוק, כפי שהוא את שם המשתמש שלו בפייסבוק, הוא מספר תעודת זהות של שלוש, 493 00:24:32,780 --> 00:24:36,110 וכל אחד מאיתנו מספרים הרבה גדול יותר משלושה הימים האלה. 494 00:24:36,110 --> 00:24:37,980 למעשה, בשלב מסוים פייסבוק התרחק 495 00:24:37,980 --> 00:24:42,410 מאפילו באמצעות int, ש הוא ערך 32 סיביות, לשימוש ב 496 00:24:42,410 --> 00:24:44,480 השלב הבא, במהותו ארוכה ארוכה כל כך 497 00:24:44,480 --> 00:24:47,150 שהם יכולים להכיל אפילו יותר משתמשי רישום. 498 00:24:47,150 --> 00:24:49,420 אז עובדה היסטורית קצת כיף. 499 00:24:49,420 --> 00:24:51,660 >> אז זה פשוט תחביר בסיסי שבי 500 00:24:51,660 --> 00:24:54,470 אנו עשויים לבצע כמה שאילתות, אבל אנחנו באמת יכולים 501 00:24:54,470 --> 00:24:56,744 לעשות חבורה יותר דברים עם SQL. 502 00:24:56,744 --> 00:24:58,910 ואתה תראה, בסופו, בבעיה להגדיר שבע 503 00:24:58,910 --> 00:25:01,034 שאתה צריך לעשות מספר החלטות עיצוב, 504 00:25:01,034 --> 00:25:03,290 ביניהם הולך להיות מה נתוני סוגים לשימוש. 505 00:25:03,290 --> 00:25:08,240 אז בדיוק כמו ב- C, יש נתונים סוגים במסד נתונים, כמו MySQL, 506 00:25:08,240 --> 00:25:12,640 וסוגי נתונים אתה צריך לבחור מכולל תחומים אלה כאן. 507 00:25:12,640 --> 00:25:17,287 תו, varchar, Int, int הגדול, עשרוני ותאריך שעה, ועוד רבים אחרים. 508 00:25:17,287 --> 00:25:18,370 אז בואו באמת לעשות את זה. 509 00:25:18,370 --> 00:25:21,060 בואו נעמיד פנים שלא שולחן ידך למשתמש זה 510 00:25:21,060 --> 00:25:25,080 ותן לי להמשיך וליצור, ל את עצמי, בהרצאות database-- 511 00:25:25,080 --> 00:25:31,000 פשוט נתת לי ללכת קדימה ולמחוק השולחן שיש לי כאן כבר 512 00:25:31,000 --> 00:25:32,940 כך שלמעשה אנו יכולים ליצור את זה. 513 00:25:32,940 --> 00:25:33,550 אופס. 514 00:25:33,550 --> 00:25:35,970 אני הולך לרדת זה שולחן, ועכשיו אני 515 00:25:35,970 --> 00:25:38,337 הולך שוב ל להרצות מסד הנתונים לכאן, 516 00:25:38,337 --> 00:25:40,420 אני הולך ליצור טבלה משתמשים התקשרו ובואו 517 00:25:40,420 --> 00:25:43,010 פשוט לעשות את שלוש עמודות בתחילה ולחץ על חפש. 518 00:25:43,010 --> 00:25:44,990 >> עכשיו, על פי רוב, שוב, זו רק 519 00:25:44,990 --> 00:25:48,570 באמצעות הכלי הגרפי הזה שנקרא phpMyAdmin, ומה שאנחנו עושים עכשיו 520 00:25:48,570 --> 00:25:49,600 יוצר שולחן. 521 00:25:49,600 --> 00:25:53,170 אז זה כמו ללכת על קובץ, חדש, ויצירת קובץ Excel חדש. 522 00:25:53,170 --> 00:25:55,440 אז זה שואל אותי כמה שאלות, משמאל לימין, 523 00:25:55,440 --> 00:25:58,620 מה שמו של הטור הראשון, ולאחר מכן את השם של העמודה השנייה, 524 00:25:58,620 --> 00:25:59,560 ושמו של השלישי. 525 00:25:59,560 --> 00:26:00,518 אז בואו לשחזר את זה. 526 00:26:00,518 --> 00:26:05,460 זהות, ולאחר מכן את שם המשתמש היה אחד, ולאחר מכן חשיש היה אחר. 527 00:26:05,460 --> 00:26:08,970 אז מה צריך את סוג הנתונים להיות עכשיו לשדה כמו זהות? 528 00:26:08,970 --> 00:26:14,470 >> הנה הרשימה של סוגי נתונים השלמה עומד לרשותך במסד נתונים, 529 00:26:14,470 --> 00:26:16,070 ועכשיו בואו פשוט ללכת עם int. 530 00:26:16,070 --> 00:26:18,160 ערך 32 סיביות, אני לא חושב באופן מציאותי אני 531 00:26:18,160 --> 00:26:21,484 הולך להיות יותר מ -4 מליארד משתמשים בחשבון שלי, בשירות שלי, 532 00:26:21,484 --> 00:26:23,650 אז אני הולך להמשיך לנוע לשאלה הבאה. 533 00:26:23,650 --> 00:26:25,490 אני לא הולך לפרט אורך או ערכים, 534 00:26:25,490 --> 00:26:28,540 זה לא ישים כאן int, כשלעצמו. 535 00:26:28,540 --> 00:26:30,740 ועכשיו אני יכול לציין, ככל הנראה, ברירת מחדל 536 00:26:30,740 --> 00:26:33,970 ערך, שאני לא הולך לפרט. 537 00:26:33,970 --> 00:26:36,050 איסוף, אני לא יודע מה זה. 538 00:26:36,050 --> 00:26:37,290 תכונה. 539 00:26:37,290 --> 00:26:39,455 עכשיו אנחנו עושים בפועל יש החלטת עיצוב. 540 00:26:39,455 --> 00:26:42,580 אז יש כמה תחומים כאן, לא כל שחל, אבל לא חתום 541 00:26:42,580 --> 00:26:43,380 רק אומר מה? 542 00:26:43,380 --> 00:26:45,400 שint חייב להיות? 543 00:26:45,400 --> 00:26:46,210 לא שלילי פשוט. 544 00:26:46,210 --> 00:26:48,090 אז זה חייב להיות 0 בעד. 545 00:26:48,090 --> 00:26:51,120 לא, אני לא הולך לבדוק כי אני רוצה שכל משתמש יש זהות, 546 00:26:51,120 --> 00:26:52,470 זה לא יכול להיות null. 547 00:26:52,470 --> 00:26:55,949 ולאחר מכן, אנחנו מגיעים לעוד קצת החלטות עיצוב מעניינות כמו זה. 548 00:26:55,949 --> 00:26:58,990 אנחנו נחזור לזה ברגע, אבל מה מאפיין נוסף של מסד הנתונים 549 00:26:58,990 --> 00:27:04,200 הוא, הוא שאתה יכול לספר לי שרת מסד הנתונים קדימה 550 00:27:04,200 --> 00:27:07,100 ולייעל את עצמך, שלך זיכרון RAM והמקום בדיסק הקשיח שלך, 551 00:27:07,100 --> 00:27:11,770 כך שבוחר, ומוסיף, ו מוחק, ועדכונים ממש מהר. 552 00:27:11,770 --> 00:27:13,250 השווה את זה עם pset5. 553 00:27:13,250 --> 00:27:16,259 >> אם אתה רוצה לחפש משהו בטבלת החשיש שלך, ש 554 00:27:16,259 --> 00:27:18,300 אתה חושב על מסד נתונים, שהייתי צריך לעשות את כל 555 00:27:18,300 --> 00:27:21,500 עובד להכנת טבלת החשיש שלך מהר. 556 00:27:21,500 --> 00:27:22,840 זה כמו, כמובן, אתה. 557 00:27:22,840 --> 00:27:23,060 נכון? 558 00:27:23,060 --> 00:27:26,080 אתה צריך לשים את כל קנס הזמן כוונון דברים, מקבל פונקצית חשיש 559 00:27:26,080 --> 00:27:27,820 נכון, להבין איך דליים רבים שיש. 560 00:27:27,820 --> 00:27:29,611 >> אבל מה שיפה, שוב, על בסיס הנתונים הוא 561 00:27:29,611 --> 00:27:31,762 אתה פשוט דוגית כל זה לאנשים אחרים 562 00:27:31,762 --> 00:27:33,720 שחשב שזה דרך בשבילך, ומה ש 563 00:27:33,720 --> 00:27:37,170 אני הולך לומר כאן תחת מדד הוא ששדה תעודת הזהות שלי 564 00:27:37,170 --> 00:27:41,149 הולך להיות הדרך העיקרית ל זיהוי משתמשים באתר זה. 565 00:27:41,149 --> 00:27:42,940 אני לא הולך לחשוב של Zamyla כZamyla, 566 00:27:42,940 --> 00:27:45,800 אני הולך לחשוב על שלה כמספר 6. 567 00:27:45,800 --> 00:27:49,814 >> למה זה, אולי, טוב יותר באופן אינטואיטיבי לחשוב על מודל 568 00:27:49,814 --> 00:27:52,480 כל אחד משורות בודדות שלך באמצעות מספר במקום משהו 569 00:27:52,480 --> 00:27:56,480 כמו מחרוזת, כמו Zamyla או גייב או מחרוזת ארוכה יותר עדיין? 570 00:27:56,480 --> 00:27:57,444 כן? 571 00:27:57,444 --> 00:28:00,117 >> קהל: זיהוי ייחודי? 572 00:28:00,117 --> 00:28:01,200 דוד י מלאן: תגיד שוב? 573 00:28:01,200 --> 00:28:02,283 קהל: זיהוי ייחודי? 574 00:28:02,283 --> 00:28:04,400 דוד י מלאן: ID הוא ייחודי, אבל suppose-- 575 00:28:04,400 --> 00:28:06,320 לפי העניין באופן כללי עם שמות משתמש, מניח 576 00:28:06,320 --> 00:28:10,110 אני גם אמרתי שיש יכול להיות רק אחד Zamyla בעולם, ורק אחד גייב. 577 00:28:10,110 --> 00:28:13,730 אני יכול להטיל את הייחוד אילוץ על מיתרים, מדי, אם אני רוצה. 578 00:28:13,730 --> 00:28:15,550 אז לא מחשבה רעה. 579 00:28:15,550 --> 00:28:16,500 >> קהל: מאובטח יותר. 580 00:28:16,500 --> 00:28:17,874 >> דוד י מלאן: יותר מאובטח, מדוע? 581 00:28:17,874 --> 00:28:20,705 קהל: אתה לא יכול לדעת מ הוא ש, כמו במשתמש. 582 00:28:20,705 --> 00:28:22,580 דוד י מלאן: בסדר, אתה לא יכול להגיד לי שבו משתמש 583 00:28:22,580 --> 00:28:24,380 הוא שכל כך יש היבט פרטיות אליו, 584 00:28:24,380 --> 00:28:27,810 במיוחד אם את תעודות הזהות של אולי המופיע בכתובות. 585 00:28:27,810 --> 00:28:29,960 כל כך בטוח, שגם יכול סוג של עבודה,. 586 00:28:29,960 --> 00:28:30,640 מחשבות אחרות? 587 00:28:30,640 --> 00:28:31,383 כן? 588 00:28:31,383 --> 00:28:34,316 >> קהל: קל יותר לבצע פעולות על int. 589 00:28:34,316 --> 00:28:35,940 דוד י מלאן: זה תמרוץ האמיתי. 590 00:28:35,940 --> 00:28:38,850 זה פשוט יותר יעיל, או קל יותר למחשב, 591 00:28:38,850 --> 00:28:40,431 כדי לבצע פעולות על מספר שלם. 592 00:28:40,431 --> 00:28:40,930 נכון? 593 00:28:40,930 --> 00:28:43,905 Int מובטח להיות 32 סיביות, ואילו Zamyla 594 00:28:43,905 --> 00:28:47,660 ארוך כמה תווים, גבריאל הוא ארוך עוד כמה דמויות, 595 00:28:47,660 --> 00:28:51,930 דבנפורט הוא באמת ארוך, ואז זה לא יעיל במיוחד לשימוש 596 00:28:51,930 --> 00:28:55,860 מחרוזות כדי להשוות ערכים ולחפש לשדות, ושדות עדכון, 597 00:28:55,860 --> 00:28:57,790 אם אתה יכול לברוח עם רק מספר שלם אחד. 598 00:28:57,790 --> 00:28:59,090 רק 32 סיביות. 599 00:28:59,090 --> 00:29:02,570 אז שמות משתמש, גם, בדרך זו, לא צריך להיות ייחודי, 600 00:29:02,570 --> 00:29:05,040 למרות שהם כנראה צריכים להיות, וגם אפילו בדרך זו 601 00:29:05,040 --> 00:29:07,520 משתמש יכול לאפשר ל לשנות את שם המשתמש שלו או שלה. 602 00:29:07,520 --> 00:29:10,810 >> אז בואו עכשיו נשאיר את זה כ אמצעי עיקרי של זיהוי המשתמש. 603 00:29:10,810 --> 00:29:13,510 זה אומר לי בסיס הנתונים קדימה, לייעל את עצמך 604 00:29:13,510 --> 00:29:17,065 כך שעליות המבט בתעודת הזהות שלהם סופר מהירים. 605 00:29:17,065 --> 00:29:19,620 AI, בשם נורא, פשוט משמעות הדבר היא אוטומטי תוספת, 606 00:29:19,620 --> 00:29:21,500 ואת זה הוא לבדוק תיבה אנחנו צריכים לבדוק 607 00:29:21,500 --> 00:29:24,614 כדי לציין שהשדה מזהה ל תתעדכן באופן אוטומטי בשבילי, 608 00:29:24,614 --> 00:29:26,530 ואז אני הולך ל לגלול בצד הימין כאן 609 00:29:26,530 --> 00:29:29,279 ולמען אמת אני לא ממש מתעניין בכל יותר מתחומים אלה. 610 00:29:29,279 --> 00:29:30,630 בוודאי לא היום. 611 00:29:30,630 --> 00:29:33,770 >> אז אני הולך לחזור לכאן, לעמודה הראשונה, שבו 612 00:29:33,770 --> 00:29:35,830 אני צריך לציין את שם משתמש של וחשיש, ובוא 613 00:29:35,830 --> 00:29:38,080 במוקד לפחות ב שנייה אחת לעת עתה. 614 00:29:38,080 --> 00:29:41,498 Int הוא כנראה לא הבחירה הנכונה, אז מה הגיוני יותר אולי? 615 00:29:41,498 --> 00:29:42,741 >> קהל: טקסט. 616 00:29:42,741 --> 00:29:43,824 דוד י מלאן: תגיד שוב? 617 00:29:43,824 --> 00:29:44,710 קהל: טקסט. 618 00:29:44,710 --> 00:29:44,980 דוד י מלאן: טקסט? 619 00:29:44,980 --> 00:29:45,590 אישור, שמעתי את טקסט. 620 00:29:45,590 --> 00:29:46,090 מה עוד? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 סוג של יש לנו חבורה של בחירות כי הם טקסטואלי בטבע. 623 00:29:53,860 --> 00:29:55,990 לכן, כאשר, ולמה, לעשות אתה משתמש בחלק מהם? 624 00:29:55,990 --> 00:29:59,560 ובכן char, בניגוד למה שאולי חושבים, הוא לא דמות אחת. 625 00:29:59,560 --> 00:30:01,550 זה מספר מסוים של תווים. 626 00:30:01,550 --> 00:30:04,600 אז אם אנחנו יודעים שכל שמות המשתמש חייב להיות כמו שמונה תווים, 627 00:30:04,600 --> 00:30:08,490 כפי שהיה נפוץ במבוגרים מערכות מחשב, אני יכול לומר char 628 00:30:08,490 --> 00:30:09,830 ואז אני יכול לומר 8 כאן. 629 00:30:09,830 --> 00:30:12,930 זה היה רגע שהעמודה השלישית הופכת החלים בעת יצירת טבלה. 630 00:30:12,930 --> 00:30:15,450 >> אבל זה סוג של מעצבן משום שייתכן שחלק מאנשים 631 00:30:15,450 --> 00:30:17,660 רוצה להיות שם משתמש כבר משמונה תווים, 632 00:30:17,660 --> 00:30:19,743 יש אנשים שאולי רוצים יש את שם משתמש של קצר יותר, 633 00:30:19,743 --> 00:30:22,210 אז למה להתחייב למספר מסוים? 634 00:30:22,210 --> 00:30:24,710 למה אין לי משתנה מספר התווים ורק 635 00:30:24,710 --> 00:30:28,580 אומרים שהאורך המרבי של שם הוא, אני לא יודע, כמו 64 תווים. 636 00:30:28,580 --> 00:30:31,780 אני לא יכול לחשוב על שום חברים ש יש שמות ארוכים יותר מ -64 תווים, 637 00:30:31,780 --> 00:30:34,810 ואפילו אם זה קצר מדי שאתה יכול בהחלט להקפיץ אותו באופן שרירותי. 638 00:30:34,810 --> 00:30:37,330 >> אז varchar הוא משתנה מספר התווים. 639 00:30:37,330 --> 00:30:41,010 טקסט הוא לא אינסטינקט רע, ו בכנות כי זה סוג של עושה מה שהוא אומר, 640 00:30:41,010 --> 00:30:45,460 אבל שדה טקסט יכול להיות כמו 65,000 בתים לפחות. 641 00:30:45,460 --> 00:30:50,790 זה כנראה מוגזם עבור שדה, ולמעשה, כן, 65,535. 642 00:30:50,790 --> 00:30:53,740 זה כנראה מוגזם עבור שם, כדי שנישאר תמיד ב, בדרך כלל, 643 00:30:53,740 --> 00:30:56,910 עם varchars לטקסטואלית שדה וחשיש, גם. 644 00:30:56,910 --> 00:30:59,990 חשיש, מתברר, אנחנו יכולים לעשות varchar, כמו גם, או משהו כזה, 645 00:30:59,990 --> 00:31:03,080 אבל אנחנו לא נתמקד היום ב הצפנה שם והמספרים 646 00:31:03,080 --> 00:31:05,210 כי בעצם אנחנו אולי רוצה להשתמש לאורכו. 647 00:31:05,210 --> 00:31:07,430 >> אבל תן לי לגלול למטה בצד הימין. 648 00:31:07,430 --> 00:31:11,280 אתה יכול להיות אחד בלבד מדד עיקרי לשולחן, 649 00:31:11,280 --> 00:31:16,380 אבל אני רוצה להחיל את כל אלה, עכשיו, לשם משתמש, היית אומר? 650 00:31:16,380 --> 00:31:21,980 מה צריך להיות מבוסס על שם משתמש מעורפל הבנה של ארבע האופציות האלה? 651 00:31:21,980 --> 00:31:23,340 רק בשמות שלהם? 652 00:31:23,340 --> 00:31:24,140 >> קהל: ייחודי. 653 00:31:24,140 --> 00:31:25,100 >> דוד י מלאן: אז ייחודי, נכון? 654 00:31:25,100 --> 00:31:28,190 אז מתברר שלא רק יכול אתה אומר לי מסד הנתונים, מראש, 655 00:31:28,190 --> 00:31:30,380 זו הדרך העיקרית זיהוי שדות. 656 00:31:30,380 --> 00:31:32,990 גם אתה יכול להגיד את זה הוא הולך להיות תחום ייחודי. 657 00:31:32,990 --> 00:31:34,700 זה לא הולך להיות הדבר אני סומך על, 658 00:31:34,700 --> 00:31:38,490 אבל אני רוצה את מסד הנתונים ל בעצם יש לי שאם מצב, כך 659 00:31:38,490 --> 00:31:42,340 שאם אי פעם ניסיתי לרשום שני משתמשים עם אותו שם, 660 00:31:42,340 --> 00:31:44,360 מתוך שטוח מסד הנתונים הוא לא הולך לתת לי. 661 00:31:44,360 --> 00:31:47,490 אולי יש לי איזה קוד נוסף ב- PHP שמונע כל כך הרבה, 662 00:31:47,490 --> 00:31:50,640 אבל את מסד הנתונים, מדי, יכול להבטיח שאף פעם לא יקרה. 663 00:31:50,640 --> 00:31:53,370 >> עכשיו, במאמר מוסגר, במיוחד כ אתה חושב על פרויקטי גמר, 664 00:31:53,370 --> 00:31:57,030 לשמור במדד זה ונפש מלא טקסט הוא בעצם די שימושי. 665 00:31:57,030 --> 00:32:01,080 אם יש לך מסד נתונים גדולים יותר, לא עם עשרות, אבל עם מאות או אלפים 666 00:32:01,080 --> 00:32:05,270 או אפילו מיליון של שדות, אתה יכול גם לספר את מסד הנתונים מראש 667 00:32:05,270 --> 00:32:07,980 מדובר בתחום שאני הולך לחיפוש בהרבה. 668 00:32:07,980 --> 00:32:10,520 אולי את שם המשתמש שלו, אולי זה ביו, אם אתה 669 00:32:10,520 --> 00:32:13,750 מה שהופך את אתר אינטרנט כמו פייסבוק ש יש סעיפים שהמשתמש של מותר 670 00:32:13,750 --> 00:32:16,799 כדי לחסוך, ואם אתה רוצה לספר את מסד הנתונים מראש 671 00:32:16,799 --> 00:32:20,090 אני הולך להיות חיפוש בתחום זה הרבה, אבל זה לא בהכרח ייחודי, 672 00:32:20,090 --> 00:32:22,800 באפשרותך לציין ליצור לי מדד. 673 00:32:22,800 --> 00:32:27,990 או, שאתה יכול להגיד גם מאפשר לי לעשות סוג של חיפושים שרירותיים כמו פיקוד 674 00:32:27,990 --> 00:32:30,420 או הבקרה F, כמוך אולי במעבד תמלילים, 675 00:32:30,420 --> 00:32:34,184 כך שאתה יכול להסתכל מחרוזות שרירותיות או מחרוזות בתחום זה. 676 00:32:34,184 --> 00:32:36,600 במילים אחרות, אנחנו מקבלים עד לנקודה בסמסטר 677 00:32:36,600 --> 00:32:40,720 שבו אתה לא צריך לדאוג כיצד ליישם את הדברים ביעילות. 678 00:32:40,720 --> 00:32:44,540 אתה פשוט צריך לדעת על מה החלטות עיצוב לעשות, כך שאתה 679 00:32:44,540 --> 00:32:48,470 שימוש בכלים הנכונים ל סחר על מנת למנף את התכונות 680 00:32:48,470 --> 00:32:50,380 שאנשים אחרים שנבנו עבורך. 681 00:32:50,380 --> 00:32:54,240 אז כדי לסכם, עיקרי רק צריך יש אחד, אתה יכול להיות רק אחד, 682 00:32:54,240 --> 00:32:59,630 וזה הדבר שאתה מתחייב ל באמצעות זיהוי שדות ייחודי. 683 00:32:59,630 --> 00:33:02,710 הייחודי הוא רק דומה ברוח, אבל ייתכן שרק מדי פעם להשתמש בו, 684 00:33:02,710 --> 00:33:04,530 אבל אתה רוצה מסד נתונים כדי לכפות אותה. 685 00:33:04,530 --> 00:33:08,050 מדד רק אומר מנע לזרז את עניינים בעתיד 686 00:33:08,050 --> 00:33:10,230 כך שאני יכול לחפש דברים בתחום זה. 687 00:33:10,230 --> 00:33:13,700 ולאחר מכן טקסט מלא הוא בדרך כלל ל סעיפים, או מאמרים, או גופים גדולים 688 00:33:13,700 --> 00:33:16,270 טקסט שבו אתה גם ייתכן שתרצה יש לי 689 00:33:16,270 --> 00:33:19,420 קלפים פראיים כמו המקבילה של כוכב. 690 00:33:19,420 --> 00:33:19,920 תקין. 691 00:33:19,920 --> 00:33:22,580 >> אז זה היה סוג של הרבה בבת אחת. 692 00:33:22,580 --> 00:33:25,220 בואו תראו אם אנחנו לא יכולים לזקק כמה תכונות אלה 693 00:33:25,220 --> 00:33:29,540 ולאחר מכן לבנות משהו פשוט למדי, אך רב עוצמה. 694 00:33:29,540 --> 00:33:31,380 אז בין אחר החלטות עיצוב שאתה 695 00:33:31,380 --> 00:33:34,005 סופו של הדבר יצטרך הוא לאורך הקווים של מנועי אחסון. 696 00:33:34,005 --> 00:33:37,370 ותן לי רק לעשות אזכור של זה בציפייה לפרויקט גמר, 697 00:33:37,370 --> 00:33:42,020 ובואו לקראת say-- אין בואו נעשיתי את זה. 698 00:33:42,020 --> 00:33:43,820 בואו לבנות את זה קצת היישום ראשון. 699 00:33:43,820 --> 00:33:48,070 אני הולך להיכנס למסוף שלי חלון, וכאן הוא לא 700 00:33:48,070 --> 00:33:52,500 רק counter.php, שאנחנו הולכים עכשיו להיפטר כמכבר לא מקורן, 701 00:33:52,500 --> 00:33:54,570 אבל יש לנו כל חבורה מדריכים וזה 702 00:33:54,570 --> 00:33:58,080 הולך להיות דומה מאוד ברוחו למה שאתה רואה בעיה להגדיר שבע. 703 00:33:58,080 --> 00:34:00,980 >> אז יש לנו שלושה מדריכים כולל ציבורי ותבניות, ש 704 00:34:00,980 --> 00:34:05,040 זה בדיוק איפה שהפסקנו ב יום שני עם הפרדיגמה MVC כולנו. 705 00:34:05,040 --> 00:34:09,290 וכדי לסכם, בציבור הוא הולך כל קובץ שאני רוצה שלמשתמשים למעשה 706 00:34:09,290 --> 00:34:12,969 v תוכל לבקר ב הדפדפן שלהם באמצעות כתובת URL. 707 00:34:12,969 --> 00:34:13,502 תבנית. 708 00:34:13,502 --> 00:34:14,710 מה עשה שם בתבניות? 709 00:34:14,710 --> 00:34:17,070 איזה סוג של דברים? 710 00:34:17,070 --> 00:34:21,659 לא היה הרבה, אבל בני זוג קבצים לפחות ביום שני. 711 00:34:21,659 --> 00:34:22,619 כן. 712 00:34:22,619 --> 00:34:23,100 >> קהל: כותרת עליונה ותחתונה? 713 00:34:23,100 --> 00:34:24,516 >> דוד י מלאן: כותרת עליונה ותחתונה. 714 00:34:24,516 --> 00:34:26,679 אז יש לנו משהו היום דומה, מדי. 715 00:34:26,679 --> 00:34:30,330 יש לנו עוד כמה קבצים אבל תחתונה אני רואה, אני רואה כותרת, 716 00:34:30,330 --> 00:34:31,909 ולאחר מכן חבורה של קבצים אחרים. 717 00:34:31,909 --> 00:34:35,482 אז זה שווה הערך של תצוגת V MVC, אשר, 718 00:34:35,482 --> 00:34:37,690 שוב, יהיה קצת יותר ברור בבעיה להגדיר שבע, 719 00:34:37,690 --> 00:34:40,380 אבל זה רק תיקייה אני לשים הרבה אסתטיקה שלי. 720 00:34:40,380 --> 00:34:42,840 הרבה HTML שלי, הרבה צורות שלי. 721 00:34:42,840 --> 00:34:46,899 בינתיים, כולל, הוא עוד ספרייה שיש לו שלושת קבצים אלה 722 00:34:46,899 --> 00:34:48,440 ובואו ניקח מבט מהיר על אלה. 723 00:34:48,440 --> 00:34:51,699 >> אני הולך קדימה ולפתוח config.php. 724 00:34:51,699 --> 00:34:54,610 כפי שמתברר, הרבה כמו קודם לכן בטווח, 725 00:34:54,610 --> 00:34:57,850 אתה חד כלול h נקודת CS50 עם pset7. 726 00:34:57,850 --> 00:35:00,780 בדוגמא של היום, אתה הולך לעשות את המקבילה של ש 727 00:35:00,780 --> 00:35:03,600 עם הצהרה מחייב שיעילות 728 00:35:03,600 --> 00:35:05,340 יש כמה שורות אלה. 729 00:35:05,340 --> 00:35:08,225 אז כדי שיהיה ברור, זה הוא קובץ בשם config.php. 730 00:35:08,225 --> 00:35:09,350 ושים לב מה הוא עושה. 731 00:35:09,350 --> 00:35:11,970 זה כנראה עושה משהו הודעות נסתרות, הפעלת שגיאה 732 00:35:11,970 --> 00:35:13,680 כך שאתה יכול לראות אותם בדפדפן. 733 00:35:13,680 --> 00:35:15,860 זה, ולאחר מכן, ככל הנראה, נדרש שני קבצים אחרים 734 00:35:15,860 --> 00:35:19,530 אז זה כמו #include בC, ואז זה אחד שאנחנו לא רואים, 735 00:35:19,530 --> 00:35:22,720 ואנחנו כבר הסתמכנו על, זה מדליק שעגלה כמו פונקציונלי קניות. 736 00:35:22,720 --> 00:35:25,610 >> משמעות דבר היא רצון עוגייה יישלח הלוך ושוב. 737 00:35:25,610 --> 00:35:27,290 אז למה זה מעניין? 738 00:35:27,290 --> 00:35:32,460 ובכן, אם נחזור לזה ספרייה ולפתוח, למשל, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 שים לב ש- PHP עושה קבועי תמיכה, זה לא בדיוק כמו define # ב C. 741 00:35:38,840 --> 00:35:41,290 במקום זאת, אתה ממש אומר שהוגדר, והודעה 742 00:35:41,290 --> 00:35:44,110 כי אני כבר מאוחסן מראש ארבעה קבועים בקובץ זה. 743 00:35:44,110 --> 00:35:47,020 אחת עבור מסד הנתונים של היום, ל הסיסמה שלי, לשם המשתמש שלי, 744 00:35:47,020 --> 00:35:48,690 ואת שמו של השרת. 745 00:35:48,690 --> 00:35:51,644 אז אלה הם למעשה הולכים להיות די דומה בבעיה להגדיר שבע. 746 00:35:51,644 --> 00:35:54,560 ולבסוף, וזה שבו אני הולך לקבל חלק מהפונקציונליות נחמדה 747 00:35:54,560 --> 00:35:59,000 מהצוות, בfunctions.php היא חבורה של קוד שכתבנו, 748 00:35:59,000 --> 00:36:01,040 ואני גנבתי כמה מזה מהבעיה להגדיר שבע 749 00:36:01,040 --> 00:36:05,920 להיום, שעושה המון דברים ובואו רק להסתכל על אחד מהם 750 00:36:05,920 --> 00:36:07,270 בפרט. 751 00:36:07,270 --> 00:36:09,720 פונקציה זו כאן, שאילתא, הוא הולכת להיות 752 00:36:09,720 --> 00:36:13,600 פונקצית PHP אנו קוראים על מנת לבצע SQL. 753 00:36:13,600 --> 00:36:16,070 לפני רגע היינו משתמש ב phpMyAdmin, אבל זה רק 754 00:36:16,070 --> 00:36:18,720 לסוג של מטרות למידה ומטרות אבחון 755 00:36:18,720 --> 00:36:20,494 ושוכח סט מסד הנתונים שלך. 756 00:36:20,494 --> 00:36:22,660 כאשר אתה בעצם להשתמש מסד הנתונים, אתה, האדם, 757 00:36:22,660 --> 00:36:24,100 הם כמובן לא הולכים למשייכת אינטרנט 758 00:36:24,100 --> 00:36:25,740 דף כל פעם שמישהו רושם. 759 00:36:25,740 --> 00:36:29,870 אתה הולך לכתוב קוד ש הכנסה ומחיקת משתמשים על פי דרישה, 760 00:36:29,870 --> 00:36:32,490 ואנחנו הולכים לעשות את זה בדרך של פונקצית השאילתה. 761 00:36:32,490 --> 00:36:35,360 אם אני עכשיו לגלול למטה, יש הולך להיות תכונות עוד כמה. 762 00:36:35,360 --> 00:36:37,170 הפניה הולכת להיות פונקציה שכתבנו 763 00:36:37,170 --> 00:36:40,160 בשבילך שמאפשר לך לשלוח את המשתמש לכתובת אתר אחר, 764 00:36:40,160 --> 00:36:43,780 ולהבהיר הוא פונקציה, ממש כמו ראינו ביום שני, שהופך למעשה 765 00:36:43,780 --> 00:36:48,000 תבנית, אלא יותר על אלה ב צורת הליכתו של pset7 דרך. 766 00:36:48,000 --> 00:36:50,500 לעת עתה, בואו נלך קדימה ולעשות את זה. 767 00:36:50,500 --> 00:36:54,860 >> תן לי ללכת לשולחן ההרצאות שלי ו רואה שיש כרגע שום דבר 768 00:36:54,860 --> 00:36:59,640 כאן עדיין, ולתת גם לי ללכת לספרייה הציבורית שלי, שבו 769 00:36:59,640 --> 00:37:02,780 יש רק קובץ אחד, index.php. 770 00:37:02,780 --> 00:37:06,920 קובץ זה מופיע להיות סופר פשוט באותו הרגע, זה נראה בדיוק כמו זה. 771 00:37:06,920 --> 00:37:09,110 דומה מאוד לאופן בו אנו הפסיק ביום שני. 772 00:37:09,110 --> 00:37:11,945 אני דורש בקובץ זה, config.php, הנמצא ב 773 00:37:11,945 --> 00:37:15,160 כולל ספרייה, ש הוא בנקודת נקודה, ההורים שלי, 774 00:37:15,160 --> 00:37:17,650 ואז זה פשוט הופך את הקובץ הזה. 775 00:37:17,650 --> 00:37:18,960 אז מה הוא קובץ זה? 776 00:37:18,960 --> 00:37:24,700 >> בואו לפתוח את בתבניות שלי form.php, ואנו רואים את זה. 777 00:37:24,700 --> 00:37:28,500 סופר פשוט, ככל הנראה צורה זו היא הולך להגיש על ידי _GET $ או _POST $. 778 00:37:28,500 --> 00:37:29,320 בדיקת שפיות מהירה. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 פשוטו כמשמעו לחפש באופן חזותי את הקובץ. 781 00:37:35,690 --> 00:37:36,610 שיטה שווה פוסט. 782 00:37:36,610 --> 00:37:39,280 אז זה לא הולך להשתמש בכתובת האתר, כמו גוגל עושה, זה הולך למיין וסביבה; 783 00:37:39,280 --> 00:37:41,030 המידע מאחורי הקלעים וזה 784 00:37:41,030 --> 00:37:43,580 נכנע ל קובץ בשם register.php, 785 00:37:43,580 --> 00:37:45,660 וזה הקובץ עוד לא נכתב 786 00:37:45,660 --> 00:37:47,610 אבל מה זה הולך להיראות כמו זה. 787 00:37:47,610 --> 00:37:52,670 >> אם אני הולך לדף נפרד זה מה localhost / index.php נראה כמו. 788 00:37:52,670 --> 00:37:56,930 ושוב, השרת של רק בהנחת index.php. 789 00:37:56,930 --> 00:37:57,910 הזן. 790 00:37:57,910 --> 00:37:59,870 אז זה שבו אנחנו נמצאים ב, ומה שאני רוצה לעשות 791 00:37:59,870 --> 00:38:02,450 הוא להיות מסוגל להקליד דברים כמו דוד, ולאחר מכן 792 00:38:02,450 --> 00:38:08,050 מספר הטלפון שלי, שיגיד 617-555-1212 לעת עתה, לרשום 793 00:38:08,050 --> 00:38:09,910 ועכשיו register.php לא נמצא. 794 00:38:09,910 --> 00:38:11,440 אז אני צריך ליישם את זה. 795 00:38:11,440 --> 00:38:13,320 אז בואו שוט במהירות משהו כמו את זה. 796 00:38:13,320 --> 00:38:18,640 תן לי ללכת לספרייה הציבורית שלי ולעשות gedit של register.php, 797 00:38:18,640 --> 00:38:22,300 ועכשיו אני הולך קדימה ו להתחיל מצב PHP, כמו שעשינו ביום שני, 798 00:38:22,300 --> 00:38:25,430 והתג של קרוב PHP, ו בואו נעשה כמה דברים. 799 00:38:25,430 --> 00:38:28,336 >> אז אחת, אני יודע, מ שכתב צורה ש, 800 00:38:28,336 --> 00:38:29,960 כי אני רוצה לבדוק את הדברים הבאים. 801 00:38:29,960 --> 00:38:35,670 אם הוא ריק, כל מה שהמשתמש הקלדה לשם השדה, ולאחר מכן 802 00:38:35,670 --> 00:38:39,860 אני הולך להגיד משהו כמו להתנצל חסר שם. 803 00:38:39,860 --> 00:38:42,380 מתנצל, בינתיים, הוא לא נבנה בדבר PHP, 804 00:38:42,380 --> 00:38:45,970 זה פונקציה שכתבנו בfunctions.php לpset7 805 00:38:45,970 --> 00:38:47,940 כך יש לך גישה אליו. 806 00:38:47,940 --> 00:38:53,830 אחר אם תחום האחר הוא מספר ריק, ולאחר מכן אני 807 00:38:53,830 --> 00:38:58,370 הולך להתנצל בפני משתמש ואומר מספר חסר. 808 00:38:58,370 --> 00:38:59,320 שמור קובץ זה. 809 00:38:59,320 --> 00:39:02,640 >> עכשיו בואו נחזור לדפדפן שלי, לחזור לפורום נסה שוב. 810 00:39:02,640 --> 00:39:04,070 הרשם. 811 00:39:04,070 --> 00:39:05,090 אישור. 812 00:39:05,090 --> 00:39:06,730 שום דבר לא קרה, וזה טוב. 813 00:39:06,730 --> 00:39:08,120 אני לא מקבל הודעת שגיאה. 814 00:39:08,120 --> 00:39:11,651 אבל אם במקום, בואו רענן דף, ולא מספק שום דבר. 815 00:39:11,651 --> 00:39:12,150 לעזאזל. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 לעשות את זה. 818 00:39:17,140 --> 00:39:18,810 הרשם. 819 00:39:18,810 --> 00:39:20,350 מה עשה לא בסדר? 820 00:39:20,350 --> 00:39:24,860 אם ריק, שם _POST $. 821 00:39:24,860 --> 00:39:26,350 אומר שוב? 822 00:39:26,350 --> 00:39:27,670 >> אה, כמובן. 823 00:39:27,670 --> 00:39:30,919 שכחתי את החלק החשוב ביותר, ש הוא דורש ("../ כולל / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 אני צריך גישה ל מתנצל פונקציה, ש 826 00:39:36,460 --> 00:39:37,770 לכן שום דבר לא קורה. 827 00:39:37,770 --> 00:39:39,460 הפונקציה אינה קיימת למעשה. 828 00:39:39,460 --> 00:39:40,640 אז בואו ננסה את זה שוב. 829 00:39:40,640 --> 00:39:42,350 בואו לטעון מחדש את הדף, לחץ על רישום. 830 00:39:42,350 --> 00:39:43,060 אישור. 831 00:39:43,060 --> 00:39:43,770 זה מה שיש. 832 00:39:43,770 --> 00:39:45,700 אז, הפלט אנחנו רואה כאן היא התוצאה 833 00:39:45,700 --> 00:39:47,685 לקרוא להתנצל פונקציה, סופר פשוט, 834 00:39:47,685 --> 00:39:50,060 וזה פשוט מדפיס את כל מה ש אני נותן לה כטיעון. 835 00:39:50,060 --> 00:39:51,370 >> בסדר, אז בואו נשתף פעולה. 836 00:39:51,370 --> 00:39:54,240 בואו לספק את השם שלי כמו דוד, להירשם, 837 00:39:54,240 --> 00:39:56,890 חסר המספר בואו אישור לספק גם את זה. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 הרשם. 840 00:39:59,250 --> 00:39:59,750 אישור. 841 00:39:59,750 --> 00:40:02,760 אז הכל טוב עכשיו, רק דבר מעניין שקורה. 842 00:40:02,760 --> 00:40:06,000 אז עכשיו בואו נעשה משהו יותר מעניין קורה ככה. 843 00:40:06,000 --> 00:40:09,980 תן לי ללכת לphpMyAdmin, ובואו למעשה ליצור טבלה בשם משתמשים, 844 00:40:09,980 --> 00:40:12,330 אני הולך לתת לו שלוש עמודות, ואני במהירות ימצא 845 00:40:12,330 --> 00:40:16,250 ליצור זהות, ולאחר מכן שם, ולאחר מכן מספר, 846 00:40:16,250 --> 00:40:18,832 והשדה מזהה אני הולך לעזוב כint. 847 00:40:18,832 --> 00:40:20,790 שם השדה אני הולך לעזוב בvarchar, 848 00:40:20,790 --> 00:40:23,257 ואנחנו אומרים 64, באופן שרירותי למדי. 849 00:40:23,257 --> 00:40:25,090 המספר שאני הולך לעשות, אתה יודע מה? 850 00:40:25,090 --> 00:40:27,350 אנחנו הולכים ל לתמוך במספרים בארה"ב כאן, 851 00:40:27,350 --> 00:40:31,510 אז אני הולך לעשות משהו כמו char ולאחר מכן 10 תווים 852 00:40:31,510 --> 00:40:34,540 מקסימום לאזור חיוג ולאחר מכן שבע ספרות. 853 00:40:34,540 --> 00:40:37,870 ואז כאן, אני הולך לציין תוספת אוטומטית תחום זה, 854 00:40:37,870 --> 00:40:40,550 להפוך את זה למפתח ראשי, ו אני הולך קדימה, לא 855 00:40:40,550 --> 00:40:42,240 לבדוק כל תיבות אחרות אלה. 856 00:40:42,240 --> 00:40:48,030 >> לכן, כאשר אני עכשיו סוף סוף לחץ על שמור, ואני חוזר לשולחן המשתמשים שלי, 857 00:40:48,030 --> 00:40:52,270 זה מה שזה נראה אם ​​אני עכשיו לחץ על מבנה כרטיסייה חדשה. 858 00:40:52,270 --> 00:40:54,550 אז זה, שיהיה ברור, זוהי רק הדרך של phpMyAdmin 859 00:40:54,550 --> 00:40:58,570 לומר הטבלה במסד הנתונים שלך יש תעודת זהות, שם, ומספר 860 00:40:58,570 --> 00:41:02,040 עם תצורות מסוימות אלה ואנו להתעלם משאר השדות 861 00:41:02,040 --> 00:41:03,140 יש לעת עתה. 862 00:41:03,140 --> 00:41:04,810 >> אז עכשיו מה שאני רוצה לעשות? 863 00:41:04,810 --> 00:41:09,060 אז אם אני הולך עכשיו לשלי קוד מקור, אם הכל טוב 864 00:41:09,060 --> 00:41:11,190 אני רוצה לבצע את השאילתה הבאה. 865 00:41:11,190 --> 00:41:14,970 הכנס ל, ורק אני יכול אומרים שלמשתמשים שאני עושה לא ממש 866 00:41:14,970 --> 00:41:18,620 צריך לחזור אלו קרציות אם זה לא מילה מסוכנת כמו משתמשים. 867 00:41:18,620 --> 00:41:22,810 אני הולך להגיד את שם, מספר, ולאחר מכן כאן אני 868 00:41:22,810 --> 00:41:24,960 לא הולך לקוד קשה ספרה של הערכים עדיין. 869 00:41:24,960 --> 00:41:26,760 אני מתכוון להעלות את שני סימני שאלה. 870 00:41:26,760 --> 00:41:29,320 ואת זה הוא אמנה בשפות רבות 871 00:41:29,320 --> 00:41:31,730 לפיו במקרה שאתה רוצה להיות מציין מיקום של מחרוזת 872 00:41:31,730 --> 00:41:34,105 אתה הולך להשתמש בשאלה סימנים, מסיבות שנציע ב 873 00:41:34,105 --> 00:41:36,370 אחזור לשוחח על ביטחון, וכאן 874 00:41:36,370 --> 00:41:39,420 אני הולך לעבור באלה שני שדות לפרסם שם, 875 00:41:39,420 --> 00:41:44,850 ולאחר מכן לפרסם את המספר, ועכשיו לשמור את הקובץ. 876 00:41:44,850 --> 00:41:47,090 >> ועכשיו אני הולך יורד כאן הוא סופר 877 00:41:47,090 --> 00:41:55,690 פשוט לומר rendersuccess.php, ש הולך להיות תבנית אחרת. 878 00:41:55,690 --> 00:41:57,380 אני הולך ליצור ממש מהר. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php ואני רק הולך לומר הצלחת H1 בקובץ ש. 880 00:42:06,270 --> 00:42:06,990 בְּסֵדֶר. 881 00:42:06,990 --> 00:42:11,312 אז עכשיו, בואו נחזור ל דפדפן, שבו ביקרתי לפני. 882 00:42:11,312 --> 00:42:14,270 בואו נלך קדימה ולאשר שכתבתי בדוד, שכתבתי במספר טלפון, 883 00:42:14,270 --> 00:42:15,390 להירשם. 884 00:42:15,390 --> 00:42:16,100 לעזאזל. 885 00:42:16,100 --> 00:42:17,420 מה עשה לא בסדר? 886 00:42:17,420 --> 00:42:20,850 אז אני רואה שגיאה כאן, אתה יש שגיאה בתחביר SQL שלך. 887 00:42:20,850 --> 00:42:24,900 תן לי לקפוץ לראש gedit, תן לי לי לחזור לregister.php, 888 00:42:24,900 --> 00:42:28,830 ומה אני להשמיט ש הייתה הפעם האחרונה חשובה? 889 00:42:28,830 --> 00:42:29,722 אני צריך את זה. 890 00:42:29,722 --> 00:42:32,930 אתה רוצה לדעת כי מלבד מ יש לב לפני, אבל אני צריך את זה. 891 00:42:32,930 --> 00:42:35,596 >> אז עכשיו בואו נחזור, וזה היה מועיל לראות בדפדפן 892 00:42:35,596 --> 00:42:37,680 ולכן בconfig.php אנחנו יורקים את שגיאות. 893 00:42:37,680 --> 00:42:41,770 בואו נלך קדימה וטען מחדש, לחץ על המשך, הצלחה. 894 00:42:41,770 --> 00:42:47,060 אז עכשיו תן לי ללכת אליי מסד הנתונים כאן ולחץ על משתמשים, 895 00:42:47,060 --> 00:42:51,680 ולגלוש, ושים לב אני עכשיו יש דוד במסד הנתונים שלי כאן. 896 00:42:51,680 --> 00:42:55,810 עכשיו מבחינה טכנית אתר זה עדיין לא על רשת האינטרנט הציבורי, 897 00:42:55,810 --> 00:42:57,890 אז אני לא יכול להיות אחר אנשים לשים כאן, 898 00:42:57,890 --> 00:43:01,120 אבל אם אני עכשיו רציתי, ל למשל, לשלוח את עצמי הודעת טקסט. 899 00:43:01,120 --> 00:43:03,920 בואו נצא על ענף כאן ולראות אם זה באמת עובד. 900 00:43:03,920 --> 00:43:07,331 אני הולך קדימה ולמחוק את השורה 901 00:43:07,331 --> 00:43:09,080 ואנו לטשטש את זה בווידאו בהמשך 902 00:43:09,080 --> 00:43:11,900 ולכן אין לנו את כל אינטרנט הודעות SMS, 903 00:43:11,900 --> 00:43:17,270 ואנחנו עכשיו עולים ל דפדפן ונעבור על להרצות 904 00:43:17,270 --> 00:43:22,040 ואנחנו סוג ב שונה מספר כאן, להירשם, הצלחה. 905 00:43:22,040 --> 00:43:25,550 >> אז עכשיו, המספר שלי הוא ככל הנראה ב מסד הנתונים, ועכשיו לחלק הכיפי. 906 00:43:25,550 --> 00:43:28,774 בואו באמת להשתמש PHP לעשות משהו תיכנותי, 907 00:43:28,774 --> 00:43:30,940 או מהפיקוד קו או ממקום אחר, 908 00:43:30,940 --> 00:43:32,773 ועכשיו אני רק הולך לשמור את זה פשוט 909 00:43:32,773 --> 00:43:36,230 ואני הולך להיכנס לשלי ספרייה כאן ולבצע את הפעולות הבאות. 910 00:43:36,230 --> 00:43:44,920 Gedit תסריט נניח, שנציע ב קורא לזה טקסט, #! / משתמש / PHP bin / env, 911 00:43:44,920 --> 00:43:46,700 כמו שראינו בפעם האחרונה. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> עכשיו אני הולך לדורש כולל config.php, 914 00:43:55,055 --> 00:43:57,360 למרות שאולי זה לגרום לשגיאה קלה. 915 00:43:57,360 --> 00:44:03,960 ועכשיו אני הולך קדימה ואומר שורות, שאילתא, כוכב בחר ממשתמשים, 916 00:44:03,960 --> 00:44:08,149 ועכשיו כאן אני הולך לעשות טכניקה מעת האחרונה לכל שורות ששורה. 917 00:44:08,149 --> 00:44:09,690 ואני הולך לעשות משהו פשוט. 918 00:44:09,690 --> 00:44:19,090 Printf נניח שם הוא זה, והמספר הוא, n קו נטוי זה. 919 00:44:19,090 --> 00:44:23,320 ועכשיו אני הולך לעבור בשורה לצטט שם סוף ציטוט, 920 00:44:23,320 --> 00:44:28,140 ומספר סוף ציטוט ציטוט שורה, ועכשיו בואו נלך קדימה 921 00:44:28,140 --> 00:44:31,430 וחלון המסוף שלי chmod + x זה לעשות 922 00:44:31,430 --> 00:44:33,970 התסריט הזה שנקרא הפעלה טקסט. 923 00:44:33,970 --> 00:44:36,080 ועכשיו בואו נרוץ טקסט. 924 00:44:36,080 --> 00:44:37,590 >> אוקיי, אז תתקדם. 925 00:44:37,590 --> 00:44:39,960 אז עכשיו שכתבתי קו תסריט פקודה, 926 00:44:39,960 --> 00:44:43,300 בשפה בשם PHP, ש, בגלל שדורש קו, 927 00:44:43,300 --> 00:44:46,380 יש לו גישה לכל תצורה אלה קבועים שצוינתי. 928 00:44:46,380 --> 00:44:48,177 שמו של בסיס הנתונים וכן הלאה. 929 00:44:48,177 --> 00:44:50,260 למעשה, רק שיהיה ברור שזה לא היה מקרי, 930 00:44:50,260 --> 00:44:54,730 תן לי ללכת קדימה ולהירשם, ממש מהר, מישהו אחר כמו רוב 931 00:44:54,730 --> 00:44:58,890 ואתן לו את המספר 555-1212. 932 00:44:58,890 --> 00:45:01,557 >> ועכשיו, אם אני מריץ את התסריט שוב, שים לב לכח 933 00:45:01,557 --> 00:45:03,140 של מה שאנחנו עושים עם מסד הנתונים. 934 00:45:03,140 --> 00:45:07,680 מה עכשיו ראיתי מייד שתי שורות אחרות נמצאות במסד הנתונים שלי. 935 00:45:07,680 --> 00:45:10,699 אז עכשיו בואו ננסה לעשות משהו אפילו מהודר יותר בתוך, 936 00:45:10,699 --> 00:45:12,740 וזה חלק שיש לנו לא נבדק מראש, 937 00:45:12,740 --> 00:45:15,910 אז בפעם האחרונה שעשתה את זה דברים הלכו בצורה נוראה השתבש, 938 00:45:15,910 --> 00:45:17,120 יש לנו וידאו על כך. 939 00:45:17,120 --> 00:45:18,286 >> למעשה, כן, מצחיק בצד. 940 00:45:18,286 --> 00:45:20,480 אז בפעם האחרונה, ב להרצות כמו לפני שנתיים, 941 00:45:20,480 --> 00:45:23,230 החלטנו, אני החלטתי, להיות כל זה יהיה רעיון נהדר 942 00:45:23,230 --> 00:45:28,150 כדי ליצור באופן דינמי מיילים ב כיתה, תוך שימוש בכל CS50 בסיס הנתונים 943 00:45:28,150 --> 00:45:33,390 תלמידים, שנתנו לנו את מספרם וספקי הסלולר שלהם שבו אתה 944 00:45:33,390 --> 00:45:36,290 אולי זוכר מpset0, איך לנמק, מתברר 945 00:45:36,290 --> 00:45:40,650 היה לי באגים קטנים בתכנית שלי ו עשיתי כמה טעויות בשנת 2012, אני חושב. 946 00:45:40,650 --> 00:45:43,997 >> לפי, שהייתי לי ללולאה ש עשה דבר כזה בדיוק, 947 00:45:43,997 --> 00:45:46,580 iterating על בסיס הנתונים, מקבל שם מבסיס הנתונים, 948 00:45:46,580 --> 00:45:49,940 שם מבסיס הנתונים, ולאחר מכן על כל אחד איטרציה של לולאה ששלחתי דוא"ל. 949 00:45:49,940 --> 00:45:54,130 אבל במקום לשלוח דואר אלקטרוני אחת, אני שלח דוא"ל אחד איטרציה הראשונה, 950 00:45:54,130 --> 00:45:58,200 ושני מיילים חזרה השניה, שנשלחו שלושה מיילים חזרה השניה, ש 951 00:45:58,200 --> 00:46:01,230 כפי שאתה אולי זוכר משלנו דיון בסימון אסימפטוטי 952 00:46:01,230 --> 00:46:06,400 O זה גדול של רע, כמו n בריבוע הוא כמה הודעות ששלחתי, 953 00:46:06,400 --> 00:46:08,560 אבל זה לא היה אפילו מיילים זה היה הודעות טקסט. 954 00:46:08,560 --> 00:46:12,070 >> וכמו שאתה יודע, נוכחות היא לא סופר גבוה לקראת סוף הסמסטר 955 00:46:12,070 --> 00:46:15,360 ואז חשבתי שזה יהיה חמוד ב הזמן לומר, "למה לא בכיתה אתה?" 956 00:46:15,360 --> 00:46:17,880 בי הודעת הטקסט נשלח לכל הכיתה, 957 00:46:17,880 --> 00:46:22,140 וזה היה מצחיק לרוצה 50% מ כיתה, אבל 50% האחרים, שחלקם 958 00:46:22,140 --> 00:46:26,102 נבהל, שלחתי להפליא הערות מתוקות מתנצלת 959 00:46:26,102 --> 00:46:28,560 לצוות להתנצל על שהחמיץ את ההרצאה פשוט 960 00:46:28,560 --> 00:46:29,530 זה פעם אחת, נכון? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> כך שהיית נורא השתבש. 963 00:46:34,030 --> 00:46:37,030 וברוח התקופה, בואו ננסה את זה שוב, אבל עם המספר שלי. 964 00:46:37,030 --> 00:46:41,940 מראש, בfunctions.php, שכתבתי בפונקציה זו כאן. 965 00:46:41,940 --> 00:46:44,250 זה נקרא טקסט, וזה לוקח בשלוש טענות. 966 00:46:44,250 --> 00:46:46,360 מספר, ספק, והודעה. 967 00:46:46,360 --> 00:46:50,390 >> אני משתמש בהצהרה בורר, ש הנפלא PHP לקחת מחרוזות, לא רק 968 00:46:50,390 --> 00:46:53,350 מספרים שלמים, ואני לא יישמנו כל התמיכה לכך עדיין, 969 00:46:53,350 --> 00:46:55,370 רק שעשיתי AT & T ו- Verizon. 970 00:46:55,370 --> 00:46:57,610 כי מתברר כי עם ספקים אלה 971 00:46:57,610 --> 00:47:00,570 יש להם דואר אלקטרוני לשערי SMS, שבו אתה באמת יכול 972 00:47:00,570 --> 00:47:05,529 לשלוח דוא"ל לכתובת כמו מספר הטלפון בvtext.com 973 00:47:05,529 --> 00:47:08,070 ואם המשתמש אינו חסום ההודעות, זה יעברו 974 00:47:08,070 --> 00:47:09,340 היא הודעת טקסט. 975 00:47:09,340 --> 00:47:13,270 >> עכשיו לעשות את זה, אני הולך צריך להוסיף תחום אחד ממש מהר לבסיס הנתונים שלי. 976 00:47:13,270 --> 00:47:15,470 אני הולך להיכנס המבנה שלי, ואני 977 00:47:15,470 --> 00:47:21,880 הולך קדימה ולהוסיף שדה בקצה השולחן. 978 00:47:21,880 --> 00:47:25,227 בואו לחצו על Go, ואני הולך להתקשר ספק זה 979 00:47:25,227 --> 00:47:27,310 ועכשיו אני הולך תשאיר את זה כטקסט בר, 980 00:47:27,310 --> 00:47:29,320 אבל אנחנו יכולים להיות מפוארים יותר בעתיד. 981 00:47:29,320 --> 00:47:31,961 אני הולך לעבור במהירות לשולחן שלי, ואני 982 00:47:31,961 --> 00:47:34,210 הולך להיפטר מרוב, כי זה מספר מזויף, 983 00:47:34,210 --> 00:47:38,540 אני הולך להיכנס לעריכה פה ואני הולך לשנות הספק שלי באופן ידני 984 00:47:38,540 --> 00:47:43,410 להיות Verizon, שבו הוא, ועכשיו כאן. 985 00:47:43,410 --> 00:47:44,980 >> בואו לעשות בדיקת שפיות מהירה. 986 00:47:44,980 --> 00:47:52,730 בואו לפתוח את תסריט הטקסט שלנו, ש נראה כך, מוביל הוא% s. 987 00:47:52,730 --> 00:47:58,230 אנחנו עושים שגיאה הרבה יותר בדיקה ממה שעשיתי בשנת 2012, ספק. 988 00:47:58,230 --> 00:48:01,160 ועכשיו, אני הולך ללכת קדימה ולהפעיל מחדש את התסריט. 989 00:48:01,160 --> 00:48:01,660 אישור. 990 00:48:01,660 --> 00:48:06,100 מוביל הוא Verizon, מה שאומר ש עכשיו אני מקווה שאני יכול לעשות בדיוק את זה. 991 00:48:06,100 --> 00:48:08,360 כראוי השנה, בתקווה, הנה זה באנו. 992 00:48:08,360 --> 00:48:12,200 >> אז בתוך זה ללולאה, אני הולך להיות printf זה לא רק, 993 00:48:12,200 --> 00:48:15,990 אני גם הולך לקרוא טקסט ו השימוש בזיכרון בפונקציה זו 994 00:48:15,990 --> 00:48:19,670 היה לוקח מספר, מוביל, והודעה. 995 00:48:19,670 --> 00:48:23,310 אז בואו נראה, מספר הולך להיות סוף ציטוט ציטוט שורה "מספר," 996 00:48:23,310 --> 00:48:31,660 ציטוט שורה "מוביל," סוף ציטוט והאחרון הייתה הודעה. 997 00:48:31,660 --> 00:48:36,250 אל תדפוק את זה שנה, פסיק. 998 00:48:36,250 --> 00:48:36,780 >> אישור. 999 00:48:36,780 --> 00:48:38,280 אני מחזיק אצבעות. 1000 00:48:38,280 --> 00:48:39,970 בואו אראה אם ​​זה עובד. 1001 00:48:39,970 --> 00:48:41,720 בסדר, כל כך. 1002 00:48:41,720 --> 00:48:43,000 הנה אנחנו מתחילים. 1003 00:48:43,000 --> 00:48:47,380 בואו לפתוח את הטלפון, תחזיק האצבעות, לעזאזל. 1004 00:48:47,380 --> 00:48:50,300 may-- משתנה לא מוגדר הו חכה, חכה, חכה, ממש מהר. 1005 00:48:50,300 --> 00:48:51,340 ממש מהר, ממש מהר. 1006 00:48:51,340 --> 00:48:53,380 זה לגמרי שווה את זה. 1007 00:48:53,380 --> 00:48:57,710 תן לי לתפוס, תנו לי לתפוס, אה-אה. 1008 00:48:57,710 --> 00:48:59,965 תודה לך, יש לי הטקסטים התחיל ממישהו אחר. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 תנו לי ללכת קדימה, לפתוח את אמת מהיר, dropbox.php / דואר כאן. 1011 00:49:11,650 --> 00:49:12,660 המתנה. 1012 00:49:12,660 --> 00:49:14,455 לגמרי שווה את זה. 1013 00:49:14,455 --> 00:49:17,430 הורדות. 1014 00:49:17,430 --> 00:49:18,560 אישור, src8m המקור. 1015 00:49:18,560 --> 00:49:19,700 אישור. 1016 00:49:19,700 --> 00:49:21,380 >> צריך קו אחד נוסף כאן. 1017 00:49:21,380 --> 00:49:24,530 אה זה מה שיש, זה בפרוש IMs, זה בקופה בשלוש. 1018 00:49:24,530 --> 00:49:28,820 הלו, מרגו, תודה רבה לך. 1019 00:49:28,820 --> 00:49:31,130 אישור, והיה חסר לי הקו הזה כאן. 1020 00:49:31,130 --> 00:49:33,010 אז תן לי לתפוס במהירות הקו הזה של קוד, 1021 00:49:33,010 --> 00:49:36,200 הכולל את הדואר או בספרייה כי אני ממש רוצה להשתמש, 1022 00:49:36,200 --> 00:49:38,300 אני הולך במהירות לחזור לפונקציות, 1023 00:49:38,300 --> 00:49:42,337 אני מתכוון ללכת לחלק העליון של זה להגיש ודורש בקובץ זה, כמו גם, 1024 00:49:42,337 --> 00:49:45,420 ועכשיו אני הולך באמת לחצותי אצבעות כשאני חוזר לפקודה 1025 00:49:45,420 --> 00:49:49,530 קו תסריט, שהוא חלק פנימי של ספריית המארח המקומית של היום. 1026 00:49:49,530 --> 00:49:50,610 טקסט הפעלה. 1027 00:49:50,610 --> 00:49:52,720 הזן. 1028 00:49:52,720 --> 00:49:53,220 דואר. 1029 00:49:53,220 --> 00:49:53,719 המתנה. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 המתנה. 1032 00:49:59,600 --> 00:50:01,680 דואר. 1033 00:50:01,680 --> 00:50:02,290 אה, בסדר. 1034 00:50:02,290 --> 00:50:03,870 הנה אנחנו מתחילים. 1035 00:50:03,870 --> 00:50:06,880 >> דואר מקבל דיוור PHP חדש. 1036 00:50:06,880 --> 00:50:09,970 האם אני עושה את זה נכון? 1037 00:50:09,970 --> 00:50:11,067 לעזאזל. 1038 00:50:11,067 --> 00:50:12,150 To-- הו, חכה, חכה, חכה. 1039 00:50:12,150 --> 00:50:12,649 Stand by. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 אני מבטיח, זה הוא הולך להיות כל כך שווה את זה. 1042 00:50:18,630 --> 00:50:20,340 כתובת. 1043 00:50:20,340 --> 00:50:24,390 זו הסיבה שאני לא עושה דוגמאות ממש לפני הכיתה. 1044 00:50:24,390 --> 00:50:26,350 איכס. 1045 00:50:26,350 --> 00:50:27,910 הנמענים הבאים נכשלו. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 בואו ננסה עוד דבר אחד אחרון. 1048 00:50:33,040 --> 00:50:40,660 SMTP מוגדר מ, להוסיף את כתובת, הכתובת היא אכן ש. 1049 00:50:40,660 --> 00:50:43,980 בואו ננסה חלק האחרון בכתובת. 1050 00:50:43,980 --> 00:50:47,210 אה, אני באמת עצוב עכשיו. 1051 00:50:47,210 --> 00:50:47,854 תודה לך. 1052 00:50:47,854 --> 00:50:50,270 אבל אני באמת מעריך את כל הטקסטים שאתה כבר שולח. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 יש לך דוד זה. 1055 00:50:56,320 --> 00:50:59,310 אתה מעיף אותה. 1056 00:50:59,310 --> 00:51:01,720 בואו נשאיר את זה שם ו אנחנו נתקן ביום שני. 1057 00:51:01,720 --> 00:51:04,290 אז נתראה. 1058 00:51:04,290 --> 00:51:08,090 >> להתפלל פארנהאם: ועכשיו עמוק מחשבות על ידי בדייבן פארנהאם. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 אם עץ בינארי נופל ביער ו אף אחד לא בסביבה כדי C [מצחקק] it--. 1061 00:51:17,590 --> 00:51:18,998