1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> דאג LLOYD: אז בנו וידאו על תחביר PHP, 3 00:00:07,620 --> 00:00:10,480 דיברנו הרבה על איך PHP ניתן להשתמש בשורת הפקודה 4 00:00:10,480 --> 00:00:13,620 כדי להפעיל תוכניות באופן ש אנחנו די מכירים מג 5 00:00:13,620 --> 00:00:15,370 אבל כמו שציינתי גם שבוידאו, PHP 6 00:00:15,370 --> 00:00:19,572 בתחילה פותח ל ליישם תכנות אינטרנט, אתרי אינטרנט. 7 00:00:19,572 --> 00:00:21,780 וכך בסרט הזה שאנחנו הולך לדבר על איך אנחנו 8 00:00:21,780 --> 00:00:23,890 להשתמש PHP בהקשר התפתחות האינטרנט. 9 00:00:23,890 --> 00:00:26,360 >> אנחנו, כבר יודעים, מ הווידאו שלנו ב- HTML, 10 00:00:26,360 --> 00:00:29,820 שאתרים בנויים מתוך סט של תגי HTML 11 00:00:29,820 --> 00:00:32,850 המגדירים סמנטי המבנה של דף אינטרנט. 12 00:00:32,850 --> 00:00:35,910 אבל אתרים ש נבנה ב- HTML הטהור 13 00:00:35,910 --> 00:00:39,510 סובל ממאוד, מגבלה רצינית מאוד. 14 00:00:39,510 --> 00:00:42,690 >> וכדי להמחיש מגבלה זו, הבה נבחן את הדברים הבאים. 15 00:00:42,690 --> 00:00:45,665 אז עכשיו אני רוצה לבנות דף אינטרנט כי, בכל פעם שביקוריו משתמש, 16 00:00:45,665 --> 00:00:49,760 זה נותן לי הנוכחי זמן בקיימברידג ', מסצ'וסטס., 17 00:00:49,760 --> 00:00:52,620 הצגתו לדקות האחרונות. 18 00:00:52,620 --> 00:00:57,910 אם אני עושה את זה עכשיו, אני יכול להגיד משהו כזה. 19 00:00:57,910 --> 00:01:01,330 זמן מקומי בCambridge-- כך שיש לי תגי HTML, תגי ראש, תגי כותרת, 20 00:01:01,330 --> 00:01:04,610 גוף tags-- הנוכחי זמן בקיימברידג 'הוא 14:08, 21 00:01:04,610 --> 00:01:06,690 להדפיס את זמן צבאי. 22 00:01:06,690 --> 00:01:11,390 >> מה קורה אם זה עכשיו 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 ובכן עד כה, עם HTML, יש לי ללכת ובלשנות אותו ל14:09. 24 00:01:16,470 --> 00:01:19,390 ואז ברגע אחד מאוחר יותר, אני צריך לשנות את זה שוב. 25 00:01:19,390 --> 00:01:22,132 ואז ברגע אחד מאוחר יותר, אני צריך לשנות את זה שוב. 26 00:01:22,132 --> 00:01:24,590 וכמו שאתה יכול לדמיין, זה כנראה העבודה הגרועה ביותר אי פעם. 27 00:01:24,590 --> 00:01:29,420 אתה מנהל האתר עבור דף אינטרנט, וכל דקה, 24 שעות ביממה, 28 00:01:29,420 --> 00:01:35,970 אתה צריך לעדכן את השעה הנוכחית על ידי ידני פתיחת time.html ושינוי 29 00:01:35,970 --> 00:01:41,750 רק קטע זה של קוד לומר שעה נוכחית בשעות ודקות. 30 00:01:41,750 --> 00:01:45,850 זה כנראה לא מאוד שימוש טוב של המשאבים שלנו, 31 00:01:45,850 --> 00:01:48,880 שני בני אדם וחישובית. 32 00:01:48,880 --> 00:01:51,297 >> אתרי אינטרנט שהם כולם HTML הם סטטי לגמרי. 33 00:01:51,297 --> 00:01:53,630 הדרך היחידה שאתה יכול לעדכן תוכן, כפי שרק ראו, 34 00:01:53,630 --> 00:01:56,339 הוא לפתוח מקור אלה באופן ידני קבצים, לערוך אותם, ולשמור אותם. 35 00:01:56,339 --> 00:01:58,088 ואז כאשר המשתמש מרענן את הדף, 36 00:01:58,088 --> 00:02:01,080 או מבקר בדף לראשון זמן, הם יקבלו את התוכן העדכני ביותר. 37 00:02:01,080 --> 00:02:03,970 אבל רק בגלל שיש לנו ערך אותה באופן ידני. 38 00:02:03,970 --> 00:02:07,980 >> אם נתחיל לערבב קצת PHP שם, הקוד שלנו יכול לקבל גמיש הרבה יותר. 39 00:02:07,980 --> 00:02:11,940 ואנחנו יכולים להיות דרך לדפים שלנו להיות דינמי, או לעדכן את עצמם, 40 00:02:11,940 --> 00:02:15,360 ללא צורך בעניינו מנהל אתר בדוגמא הקודמת 41 00:02:15,360 --> 00:02:16,662 להיות ידני עדכון דברים. 42 00:02:16,662 --> 00:02:17,870 הם יכולים לעשות את זה באופן אוטומטי. 43 00:02:17,870 --> 00:02:19,130 אנחנו לא צריכים להתערב. 44 00:02:19,130 --> 00:02:20,410 אנחנו יכולים לישון קצת. 45 00:02:20,410 --> 00:02:24,850 וזה כנראה דבר טוב אם אתה עושה הרבה תכנות אינטרנט. 46 00:02:24,850 --> 00:02:28,360 >> אז בCS50 IDE, אנחנו רצים שרת אינטרנט שנקרא Apache. 47 00:02:28,360 --> 00:02:35,250 זה מאוד נפוץ, מערכת שרת האינטרנט בקוד פתוח. 48 00:02:35,250 --> 00:02:37,320 במערכת זו יש יכולת לפרש 49 00:02:37,320 --> 00:02:41,260 PHP, שהולך להיות שימושי אם אתה רוצה לעשות כל תכנות PHP. 50 00:02:41,260 --> 00:02:45,230 >> ובIDE CS50, יש לנו פקודה כדי להפוך את זה מאוד קל לעשות, 51 00:02:45,230 --> 00:02:47,280 apache50 להתחיל. 52 00:02:47,280 --> 00:02:49,445 ולאחר מכן שנטוי נתיב, לחתוך ל, לקצץ 53 00:02:49,445 --> 00:02:53,350 dir, זה רק דרך נפוצה מאוד של המציין מה שציינת כאן 54 00:02:53,350 --> 00:02:56,510 היא דרך לבפרט ספרייה ש 55 00:02:56,510 --> 00:03:00,800 רוצה להיות השורש אתר, או דף השורש, 56 00:03:00,800 --> 00:03:05,430 או את התיקייה שבשרת האינטרנט שלך יתחיל לבחון את הקבצים ומשרתים 57 00:03:05,430 --> 00:03:07,850 אותם ללקוחות שמבקשים אותם. 58 00:03:07,850 --> 00:03:12,110 אז בואו נקפוץ לCS50 IDE, רק כדי להראות לך, באמת מהיר, איך זה עובד. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> אז הנה בIDE CS50, אני ב ספרייה בשם שבוע אפס תשע. 61 00:03:36,240 --> 00:03:38,890 ויש לי יש לי two-- להורג פקודת LS רק 62 00:03:38,890 --> 00:03:41,910 מעל להראות לך שיש לי שתי ספריות בכאן, PHP, 63 00:03:41,910 --> 00:03:46,410 אשר היא הקבוצה של קבצים שהייתי ב וידאו PHP תחביר, ולאחר מכן PHP-האינטרנט, 64 00:03:46,410 --> 00:03:49,380 אשר היא הקבוצה של קבצים שאני הייתי רוצה להשתמש בסרטון זה. 65 00:03:49,380 --> 00:03:53,480 >> ואני רוצה להתחיל מופע שרת האינטרנט 66 00:03:53,480 --> 00:03:59,089 עם תוכן תיקיית PHP-האינטרנט כקבצים עוברים שימשו עד. 67 00:03:59,089 --> 00:04:00,130 אז מה אני הולך לעשות? 68 00:04:00,130 --> 00:04:05,710 אני הולך להקליד apache50 חלל להתחיל, PHP החלל, אינטרנט מקף. 69 00:04:05,710 --> 00:04:08,100 זה הנתיב לספרייה מאיפה שאני היום. 70 00:04:08,100 --> 00:04:09,127 אז על Enter. 71 00:04:09,127 --> 00:04:10,960 זה הולך לעשות קצת חומר כאן. 72 00:04:10,960 --> 00:04:14,030 ואז זה הולך לומר, האפצ'י התחיל בהצלחה. 73 00:04:14,030 --> 00:04:20,689 האתר שלך זמין כעת at-- ו אז יש את כתובת האתר לאתר. 74 00:04:20,689 --> 00:04:21,730 אז מה אני הולך לעשות? 75 00:04:21,730 --> 00:04:26,234 אני הולך להעתיק במהירות זו. 76 00:04:26,234 --> 00:04:28,900 ואני הולך לפתוח up-- ו אני להקטין את התצוגה קצת כאן-- 77 00:04:28,900 --> 00:04:31,570 אני הולך לפתוח כרטיסייה חדשה בכרום. 78 00:04:31,570 --> 00:04:34,320 ואני הולך לבקר את כתובת האתר ש. 79 00:04:34,320 --> 00:04:35,299 >> אני הולך על Enter. 80 00:04:35,299 --> 00:04:36,090 זה הולך לטעון. 81 00:04:36,090 --> 00:04:37,510 ואני התרחקתי שוב. 82 00:04:37,510 --> 00:04:41,350 ואנחנו יכולים לראות כאן תוכן של מדריך אתרי PHP שלי. 83 00:04:41,350 --> 00:04:45,290 >> אז עכשיו מה בעצם קורה כאן הוא, המופע של CS50 IDE שלי 84 00:04:45,290 --> 00:04:49,620 משרת את הקבצים הללו ל כל מי שמבקש אותם. 85 00:04:49,620 --> 00:04:51,620 ובמשך הסרטון הזה, אנחנו נטפל ב 86 00:04:51,620 --> 00:04:55,400 תסתכל על חבורה של אלה קבצים שונים בהקשר. 87 00:04:55,400 --> 00:04:57,614 >> כדי לבדוק שהאפצ'י שלך השרת עובד, 88 00:04:57,614 --> 00:04:59,780 אשר בדרך כלל הולך להיות המקרה בCS50 IDE, 89 00:04:59,780 --> 00:05:02,696 אבל אם אתה עושה את זה באופן כללי יותר, ואתה מתחיל לבנות אינטרנט משלך 90 00:05:02,696 --> 00:05:04,990 שרתים, יש באמת סוג נפוץ של אנלוגי ל, 91 00:05:04,990 --> 00:05:08,500 "שלום עולם", שהיא בדרך כלל המשמש לפיתוח אינטרנט PHP. 92 00:05:08,500 --> 00:05:12,855 שבו הוא שיש לי קובץ בהיקף של רק code-- זה 93 00:05:12,855 --> 00:05:18,247 מפריד PHP משובץ מידע PHP, סוגריים, פסיק ביניהם. 94 00:05:18,247 --> 00:05:20,580 שהוא בעצם מיוחד פונקצית PHP שאומרת לך 95 00:05:20,580 --> 00:05:23,970 איזו גרסה של PHP אתה מפעיל. 96 00:05:23,970 --> 00:05:26,850 >> אז בCS50 IDE, יש לי קובץ שזמין רק 97 00:05:26,850 --> 00:05:28,680 כדי להראות לך מה זה היה נראה כמו. 98 00:05:28,680 --> 00:05:32,860 אז אני מסתכל על המדד שלי מלמשל PHP שלי. 99 00:05:32,860 --> 00:05:35,870 למשל האפצ'י שלי פועל התוכן של PHP-אינטרנט. 100 00:05:35,870 --> 00:05:39,290 ויש לי קובץ שנקרא כאן info.php. 101 00:05:39,290 --> 00:05:41,164 >> אני הולך ללחוץ עליו, להקטין את התצוגה. 102 00:05:41,164 --> 00:05:43,080 זה מה שאתה הולך לראות, פחות או יותר. 103 00:05:43,080 --> 00:05:45,729 זה רק אומר לי ש שרת האפצ'י שלי עובד. 104 00:05:45,729 --> 00:05:48,270 וזה, כנראה, גרסה של PHP שאני מפעיל. 105 00:05:48,270 --> 00:05:51,590 זה אנלוגי שלי ל" שלום עולם ". 106 00:05:51,590 --> 00:05:53,070 >> אז אני יודע שהדברים הם מבצעיים. 107 00:05:53,070 --> 00:05:54,150 אז אנחנו טובים ללכת. 108 00:05:54,150 --> 00:05:55,730 אנחנו יכולים להמשיך מכאן. 109 00:05:55,730 --> 00:05:57,790 >> אז בואו לבקר ש דוגמא זמן שהיינו 110 00:05:57,790 --> 00:06:01,950 מדבר על עם מנהל אתר עניינו שהיה לו כדי לעדכן את הדף כל הזמן. 111 00:06:01,950 --> 00:06:05,020 זה עשוי להיות פתרון לאיך הייתי ליישם דברים 112 00:06:05,020 --> 00:06:08,080 כך שמנהל האתר לא צריך לשמור על עדכון הזמן. 113 00:06:08,080 --> 00:06:10,270 זה היית רק סוג של יקרה באופן אוטומטי. 114 00:06:10,270 --> 00:06:13,710 >> למטה, HTML, זה די דומה, עם חריג אחד. 115 00:06:13,710 --> 00:06:16,720 אבל כאן יש לי כמה PHP בחלק העליון. 116 00:06:16,720 --> 00:06:19,940 יש לי, כנראה, בשם זה date_default_timezone_set פונקציה. 117 00:06:19,940 --> 00:06:22,106 >> ואנחנו לא מדברים על כל פונקציות אלה בCS50, 118 00:06:22,106 --> 00:06:24,670 כי PHP יש כנראה עשרות אלפים. 119 00:06:24,670 --> 00:06:27,540 זה יכול להיות קצת הגזמה, אבל זה לא יכול להיות. 120 00:06:27,540 --> 00:06:29,490 יש לו הרבה פונקציות מובנות ב. 121 00:06:29,490 --> 00:06:33,290 ואז זה כנראה פונקציה מגדיר אזור הזמן שלי כארה"ב / מזרח, 122 00:06:33,290 --> 00:06:36,320 אשר הוא אזור הזמן שאני כרגע מה שהופך את הסרטון הזה. 123 00:06:36,320 --> 00:06:38,430 >> אז אני עושה את שיחה ל פונקציה שנקראת, תאריך. 124 00:06:38,430 --> 00:06:43,850 וזה, כנראה, אני אחסון שלו משהו שנקרא, זמן. 125 00:06:43,850 --> 00:06:45,320 אז מה קורה כאן? 126 00:06:45,320 --> 00:06:48,040 >> ובכן, בעצם מה קורה הוא, אני עושה את שיחה 127 00:06:48,040 --> 00:06:51,650 לחלק השרת שבו הולך תגיד לי מה הזמן הוא ברגע זה. 128 00:06:51,650 --> 00:06:56,150 ואני ממיר אותו לפורמט שעות, דקות, שניות. 129 00:06:56,150 --> 00:07:00,540 והסיבה שזה H ההון הוא זה הוא הולך לתת לי זמן 24 שעות ביממה, לא 12 130 00:07:00,540 --> 00:07:02,362 זמן שעה, אשר יהיה באותיות קטנות h. 131 00:07:02,362 --> 00:07:04,570 ואני רק אחסון ש במשתנה בשם, זמן. 132 00:07:04,570 --> 00:07:07,028 כך שהשורה השנייה של PHP שם, הקריאה לפונקציה, 133 00:07:07,028 --> 00:07:09,037 תאריך, הוא פשוט מקבל כמה מחרוזת, שהוא 134 00:07:09,037 --> 00:07:12,120 הולך לתת לי את התאריך, ו זמן, וחבורה של מידע אחר. 135 00:07:12,120 --> 00:07:16,480 והטיעון הראשון שם, ש, רק לחילוץ החלק החשוב 136 00:07:16,480 --> 00:07:20,614 כי אכפת לי למשל זה, אשר היא השעה, דקה, שני ו. 137 00:07:20,614 --> 00:07:22,030 אז זה כל מה שקורה. 138 00:07:22,030 --> 00:07:23,562 אז אני לאחסן כי בזמן $ משתנה. 139 00:07:23,562 --> 00:07:25,270 ולמטה באז מאוד תחתון שם, אני 140 00:07:25,270 --> 00:07:28,980 יש לי קצרנות של להדפיס את השעה הנוכחית. 141 00:07:28,980 --> 00:07:32,050 אז רק אני הולך להדפיס מה הוא הזמן הנוכחי. 142 00:07:32,050 --> 00:07:37,220 >> אז בואו נסתכל על זה ב IDE CS50 ולראות איך אנחנו עכשיו 143 00:07:37,220 --> 00:07:40,002 חיסכון מנהל אתר שהרבה צרות. 144 00:07:40,002 --> 00:07:42,570 בסדר, אז הנה אני שוב חזרה בספריית השורש 145 00:07:42,570 --> 00:07:45,040 בערכאה האפצ'י שלי. 146 00:07:45,040 --> 00:07:51,585 ויש לי קובץ שנקרא כאן time.php. 147 00:07:51,585 --> 00:07:53,559 אני רק הולך ללחוץ על זה. 148 00:07:53,559 --> 00:07:55,850 ואני לגלול מעלה, כי אנחנו המוגדל בדי רחוקים. 149 00:07:55,850 --> 00:07:57,257 הזמן הנוכחי הוא 14:20:34. 150 00:07:57,257 --> 00:07:59,090 אז אני עושה את זה שעות, דקות ושניות. 151 00:07:59,090 --> 00:08:01,910 ואני יכול לרענן את דף ולקבל זמן חדש. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 אני הולך לרענן את הדף ומקבל זמן חדש, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> אז, אני באופן ברור לא לשנות שום דבר בעצמי. 155 00:08:10,490 --> 00:08:11,720 אני כאן אני לרענן את הדף. 156 00:08:11,720 --> 00:08:13,711 אז אני לא יכול לחזור לשם עריכתו. 157 00:08:13,711 --> 00:08:15,710 ואני מבטיח לך, אני לא יש כל בעלי ברית 158 00:08:15,710 --> 00:08:18,230 שעורכים את הקובץ בשם שלי בצד. 159 00:08:18,230 --> 00:08:21,260 >> אני רק משתמש שפונקציה PHP, זמן, על מנת ליצור את הזמן בשבילי 160 00:08:21,260 --> 00:08:22,340 באופן אוטומטי. 161 00:08:22,340 --> 00:08:24,800 כך שגם אם אני ישן, ושרת האינטרנט שלי פועל, 162 00:08:24,800 --> 00:08:28,884 הגולש שמבקר בדף זה הוא עדיין הולך לקבל בדיוק את השעה הנוכחית. 163 00:08:28,884 --> 00:08:29,800 אז זה די טוב. 164 00:08:29,800 --> 00:08:33,609 אני כבר עשיתי את האתר שלי דינמי יותר עם קוד PHP לא יותר מדי. 165 00:08:33,609 --> 00:08:36,650 זה היה רק ​​שתי שורות של קוד ולאחר מכן קצת הצהרת הדפסה. 166 00:08:36,650 --> 00:08:38,441 ויש לי כבר אתר הרבה יותר דינמי 167 00:08:38,441 --> 00:08:42,750 מזה דוגמא הראשונה שראינו בתחילת הסרטון. 168 00:08:42,750 --> 00:08:46,660 >> אז, זוכר מהווידאו בתחביר PHP כי כאשר מתורגמן PHP פועל 169 00:08:46,660 --> 00:08:50,000 התכנית שלנו, שהוא מתעלם הכל זה לא בתוך מפרידי PHP, 170 00:08:50,000 --> 00:08:51,500 יורק אותו החוצה. 171 00:08:51,500 --> 00:08:54,410 בדוגמא ש, מה הדבר כי זה היה לירוק היה HTML. 172 00:08:54,410 --> 00:08:58,080 וזה אומר שאני יכול עכשיו לפזר HTML ו- PHP יחד. 173 00:08:58,080 --> 00:09:01,920 בגלל המתורגמן רק יהיה להתעלם HTML וממש פלט אותו. 174 00:09:01,920 --> 00:09:04,140 וזה טוב, נכון? 175 00:09:04,140 --> 00:09:06,100 >> מפני שלכאורה, בסופו של היום, 176 00:09:06,100 --> 00:09:08,360 אני רוצה את האתר שלי ל יוקם ב- HTML. 177 00:09:08,360 --> 00:09:12,880 כך שכל דפדפן אינטרנט יכול לפרש זה, או להבין את ה- HTML בדף 178 00:09:12,880 --> 00:09:17,270 ולהבהיר את זה כדבר שאנחנו באמת יכול להבין כבני אדם. 179 00:09:17,270 --> 00:09:19,430 ואני רק יכול להשתמש PHP לחלקים של האתר שלי 180 00:09:19,430 --> 00:09:23,390 דורש דינמי, שמחייב אותי יש דברים שכל הזמן לעדכן. 181 00:09:23,390 --> 00:09:26,630 המידע סטטי יכול להישאר אותו הדבר. 182 00:09:26,630 --> 00:09:27,540 >> אוקיי, אז זה בסדר. 183 00:09:27,540 --> 00:09:28,540 אבל למה שאעשה זאת? 184 00:09:28,540 --> 00:09:30,400 למה אני מערבב HTML ו- PHP? 185 00:09:30,400 --> 00:09:33,850 אני יכול פשוט להדפיס את כל HTML, באמצעות פונקצית הדפסת PHP. 186 00:09:33,850 --> 00:09:35,870 למה אני לא עושה את זה? 187 00:09:35,870 --> 00:09:37,100 תחשוב על זה לרגע. 188 00:09:37,100 --> 00:09:41,220 >> למה, כשאני יכול פשוט להדפיס out-- אני יכול להיות קווים של PHP שפשוט אומרים, 189 00:09:41,220 --> 00:09:43,841 תג הדפסה HTML, ראש ההדפסה. 190 00:09:43,841 --> 00:09:44,840 למה אני לא עושה את זה? 191 00:09:44,840 --> 00:09:48,230 למה אני ערבוב PHP ו- HTML? 192 00:09:48,230 --> 00:09:50,080 >> ובכן, אם אתה חושב על זה לרגע. 193 00:09:50,080 --> 00:09:52,824 PHP, יש המתורגמן לפרש את מה שהוא רואה. 194 00:09:52,824 --> 00:09:54,990 וכך זה הולך לי לבצע שורת קוד. 195 00:09:54,990 --> 00:09:56,450 להדפיס את ה- HTML. 196 00:09:56,450 --> 00:09:57,700 להדפיס את התג פתוח ראש. 197 00:09:57,700 --> 00:09:58,969 להדפיס את תג כותרת פתוחה. 198 00:09:58,969 --> 00:10:00,760 זה הולך להיות ל לבצע ולפרש 199 00:10:00,760 --> 00:10:02,671 שכל שלב של הדרך. 200 00:10:02,671 --> 00:10:04,670 למה לא פשוט לתת ל מתורגמן רק לחפות על 201 00:10:04,670 --> 00:10:06,878 דבריו לא מבינים ולעשות את זה באופן אוטומטי? 202 00:10:06,878 --> 00:10:11,365 זה הולך לחסוך לי הרבה זמן לערבב HTML שלי ושלי ביחד PHP. 203 00:10:11,365 --> 00:10:16,220 >> ואז זה למה שאנחנו עושים לא רק צריך מפריד PHP פתוח 204 00:10:16,220 --> 00:10:19,450 ואז פשוט להדפיס את כל תוכן של הדף שלנו כמו PHP אחד ענק 205 00:10:19,450 --> 00:10:24,330 קורא לפונקציה, ההדפסה, ולאחר מכן מפריד קרוב PHP ואנחנו נעשו. 206 00:10:24,330 --> 00:10:27,620 אז בגלל זה אנחנו מערבבים אותם יחד. 207 00:10:27,620 --> 00:10:32,345 >> עד כה, לא ראינו יותר מדי הבדל מתחביר PHP כללי. 208 00:10:32,345 --> 00:10:33,720 זה היה די פשוט. 209 00:10:33,720 --> 00:10:35,553 כבר ראינו סימן שאלה, שווה. 210 00:10:35,553 --> 00:10:39,012 ראינו כמה שיחות פונקציה חדשות, אבל שום דבר לא באמת מפואר קורה. 211 00:10:39,012 --> 00:10:40,720 בואו אולי לעשות דברים קצת להשתכלל. 212 00:10:40,720 --> 00:10:44,360 מה אם אנחנו רוצים להעביר את המידע בין קבצי PHP השונים, 213 00:10:44,360 --> 00:10:47,280 כך יכול שאולי המשתמש שלח את הפרטים אליי. 214 00:10:47,280 --> 00:10:50,230 ואז אני יכול לעשות משהו עם זה בדף אחר. 215 00:10:50,230 --> 00:10:52,990 >> אז PHP יש תמיכה ב משהו שנקרא Super גלובלי 216 00:10:52,990 --> 00:10:55,297 משתנים, שנשמעים די מדהים. 217 00:10:55,297 --> 00:10:57,130 הם באמת רק מערכים אסוציאטיביים ענק 218 00:10:57,130 --> 00:10:59,900 שתעזרו ליישם את זה הפונקציונליות של הפטירה 219 00:10:59,900 --> 00:11:05,010 מידע בין קבצי PHP ש הם קיימים בשרת האינטרנט שלנו. 220 00:11:05,010 --> 00:11:07,760 >> הראשון של אלה סופר globals נקרא _GET $. 221 00:11:07,760 --> 00:11:10,140 וזה כנראה פשוט ביותר להבנה. 222 00:11:10,140 --> 00:11:12,430 מה קורה עם _GET $? 223 00:11:12,430 --> 00:11:16,240 ובכן, בעצם, המשתמש הוא הולך להקליד מידע נוסף 224 00:11:16,240 --> 00:11:18,390 בסוף של כתובות האתרים שלנו. 225 00:11:18,390 --> 00:11:21,460 וכל מה שהם מקלידים, בהנחה זה מעוצב בצורה מסוימת 226 00:11:21,460 --> 00:11:25,830 נקרא מחרוזת שאילתא, שהוא רק קבוצה של זוגות ערך מפתח מופרד 227 00:11:25,830 --> 00:11:27,810 בסימן חיבור. 228 00:11:27,810 --> 00:11:32,362 אלה זוגות ערך מפתח יהיו מאוחסן במערך אסוציאטיבי _GET $. 229 00:11:32,362 --> 00:11:34,070 ומהווידאו שלנו ב תחביר PHP, אנחנו יודעים 230 00:11:34,070 --> 00:11:40,080 איך לעבוד עם מערכים אסוציאטיביים כבר. 231 00:11:40,080 --> 00:11:44,090 אז הנה דוגמא ל כמה PHP, שבו אולי אני 232 00:11:44,090 --> 00:11:50,180 חילוץ כל זוגות ערך המפתח שהמשתמש סיפק את כתובת האתר. 233 00:11:50,180 --> 00:11:51,970 אז יש לי מפריד PHP הפתוח שלי. 234 00:11:51,970 --> 00:11:53,410 יש לי לולאת foreach. 235 00:11:53,410 --> 00:11:57,410 אני iterating פני הסופר מערך גלובלי נקרא _GET $. 236 00:11:57,410 --> 00:12:00,160 >> ואני רוצה להיות מסוגל להפנות לשניהם את המפתח והערך. 237 00:12:00,160 --> 00:12:02,410 ואני רק מדפיס אותם את, כל אחד בככל הנראה 238 00:12:02,410 --> 00:12:03,780 התג שלו פסק כאן. 239 00:12:03,780 --> 00:12:07,620 אני מדפיס כמה HTML וביון הערכים 240 00:12:07,620 --> 00:12:12,900 של מפתח וערך לאמירה ש. 241 00:12:12,900 --> 00:12:16,980 >> אז בואו נסתכל על איך זה היה באמת עובד על IDE שלנו. 242 00:12:16,980 --> 00:12:18,980 ואולי זה יעזור לי להמחיש קצת 243 00:12:18,980 --> 00:12:21,880 ממה שמקבל הוא בעצם עושה. 244 00:12:21,880 --> 00:12:23,610 אז אני שוב כאן בשורש האינטרנט שלי. 245 00:12:23,610 --> 00:12:25,318 ואני להתמקד ב קצת כדי להראות לך 246 00:12:25,318 --> 00:12:28,620 שיש לי קובץ שנקרא, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> אז בואו לחצו על get1.php. 248 00:12:31,830 --> 00:12:36,600 ואני לא רואה שום תוכן. 249 00:12:36,600 --> 00:12:38,390 זה מוזר, נכון? 250 00:12:38,390 --> 00:12:39,740 ובכן, לא ממש ממש. 251 00:12:39,740 --> 00:12:42,030 כי אני לא לספק כל דבר ב- URL. 252 00:12:42,030 --> 00:12:46,270 אני הולך get1.php, אבל אני לא לספק כל זוגות ערך מפתח 253 00:12:46,270 --> 00:12:47,450 כחלק ממחרוזת השאילתה שלי. 254 00:12:47,450 --> 00:12:50,510 אז בואו להוסיף מחרוזת שאילתא ולראות מה קובץ זה יכול לעשות. 255 00:12:50,510 --> 00:12:53,040 >> כדי להתחיל מחרוזת שאילתאך פשוט להקליד סימן שאלה. 256 00:12:53,040 --> 00:13:00,820 אז אולי אני אגיד שם = דאג & שנה = 2015. 257 00:13:00,820 --> 00:13:02,914 ואז אני על Enter. 258 00:13:02,914 --> 00:13:04,080 עכשיו שם לב מה קורה. 259 00:13:04,080 --> 00:13:05,480 אני עדיין בget1.php. 260 00:13:05,480 --> 00:13:08,445 אבל עכשיו אני כבר סיפקנו זוגות ערך מפתח, ואני 261 00:13:08,445 --> 00:13:14,940 להדפיס אותם בכוחות עצמם שם paragraph--, השנה Doug--, 2015. 262 00:13:14,940 --> 00:13:17,970 זה בדיוק הקוד שרק ראיתי בשקופית לפני רגע. 263 00:13:17,970 --> 00:13:22,290 >> ואם אני רוצה אולי להוסיף עוד זוג מפתחות ערך, וclass = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 עכשיו יש לי עוד ערך מפתח זוג שהוא הדפיס 266 00:13:27,580 --> 00:13:30,025 כאשר אני מחדש את כתובת האתר שוב. 267 00:13:30,025 --> 00:13:31,900 עכשיו אולי זה לא מעוצב מאוד גם. 268 00:13:31,900 --> 00:13:33,660 אז יש לי גרסה אחרת של get.php. 269 00:13:33,660 --> 00:13:36,350 זה get2.php. 270 00:13:36,350 --> 00:13:39,070 >> ההבדל בזה אחד הוא שיש לי קובץ CSS, 271 00:13:39,070 --> 00:13:41,690 וזה פורמטי דברים קצת יותר יפה לי. 272 00:13:41,690 --> 00:13:43,940 זה אולי לא הכי CSS היפה בעולם. 273 00:13:43,940 --> 00:13:45,650 אבל זה רק עוד דרך לעשות את זה. 274 00:13:45,650 --> 00:13:52,840 אז עדיין אני יכול לקבל גישה למשתנים שלי באמצעות _GET $. 275 00:13:52,840 --> 00:13:56,610 ובמקרה הזה, אני פשוט סוג של מה שהופך את CSS קצת יותר מפואר. 276 00:13:56,610 --> 00:13:58,360 ואם אנחנו לקפוץ ל IDE שלי לשנייה, 277 00:13:58,360 --> 00:14:06,870 אני אראה לך באינטרנט PHP שלי הספרייה כאן, get2.php. 278 00:14:06,870 --> 00:14:10,010 אנחנו תפתחו אותו, כמה HTML כאן. 279 00:14:10,010 --> 00:14:13,220 כנראה שאני מקשר שב קובץ CSS אני מדבר. 280 00:14:13,220 --> 00:14:14,570 אני פותח תג שולחן. 281 00:14:14,570 --> 00:14:15,970 ואז הנה foreach הלולאה שלי. 282 00:14:15,970 --> 00:14:18,450 >> הנה כי, מה ש הראה בשקופית לפני. 283 00:14:18,450 --> 00:14:21,007 ההבדל היחיד הוא ש יש מפתח זה וCSS הערך 284 00:14:21,007 --> 00:14:22,340 סטיילינג שאני פונה אליו. 285 00:14:22,340 --> 00:14:25,622 אבל זה כל מה שאני עושה, הוא אני iterating פני _GET $ כדי לקבל את כל 286 00:14:25,622 --> 00:14:26,580 של זוגות ערך המפתח. 287 00:14:26,580 --> 00:14:28,890 >> ואני מדפיס אותם כשולחן. 288 00:14:28,890 --> 00:14:33,230 וזה, כנראה, אני עיצוב המקשים בדרך זו, עם = "מפתח" בכיתה TD <. 289 00:14:33,230 --> 00:14:40,057 אז כנראה שחל על חלק בורר מעמד בGET.CSS קובץ CSS שלי. 290 00:14:40,057 --> 00:14:42,890 וזה, כנראה, אני מדפיס את הערכים שלי בדרך שונה לחלוטין. 291 00:14:42,890 --> 00:14:45,530 וזה די הרבה מה שראינו כאן, שבו 292 00:14:45,530 --> 00:14:47,710 הערכים שלנו הודפסו עם רקע כחול, 293 00:14:47,710 --> 00:14:49,969 והמפתחות שלנו הודפסו עם רקע צהוב. 294 00:14:49,969 --> 00:14:52,010 אז ככה אני מקבל אלה סגנונות שונים. 295 00:14:52,010 --> 00:14:54,054 כי אני משתמש מחלקות CSS שונות. 296 00:14:54,054 --> 00:14:55,470 אבל זה פחות או יותר אותו לGET. 297 00:14:55,470 --> 00:14:58,380 כמו שאני פשוט להוציא מידע. 298 00:14:58,380 --> 00:15:01,000 ובמקרה הזה, אני פשוט הדפסתו על גבי המסך. 299 00:15:01,000 --> 00:15:04,310 אני מקבל את זה מאת כתובת האתר, וזה מה שעושה לנו GET. 300 00:15:04,310 --> 00:15:06,470 >> האם אתה רואה אפשרי בעיה כאן אף? 301 00:15:06,470 --> 00:15:11,720 למה שאנחנו אולי לא רוצה להשתמש _GET $? 302 00:15:11,720 --> 00:15:15,440 מה אם, אולי, אני עושה שאילתא זו? 303 00:15:15,440 --> 00:15:18,000 get3.php --יש, שבו אני אין לי על IDE. 304 00:15:18,000 --> 00:15:19,640 זה פשוט קובץ היפותטי. 305 00:15:19,640 --> 00:15:22,187 אבל שם לב שככל הנראה כאן עובר את הסיסמה שלי ב. 306 00:15:22,187 --> 00:15:23,770 ואולי את הסיסמה שלי היא מביכה. 307 00:15:23,770 --> 00:15:28,070 או שאולי אני לא רוצה שאנשים יודע מה היא הסיסמה שלי, נכון. 308 00:15:28,070 --> 00:15:33,140 >> אם אני מעביר את זה though-- אם אני משתמש ב שיטת _GET $, מה שקורה הוא, 309 00:15:33,140 --> 00:15:34,970 זה הולך להיות בכתובת האתר. 310 00:15:34,970 --> 00:15:39,890 אז אולי כמה משתמשים זדוניים תוכל לראות מה אני עושה. 311 00:15:39,890 --> 00:15:42,040 אני יכול להיות עובר אותם מידע רגיש. 312 00:15:42,040 --> 00:15:43,310 או אולי זה אפילו לא משתמש זדוני. 313 00:15:43,310 --> 00:15:45,790 אולי זה רק חבר שלך ש עומד על כתף שלך. 314 00:15:45,790 --> 00:15:47,650 ועכשיו הם יודעים את הסיסמה לחשבון שלכם בפייסבוק. 315 00:15:47,650 --> 00:15:49,483 >> ואולי הם לא הייתם לעשות משהו עם זה. 316 00:15:49,483 --> 00:15:53,749 אבל אם הסיסמה שלך היו הוגש באמצעות _GET $ לפייסבוק, 317 00:15:53,749 --> 00:15:55,290 עכשיו הם יודעים את הסיסמה שלכם בפייסבוק. 318 00:15:55,290 --> 00:15:59,000 כי זה ממש שם ב- URL מתי שעשיתם את הגשת מידע. 319 00:15:59,000 --> 00:16:01,887 >> וכך אולי זה לא הכי טוב דרך להעביר מידע רגיש. 320 00:16:01,887 --> 00:16:04,470 זוהי דרך טובה להעביר מידע כי אנחנו לא במיוחד 321 00:16:04,470 --> 00:16:05,886 אכפת לי כרגיש מדי. 322 00:16:05,886 --> 00:16:09,347 בגלל מקבל הוא די מהר, ביחס לGLOBALS הסופר האחר 323 00:16:09,347 --> 00:16:10,430 אנחנו הולכים לדבר עליו. 324 00:16:10,430 --> 00:16:13,330 אבל אולי לא הכלי הטוב ביותר למידע רגיש. 325 00:16:13,330 --> 00:16:15,990 >> בשביל זה אנחנו אולי נרצה להשתמש במשהו שנקרא _POST $, 326 00:16:15,990 --> 00:16:18,560 וזה עוד משתנה סופר גלובלי. 327 00:16:18,560 --> 00:16:20,750 זה עוד מערך אסוציאטיבי. 328 00:16:20,750 --> 00:16:23,240 כך זה עובד פחות או יותר בדיוק כמו GET. 329 00:16:23,240 --> 00:16:26,850 מלבד, במקום לחילוץ מידע מאת כתובת האתר, 330 00:16:26,850 --> 00:16:29,870 היא עושה משהו דרך כותרות HTTP. 331 00:16:29,870 --> 00:16:32,080 אז זוכר משלנו וידאו על HTTP, דיברנו 332 00:16:32,080 --> 00:16:34,850 על איך דפדפנים, שרתים, ולקוחות מתקשרים. 333 00:16:34,850 --> 00:16:38,070 ומידע מועבר בחזרה ושוב בכותרות HTTP. 334 00:16:38,070 --> 00:16:43,330 >> עם _POST $, מידע הוא בדרך כלל נשלח דרך כותרות HTTP אלה. 335 00:16:43,330 --> 00:16:49,770 ואנחנו בדרך כלל רואים _POST $ ב בהקשר של הגשת טפסים ב- HTML. 336 00:16:49,770 --> 00:16:52,390 אתה עדיין יכול להשתמש בטפסי HTML להגיש דברים כדי לקבל. 337 00:16:52,390 --> 00:16:56,120 אבל הם משמשים בדרך כלל בהקשר של POST. 338 00:16:56,120 --> 00:17:00,280 >> אז הנה דוגמא של טופס HTML. 339 00:17:00,280 --> 00:17:06,750 עכשיו שראינו אלה לפני, אבל יש לנו לא ראה את החלק, פעולה = "post.php" זו. 340 00:17:06,750 --> 00:17:10,756 לכן, כאשר אנו מדברים על צורות ב הקשר של HTML, היה לי כפתור Submit. 341 00:17:10,756 --> 00:17:13,630 ואם אתה זוכר, הייתי לחץ על Submit ולאחר מכן את הדף רק רענון, 342 00:17:13,630 --> 00:17:14,660 לא עשיתי שום דבר. 343 00:17:14,660 --> 00:17:18,250 >> במקרה זה, אני הגשה כל מה שאני מקליד בטופס זה, 344 00:17:18,250 --> 00:17:20,750 לקובץ PHP בשם post.php. 345 00:17:20,750 --> 00:17:25,810 וזה, כנראה, כמו שאני עושה את זה בצורה זו היא באמצעות שיטת POST. 346 00:17:25,810 --> 00:17:29,040 אז כל פיסת המידע שאני מקליד לתוך טופס זה 347 00:17:29,040 --> 00:17:31,470 יוגש דרך כותרות HTTP. 348 00:17:31,470 --> 00:17:36,440 >> זה יהיה נגיש בpost.php, כי זה הפעולה של טופסי. 349 00:17:36,440 --> 00:17:39,811 זה יהיה נגיש על ידי הולך _POST $. 350 00:17:39,811 --> 00:17:42,310 וככל הנראה, שאני יכול בדרך לקבל בכל רכיב בודד 351 00:17:42,310 --> 00:17:44,765 עם שמערך אסוציאטיבי הוא עם תכונה זו, 352 00:17:44,765 --> 00:17:48,130 התכונה שם תגי הקלט שלנו. 353 00:17:48,130 --> 00:17:53,540 >> אז כנראה שאני יכול לומר _POST $ מרובעים סוגריים שם כדי לקבל מה שהמשתמש 354 00:17:53,540 --> 00:17:55,440 הקליד בשדה הראשון. 355 00:17:55,440 --> 00:18:01,030 ו_POST $ סיסמא, של PW ולא, כדי לקבל בכל מה שמשתמש הקליד 356 00:18:01,030 --> 00:18:03,650 בתחום השני. 357 00:18:03,650 --> 00:18:06,414 >> אז בואו נסתכל על זה בIDE CS50. 358 00:18:06,414 --> 00:18:08,330 אז הנה אנחנו, ואני יהיה להתקרב לשנייה. 359 00:18:08,330 --> 00:18:12,380 ויש לנו קובץ בשם post.html. 360 00:18:12,380 --> 00:18:13,690 אני לוחץ על post.html. 361 00:18:13,690 --> 00:18:16,300 בחלקו העליון כאן יש לי אינטרנט צורה פשוטה מאוד. 362 00:18:16,300 --> 00:18:18,750 זה הטופס פשוט שראינו בשקופית לפני שנייה. 363 00:18:18,750 --> 00:18:25,610 >> אני יכול להקליד, דאג, ושאני יכול הקלד את הסיסמה שלי, שכולנו 364 00:18:25,610 --> 00:18:27,340 יודע הוא squadgoals. 365 00:18:27,340 --> 00:18:30,100 ואני פגע 'שולח'. 366 00:18:30,100 --> 00:18:32,290 וככל הנראה, ש מגיש לpost.php. 367 00:18:32,290 --> 00:18:33,810 ואני כנראה אני מדפיס את זה. 368 00:18:33,810 --> 00:18:36,490 אז אני נפטר מכל הביטחון שPOST נותן לי רק על ידי הדפסה החוצה 369 00:18:36,490 --> 00:18:37,720 שם המשתמש וסיסמא. 370 00:18:37,720 --> 00:18:38,960 >> שמו של המשתמש הוא דאג. 371 00:18:38,960 --> 00:18:40,810 הסיסמה של המשתמש היא squadgoals. 372 00:18:40,810 --> 00:18:42,480 איך אני עושה את זה? 373 00:18:42,480 --> 00:18:44,800 ובכן, לקפוץ לIDE שוב לרגע. 374 00:18:44,800 --> 00:18:51,340 אנו לגלול למטה כדי לקחת תסתכל על post.php, שהיה 375 00:18:51,340 --> 00:18:54,040 הפעולה שנהגתי להגיש כאן. 376 00:18:54,040 --> 00:18:55,739 זה היה הפעולה של טופס HTML שלי. 377 00:18:55,739 --> 00:18:56,780 וזה כל מה שאני עושה. 378 00:18:56,780 --> 00:19:01,370 שמו של המשתמש הוא, ואני הדפסה את התוכן של _POST $ "שם". 379 00:19:01,370 --> 00:19:04,660 ולאחר מכן את הסיסמה של המשתמש הוא _POST $ "סיסמא". 380 00:19:04,660 --> 00:19:08,920 אז נתן לי מידע ש על ידי הגשת טופס HTML. 381 00:19:08,920 --> 00:19:13,790 ועכשיו אני יכול לחלץ אותו באמצעות _POST $ בגלל השיטה שמשמש להעברה 382 00:19:13,790 --> 00:19:17,470 נתוני טופס שהיה בשיטת POST. 383 00:19:17,470 --> 00:19:20,640 >> עכשיו זה כנראה לא כך great-- אני הולך 384 00:19:20,640 --> 00:19:24,510 לחזור לשנייה לכאן-- הסט שלנו 385 00:19:24,510 --> 00:19:30,120 זה כנראה לא כל כך גדול אם אני הגשת מידע עם POST, 386 00:19:30,120 --> 00:19:32,532 אשר הוא לכאורה בטוח יותר. 387 00:19:32,532 --> 00:19:34,740 זה כנראה לא כל כך גדול אם אני עושה את זה ולאחר מכן 388 00:19:34,740 --> 00:19:36,470 להדפיס את הסיסמה של המשתמש. 389 00:19:36,470 --> 00:19:38,540 זה אמור להיות מאובטח יותר. 390 00:19:38,540 --> 00:19:40,870 >> בסדר, אבל זה לא בטוח לגמרי. 391 00:19:40,870 --> 00:19:42,910 וכך, בזה קצת snippet כאן אני רוצה 392 00:19:42,910 --> 00:19:46,410 רק כדי למשוך את תשומת הלב שלך לכמה חששות אבטחת מידע, רק משהו 393 00:19:46,410 --> 00:19:51,200 לחשוב על כפי שאתה עובד או באמצעות האינטרנט. 394 00:19:51,200 --> 00:19:53,890 זה פשוט משהו לשקול. 395 00:19:53,890 --> 00:19:57,980 >> אמרתי לך שמידע הוא הוגש באמצעות כותרות HTTP 396 00:19:57,980 --> 00:19:59,724 כאשר אתה משתמש בשיטת POST. 397 00:19:59,724 --> 00:20:01,390 מה שאומר שהם לא מאובטחים לחלוטין. 398 00:20:01,390 --> 00:20:05,610 הם קשים יותר למצוא מאשר תוך שימוש בשיטת GET, שבו 399 00:20:05,610 --> 00:20:06,882 זה בדיוק את כתובת האתר. 400 00:20:06,882 --> 00:20:08,340 אבל יש עדיין דרך למצוא אותו. 401 00:20:08,340 --> 00:20:10,423 ואני רק רוצה להראות שלך את זה, כך שאתה אולי 402 00:20:10,423 --> 00:20:12,940 להתחיל לחשוב על זה כפי שאתה עובד, או באמצעות 403 00:20:12,940 --> 00:20:14,560 אתרים והגשה סיסמאות, ואולי באמצעות 404 00:20:14,560 --> 00:20:16,518 באותה הסיסמה ב הרבה מקומות שונים. 405 00:20:16,518 --> 00:20:22,060 יודע שזה עדיין בעצם די קל לגלות את הסיסמה של מישהו. 406 00:20:22,060 --> 00:20:25,190 >> ואז הנה, אני הולך ללכת לpost2.html. 407 00:20:25,190 --> 00:20:28,850 וההבדל עם post2.html וpost2.php הוא די עדין. 408 00:20:28,850 --> 00:20:31,420 ההבדל הוא רק שאני לא להדפיס את 409 00:20:31,420 --> 00:20:33,520 הסיסמה כשאני לשלוח את הטופס. 410 00:20:33,520 --> 00:20:35,260 >> אז אני הולך להקליד, דאג. 411 00:20:35,260 --> 00:20:38,365 ואני הולך להקליד ב, squadgoals, אפילו 412 00:20:38,365 --> 00:20:40,770 למרות שאנחנו יודעים שזה הסיסמה. 413 00:20:40,770 --> 00:20:42,540 לפני שאגיש את טופס אם כי, אני הולך 414 00:20:42,540 --> 00:20:45,864 כדי לפתוח את כלי פיתוח, רק כדי אראה לך מה הולך לקרות כאן. 415 00:20:45,864 --> 00:20:47,530 אז בכרום, אני רק הולך להכות F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 וזה הולך להיפתח כלי פיתוח בצד ימין. 418 00:20:57,230 --> 00:20:59,480 אני לא הגשתי את הטופס עדיין. 419 00:20:59,480 --> 00:21:02,680 עכשיו אני הולך להכות שלח טופסי. 420 00:21:02,680 --> 00:21:05,370 וככל הנראה, אני עשיתי קורא ל, או שעשיתי בקשה 421 00:21:05,370 --> 00:21:07,620 לpost2.php, מה שהופך את התחושה. 422 00:21:07,620 --> 00:21:10,040 אני הולך ללחוץ על זה. 423 00:21:10,040 --> 00:21:13,802 >> אז כאן, אני הולך ללחוץ על כותרות. 424 00:21:13,802 --> 00:21:15,410 יש הרבה דברים קורה כאן. 425 00:21:15,410 --> 00:21:21,310 אבל אם אני לגלול למטה כדי מאוד תחתון, הודעה תקין יניהם-- לוח השנה שלי 426 00:21:21,310 --> 00:21:25,180 חסם אותו לימין הדבר-- שם בפינה תחתונה מאוד, 427 00:21:25,180 --> 00:21:27,386 name-- דאג, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 אז למרות שאני משתמש POST שיטה, שהוא בטוח יותר, 429 00:21:30,010 --> 00:21:33,570 רק להיות מודע לכך שכאשר אתה עושה זאת, אתה עדיין העברת מידע 430 00:21:33,570 --> 00:21:34,430 דרך HTTP. 431 00:21:34,430 --> 00:21:36,770 והוא עדיין יכול להיות נמצא על ידי יריב. 432 00:21:36,770 --> 00:21:39,270 זה פשוט משהו שאנחנו הולכים כדי להתמודד עם באמת. 433 00:21:39,270 --> 00:21:41,980 אולי יש כמה דרכים להצפנה שלנו סיסמאות לפני שאנחנו שולחים אותם, 434 00:21:41,980 --> 00:21:44,410 שיהיה טוב יותר, שאני לא עושה כאן. 435 00:21:44,410 --> 00:21:47,010 >> אבל רק להיות מודע לכך שPOST יש שיטה מגבלות מדי. 436 00:21:47,010 --> 00:21:49,801 זה שיפור לעומת GET ב מונחים של להיות גלוי באופן מיידי. 437 00:21:49,801 --> 00:21:51,280 אבל זה לא תיקון מלא. 438 00:21:51,280 --> 00:21:53,280 אז הנה דוגמא ל מהיר בתרגיל הבית 439 00:21:53,280 --> 00:21:56,350 שאתה יכול להשתמש בו כדי לקבל קצת לתרגל עבודה עם PHP. 440 00:21:56,350 --> 00:21:58,300 צור הזוג של דפי האינטרנט הבאים. 441 00:21:58,300 --> 00:22:00,960 הראשון פשוט צריך להיות מאוד פשוט טופס עם שדה אחד ושלח 442 00:22:00,960 --> 00:22:01,460 לַחְצָן. 443 00:22:01,460 --> 00:22:04,070 אז מאוד דומה למה ש רק עשיתי עם post.html. 444 00:22:04,070 --> 00:22:07,450 >> ואז השני קובץ שאתה צריך ליצור 445 00:22:07,450 --> 00:22:11,687 מקורו של קובץ, קובץ PHP, ש מצפה קלט, באמצעות POST, 446 00:22:11,687 --> 00:22:14,770 ועל סמך מה משתמש הקליד, ש אתה יכול להניח יהיה מספר שלם. 447 00:22:14,770 --> 00:22:16,160 אתה לא צריך לעשות שום בדיקת שגיאות או משהו דומה. 448 00:22:16,160 --> 00:22:18,284 אתה יכול להניח את המשתמש יהיה להקליד ערך שלם, 449 00:22:18,284 --> 00:22:22,230 או משהו כזה מתפרש על ידי PHP כמספר שלם, לצורה ש. 450 00:22:22,230 --> 00:22:24,790 אתה פשוט רוצה ליצור n על ידי לוח כפל n. 451 00:22:24,790 --> 00:22:28,480 >> אז אם המשתמש שולח 10, אנחנו רוצים יש שולחן 10 על ידי 10 כפל. 452 00:22:28,480 --> 00:22:31,832 אם המשתמש שולח 12, אנחנו רוצים שולחן 12 על ידי 12 כפל. 453 00:22:31,832 --> 00:22:33,790 רק כדי שתוכל לראות מה אנחנו נוסעים בכאן, 454 00:22:33,790 --> 00:22:36,040 אנחנו נסתכל קובץ זה בIDE שלי. 455 00:22:36,040 --> 00:22:38,080 >> אז הנה בIDE, יש לי mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 אני לוחץ עליו. 458 00:22:43,100 --> 00:22:46,020 כל מה שאני רוצה לעשות הוא להגיש ערך. 459 00:22:46,020 --> 00:22:47,590 סוג ב -10, פגע 'שלח'. 460 00:22:47,590 --> 00:22:51,190 וככל הנראה, mult_table.php, ש אנו יכולים לראות בחלק העליון יש את כתובת האתר, 461 00:22:51,190 --> 00:22:53,970 אני יוצר 10 על ידי 10 לוח כפל. 462 00:22:53,970 --> 00:22:59,365 >> אם אני מקליד 15 ופגעתי שלח, עכשיו אני יש שולחן 15 על ידי 15 כפל. 463 00:22:59,365 --> 00:23:02,240 אני, כמובן, לא הולך להראות אתה התוכן של mult_table.php, 464 00:23:02,240 --> 00:23:04,781 בגלל שייקח את הכיף מתוך זה בתרגיל הבית. 465 00:23:04,781 --> 00:23:07,480 אבל זה דרך מצוינת לקבל קצת לתרגל עבודה עם לולאות PHP 466 00:23:07,480 --> 00:23:10,889 וPOST, פשוט מאוד, אני מקווה ש דוגמא מתח בחינם, רק 467 00:23:10,889 --> 00:23:12,180 לעשות קצת תרגול. 468 00:23:12,180 --> 00:23:16,540 ויש לי קצת CSS קורה כאן כדי להפוך את השולחן הבודד שלי 469 00:23:16,540 --> 00:23:19,710 תאים להסתלק פשוט סוג של קצת ונראים קצת יותר 470 00:23:19,710 --> 00:23:22,205 כמו לוח כפל, בניגוד רק לטקסט פשוט 471 00:23:22,205 --> 00:23:23,261 סוג של יושב שם. 472 00:23:23,261 --> 00:23:26,260 סופר הגלובלי האחרון נדבר על בוידאו זה נקרא משהו 473 00:23:26,260 --> 00:23:27,597 _SESSION $. 474 00:23:27,597 --> 00:23:29,930 ואולי זה בעצם הדוגמא הטובה ביותר למשהו 475 00:23:29,930 --> 00:23:31,700 היינו רואים גלובלי. 476 00:23:31,700 --> 00:23:33,189 זה מערך אחר. 477 00:23:33,189 --> 00:23:34,480 זה עוד מערך אסוציאטיבי. 478 00:23:34,480 --> 00:23:40,580 אבל זה נגיש דרך כל קובץ PHP שקיים במערכת שלנו. 479 00:23:40,580 --> 00:23:43,410 >> אנחנו לא צריכים להגיש מידע בדף אחד בכל פעם 480 00:23:43,410 --> 00:23:45,400 כמו שאנחנו עושים עם GET ועם POST. 481 00:23:45,400 --> 00:23:46,380 זה תמיד שם. 482 00:23:46,380 --> 00:23:50,040 ואז זה נהדר עבור דף שבו אתה מחובר, למשל, 483 00:23:50,040 --> 00:23:53,120 ואתה רוצה את פרטי ההתחברות שלך להתמיד מדף לדף לדף. 484 00:23:53,120 --> 00:23:58,180 >> אתה יכול פשוט להתחיל פגישה ולאחר מכן להשתמש _SESSION $ כדי להציל את הדברים כמו 485 00:23:58,180 --> 00:24:02,320 שמו של המשתמש, או למשתמש של מידע מזהה, וכן הלאה. 486 00:24:02,320 --> 00:24:07,600 והמידע שיישאר ב _SESSION $ עד שאתה להרוס את הפגישה 487 00:24:07,600 --> 00:24:09,550 קצת מאוחר יותר. 488 00:24:09,550 --> 00:24:12,375 >> כתיבת אתרי אינטרנט דינמי עם PHP עושה אותם הרבה יותר טוב. 489 00:24:12,375 --> 00:24:14,250 האתרים שלך להיות מאוד דינמי, ואתה לא 490 00:24:14,250 --> 00:24:17,670 צריך לעשות גם הרבה יותר ממה ש שלך אחרת היה עושה רק 491 00:24:17,670 --> 00:24:18,920 עושה את זה עם HTML. 492 00:24:18,920 --> 00:24:21,630 אבל זה דורש תרגול, הרבה תרגול. 493 00:24:21,630 --> 00:24:26,897 >> אתה כבר יודע איך לעבוד עם C, וכך לקפוץ ל- PHP הוא לא מסובך מדי. 494 00:24:26,897 --> 00:24:28,730 מה הוא אולי קצת קצת מסובך עובד 495 00:24:28,730 --> 00:24:33,180 עם הרעיון החדש הזה של לקבל ולפרסם, ואולי ערבוב HTML שלך ו- PHP שלך 496 00:24:33,180 --> 00:24:34,220 יַחַד. 497 00:24:34,220 --> 00:24:37,570 אבל גם להיות מודע לכך שהאינטרנט הוא מאגר עצום של מידע. 498 00:24:37,570 --> 00:24:41,670 והתיעוד של PHP הוא זמין במקומות רבים, אבל אולי ביותר 499 00:24:41,670 --> 00:24:43,354 canonically בphp.net. 500 00:24:43,354 --> 00:24:45,520 ואתה יכול למצוא שם, המון פונקציות שונות, 501 00:24:45,520 --> 00:24:48,330 ולהשתמש במקרים, ודוגמאות על דוגמאות, על דוגמאות. 502 00:24:48,330 --> 00:24:51,340 איפה אם אתה רוצה לנסות ודמות איך לעשות משהו, רוב הסיכויים הם, 503 00:24:51,340 --> 00:24:52,964 מישהו כנראה עשה את זה לפניך. 504 00:24:52,964 --> 00:24:55,840 ואתה יכול להשתמש בם כ השראה ליישם כל מה ש 505 00:24:55,840 --> 00:24:58,230 זה שאתה מנסה ליישם מדי. 506 00:24:58,230 --> 00:24:59,230 >> אני דאג לויד. 507 00:24:59,230 --> 00:25:01,210 זה CS50. 508 00:25:01,210 --> 00:25:02,608