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 >> Што адбудзецца, калі ён зараз 2: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 >> І ў CS50 IDE, у нас ёсць каманда каб зрабіць гэта вельмі лёгка зрабіць, 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 рэж, што гэта проста вельмі распаўсюджаным спосабам з указаннем, што вы паказалі тут 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 >> Дык вось у CS50 IDE, я ў Каталог называецца Тыдзень нулявы Дзевяць. 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 А потым скажа, Apache паспяхова запушчаны. 73 00:04:14,030 --> 00:04:20,689 Ваш сайт цяпер даступны і at-- гэта значыць URL-адрас для сайта. 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-- і Я паменшыць трохі here-- 77 00:04:28,900 --> 00:04:31,570 Я збіраюся адкрыць новая ўкладка ў Chrome. 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 >> Каб праверыць, што ваш Apache сервер працуе, 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 Мой асобнік Apache працуе змесціва PHP-Web. 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 Гэта проста кажа мне, што мой сервер Apache працуе. 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 І, па-відаць, я захоўвання HIS-то называецца, часу. 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 І прычына гэта сталіца Н гэта збіраецца даць мне 24 гадзіну часу, не 12 130 00:07:00,540 --> 00:07:02,362 гадзіну часу, якое будзе ў ніжнім рэгістры ч. 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 >> Такім чынам, давайце зірнем на гэта ў CS50 IDE і ўбачыць, як мы цяпер 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 маёй Напрыклад Apache. 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 што калі РНР працуе 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 мае падтрымку тое, што называецца Супер Глабальны 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 >> Першы з гэтых супер глабальныя называецца $ _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 здабывання ўсіх пар ключ-значэнне што карыстальнік увёў у URL. 233 00:11:50,180 --> 00:11:51,970 Так у мяне ёсць PHP Open падзельнік. 234 00:11:51,970 --> 00:11:53,410 У мяне ёсць цыкл па кожнаму элементу. 235 00:11:53,410 --> 00:11:57,410 Я ітэрацыі па супер Глабальны масіў $ _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 што GET на самай справе робіць. 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 Тады, магчыма, я буду казаць імя = Doug & год = 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 >> І калі я хачу, каб, можа быць, дадаць яшчэ адзін пара ключоў значэнне, і клас = 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 калі я перагледзець URL зноў. 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 І тады вось мой цыкл па кожнаму элементу. 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 Але гэта ўсё, што я раблю, я гэта ітэрацыі па $ _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 Class = "ключ" <. 289 00:14:33,230 --> 00:14:40,057 Такім чынам, відавочна, што адносіцца і да некаторых Селектар ў маім CSS файла GET.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 Я атрымліваю яго з URL, і гэта тое, што 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 --to 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 што будзе ў URL. 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 А цяпер яны ведаюць пароль на ваш рахунак у Facebook. 315 00:15:47,650 --> 00:15:49,483 >> І, можа быць, яны не будуць зрабіць што-небудзь з ім. 316 00:15:49,483 --> 00:15:53,749 Але калі ваш пароль быў прадстаўлены праз $ _GET, каб Facebook, 317 00:15:53,749 --> 00:15:55,290 Цяпер яны ведаюць, пароль Facebook. 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 Таму GET даволі хутка, у параўнанні з іншымі супер глабальных 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 Акрамя гэтага, замест таго, каб здабываць інфармацыя з URL, 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 І калі вы памятаеце, я націсніце кнопку Адправіць а затым старонка проста абнаўляецца, 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 пароль, ВН, а, атрымаць на тое, што карыстальнік увёў 356 00:18:01,030 --> 00:18:03,650 у другім полі. 357 00:18:03,650 --> 00:18:06,414 >> Такім чынам, давайце зірнем на гэта больш у CS50 IDE. 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 Так што я пазбавіцца ад усіх бяспекі што пост дае мне, проста раздрукаваць 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 вярнуцца на секунду у нашым мностве here-- 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 І таму ў гэты маленькі фрагмент тут я хачу 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 гэта проста прама ў URL. 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 каб адкрыць Developer Tools, проста паказаць вам, што адбудзецца тут. 415 00:20:45,864 --> 00:20:47,530 Такім чынам, у Chrome, я проста хачу, каб ўразіць 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 Але калі я пракруціць ўніз да самага знізу, справа апавяшчэнне there-- мой каляндар 426 00:21:21,310 --> 00:21:25,180 заблакаваў яго для second-- правы ёсць на самай ніжнім куце, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 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 Вы проста хочаце, каб стварыць н табліцай множання п. 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, што мы можам убачыць на вяршыні там у URL, 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 і пасля, вельмі просты, спадзяюся, стрэсу прыклад, проста 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 з гэтай новай ідэяй GET і POST, і, магчыма, змешваючы ваш 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 кананічна ў 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