1 00:00:00,000 --> 00:00:10,393 >> [Musika sa pag-play] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 David J. MALAN: Lahat ng karapatan. 4 00:00:12,120 --> 00:00:12,830 Maligayang pagbabalik. 5 00:00:12,830 --> 00:00:13,890 Ito ay CS50. 6 00:00:13,890 --> 00:00:15,570 Ito ang katapusan ng linggo 8. 7 00:00:15,570 --> 00:00:18,360 At tulad ng alam mo, mayroon kaming magandang regular na oras ng opisina sa loob ng ilang 8 00:00:18,360 --> 00:00:21,090 ng dining hall, kabilang ang Annenberg. 9 00:00:21,090 --> 00:00:23,860 At ang ilan sa mga koponan Pinapayuhan kinuha ang ilang mga larawan kani-kanina lamang. 10 00:00:23,860 --> 00:00:26,230 At sa karangalan ng Halloween, naisip namin na gusto namin 11 00:00:26,230 --> 00:00:30,160 ibahagi ang isa na sa halip nahuli sa amin sa pamamagitan ng sorpresa dito sa Annenberg Hall lamang 12 00:00:30,160 --> 00:00:31,490 ang iba pang mga gabi. 13 00:00:31,490 --> 00:00:36,300 Ang iyong mga kaklase Jacob na ibinabanta para sa ang larawang ito, ngunit ay mas nakakaaliw 14 00:00:36,300 --> 00:00:39,760 ay sa Facebook, ang kasunod pakikipag-usap na nangyari pagkatapos nito. 15 00:00:39,760 --> 00:00:43,020 >> Ang kanyang unang post bilang tugon sa kanyang larawan ay na ito. 16 00:00:43,020 --> 00:00:46,740 Ilang minuto sa ibang pagkakataon, siya ay nagpasya sa isa up ang kanyang sarili na may ito. 17 00:00:46,740 --> 00:00:53,800 Ito nagpunta sa pagkatapos ay pumunta sa ito, at pagkatapos, kahit na higit pa amusingly 18 00:00:53,800 --> 00:00:55,320 ay kapag ang kanyang ina chimed in. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 At pagkatapos ay sa huli, parang ito ay isa lamang 21 00:01:01,800 --> 00:01:04,860 isang kahanga-hangang lalang para sa isang -play na nangyayari. 22 00:01:04,860 --> 00:01:07,080 >> Kaya, kung nais mong upang makita Jacob at sa iba pa, 23 00:01:07,080 --> 00:01:10,880 kasama ng mga ito Cynthia Meng, kung sino ang sa likod ng mga eksena na staff CS50 zone ng, 24 00:01:10,880 --> 00:01:13,970 magtungo sa URL na ito at ang pag-play dito. 25 00:01:13,970 --> 00:01:18,810 Kaya nang walang karagdagang linggal, ngayon namin patuloy na ito pagtingin sa web programming, 26 00:01:18,810 --> 00:01:21,810 at ang aktwal na paglikha ng mga programa na hindi tumatakbo sa iyong command line, 27 00:01:21,810 --> 00:01:24,080 ngunit sa halip ay tumakbo sa loob ng isang browser. 28 00:01:24,080 --> 00:01:26,320 >> Siguro ngayon, o napaka sa ilang sandali, iyong pupuntahan 29 00:01:26,320 --> 00:01:30,200 upang maging sa gitna ng pagpapatupad ang iyong sariling web server, na 30 00:01:30,200 --> 00:01:31,700 ay naiiba mula sa mga web programming. 31 00:01:31,700 --> 00:01:36,210 Web server sa pset6 ay tungkol sa pagsusulat ng software na nakakaalam kung paano kumuha 32 00:01:36,210 --> 00:01:39,300 Mga kahilingan ng HTTP mula sa isang browser, o kahit na mula sa iyo, ang isang tao, 33 00:01:39,300 --> 00:01:42,340 may isang programa na tinatawag na Telnet, at pagkatapos ay tumugon sa mga kahilingan sa alinman sa 34 00:01:42,340 --> 00:01:48,600 sa pamamagitan ng pagsigam ang isang file na HTML, o isang jpeg, o isang gif, o kahit na isang .php file. 35 00:01:48,600 --> 00:01:52,490 >> Ngunit sa isang server ng web, ito ay hindi dapat buksan lamang ang isang file na PHP, 36 00:01:52,490 --> 00:01:55,260 isang bagay na nagtatapos sa .php, at pagkatapos ay sabihin ang lahat ng mga nilalaman. 37 00:01:55,260 --> 00:01:58,440 Ito ay dapat gawin kung ano ang file na unang? 38 00:01:58,440 --> 00:01:59,390 Kaya na magsalita. 39 00:01:59,390 --> 00:02:04,060 Hindi compile ito, sinabi namin sa Monday, ngunit rather-- Kaya, bigyang-kahulugan ito. 40 00:02:04,060 --> 00:02:08,070 >> PHP ang isang kahulugan ng wika, at iba pa isa sa mga pangunahing tampok sa iyong web 41 00:02:08,070 --> 00:02:11,550 server, kahit na ipinatupad ng sa amin, ay ang kakayahan para sa iyong mga web server 42 00:02:11,550 --> 00:02:12,490 upang mapansin, oh. 43 00:02:12,490 --> 00:02:14,580 Ito ay isang file na nagtatapos sa .php. 44 00:02:14,580 --> 00:02:17,970 Hayaan hindi ako magpadala lamang ito sa ng gumagamit tulad ng ito ay static na nilalaman, 45 00:02:17,970 --> 00:02:20,970 ngunit sa halip ipaalam sa akin basahin ito linya sa pamamagitan ng linya, kaliwa papuntang kanan, at bigyang-kahulugan ito. 46 00:02:20,970 --> 00:02:23,030 >> At upang gawin, na guys habilin tunay 47 00:02:23,030 --> 00:02:26,520 magtikin sa isang programa sa appliance, at sa maraming mga computer system, 48 00:02:26,520 --> 00:02:27,500 lamang na tinatawag na PHP. 49 00:02:27,500 --> 00:02:30,579 Iyon ay ang pangalan ng PHP ang sariling interpreter wika. 50 00:02:30,579 --> 00:02:33,120 Kaya, piraso na ipapatupad namin para sa mo, at kung ano ang natitira para sa iyo, 51 00:02:33,120 --> 00:02:35,240 sa huli, ay isang numero ng mga piraso, bukod sa kung saan 52 00:02:35,240 --> 00:02:37,960 ay pagpapatupad ng suporta para sa mga static na nilalaman. 53 00:02:37,960 --> 00:02:40,180 >> Ngunit ngayon, at may itakda ang problema pitong, ikaw ay 54 00:02:40,180 --> 00:02:43,660 pagpunta sa simulan sa paglipat sa aktwal na pagsusulat ng code na PHP 55 00:02:43,660 --> 00:02:45,970 na maipo-kahulugan sa pakikipag-usap sa likod ng pagtatapos 56 00:02:45,970 --> 00:02:47,960 database na nag-iimbak ng impormasyon. 57 00:02:47,960 --> 00:02:51,020 Kaya maunawaan unang sabihin ng mas mahusay na ng dalawang mga superglobals 58 00:02:51,020 --> 00:02:53,720 at lamang kung magkano ang kapangyarihan sa iyo kumuha sa labas ng kahon para sa libreng 59 00:02:53,720 --> 00:02:55,250 may isang wika tulad ng PHP. 60 00:02:55,250 --> 00:02:57,350 Mga bagay na hindi mo kailangang upang ipatupad ang iyong sarili. 61 00:02:57,350 --> 00:03:01,700 >> Kaya, nakita namin sa Monday $ _GET, kung saan ay isang superglobal, 62 00:03:01,700 --> 00:03:05,496 na kung saan ay nagsasalita ng PHP para lamang sa isang pandaigdigang variable na maaari mong ma-access kahit saan. 63 00:03:05,496 --> 00:03:06,620 At kung ano ang nasa loob ng $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Ano ang nasa loob ng superglobal na namin makita? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Tiyak na istatistika sa alam ng hindi bababa sa isang tao. 68 00:03:19,020 --> 00:03:21,590 Ano ang nasa loob ng $ _GET? 69 00:03:21,590 --> 00:03:22,426 Oo? 70 00:03:22,426 --> 00:03:24,130 >> Madla: Ito ang mga variable ilagay mo sa string ng query. 71 00:03:24,130 --> 00:03:24,530 >> David J. MALAN: Perpekto. 72 00:03:24,530 --> 00:03:26,488 Ito ang mga variable sa iyo maglagay sa query string. 73 00:03:26,488 --> 00:03:29,910 Kaya, sa aming mas lumang mga halimbawa ng reimplementing Google kapag namin ay may 74 00:03:29,910 --> 00:03:34,130 isang URL, at pagkatapos ay tandang pananong, na demarcates simula ng HTTP 75 00:03:34,130 --> 00:03:37,950 mga parameter, pagkatapos ay nagkaroon kami q katumbas isang bagay, tulad ng q ay katumbas ng pusa, 76 00:03:37,950 --> 00:03:41,500 kung ano ang awtomatikong pumunta sa loob ng na $ _GET sobrang global para sa iyo, 77 00:03:41,500 --> 00:03:47,430 dahil sa PHP, ay isang pangunahing ng Q, at ng halaga nito ng pusa. 78 00:03:47,430 --> 00:03:51,250 >> Sa ibang salita, $ _GET at lahat ng mga bagay na ito ay nag-uugnay array, 79 00:03:51,250 --> 00:03:54,530 hash talahanayan ng mga klase, na tindahan ng mga pindutan at halaga. 80 00:03:54,530 --> 00:03:57,980 Ngayon, bumalik sa pset5, ang hash talahanayan na maaaring ipinatupad, 81 00:03:57,980 --> 00:04:00,220 o ang subukan mo ay maaaring nagpatupad, talagang 82 00:04:00,220 --> 00:04:04,010 ay epektibo ng isang nag-uugnay array, ang isang istraktura ng data 83 00:04:04,010 --> 00:04:07,220 kung saan maaari mong iugnay key na may halaga. 84 00:04:07,220 --> 00:04:09,690 >> Ngunit sa pset5, ang mga halaga ay walang halaga. 85 00:04:09,690 --> 00:04:12,430 Ang halaga ay lubos na totoo o hindi. 86 00:04:12,430 --> 00:04:13,900 Ay ang salita sa diksyunaryo? 87 00:04:13,900 --> 00:04:18,279 Kaya, kapag na-hash ka ng isang salita tulad ng mansanas upang makita kung mansanas ay nasa diksyonaryo, 88 00:04:18,279 --> 00:04:21,820 ang iyong mga pag-andar check baka Nagbalik ang true o false. 89 00:04:21,820 --> 00:04:24,120 Kaya, na epektibo ang halaga namin ang pagbalik. 90 00:04:24,120 --> 00:04:26,456 >> Ngunit nakita natin sa Lunes sa madaling sabi, maaari mong tiyak 91 00:04:26,456 --> 00:04:28,830 -ugnay sa higit pang mga kawili-wiling mga halaga kaysa sa tunay na lamang o mali 92 00:04:28,830 --> 00:04:30,790 may key, tulad ng mansanas. 93 00:04:30,790 --> 00:04:33,909 Maaari mong aktwal na magbalik ng arbitrary string, at sa katunayan, 94 00:04:33,909 --> 00:04:36,200 iyon ang $ _GET at mga hayaan ang iba pang mga variable mong gawin. 95 00:04:36,200 --> 00:04:40,595 >> Kaya $ _POST ay katulad sa espiritu, ngunit kung mong isumite ang form na ito sa pamamagitan ng post, 96 00:04:40,595 --> 00:04:44,490 ng ibang paraan ng HTTP na ginagamit para sa mga bagay tulad ng credit card, 97 00:04:44,490 --> 00:04:48,410 at mga pribadong impormasyon, at kahit na binary impormasyon tulad ng mga larawan, 98 00:04:48,410 --> 00:04:51,840 mga bagay na napupunta sa loob ng $ _POST. 99 00:04:51,840 --> 00:04:53,770 At talagang para sa mga file tulad ng jpeg at watnat, 100 00:04:53,770 --> 00:04:58,290 mayroong kahit na isa pang na hindi dito ang tinatawag na $ _FILES pati na rin. 101 00:04:58,290 --> 00:05:01,280 >> Kaya, ang server hindi namin mangatwiran masyadong magkano, ngunit nagbibigay sa iyo ng access 102 00:05:01,280 --> 00:05:04,860 upang ayusin ng mas mababang mga detalye ng antas ng tungkol sa ang server mismo na ginagamit mo. 103 00:05:04,860 --> 00:05:07,430 Cookie at session, bagaman, kami ay epektibo makita ngayon. 104 00:05:07,430 --> 00:05:10,940 Ang huling ay kung ano ang ginagamit namin upang ipatupad ang paniwala ng isang shopping cart. 105 00:05:10,940 --> 00:05:14,480 Isang napaka-simpleng isa, ngunit pagpapabalik na nagkaroon kami halimbawang ito dito, 106 00:05:14,480 --> 00:05:17,640 pagbibilang kung gaano karaming beses mo ay binisita ang pahinang ito dati. 107 00:05:17,640 --> 00:05:20,850 >> Ngunit ngayon, sa halip na hanapin lang sa ang epekto ng ito, ni magbukas ng ipaalam 108 00:05:20,850 --> 00:05:22,640 Ng Chrome Inspektor, kung saan maaari kang karaniwang 109 00:05:22,640 --> 00:05:25,740 gawin sa pamamagitan ng pag-click sa kanan o sa Pagkontrol ng pag-click kahit saan sa web page, 110 00:05:25,740 --> 00:05:27,250 at pagkatapos ay piliin ang siyasatin elemento. 111 00:05:27,250 --> 00:05:31,600 O kaya, maaari kang pumunta sa pamamagitan ng mga menu na naglalarawan namin sa spec pset6 ni. 112 00:05:31,600 --> 00:05:35,020 At ako pagpunta sa tab na Network dito, at sabihin panoorin para sa isang sandali 113 00:05:35,020 --> 00:05:37,590 ang HTTP trapiko na pagpunta papunta at pabalik. 114 00:05:37,590 --> 00:05:40,929 >> Hayaan akong pumunta sa unang maaga at cache ng malinaw ng Chrome. 115 00:05:40,929 --> 00:05:43,470 Kaya maaaring maging pamilyar sa ilan sa iyo sa diskarteng ito na, 116 00:05:43,470 --> 00:05:45,790 at kami ay pagpunta sa gamitin ito para sa mga layuning pag-debug dito. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Ngayon namin bilang computer na siyentipiko ay pagpunta sa simulan 119 00:05:50,890 --> 00:05:53,920 ginagawa ito para sa pag-debug mga layunin, kung saan 120 00:05:53,920 --> 00:05:55,910 kami ay i-clear ang cache, karaniwan, nang sa gayon ay namin 121 00:05:55,910 --> 00:05:57,670 maaaring makakuha ng pawalan ng bagay na tinatawag na cookies. 122 00:05:57,670 --> 00:06:01,700 Kaya ikaw ay malamang na pamilyar sa pangkalahatan sa kung ano ang cookies ay, o hindi bababa sa 123 00:06:01,700 --> 00:06:04,370 na mayroon ang mga ito, ngunit kung ano ang iyong pag-unawa sa mga ito, 124 00:06:04,370 --> 00:06:06,920 tulad ng isang gumagamit ng mga computer, kung ano ang isang cookie? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Oo. 127 00:06:09,990 --> 00:06:14,391 >> Madla: Ito ay isang bit of-- na rin, hindi bit sa isang panahon ng computer science. 128 00:06:14,391 --> 00:06:18,303 Ito ay isang piraso ng data na ang isang Nagpapadala ang website sa iyo sa pagkakasunud-sunod 129 00:06:18,303 --> 00:06:20,209 upang magawang i-record ang mga istatistika sa iyo. 130 00:06:20,209 --> 00:06:21,250 David J. MALAN: OK, mabuti. 131 00:06:21,250 --> 00:06:24,980 Kaya ito ay isang piraso ng data na ang isang server, naglalagay sa iyong computer, 132 00:06:24,980 --> 00:06:28,840 at hayaang magbigay ng tuntuning panlahat na ito kahit na higit pa, ito ay isang key value-- na rin, 133 00:06:28,840 --> 00:06:30,064 na nakakakuha ng mas tumpak. 134 00:06:30,064 --> 00:06:31,980 Ito ay isang piraso ng impormasyon, isang piraso ng data, 135 00:06:31,980 --> 00:06:34,430 na ang server ay ilagay sa iyong computer 136 00:06:34,430 --> 00:06:38,592 at madalas, ang ginagawa ng server ito upang matandaan kung sino ka. 137 00:06:38,592 --> 00:06:40,300 Kaya halimbawa, odds ay ikaw ay malamang na 138 00:06:40,300 --> 00:06:42,982 -log in sa mga site tulad ng Facebook, o Gmail, o iba bago, 139 00:06:42,982 --> 00:06:44,940 at mong mag-log in gamit ang iyong username at password, 140 00:06:44,940 --> 00:06:49,000 at pagkatapos ay matapos na, para sa ilang mga numero minuto o oras o kahit na araw, 141 00:06:49,000 --> 00:06:52,970 Naaalala ng server na mo ay, sa katunayan, nakalog-in. 142 00:06:52,970 --> 00:06:54,600 Ngayon, paano na aktwal na nangyayari ay? 143 00:06:54,600 --> 00:06:58,630 Dahil tiyak na hindi ka retyping ang iyong username at password sa tuwing 144 00:06:58,630 --> 00:07:00,760 kang mag-navigate sa isang ibang pahina sa Facebook. 145 00:07:00,760 --> 00:07:02,570 Kaya ito ay lumiliko ang mga cookies ang mga sagot. 146 00:07:02,570 --> 00:07:05,360 >> Ang cookie maaari mong isipin bilang, uri ng mga gusto, isang digital kamay 147 00:07:05,360 --> 00:07:09,200 stamp na maaari kang makakuha sa isang amusement parke o isang club na tunay 148 00:07:09,200 --> 00:07:11,740 nagpapahiwatig ka na dito bago, at ikaw na 149 00:07:11,740 --> 00:07:16,070 ipinapakita ang iyong ID sa Portero ng klab, para sa Halimbawa, at na ang club o ng parke 150 00:07:16,070 --> 00:07:19,050 Dapat na ngayon ay ipinapalagay na na napatotohanan na. 151 00:07:19,050 --> 00:07:21,270 Mo pa natukoy sa pamamagitan nito. 152 00:07:21,270 --> 00:07:24,740 >> Kaya sa na sa isip, ni buksan ang sagot dito ipaalam. 153 00:07:24,740 --> 00:07:27,220 Hayaan akong sige, ko lang ginawa, at i-clear ang lahat ng aking mga cookies. 154 00:07:27,220 --> 00:07:29,970 At ngayon kung ano ang ako pagpunta sa gawin ay pindutin nang matagal ang Shift, para lamang sa mabuting panukala, 155 00:07:29,970 --> 00:07:31,740 at papuwersa-reload ang pahina. 156 00:07:31,740 --> 00:07:34,170 Shift siguraduhin lamang wala na ay makakakuha ng naka-cache. 157 00:07:34,170 --> 00:07:36,850 At narito ang kahilingan na nagpunta at pabalik. 158 00:07:36,850 --> 00:07:41,560 Kaya sa paglipas dito mayroon kami ng isang kahilingan, at hayaang sa akin mag-zoom in down na dito, at ng maraming ito 159 00:07:41,560 --> 00:07:44,710 ay isang uri ng hindi kawili-wili para sa mga detalye ngayon na ang browser ay awtomatikong 160 00:07:44,710 --> 00:07:47,800 ipinadala, ngunit mag-click Tingnan ipaalam Pinagmulan upang makita ang mga raw na header. 161 00:07:47,800 --> 00:07:51,700 >> At kung nag-dived sa pset6 na, makikita mo tiyak na makilala ang mga bagay 162 00:07:51,700 --> 00:07:54,990 tulad nito, at marahil ilang ng iba pang mga linya dito, 163 00:07:54,990 --> 00:07:59,040 ngunit kung ano ang higit pang mga kagiliw-giliw na para sa ngayon kung mag-scroll ko pababa, hindi sa kahilingan 164 00:07:59,040 --> 00:08:02,870 ngunit sa tinatawag na tugon, Marahil ay mukhang pamilyar ang linyang ito. 165 00:08:02,870 --> 00:08:04,977 Iyon ay isang magandang bagay kapag nakita mo ang 200 OK. 166 00:08:04,977 --> 00:08:07,060 Tila ito ang petsa at oras sa server 167 00:08:07,060 --> 00:08:08,268 at mayroong isang bungkos ng mga bagay-bagay. 168 00:08:08,268 --> 00:08:09,290 Oh, ito ay kawili-wili. 169 00:08:09,290 --> 00:08:13,430 >> Ino-out sa tuwing ginagamit mo ang PHP, hindi bababa sa server na ito, 170 00:08:13,430 --> 00:08:16,360 spits out ang server kung ano bersyon ng PHP na iyong ginagamit. 171 00:08:16,360 --> 00:08:18,962 Aling, talaga, para sa seguridad mga layunin, hindi ay isang magandang bagay. 172 00:08:18,962 --> 00:08:21,170 Subalit, kami ay bumalik sa na ilang iba pang mga oras marahil. 173 00:08:21,170 --> 00:08:25,740 Ngunit ngayon ito ang makatas linya ngayon, at sandaling namin nakita ang ilan sa mga ito, 174 00:08:25,740 --> 00:08:29,240 Sa tingin ko sa Facebook kung kailan namin poked sa paligid ng Inspektor sa oras na iyon, 175 00:08:29,240 --> 00:08:33,380 hanay cookie ay kung ano ang planting na maliit na bahagi ng impormasyon 176 00:08:33,380 --> 00:08:34,890 sa iyong computer. 177 00:08:34,890 --> 00:08:37,490 >> Ito ay isang HTTP header na epektibong 178 00:08:37,490 --> 00:08:39,970 na nagsasabi sa iyong browser, Chrome, IE, kahit ano, 179 00:08:39,970 --> 00:08:44,480 hey store sa user browser hard drive, o sa RAM ng gumagamit, 180 00:08:44,480 --> 00:08:49,680 isang key na tinatawag na PHPSESSID, na isang shorthand notation para sa session ID, 181 00:08:49,680 --> 00:08:53,670 at bigyan ito ng isang halaga ng 0vlk8t, tuldok, tuldok, tuldok. 182 00:08:53,670 --> 00:08:56,480 Ang isang talagang mahaba ang palsipikado random alphanumeric string. 183 00:08:56,480 --> 00:08:59,480 Ito ay lamang ng isang talagang malaking bilang, ngunit ito ay naka-encode na may mga titik at numero 184 00:08:59,480 --> 00:09:03,550 upang ang laki ng mga ito ay maaaring maging kahit na mas malaki kaysa sa mga numero ng nag-iisa. 185 00:09:03,550 --> 00:09:06,947 At pagkatapos, sa pamamagitan ng mga paraan, Path = /, na Nangangahulugan lamang na ang cookie na ito ay dapat na 186 00:09:06,947 --> 00:09:08,780 na nauugnay sa kabuuan ng website, 187 00:09:08,780 --> 00:09:11,150 hindi lamang sa isang partikular na pahina sa buong bagay. 188 00:09:11,150 --> 00:09:12,930 Kaya ito ay ang virtual kamay stamp. 189 00:09:12,930 --> 00:09:16,330 Ito ay parang sa server, Facebook, o sa aming kaso ang appliance, 190 00:09:16,330 --> 00:09:21,140 May literal na nakasulat 0vlk8t at iba pa, sa iyong mga kamay. 191 00:09:21,140 --> 00:09:24,360 Pansinin kung ano ang server, hindi ginagawa ito ay hindi 192 00:09:24,360 --> 00:09:27,730 pag-iimbak ng aking username, tiyak hindi nag-iimbak ang aking password. 193 00:09:27,730 --> 00:09:31,710 >> Sa halip, lumalabas na ito ay pag-iimbak ng palsipikado random na impormasyon 194 00:09:31,710 --> 00:09:35,010 sa gayon ay maaari hulaan walang sinuman kung ano ang aking kamay stamp ay. 195 00:09:35,010 --> 00:09:37,590 Sa bahagi ng server, samantala, ang server 196 00:09:37,590 --> 00:09:40,370 Mawawala na matandaan, marahil sa isang database o isang bagay na, 197 00:09:40,370 --> 00:09:46,490 na ang mga gumagamit, na sa hinaharap ay nagtatanghal ng isang kamay stamp ng 0vlk8t, tuldok, 198 00:09:46,490 --> 00:09:51,440 tuldok, tuldok, ay dapat na nauugnay sa partikular na shopping cart, kaya upang makipag-usap. 199 00:09:51,440 --> 00:09:55,060 Sa ibang salita, kung pumunta ako ngayon Bumalik dito at i-reload ang pahinang ito, 200 00:09:55,060 --> 00:09:58,020 kung paano malaman ang server na binisita ko ang isa sa oras? 201 00:09:58,020 --> 00:10:01,730 >> O kung ito gagawin ko muli, kung paano gumagana ang server malaman na binisita ko ito ng dalawang beses? 202 00:10:01,730 --> 00:10:04,680 Well kung pumunta ako pababa upang ito pinakahuling kahilingan, na 203 00:10:04,680 --> 00:10:09,150 ay ngayon ang ikatlong na ako ay nagpadala ng sa kabuuan, mapapansin ngayon ang aking kahilingan. 204 00:10:09,150 --> 00:10:11,300 Mayroon pa rin ito humiling dito, parehong 205 00:10:11,300 --> 00:10:15,040 tulad ng dati, mayroong pa rin ng buong bungkos ng mga bagay-bagay na iyong binabalewala namin tulad ng dati, 206 00:10:15,040 --> 00:10:19,350 ngunit sa pinakadulo huling header, ito panahon, dahil napuntahan ko dito bago, 207 00:10:19,350 --> 00:10:21,980 ay isang pagtatanghal ng ito virtual kamay stamp. 208 00:10:21,980 --> 00:10:28,957 >> Kung saan ang line dito, hindi nakatakda cookie ngunit cookie tutuldok PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 na aking browser lamang ng awtomatikong pagtatanghal ng kamay stamp upang ang 210 00:10:32,040 --> 00:10:37,910 ngayon sa server, sa lalong madaling napagtanto ng ito, ooh, ito ay 0vlk8t tuldok user, tuldok, tuldok, 211 00:10:37,910 --> 00:10:42,010 Maaari ko ngayon tandaan na siya ay at reassociate sa user na kung ano ang 212 00:10:42,010 --> 00:10:46,450 impormasyon na gusto kong, at lahat ng na ang impormasyon ay maaaring naka-imbak sa pamamagitan ng sa iyo, 213 00:10:46,450 --> 00:10:50,130 ang programmer, sa $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Kaya maging malinaw, kung buksan ko tunay mabilis sa gedit na aktwal na file, counter.php, 215 00:10:57,170 --> 00:11:02,340 sa aking lokal na host pampublikong direktoryo tulad ng dati, mapapansin na, sa katunayan, 216 00:11:02,340 --> 00:11:06,860 Sa huli ako sa pag-iimbak sa $ _SESSION Quote magpanipi "counter," 217 00:11:06,860 --> 00:11:10,110 ang halaga ng nakaraang sagot na Nakukuha ko mula sa mga linyang ito up dito na namin 218 00:11:10,110 --> 00:11:13,010 tumingin sa huling beses na plus one. 219 00:11:13,010 --> 00:11:14,980 Kaya sa ilalim ng hood, na ang lahat ng cookies ay. 220 00:11:14,980 --> 00:11:17,563 Ito ay lamang ng isang uri ng digital kamay stamp ng pagpunta pabalik-balik, 221 00:11:17,563 --> 00:11:20,450 at lantaran kung bubuksan mo ang Chrome Inspektor sa anumang website 222 00:11:20,450 --> 00:11:22,580 bisitahin mo ngayon, may sobrang mataas na posibilidad, 223 00:11:22,580 --> 00:11:25,450 na iyong pupuntahan upang makita siguro isa, siguro kalahating dosenang cookies 224 00:11:25,450 --> 00:11:26,650 na tatandaan mo. 225 00:11:26,650 --> 00:11:29,500 >> At mas malala pa, kung ang mga website na iyong binibisita 226 00:11:29,500 --> 00:11:32,640 lahat ay may mga advertisement, na ay tiyak na medyo pangkaraniwan ngayon, 227 00:11:32,640 --> 00:11:36,100 at kung ang mga advertisement ay darating mula sa ilang mga sentro ng partido, ang isang tao 228 00:11:36,100 --> 00:11:39,000 tulad ng Google AdWords o habang ang mga ito tumawag sa isa sa kanilang mga produkto 229 00:11:39,000 --> 00:11:42,880 o ibang tulad ng mga vendor na magbenta ng mga ad, kung ano ang kawili-wili, 230 00:11:42,880 --> 00:11:46,510 at lantaran kung ano ang isang maliit na nakakaligalig, tungkol sa kung paano gumagana ang HTTP, 231 00:11:46,510 --> 00:11:50,855 ay na kung mayroon kang naka-embed ng isang ad sa Facebook.com, at Google.com, 232 00:11:50,855 --> 00:11:54,240 at Harvard.edu, ang anumang mga numero ng ng mga website, kaya tulad 233 00:11:54,240 --> 00:11:58,130 na mayroong isang gitnang tao kung sino ang paghahatid ng up na patalastas para sa lahat ng tatlong ng mga website na iyon, 234 00:11:58,130 --> 00:12:02,110 ito ay lumiliko out na ang cookies ay para sa bawat domain. 235 00:12:02,110 --> 00:12:05,910 >> Kaya kung mayroon kang darating na isang ad mula sa parehong kumpanya sa iba't ibang mga website, 236 00:12:05,910 --> 00:12:11,140 kumpanya na maaaring epektibong subaybayan kung sino ikaw ay sa lahat ng mga website na iyon. 237 00:12:11,140 --> 00:12:13,140 Hindi maaaring kilala Harvard bumibisita ka sa Facebook. 238 00:12:13,140 --> 00:12:15,306 Hindi maaaring kilala Facebook at bumibisita ka sa Harvard. 239 00:12:15,306 --> 00:12:18,160 Ngunit kahit anong serbisyo sa ad ginagamit nila kung domain na iyon ay 240 00:12:18,160 --> 00:12:21,710 nasa parehong Harvard.edu web mga pahina at Facebook.com mga webpage, 241 00:12:21,710 --> 00:12:26,850 ang gitna ng tao ay tiyak na alam kung sino ka dahil sa mga cookies na ito ibinabahagi 242 00:12:26,850 --> 00:12:30,910 sa kabuuan, o sa halip na, na tinatawag na mamamakyaw. 243 00:12:30,910 --> 00:12:33,820 >> Kaya makikita namin bumalik sa ito sa implikasyon sa seguridad hinggil doon, 244 00:12:33,820 --> 00:12:37,170 ngunit mayroong maraming impormasyon maimbak tungkol sa iyo anumang oras mo 245 00:12:37,170 --> 00:12:40,120 bisitahin ang karamihan ng anumang web page sa sa internet at ito talaga 246 00:12:40,120 --> 00:12:42,877 nagbabawas sa napaka-simpleng mekanismo. 247 00:12:42,877 --> 00:12:44,710 Ano ang mangyayari, pagkatapos, kung ikaw ay sobrang paranoyd 248 00:12:44,710 --> 00:12:48,190 at nagpasya kang pumunta sa Chrome o IE o i-off ang anumang at ang iyong mga cookies? 249 00:12:48,190 --> 00:12:49,365 Ano ang mangyayari? 250 00:12:49,365 --> 00:12:50,790 Oo? 251 00:12:50,790 --> 00:12:53,170 Really-- mo nagawa mo na ito tama? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Hindi, sige. 254 00:12:55,994 --> 00:12:59,645 >> Madla: Ang ilang mga website ay hindi magkaroon ng isang function nang hindi ito i Facebook. 255 00:12:59,645 --> 00:13:00,520 David J. MALAN: Oo! 256 00:13:00,520 --> 00:13:02,311 Kaya ilang mga website ay lamang ang pagtatrabaho. 257 00:13:02,311 --> 00:13:05,520 At sa karamihan ng mga website mga araw na ito sa panimula na umaasa sa mga cookies, 258 00:13:05,520 --> 00:13:08,360 lalo na kung mayroon silang mag-log sa, lamang sila ng pagpunta sa masira. 259 00:13:08,360 --> 00:13:10,360 Dahil isinasaalang-alang ang kahalili, kung ang website 260 00:13:10,360 --> 00:13:14,480 Walang paraan ng pag-alala kung sino ka, at samakatuwid ay sa iyong web browser ay hindi 261 00:13:14,480 --> 00:13:16,949 na kumakatawan sa bawat HTTP kahilingan ng kamay stamp, 262 00:13:16,949 --> 00:13:18,740 epektibo ang isang website tulad ng pagpunta Facebook ni 263 00:13:18,740 --> 00:13:22,050 upang i-prompt ka upang mag-log sa bawat oras nagsulsi 264 00:13:22,050 --> 00:13:26,200 baguhin mo ang pahina, o i-click ang isang link, na ay tiyak na hindi isang partikular na magandang user 265 00:13:26,200 --> 00:13:26,920 karanasan. 266 00:13:26,920 --> 00:13:30,020 >> Kaya na doon, masyadong, ay kabilang sa mga trade off. 267 00:13:30,020 --> 00:13:34,140 Kaya nang walang karagdagang linggal, sabihin tumagal ng para sa ipinagkaloob na may web programming, 268 00:13:34,140 --> 00:13:37,630 sa mga wika tulad ng PHP, maaari mong tandaan impormasyon na tulad nang sa problema set 269 00:13:37,630 --> 00:13:41,550 pitong kapag ipatupad mo ang iyong sarili E * Trade-tulad ng website kung saan upang bumili ng 270 00:13:41,550 --> 00:13:45,710 at magbenta ng mga stock, makikita mo matandaan eksakto kung ano ang user ay bumili at ibinenta 271 00:13:45,710 --> 00:13:49,110 at kung sino siya ay sa pamamagitan ng paraan ng session na ito. 272 00:13:49,110 --> 00:13:51,110 Ngunit kami ay pagpunta sa kailangan isang may interes paraan kaysa sa email 273 00:13:51,110 --> 00:13:52,640 upang simulan pinapanatiling impormasyon sa paligid. 274 00:13:52,640 --> 00:13:53,140 Mag-right? 275 00:13:53,140 --> 00:13:56,780 >> Sa Monday, usapan natin ang tungkol Frosh IMS at kung paano sa bersyon ng isa sa website na iyon, 276 00:13:56,780 --> 00:14:00,250 taon na ang nakakaraan, ang lahat ng ginawa namin ay -email ang Proctor kung sino ang 277 00:14:00,250 --> 00:14:04,250 sa pagsingil ng nasa loob ng lunsod sports programa, pangalan, at ang kasarian, 278 00:14:04,250 --> 00:14:07,330 at man o hindi ang mga ito ay isang kapitan, at ang dorm ng isang tao kung sino ang 279 00:14:07,330 --> 00:14:10,136 nagrerehistro para sa isang nasa loob ng lunsod sport. 280 00:14:10,136 --> 00:14:13,010 Kaya ito ay hindi masama, ngunit siya pagkatapos ay kinailangan awitin sa pamamagitan ng kanilang e-mail, 281 00:14:13,010 --> 00:14:16,010 gumawa ng isang spreadsheet o isang bagay tulad ng na, upang panatilihin ang lahat nakaayos. 282 00:14:16,010 --> 00:14:19,750 Kaya tiyak namin bilang mga programmer Maaari gawin ito para sa Proctor. 283 00:14:19,750 --> 00:14:22,970 At kaya ipasok sa SQL, Naka-istrakturang Wika Query, 284 00:14:22,970 --> 00:14:26,050 na kung saan ay pagpunta sa hitsura kaakit-akit iba sa parehong C at PHP, 285 00:14:26,050 --> 00:14:30,990 at makikita mo sumisid sa higit pang mga kamay sa PHP at problema set pitong ngunit SQL din, 286 00:14:30,990 --> 00:14:35,310 o SQL, ito ay isang wika na na ginagamit mo upang makipag-usap sa isang database. 287 00:14:35,310 --> 00:14:36,480 >> Ngunit kung ano ang isang database? 288 00:14:36,480 --> 00:14:38,440 Well sa tingin mo ng isang database, hindi bababa sa ngayon, 289 00:14:38,440 --> 00:14:41,750 tulad ng pagiging tulad ng isang Excel file, o kung ikaw ay isang gumagamit ng mga numero ng file sa Mac, 290 00:14:41,750 --> 00:14:44,400 o kung ikaw ay isang Google Apps gumagamit ng isang Google spreadsheet, 291 00:14:44,400 --> 00:14:49,120 ito ay epektibo sa isang database, o talaga partikular na ang isang pamanggit database. 292 00:14:49,120 --> 00:14:53,070 Ang isang relational database lamang isang bagay na may hanay at haligi, 293 00:14:53,070 --> 00:14:56,440 at maaari kang mag-imbak ng anumang uri ng impormasyon sa mga hilera o haligi. 294 00:14:56,440 --> 00:15:00,480 >> Ngunit kung ano ang magaling tungkol sa SQL, at tungkol sa aktwal na mga database hindi, lamang 295 00:15:00,480 --> 00:15:04,910 spreadsheet o Google spreadsheet, ay maaari mong gamitin ang isang wika 296 00:15:04,910 --> 00:15:09,000 upang aktwal na magsagawa ng mga query sa magpasok ng mga data, upang alisin ang data, 297 00:15:09,000 --> 00:15:11,620 upang maghanap ng mga data, kahit na pinaka-mahalaga, at sa iyo 298 00:15:11,620 --> 00:15:16,110 Hindi mo na kailangang gamitin ito nang walang kinikilingan nang manu-mano bilang maaari kang karaniwang ng Google 299 00:15:16,110 --> 00:15:17,690 spreadsheet tulad nito. 300 00:15:17,690 --> 00:15:22,217 >> Kaya sa SQL, may isang bungkos ng pangunahing pahayag o mga piraso 301 00:15:22,217 --> 00:15:23,300 ng pag-andar built in. 302 00:15:23,300 --> 00:15:26,450 Mayroong maraming higit pa sa mga ito, ngunit maaari kang pumunta isang malaking distansya 303 00:15:26,450 --> 00:15:28,620 sa pamamagitan lamang ng pag-alam na wikang ito na tinatawag na 304 00:15:28,620 --> 00:15:30,840 SQL ay may hindi bababa sa apat mga pahayag na maaari mong magamit. 305 00:15:30,840 --> 00:15:34,420 >> Tanggalin, para sa pag-aalis ng data, Ipasok ang, para sa pagdaragdag ng mga hilera, 306 00:15:34,420 --> 00:15:37,340 I-update ang, para sa pagbabago hilera, at pagpili, 307 00:15:37,340 --> 00:15:39,860 para sa pagbalik ng mga hilera at na sa katunayan kung ano ang ginagawa SQL. 308 00:15:39,860 --> 00:15:43,810 Ito ay nagpapatakbo ng ganap na sa mga hilera sa gayon na kapag mong ipasok, o alisin, 309 00:15:43,810 --> 00:15:47,470 o i-update, o piliin kung ano ang iyong pagbalik bilang isang tinatawag na hanay ng resulta, 310 00:15:47,470 --> 00:15:49,690 tulad ng isang hanay ng mga hilera. 311 00:15:49,690 --> 00:15:51,700 Ang isang bungkos ng mga hilera mula sa isang table. 312 00:15:51,700 --> 00:15:54,050 >> Kaya pabalik sa araw, at kahit sa araw na ito, 313 00:15:54,050 --> 00:15:56,560 maaari kang makipag-ugnayan sa database gamit ang command line, 314 00:15:56,560 --> 00:15:59,691 ngunit hindi partikular na masaya upang gamitin ang ang itim at puti estilo window 315 00:15:59,691 --> 00:16:02,190 at aktwal na magsagawa ng command at sundutin sa paligid ng iyong database. 316 00:16:02,190 --> 00:16:06,054 Ang graphical interface ng gumagamit, o GUI, ay mas lalong kanais-nais, arguably, 317 00:16:06,054 --> 00:16:08,970 at sa gayon ang tool naming inirerekumenda at paunang na-install para sa iyo sa appliance 318 00:16:08,970 --> 00:16:10,580 ay tinatawag na phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Ito ay isang kabuuang pagkakaisa na ang mga pangalan ng bagay na ito ay may PHP sa loob nito, 320 00:16:14,060 --> 00:16:17,430 Nangangahulugan lamang ito na ang mga tao na sinulat ni programang ito ang kanilang mga sarili 321 00:16:17,430 --> 00:16:18,670 isinulat ito sa PHP. 322 00:16:18,670 --> 00:16:23,740 >> Pero sa huli tungkol sa pangangasiwa isang database server, tulad ng isang MySQL server 323 00:16:23,740 --> 00:16:26,589 na maaaring mayroon ka, tulad ng sa iyo gawin, sa CS50 appliance. 324 00:16:26,589 --> 00:16:29,130 Kaya mayroong mas detalyado dito kaysa sa kailangan naming asikasuhin ngayon, 325 00:16:29,130 --> 00:16:33,280 ngunit kung ano ang key ay na sa kaliwa bahagi ay isang listahan ng mga database 326 00:16:33,280 --> 00:16:36,040 na mayroon ka sa iyong computer, sa iyong CS50 appliance, 327 00:16:36,040 --> 00:16:40,090 o dumating pangwakas na mga proyekto na maaari kang mayroon sa isang third party, isang kumpanya 328 00:16:40,090 --> 00:16:43,415 website o web server, na maaari kang magbabayad para sa espasyo. 329 00:16:43,415 --> 00:16:45,290 Kaya sa kaliwa ay ang database, isa sa kung saan 330 00:16:45,290 --> 00:16:48,750 ay pset7 na hiniram ko mula sa susunod pset linggo, at pagkatapos ay sa tuktok 331 00:16:48,750 --> 00:16:51,570 may napansin mayroong isang bungkos ng mga tab, isa sa kung saan 332 00:16:51,570 --> 00:16:55,150 ay database, SQL, katayuan, mga user, i-export at iba pa. 333 00:16:55,150 --> 00:16:56,900 Kaya maaari kang pumunta sa isang mahabang paraan sa pamamagitan lamang ng napagtatanto 334 00:16:56,900 --> 00:16:59,770 na karamihan sa mga user interface ay nasa tuktok na kaliwang haligi 335 00:16:59,770 --> 00:17:02,650 at sa kanang tuktok up doon. 336 00:17:02,650 --> 00:17:04,980 Kaya kung ano ang maaari naming aktwal na gawin sa mga ito? 337 00:17:04,980 --> 00:17:08,609 Well, sa simulan ang paglikha ng isang ipaalam kaunting impormasyon tulad ng sumusunod. 338 00:17:08,609 --> 00:17:11,760 >> Ipagpalagay na ang mga sumusunod ay ang kaso, bilang ay sa loob lamang ng ilang araw, 339 00:17:11,760 --> 00:17:14,440 na nais mong ipatupad ang website, na tinatawag na CS50 Finance, 340 00:17:14,440 --> 00:17:17,328 at ang website na ito ay nagbibigay-daan bumili ka Ilagay sa mga sipi magpanipi at magbenta ng mga stock. 341 00:17:17,328 --> 00:17:19,619 At ito ay pagpunta sa maisip ang presyo ng mga stock, 342 00:17:19,619 --> 00:17:22,380 sa huli bilang makikita mo, sa pamamagitan ng pakikipag-usap sa Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Aling, kamangha-mangha, ay isang libreng serbisyo kung saan maaari mong pumasa sa isang ticker stock 344 00:17:26,250 --> 00:17:29,830 tulad ng GOOG para sa Google, at ito habilin bigyan ka pabalik kasalukuyang stock ng Google 345 00:17:29,830 --> 00:17:32,250 presyo sa loob ng nakalipas ilang minuto ng hindi bababa sa. 346 00:17:32,250 --> 00:17:35,080 >> Kaya gagamitin mo na, sa huli, upang magpanggap para sa user 347 00:17:35,080 --> 00:17:37,750 bumili at magbenta ng mga aktwal na mga stock gamit virtual na pera, 348 00:17:37,750 --> 00:17:39,750 ngunit ang unang bagay gumagamit ang nangyayari upang makita ang 349 00:17:39,750 --> 00:17:43,850 ay screen sa pag-login na ito na humihiling sa mga ito para sa kanilang username at password. 350 00:17:43,850 --> 00:17:46,540 At kaya, isa sa mga unang hamon para sa iyo sa pset7 351 00:17:46,540 --> 00:17:50,460 ay magiging upang ipatupad ang dulo pabalik database, spreadsheet kung habilin sa iyo, 352 00:17:50,460 --> 00:17:53,369 na pupuntahan iimbak mga pangalan ng user at password 353 00:17:53,369 --> 00:17:56,660 at sa huli kung ano ang mga stock na pagmamay-ari nila, at kung gaano karaming, at kung magkano ang cash mayroon sila, 354 00:17:56,660 --> 00:18:00,110 kaya isang bungkos ng iba pang mga bagay sa iba pang mga talahanayan, o mga spreadsheet. 355 00:18:00,110 --> 00:18:05,020 >> Kaya ipaalam sa tumagal ng isang pagtingin sa kung paano ito maaaring lumitaw sa unang tingin. 356 00:18:05,020 --> 00:18:06,980 Pupunta ako sa bumalik sa ang appliance at ako 357 00:18:06,980 --> 00:18:14,102 pagpunta sa pumunta sa URL na ito dito phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 at makikita mo na ito tumatagal sa akin sa isang interface 359 00:18:16,060 --> 00:18:18,520 nang eksakto tulad ng nakita natin sa screen shot, at dito ko 360 00:18:18,520 --> 00:18:21,560 May dagdag na database tinatawag na aralin para sa araw na 361 00:18:21,560 --> 00:18:24,280 at ipaalam sa akin sige una at mag-click sa pset7. 362 00:18:24,280 --> 00:18:27,940 >> Mukhang kong magkaroon ng ilang mga pagpipilian, isa para sa mga bagong, para sa paglikha ng isang bagong talahanayan, 363 00:18:27,940 --> 00:18:30,770 at isang link sa mga gumagamit, na ay isang talahanayan na ginawa ko na. 364 00:18:30,770 --> 00:18:31,790 Kaya kung ano ang isang talahanayan? 365 00:18:31,790 --> 00:18:33,740 Kaya kung ginamit mo ang Excel bago, at kung ikaw ay 366 00:18:33,740 --> 00:18:37,110 gamit na mga numero o Google Mga Spreadsheet, buksan up ka ng isang window 367 00:18:37,110 --> 00:18:39,350 at kumuha ka ng isang buong bungkos ng mga hilera at mga hanay, 368 00:18:39,350 --> 00:18:43,120 ngunit pagkatapos na karaniwan mong magkaroon ng mga worksheet sa ibaba, o hiwalay na mga tab. 369 00:18:43,120 --> 00:18:46,140 Maaari mong isipin na ang bawat worksheet bilang isang talahanayan 370 00:18:46,140 --> 00:18:51,150 upang ang database, sa huli, ay isang kombinasyon ng isa o higit pang mga talahanayan, isa 371 00:18:51,150 --> 00:18:54,064 o higit pang mga worksheet, sa mundo ng isang normal na spreadsheet. 372 00:18:54,064 --> 00:18:55,980 Kaya ipaalam sa akin sige at mag-click sa worksheet 373 00:18:55,980 --> 00:18:59,420 na premade ko, na tinatawag na mga gumagamit, kilala 374 00:18:59,420 --> 00:19:00,700 Database talahanayan. 375 00:19:00,700 --> 00:19:04,130 At kung mag-scroll pababa ko dito, hayaan mo akong mag-zoom out ng kaunti, 376 00:19:04,130 --> 00:19:08,479 ito ay kung ano ang phpMyAdmin ay nagsasabi sa amin ay sa loob ng talahanayan na ito ngayon. 377 00:19:08,479 --> 00:19:11,020 Ito ay isang maliit na nakalilito sa unang sulyap dahil ang UI ay hindi 378 00:19:11,020 --> 00:19:15,140 ang prettiest bagay sa mundo, ngunit kung ano ang kawili-wiling ay ang bahaging ito dito. 379 00:19:15,140 --> 00:19:17,970 ID, username, at hash. 380 00:19:17,970 --> 00:19:20,510 >> Nang maaga, at magagawa mong kamay ito sa problema magtakda ng pitong, 381 00:19:20,510 --> 00:19:25,050 bigyan ka namin ng isang file na naglalaman ng isang napakabilis maliit na talahanayan ng database, hiniram talaga 382 00:19:25,050 --> 00:19:27,070 mula sa hacker edisyon ng problema itakda ang dalawa, 383 00:19:27,070 --> 00:19:29,480 sa loob ng na mayroong anim na mga hilera. 384 00:19:29,480 --> 00:19:32,720 Isa para Belinda lahat ng paraan pababa sa isa para sa Zamyla, 385 00:19:32,720 --> 00:19:35,980 at napansin sa kaliwa ng mga na username ay natatanging ID tulad ng isang, 386 00:19:35,980 --> 00:19:39,410 dalawa, tatlo, apat, limang, anim, integer, at pagkatapos ay sa kanan ang mga hash. 387 00:19:39,410 --> 00:19:42,780 >> At kung, odds ay, hindi mo magawa itakda ang problema hacker edisyon ng dalawa, 388 00:19:42,780 --> 00:19:46,560 ngunit isang hash lamang tulad ng isang naka-encrypt na password sa ilang mga caveats. 389 00:19:46,560 --> 00:19:49,470 At kaya, kung ano ang iyong nakikita dito ay ang naka-encrypt na bersyon ng lahat ng anim na 390 00:19:49,470 --> 00:19:52,950 sa aming mga password mula sa problema itakda ang dalawang ni hacker edisyon. 391 00:19:52,950 --> 00:19:56,500 Ngayon sa kaliwa ay ilan lang bagay GUI, pag-edit ng hanay na ito, pagkopya ng hilera na ito, 392 00:19:56,500 --> 00:19:57,630 pagtanggal ng hanay na ito. 393 00:19:57,630 --> 00:19:59,840 >> Ngunit kung ano ang kawili-wiling ngayon ay ang sumusunod. 394 00:19:59,840 --> 00:20:03,810 Maaari ko talagang simulan -eksperimento sa talahanayan na ito. 395 00:20:03,810 --> 00:20:07,330 Kaya kung pumunta ako at i-click ang SQL tab, nakakatanggap ako ng malaking kahon ng teksto na ito. 396 00:20:07,330 --> 00:20:10,190 At hindi ito kung paano namin ang pagpunta sa gawin ito kapag aktwal na pagsusulat ng code. 397 00:20:10,190 --> 00:20:12,700 Upang maging malinaw, phpMyAdmin ay isang kasangkapan lamang na 398 00:20:12,700 --> 00:20:16,450 pagpunta sa ipaalam sa amin sundutin sa paligid ng database at ipaalam sa amin-eksperimento sa mga query. 399 00:20:16,450 --> 00:20:19,430 >> Kaya halimbawa, ipagpalagay Isagawa ko nang eksakto ito. 400 00:20:19,430 --> 00:20:22,820 Pumili ng, na kung saan ay isa sa mga keyword nabanggit ko mas maaga, bituin, 401 00:20:22,820 --> 00:20:25,900 na kumakatawan sa lahat mga haligi sa isang table. 402 00:20:25,900 --> 00:20:26,820 Mula sa kung ano ang talahanayan? 403 00:20:26,820 --> 00:20:27,990 Well, ang mga gumagamit. 404 00:20:27,990 --> 00:20:29,950 At notice mayroong ito kakaiba convention sa SQL 405 00:20:29,950 --> 00:20:32,140 kung saan aktwal mong gamitin ang bumalik ticks, karaniwan, 406 00:20:32,140 --> 00:20:35,940 hindi solong panipi at hindi double quote kapag makipag-usap sa iyo tungkol sa mga pangalan ng talahanayan, 407 00:20:35,940 --> 00:20:38,990 kaya ang quote pabalik ay ang bagay sa itaas na kaliwang kamay ng iyong keyboard pinaka 408 00:20:38,990 --> 00:20:39,720 malamang. 409 00:20:39,720 --> 00:20:41,850 >> Kaya ipaalam sa akin sige ngayon at mag-iwan lamang na mag-isa 410 00:20:41,850 --> 00:20:46,020 at mag-scroll pababa at i-click ang Go, at nagpapaumanhin kami talagang pagpunta upang makita ang mga parehong bagay. 411 00:20:46,020 --> 00:20:52,410 Kami ay ipinatupad lamang ng isang SQL query sinasabi piliin ang lahat ng bituin 412 00:20:52,410 --> 00:20:55,610 mula sa talahanayan na tinatawag na mga gumagamit, at kung ano ang makabalik ay na ito. 413 00:20:55,610 --> 00:20:58,400 Sa huli, magagawa naming upang gawin ang parehong bagay sa code, 414 00:20:58,400 --> 00:21:02,109 ngunit sa ngayon ang lahat Nais kong huwag ay makita ito sa aking browser. 415 00:21:02,109 --> 00:21:03,900 Gawin ang isang bagay na rin ipaalam medyo naiiba. 416 00:21:03,900 --> 00:21:08,330 Hayaan akong bumalik sa tab na SQL, at sabihin nating lamang na ano? 417 00:21:08,330 --> 00:21:11,520 Zamyla ay mawawala ang lahat ng kanyang pera, at samakatuwid ito 418 00:21:11,520 --> 00:21:13,190 oras para sa amin upang tanggalin ang kanyang bilang isang gumagamit. 419 00:21:13,190 --> 00:21:14,630 Hindi na niya pag-log in. 420 00:21:14,630 --> 00:21:18,870 >> Kaya ako ng pagpunta sa sabihin tanggalin from-- na rin, panatilihin ang paggamit ng malaking titik 421 00:21:18,870 --> 00:21:23,080 para sa pagkakapare-pareho, tanggalin mula sa mga user kung saan. 422 00:21:23,080 --> 00:21:25,430 At kaya, maaari kaming magkaroon ang mga predicates, o mga 423 00:21:25,430 --> 00:21:31,180 qualifiers, sa pagtatapos ng aking statement kung saan at kung paano ko tatanggalin ang Zamyla? 424 00:21:31,180 --> 00:21:34,190 Sa pamamagitan ng kanyang pangalan Zamyla, kaya ang haligi, isa sa mga haligi 425 00:21:34,190 --> 00:21:37,950 ay pinangalanang, kaya kung saan name = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 At dito ko bang gamitin ang double quote o solong quote, 427 00:21:40,000 --> 00:21:42,958 gagamitin mo lang ang likod ticks kapag pinag-uusapan ng mga pangalan, halimbawa, 428 00:21:42,958 --> 00:21:45,130 ng mga talahanayan o mga patlang. 429 00:21:45,130 --> 00:21:47,440 At hayaan mo akong i-click ang Pumunta rito. 430 00:21:47,440 --> 00:21:50,400 At ngayon, ang web page ay pagiging isang maliit na uptight. 431 00:21:50,400 --> 00:21:53,620 >> O kaya, huwag mo ba talagang upang maisagawa tanggalin mula sa mga user kung saan ang pangalan ay katumbas ng Zamyla? 432 00:21:53,620 --> 00:21:54,680 Oo. 433 00:21:54,680 --> 00:22:01,900 Kaya ngayon, kung pumunta namin pabalik sa aking mga talahanayan sa pamamagitan ng pag-click sa mga gumagamit, mapapansin na ang Hm. 434 00:22:01,900 --> 00:22:02,530 Goofed ko. 435 00:22:02,530 --> 00:22:04,070 At sa katunayan, uri ako ng -click ang layo kaya mabilis 436 00:22:04,070 --> 00:22:06,195 mo ay hindi kahit na makita ang pulang mensahe ng error, marahil. 437 00:22:06,195 --> 00:22:07,649 Ano ang gagawin ko mali? 438 00:22:07,649 --> 00:22:09,690 Madla: Hindi mo kailangan upang mapakinabangan ang kanyang pangalan. 439 00:22:09,690 --> 00:22:11,260 David J. MALAN: Oo ako Isulat sa malaking titik ang kanyang pangalan, 440 00:22:11,260 --> 00:22:13,770 ngunit ang kanyang username-- ko talaga ginawa ng ilang mga pagkakamali, tama? 441 00:22:13,770 --> 00:22:16,720 One, ang kanyang username ay zamyla, maliliit na titik Z, 442 00:22:16,720 --> 00:22:20,140 at ang pangalan ng hanay ay username, hindi pangalanan, kaya ang gawin muli ang ipaalam. 443 00:22:20,140 --> 00:22:25,750 Hayaan akong sige at tanggalin mula sa mga user kung saan 444 00:22:25,750 --> 00:22:28,990 username ay katumbas ng quote magpanipi "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Ang lahat ng mga karapatan? 446 00:22:29,490 --> 00:22:32,600 Kaya ito ang hitsura ng isang maliit na mas mahusay, sabihin sa akin pumunta mag-scroll pababa at i-click ang Go. 447 00:22:32,600 --> 00:22:34,730 Ito ay nangyayari pa rin sa sumigaw sa akin upang makatiyak. 448 00:22:34,730 --> 00:22:37,500 -Click ako Oo, at ngayon ay nakikita natin, nang tapat na nangyari ito, talaga 449 00:22:37,500 --> 00:22:39,870 mabilis, mas mababa sa isang pangalawang tiyak, ito 450 00:22:39,870 --> 00:22:41,720 ay eksaktong query na Kaka-pinaandar. 451 00:22:41,720 --> 00:22:45,617 Upang kumpirmahin, hayaan mo akong i-click ang user at sa katunayan ngayon Zamyla ay nawala. 452 00:22:45,617 --> 00:22:46,700 Ngayon gawin ang mga tapat ipaalam. 453 00:22:46,700 --> 00:22:49,320 Ipagpalagay na Gabe ay nais na magparehistro para sa website. 454 00:22:49,320 --> 00:22:52,825 Ano ang SQL query, kung ano ang command na maaaring nagta-type ako upang magdagdag ng Gabe? 455 00:22:52,825 --> 00:22:54,200 Well ito ay medyo simple. 456 00:22:54,200 --> 00:22:58,260 Ipasok sa mga gumagamit, at ngayon ito ay makakakuha ng isang maliit na misteryosong. 457 00:22:58,260 --> 00:23:03,190 Kailangan ko bang tukuyin, sa server, kung ano ang mga field na gusto kong italaga. 458 00:23:03,190 --> 00:23:06,630 Hindi ko talagang pakialam kung ano ang ID Gabe ni bilang na ito ay, sa gayon Pupunta ako sa laktawan iyon. 459 00:23:06,630 --> 00:23:11,360 Sa halip Pupunta ako sa sabihin username, hash, at pagkatapos ay 460 00:23:11,360 --> 00:23:14,960 ang mga halaga na gusto kong ilagay doon ay magiging Gabe. 461 00:23:14,960 --> 00:23:16,800 At pagkatapos ay ang kanyang hash, hindi ko alam. 462 00:23:16,800 --> 00:23:19,900 Kaya sa ngayon, pupunta ako sa umalis na bilang ng malaking gawin. 463 00:23:19,900 --> 00:23:21,650 Darating kami pabalik sa na sa set ang problema 464 00:23:21,650 --> 00:23:23,390 spec bilang sa kung paano mo talagang gawin iyon. 465 00:23:23,390 --> 00:23:24,630 >> Kaya mapansin, muli, ang syntax. 466 00:23:24,630 --> 00:23:28,430 Ipasok ang pangalan sa table, pagkatapos ay isang parenthesized listahan ng mga patlang, 467 00:23:28,430 --> 00:23:30,980 ang mga haligi na gusto mong idagdag mga halaga sa, at pagkatapos lamang 468 00:23:30,980 --> 00:23:34,495 ang parehong eksaktong pagkakasunud-sunod ang natitira upang kanan ng halaga na nais mong idagdag, 469 00:23:34,495 --> 00:23:36,870 at ito lamang wrapping dahil ang teksto ay isang maliit na mahaba. 470 00:23:36,870 --> 00:23:38,520 Kaya ngayon hayaan mo akong i-click ang Go. 471 00:23:38,520 --> 00:23:39,830 Ipinasok ang isang hilera. 472 00:23:39,830 --> 00:23:43,020 At ngayon kung pumunta ako pabalik sa gumagamit, kung ano ang kawili-wiling 473 00:23:43,020 --> 00:23:48,960 ay hindi lamang ay Gabe na ngayon sa database, kung ano ang tila ang kanyang ID? 474 00:23:48,960 --> 00:23:49,820 >> Well ito ay pitong. 475 00:23:49,820 --> 00:23:51,479 Bakit ito pitong kapag ako ay hindi idagdag ito? 476 00:23:51,479 --> 00:23:54,020 Kaya ito, masyadong, ay isa sa mga mga tampok makakakuha ka ng database. 477 00:23:54,020 --> 00:23:55,750 Isang maraming mga built in na pagpapagana. 478 00:23:55,750 --> 00:23:57,950 Ito ay lumiliko out na kapag Nilikha ang table na ito, 479 00:23:57,950 --> 00:24:01,390 Preconfigured ko ito Awtomatikong magtalaga ng isang ID sa paraan 480 00:24:01,390 --> 00:24:02,480 na mga palugit. 481 00:24:02,480 --> 00:24:05,470 Kaya kung sakaling mo poked sa paligid, at tumingin sa kung ano ang iyong Facebook ID 482 00:24:05,470 --> 00:24:09,292 bilang na ito ay, mga araw na ito ito ay hindi talaga ang isang bagay na gawin, ngunit Facebook bilang isang API, 483 00:24:09,292 --> 00:24:11,750 Application Programming Interface, kung saan maaari kang makakuha ng bumalik 484 00:24:11,750 --> 00:24:14,430 ang maramihang mga data tungkol sa sa iyong sarili, tungkol sa iyong mga kaibigan, 485 00:24:14,430 --> 00:24:15,347 at ang iyong koneksyon. 486 00:24:15,347 --> 00:24:17,430 At kung ano ang ginamit upang maging uri ng mga cool na, bumalik sa araw, 487 00:24:17,430 --> 00:24:19,510 ay upang hanapin kung ano ang iyong Numero ng ID ng Facebook ay. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg ng, halimbawa, ay tatlong 489 00:24:22,390 --> 00:24:23,890 dahil siya ang may-akda ng site. 490 00:24:23,890 --> 00:24:27,610 At bilang napupunta ang kuwento, lumikha siya dalawang pagsubok na account, mga user ng isa at dalawa, 491 00:24:27,610 --> 00:24:28,690 na pagkatapos ay tinanggal niya. 492 00:24:28,690 --> 00:24:32,780 At kaya, Zuck, pati na ang kanyang username sa Facebook, ay ID number tatlo, 493 00:24:32,780 --> 00:24:36,110 at sa aming lahat ay may mga numero ng marami mas malaki kaysa sa tatlong mga araw na ito. 494 00:24:36,110 --> 00:24:37,980 Sa katunayan, sa isang punto Inilipat ang layo Facebook 495 00:24:37,980 --> 00:24:42,410 mula sa kahit na gamit ang isang int, na ay isang 32-bit na halaga, sa paggamit 496 00:24:42,410 --> 00:24:44,480 ang susunod na hakbang up, mahalagang ng mahabang mahaba kaya 497 00:24:44,480 --> 00:24:47,150 na maaaring sila ay tumanggap ng higit pang mga user sa pagrerehistro. 498 00:24:47,150 --> 00:24:49,420 Kaya isang masaya maliit na makasaysayang katotohanan. 499 00:24:49,420 --> 00:24:51,660 >> Kaya ito lamang ang pangunahing syntax kung saan 500 00:24:51,660 --> 00:24:54,470 maaari naming magsagawa ng isang pares ng mga mga query, ngunit maaari naming aktwal 501 00:24:54,470 --> 00:24:56,744 gawin ang isang bungkos ng higit pang mga bagay sa SQL. 502 00:24:56,744 --> 00:24:58,910 At makikita mo, sa huli, sa problema magtakda ng pitong 503 00:24:58,910 --> 00:25:01,034 na mayroon ka upang magsagawa ng bilang ng mga pasya sa disenyo, 504 00:25:01,034 --> 00:25:03,290 kasama ng mga ito ay magiging kung ano ang mga uri ng data na gagamitin. 505 00:25:03,290 --> 00:25:08,240 Kaya tulad ng sa C, may mga data mga uri sa isang database, tulad ng MySQL, 506 00:25:08,240 --> 00:25:12,640 at ang mga uri ng data kailangan mong pumili mula isama ang mga field dito. 507 00:25:12,640 --> 00:25:17,287 Pansamantalang trabaho, varchar, Int, malaki int, decimal at oras ng petsa, at marami pang iba. 508 00:25:17,287 --> 00:25:18,370 Kaya sabihin aktwal na gawin ito. 509 00:25:18,370 --> 00:25:21,060 Ng magpanggap na aming ginawa ay hindi Hayaan kamay mo ang talahanayan ng user na ito 510 00:25:21,060 --> 00:25:25,080 at ipaalam sa akin sige at lumikha, para sa sarili ko, sa mga aralin database-- 511 00:25:25,080 --> 00:25:31,000 talagang ipaalam sa akin sige at tanggalin talahanayan Mayroon akong in dito na 512 00:25:31,000 --> 00:25:32,940 sa gayon ay maaari talagang kaming lumikha na ito. 513 00:25:32,940 --> 00:25:33,550 Oops. 514 00:25:33,550 --> 00:25:35,970 Pupunta ako sa drop ito talahanayan, at ngayon ako ay 515 00:25:35,970 --> 00:25:38,337 pagpunta sa pumunta muli sa magbigay ng panayam database sa paglipas dito, 516 00:25:38,337 --> 00:25:40,420 Pupunta ako upang lumikha ng talahanayan na tinatawag na mga user at sabihin 517 00:25:40,420 --> 00:25:43,010 lamang gawin ng tatlong mga hanay sa simula at i-click ang Go. 518 00:25:43,010 --> 00:25:44,990 >> Ngayon, para sa nakararaming bahagi, muli, ito ay lamang 519 00:25:44,990 --> 00:25:48,570 gamit ang mga graphical na tool na tinatawag na phpMyAdmin, at kung anong ginagawa namin ngayon 520 00:25:48,570 --> 00:25:49,600 ay lumilikha ng isang table. 521 00:25:49,600 --> 00:25:53,170 Kaya ito ay tulad ng pagpunta File, New, at ang paglikha ng bagong Excel file. 522 00:25:53,170 --> 00:25:55,440 Kaya humihiling ako ng ilang katanungan, mula kaliwa papuntang kanan, 523 00:25:55,440 --> 00:25:58,620 ano ang pangalan ng unang haligi, at pagkatapos ay ang pangalan ng ikalawang hanay, 524 00:25:58,620 --> 00:25:59,560 at ang pangalan ng ikatlong. 525 00:25:59,560 --> 00:26:00,518 Kaya ng muling likhain ito ipaalam. 526 00:26:00,518 --> 00:26:05,460 ID, at pagkatapos username ay isa, at pagkatapos ay i-hash ay isa pa. 527 00:26:05,460 --> 00:26:08,970 Kaya kung ano ang dapat na ang uri ng data maging para sa isang patlang tulad ng ID ngayon? 528 00:26:08,970 --> 00:26:14,470 >> Narito ang buong listahan ng mga uri ng data magagamit mo sa isang database, 529 00:26:14,470 --> 00:26:16,070 at sa ngayon hayaan pumunta lamang na may int. 530 00:26:16,070 --> 00:26:18,160 32-bit na halaga, gagawin ko hindi Sa tingin realistically ako 531 00:26:18,160 --> 00:26:21,484 pagpunta sa magkaroon ng higit sa 4000000000 mga user sa aking account, sa aking serbisyo, 532 00:26:21,484 --> 00:26:23,650 kaya ako pupunta upang panatilihing gumagalaw sa susunod na tanong. 533 00:26:23,650 --> 00:26:25,490 Hindi ako pupunta upang tukuyin ang ng haba o mga halaga, 534 00:26:25,490 --> 00:26:28,540 hindi naaangkop dito para sa isang int, per se. 535 00:26:28,540 --> 00:26:30,740 At ngayon maaari kong tukuyin, sa malas, isang default 536 00:26:30,740 --> 00:26:33,970 halaga, na hindi ako pagpunta sa tinukoy. 537 00:26:33,970 --> 00:26:36,050 Ang isang paghahambing, hindi ko alam kung ano na. 538 00:26:36,050 --> 00:26:37,290 Isang katangian. 539 00:26:37,290 --> 00:26:39,455 Ngayon talaga naming gawin magkaroon ng desisyon disenyo. 540 00:26:39,455 --> 00:26:42,580 Kaya mayroong ilang mga field dito, hindi lahat ng na kung saan ay naaangkop, ngunit wala pang kontratang 541 00:26:42,580 --> 00:26:43,380 Nangangahulugan lamang kung ano? 542 00:26:43,380 --> 00:26:45,400 Na ang int ay dapat na? 543 00:26:45,400 --> 00:26:46,210 Lamang hindi-negatibong. 544 00:26:46,210 --> 00:26:48,090 Kaya ito ay dapat na 0 hanggang sa. 545 00:26:48,090 --> 00:26:51,120 Hindi, hindi ako pupunta upang suriin dahil Gusto kong sa bawat user na magkaroon ng isang ID, 546 00:26:51,120 --> 00:26:52,470 hindi ito maaaring maging null. 547 00:26:52,470 --> 00:26:55,949 At pagkatapos, makuha namin sa ilang higit pa kagiliw-giliw na mga pasya sa disenyo tulad nito. 548 00:26:55,949 --> 00:26:58,990 Darating kami pabalik sa ito sa isang sandali, ngunit kung ano ang isa pang tampok ng database 549 00:26:58,990 --> 00:27:04,200 ay, ay na maaari mong sabihin ang server ng database sige 550 00:27:04,200 --> 00:27:07,100 at i-optimize ang iyong sarili, ang iyong RAM at ang iyong mga puwang sa hard disk, 551 00:27:07,100 --> 00:27:11,770 nang sa gayon ay pumipili, at pagsingit, at tinatanggal, at mga update ay talagang mabilis. 552 00:27:11,770 --> 00:27:13,250 Contrast ito sa pset5. 553 00:27:13,250 --> 00:27:16,259 >> Kung nais mong maghanap ng isang bagay sa iyong talahanayan ng hash, na 554 00:27:16,259 --> 00:27:18,300 sa tingin mo ng bilang isang database, na nagkaroon na gawin ang lahat ng 555 00:27:18,300 --> 00:27:21,500 gumagana para sa paggawa ng mabilis ng iyong talahanayan ng hash. 556 00:27:21,500 --> 00:27:22,840 Ito ay tulad ng kung, malinaw naman, sa iyo. 557 00:27:22,840 --> 00:27:23,060 Mag-right? 558 00:27:23,060 --> 00:27:26,080 Ikaw ay nagkaroon ang ilalagay sa lahat ng oras masarap tune sa mga bagay, pagkuha ng hash 559 00:27:26,080 --> 00:27:27,820 karapatan, ang pag-uunawa kung paano maraming mga bucket upang magkaroon ng. 560 00:27:27,820 --> 00:27:29,611 >> Ngunit kung ano ang magaling, muli, tungkol sa isang database ay 561 00:27:29,611 --> 00:27:31,762 magtikin mo lamang ang lahat ng ito sa ibang mga tao 562 00:27:31,762 --> 00:27:33,720 na naisip na ito sa pamamagitan ng para sa iyo, at kung ano ang 563 00:27:33,720 --> 00:27:37,170 Pupunta ako sa sabihin dito sa ilalim ng index ay field ang aking ID na 564 00:27:37,170 --> 00:27:41,149 Mawawala na maging pangunahing paraan ng sa pagtukoy ng mga user sa database. 565 00:27:41,149 --> 00:27:42,940 Hindi ako pupunta sa tingin ng Zamyla bilang Zamyla, 566 00:27:42,940 --> 00:27:45,800 Pupunta ako sa tingin ng kanyang ng bilang 6. 567 00:27:45,800 --> 00:27:49,814 >> Bakit ito ay, marahil, mas mahusay na intuitively isipin at modelo 568 00:27:49,814 --> 00:27:52,480 bawat isa sa iyong mga indibidwal na mga hilera gamit isang numero sa halip ng isang bagay 569 00:27:52,480 --> 00:27:56,480 tulad ng isang string, tulad ng Zamyla o Gabe o mas matagal string pa rin? 570 00:27:56,480 --> 00:27:57,444 Oo? 571 00:27:57,444 --> 00:28:00,117 >> Madla: Isang ID ay natatangi? 572 00:28:00,117 --> 00:28:01,200 David J. MALAN: Sabihin muli? 573 00:28:01,200 --> 00:28:02,283 Madla: Isang ID ay natatangi? 574 00:28:02,283 --> 00:28:04,400 David J. MALAN: Isang ID ay natatangi, ngunit suppose-- 575 00:28:04,400 --> 00:28:06,320 tulad ng kaso sa pangkalahatan may mga username, ipagpalagay 576 00:28:06,320 --> 00:28:10,110 Din sinabi ko doon lamang maging isa Zamyla sa mundo, at isa lamang Gabe. 577 00:28:10,110 --> 00:28:13,730 Maaari akong magpataw sa pagiging natatangi Hadlang sa mga string, masyadong, kung nais ko. 578 00:28:13,730 --> 00:28:15,550 Kaya hindi isang masamang pag-iisip. 579 00:28:15,550 --> 00:28:16,500 >> Madla: Higit pang mga secure na. 580 00:28:16,500 --> 00:28:17,874 >> David J. MALAN: Higit pang mga secure na, bakit? 581 00:28:17,874 --> 00:28:20,705 Madla: Hindi mo maaaring sabihin na ay na, tulad ng sa user. 582 00:28:20,705 --> 00:28:22,580 David J. MALAN: OK, mo hindi masasabi kung saan ang user 583 00:28:22,580 --> 00:28:24,380 ay kaya na mayroong isang aspect sa privacy dito, 584 00:28:24,380 --> 00:28:27,810 lalo na kung ang mga ID ng siguro lumilitaw sa mga URL. 585 00:28:27,810 --> 00:28:29,960 Kaya ba, na maaari uri ng trabaho, masyadong. 586 00:28:29,960 --> 00:28:30,640 Iba pang mga saloobin? 587 00:28:30,640 --> 00:28:31,383 Oo? 588 00:28:31,383 --> 00:28:34,316 >> Madla: Mas madali na magsagawa ng mga pagpapatakbo sa isang int. 589 00:28:34,316 --> 00:28:35,940 David J. MALAN: Iyan ang tunay na kabayong naninipa. 590 00:28:35,940 --> 00:28:38,850 Ito ay lamang mas mahusay, o mas madali para sa mga computer, 591 00:28:38,850 --> 00:28:40,431 upang magsagawa ng mga pagpapatakbo sa isang integer. 592 00:28:40,431 --> 00:28:40,930 Mag-right? 593 00:28:40,930 --> 00:28:43,905 Isang int ay garantisadong maging 32-bit, samantalang Zamyla 594 00:28:43,905 --> 00:28:47,660 Ilang character ang haba, Gabriel Ilang higit pang mga character ang haba, 595 00:28:47,660 --> 00:28:51,930 Maringal na aparador ay talagang ang haba, at kaya hindi partikular na mahusay na gamitin ang 596 00:28:51,930 --> 00:28:55,860 mga string upang ihambing ang mga halaga at hanapin para sa mga patlang, at i-update patlang, 597 00:28:55,860 --> 00:28:57,790 kung maaari kang makakuha ng layo sa pamamagitan lamang ng isang integer. 598 00:28:57,790 --> 00:28:59,090 Bits 32 lang. 599 00:28:59,090 --> 00:29:02,570 Kaya username, masyadong, sa ganitong paraan, Hindi mo na kailangang maging natatangi, 600 00:29:02,570 --> 00:29:05,040 bagaman marahil sila ay dapat maging, at kahit sa paraang ito masyadong 601 00:29:05,040 --> 00:29:07,520 ma-pinapayagan ng isang user sa baguhin ang kanyang username. 602 00:29:07,520 --> 00:29:10,810 >> Kaya ipaalam umalis ngayon ito bilang pangunahing paraan ng pagkilala sa mga user. 603 00:29:10,810 --> 00:29:13,510 Ito ay nagsasabi sa database sige at i-optimize ang iyong sarili 604 00:29:13,510 --> 00:29:17,065 upang ang hitsura up sa ID ay sobrang bilis. 605 00:29:17,065 --> 00:29:19,620 AI, horribly may pangalang, lamang Nangangahulugan Auto pagdaragdag, 606 00:29:19,620 --> 00:29:21,500 at ito ang tseke kahon kailangan namin upang suriin 607 00:29:21,500 --> 00:29:24,614 upang tukuyin na ang field ID upang awtomatikong update para sa akin, 608 00:29:24,614 --> 00:29:26,530 at pagkatapos ay pupuntahan ko mag-scroll sa kanan dito 609 00:29:26,530 --> 00:29:29,279 at lantaran Hindi ako talagang interesado sa anumang higit pa sa mga patlang na ito. 610 00:29:29,279 --> 00:29:30,630 Tiyak na hindi ngayon. 611 00:29:30,630 --> 00:29:33,770 >> Kaya pupuntahan ko bumalik dito, sa unang hanay, kung saan 612 00:29:33,770 --> 00:29:35,830 Kailangan ko bang tukuyin ang username at hash, at sabihin 613 00:29:35,830 --> 00:29:38,080 hindi bababa sa pagtuon sa pangalawang isa para sa ngayon. 614 00:29:38,080 --> 00:29:41,498 Int Marahil hindi ito ang tamang tawag, kaya kung bakit ang higit pang mga kahulugan marahil? 615 00:29:41,498 --> 00:29:42,741 >> Madla: Text. 616 00:29:42,741 --> 00:29:43,824 David J. MALAN: Sabihin muli? 617 00:29:43,824 --> 00:29:44,710 Madla: Text. 618 00:29:44,710 --> 00:29:44,980 David J. MALAN: Text? 619 00:29:44,980 --> 00:29:45,590 OK, narinig ko na teksto. 620 00:29:45,590 --> 00:29:46,090 Ano pa? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Uri ng namin ay may isang bungkos ng mga pagpipilian na tekstuwal sa kalikasan. 623 00:29:53,860 --> 00:29:55,990 Kaya kapag, at kung bakit, gawin gamitin mo ang ilan sa mga ito? 624 00:29:55,990 --> 00:29:59,560 Well pansamantalang trabaho, salungat sa kung ano ang maaari kang Sa tingin, ay hindi isang solong character. 625 00:29:59,560 --> 00:30:01,550 Ito ay isang tiyak na bilang ng mga character. 626 00:30:01,550 --> 00:30:04,600 Kaya kung alam namin na ang lahat ng mga username dapat na tulad ng walong mga character, 627 00:30:04,600 --> 00:30:08,490 bilang ginamit upang maging karaniwan sa mga mas lumang mga computer system, maaari akong sabihin char 628 00:30:08,490 --> 00:30:09,830 at pagkatapos ay maaari kong sabihin 8 dito. 629 00:30:09,830 --> 00:30:12,930 Iyon ay kapag naging ikatlong haligi naaangkop kapag lumilikha ng isang table. 630 00:30:12,930 --> 00:30:15,450 >> Ngunit iyon lamang ang uri ng nakakainis dahil ang ilang mga tao maaari 631 00:30:15,450 --> 00:30:17,660 Nais na magkaroon ng mas mahabang username sa walong mga character, 632 00:30:17,660 --> 00:30:19,743 Maaaring gusto ilang mga tao na magkaroon ng isang mas maikling username, 633 00:30:19,743 --> 00:30:22,210 kaya kung bakit gumawa ng sarili ko sa isang tiyak na numero? 634 00:30:22,210 --> 00:30:24,710 Bakit hindi magkaroon ng isang variable bilang ng mga karakter at lang 635 00:30:24,710 --> 00:30:28,580 sabihin na ang maximum na haba ng pangalan ay, hindi ko alam, tulad ng 64 na character. 636 00:30:28,580 --> 00:30:31,780 Hindi ako makapag-isip ng anumang mga kaibigan na May mga pangalang mas mahaba kaysa sa 64 mga character, 637 00:30:31,780 --> 00:30:34,810 at kahit na masyadong maikli maaari mong tiyak paga ito up nagkataon. 638 00:30:34,810 --> 00:30:37,330 >> Kaya varchar ay isang variable bilang ng mga karakter. 639 00:30:37,330 --> 00:30:41,010 Teksto ay hindi isang masamang likas na hilig, at tapat na pag-uuri ng ginagawa kung ano ang sinasabi nito, 640 00:30:41,010 --> 00:30:45,460 ngunit isang field ng teksto ay maaaring maging tulad ng 65,000 mga byte ng hindi bababa sa. 641 00:30:45,460 --> 00:30:50,790 Iyon ay marahil overkill para sa isang na field, at sa katunayan, Yup, 65,535. 642 00:30:50,790 --> 00:30:53,740 Iyon ay marahil overkill para sa isang pangalanan, kaya gagamitin namin manatili, karaniwang, 643 00:30:53,740 --> 00:30:56,910 may varchars para sa tekstuwal patlang at hash, masyadong. 644 00:30:56,910 --> 00:30:59,990 Hash, ito ay lumiliko out, maaari naming gawin ang isang varchar pati na rin o isang bagay tulad na, 645 00:30:59,990 --> 00:31:03,080 ngunit hindi namin tumuon ngayon sa Cryptography doon at ang mga numero 646 00:31:03,080 --> 00:31:05,210 na maaari talaga namin Nais na gagamitin para sa haba nito. 647 00:31:05,210 --> 00:31:07,430 >> Ngunit hayaan mo akong mag-scroll pababa sa kanan. 648 00:31:07,430 --> 00:31:11,280 Maaari ka lamang magkaroon ng isa pangunahing index para sa isang table, 649 00:31:11,280 --> 00:31:16,380 ngunit ko nais na ilapat ang anuman sa mga ito, ngayon, sa username, nais mong sabihin? 650 00:31:16,380 --> 00:31:21,980 Ano ang dapat username ay batay sa isang walang katiyakan pang-unawa ng mga apat na mga pagpipilian? 651 00:31:21,980 --> 00:31:23,340 Sa pamamagitan lamang ng kanilang mga pangalan? 652 00:31:23,340 --> 00:31:24,140 >> Madla: Natatanging. 653 00:31:24,140 --> 00:31:25,100 >> David J. MALAN: Kaya natatangi, tama? 654 00:31:25,100 --> 00:31:28,190 Kaya ito ay lumiliko out na hindi lamang ng dati mong sabihin sa isang database, nang maaga, 655 00:31:28,190 --> 00:31:30,380 ito ay ang pangunahing paraan ng pagkilala sa mga patlang. 656 00:31:30,380 --> 00:31:32,990 Maaari mo ring sabihin na ito ay magiging isang natatanging field. 657 00:31:32,990 --> 00:31:34,700 Hindi ito magiging ang bagay na umasa ako sa, 658 00:31:34,700 --> 00:31:38,490 ngunit Gusto ko ang database upang mahalagang mayroon na kung kondisyon, kaya 659 00:31:38,490 --> 00:31:42,340 na kung sakaling ko sinubukang magparehistro dalawang mga gumagamit na may katulad na pangalan, 660 00:31:42,340 --> 00:31:44,360 ang database ng flat out Hindi pagpunta sa ipaalam sa akin. 661 00:31:44,360 --> 00:31:47,490 Maaari ba akong magkaroon ng ilang karagdagang code sa PHP na pumipigil sa bilang magkano, 662 00:31:47,490 --> 00:31:50,640 ngunit ang database, masyadong, matitiyak na hindi na pupuntahan mangyari. 663 00:31:50,640 --> 00:31:53,370 >> Ngayon, bilang isang bukod, lalo na bilang isip tungkol sa huling proyekto, 664 00:31:53,370 --> 00:31:57,030 tandaan ito index at buong teksto ay aktwal na medyo kapaki-pakinabang. 665 00:31:57,030 --> 00:32:01,080 Kung mayroon kang isang mas malaking database, hindi sa dose-dosenang, ngunit may daan-daan o libu-libong 666 00:32:01,080 --> 00:32:05,270 o kahit milyun-milyong ng mga patlang, maaari mong sabihin din ang database nang maaga 667 00:32:05,270 --> 00:32:07,980 ito ay isang patlang na pupuntahan ko na naghahanap sa maraming. 668 00:32:07,980 --> 00:32:10,520 Siguro username nito, marahil ito ay bio, kung ikaw ay 669 00:32:10,520 --> 00:32:13,750 paggawa ng Facebook-tulad ng website na May mga talata na ang mga gumagamit pinapayagan 670 00:32:13,750 --> 00:32:16,799 i-save, at kung nais mong sabihin sa database nang maaga 671 00:32:16,799 --> 00:32:20,090 Pupunta ako sa ay naghahanap sa field na ito ng maraming, ngunit ito ay hindi nangangahulugang natatangi, 672 00:32:20,090 --> 00:32:22,800 maaari mong tukuyin ang lumikha sa akin ng isang index. 673 00:32:22,800 --> 00:32:27,990 O kaya, maaari mong sabihin ring payagan ako gawin uri ng di-makatwirang mga paghahanap tulad ng Command 674 00:32:27,990 --> 00:32:30,420 o Control F, na tulad mo maaari sa isang Word Processor, 675 00:32:30,420 --> 00:32:34,184 kaya maaari kang tumingin arbitrary string o substrings sa patlang na ito. 676 00:32:34,184 --> 00:32:36,600 Sa ibang salita, namin nakukuha sa punto sa semestre 677 00:32:36,600 --> 00:32:40,720 kung saan hindi mo kailangang mag-alala tungkol sa kung paano ipatupad ang mga bagay na mahusay. 678 00:32:40,720 --> 00:32:44,540 Kailangan mo lamang malaman tungkol sa kung ano ang mga pasya sa disenyo upang gumawa ng sa gayon ay handa mo 679 00:32:44,540 --> 00:32:48,470 gamit ang mga tamang tool para sa pangangalakal upang makakuha ng mga tampok 680 00:32:48,470 --> 00:32:50,380 na ang ibang mga tao na binuo para sa iyo. 681 00:32:50,380 --> 00:32:54,240 Kaya sa pagbabalik-tanaw, pangunahing dapat lamang magkaroon ng isa, maaari ka lamang magkaroon ng isa, 682 00:32:54,240 --> 00:32:59,630 at ito ang bagay na iyong tanggapin ang alok sa gamit sa pagtukoy ng mga patlang katangi-tangi. 683 00:32:59,630 --> 00:33:02,710 Mga natatanging ay katulad lamang ng sa espiritu, ngunit maaari mong gamitin lamang paminsan-minsan ito, 684 00:33:02,710 --> 00:33:04,530 ngunit nais mo ang database na magpataw ito. 685 00:33:04,530 --> 00:33:08,050 Index lamang ay nangangahulugan preemptively mapabilis ang mga bagay sa hinaharap 686 00:33:08,050 --> 00:33:10,230 nang sa gayon ay maaari kong maghanap para sa bagay sa patlang na ito. 687 00:33:10,230 --> 00:33:13,700 At pagkatapos ay ang buong teksto ay pangkalahatan ay para sa talata, o sanaysay, o malaking katawan 688 00:33:13,700 --> 00:33:16,270 ng teksto kung saan mo Maaaring gusto ring magkaroon 689 00:33:16,270 --> 00:33:19,420 ligaw na card tulad ng katumbas ng bituin. 690 00:33:19,420 --> 00:33:19,920 I-right. 691 00:33:19,920 --> 00:33:22,580 >> Kaya na uri ng Marami sa lahat nang sabay-sabay. 692 00:33:22,580 --> 00:33:25,220 Tingnan natin kung hindi namin magdistila Hayaan ng dalawang mga tampok na ito 693 00:33:25,220 --> 00:33:29,540 at pagkatapos ay bumuo ng isang bagay medyo simple, ngunit makapangyarihang. 694 00:33:29,540 --> 00:33:31,380 Kaya bukod sa iba pang mga mga pasya sa disenyo ikaw ay 695 00:33:31,380 --> 00:33:34,005 sa huli ng pagpunta sa mayroon ay kasama ang mga linya ng imbakan engine. 696 00:33:34,005 --> 00:33:37,370 At hayaan ang gumawa sa akin lamang pagbanggit ng ito sa pag-asa ng panghuling proyekto, 697 00:33:37,370 --> 00:33:42,020 at pag-asa ng let ni say-- hindi na gawin ito ipaalam. 698 00:33:42,020 --> 00:33:43,820 Ay bumuo ng maliit na ito Hayaan application muna. 699 00:33:43,820 --> 00:33:48,070 Pupunta ako upang pumunta sa aking terminal window, at sa dito ay hindi 700 00:33:48,070 --> 00:33:52,500 lamang counter.php, na ngayon kami ay pagpunta upang mapupuksa ang bilang hindi na dyermeyn, 701 00:33:52,500 --> 00:33:54,570 ngunit mayroon kaming isang buong bungkos ng mga direktoryo at ito 702 00:33:54,570 --> 00:33:58,080 ay magiging katulad na katulad sa espiritu sa kung ano ang makikita mo sa problema magtakda ng pitong. 703 00:33:58,080 --> 00:34:00,980 >> Kaya mayroon kaming tatlong mga direktoryo Kabilang sa mga pampubliko at mga template, na 704 00:34:00,980 --> 00:34:05,040 ay eksaktong kung saan kami huminto sa Lunes sa aming buong MVC tularan. 705 00:34:05,040 --> 00:34:09,290 At sa pagbabalik-tanaw, sa mga pampublikong ay pagpunta sa pumunta anumang file na gusto kong mga user na aktwal na 706 00:34:09,290 --> 00:34:12,969 v magagawang bisitahin ang sa kanilang browser sa pamamagitan ng URL. 707 00:34:12,969 --> 00:34:13,502 Template. 708 00:34:13,502 --> 00:34:14,710 Ano ang ilalagay namin sa template? 709 00:34:14,710 --> 00:34:17,070 Anong uri ng mga bagay-bagay? 710 00:34:17,070 --> 00:34:21,659 Nagkaroon hindi magkano ngunit sa ilang file ng hindi bababa sa Lunes. 711 00:34:21,659 --> 00:34:22,619 Oo. 712 00:34:22,619 --> 00:34:23,100 >> Madla: Header at Footer? 713 00:34:23,100 --> 00:34:24,516 >> David J. MALAN: Header at Footer. 714 00:34:24,516 --> 00:34:26,679 Kaya mayroon kaming isang bagay na katulad ngayon, masyadong. 715 00:34:26,679 --> 00:34:30,330 Nakakuha kami ng ilang higit pang mga file ngunit Footer nakikita ko, Header nakikita ko, 716 00:34:30,330 --> 00:34:31,909 at pagkatapos ay isang bungkos ng iba pang mga file. 717 00:34:31,909 --> 00:34:35,482 Kaya ito ay ang katumbas ng V MVC view, na kung saan, 718 00:34:35,482 --> 00:34:37,690 muli, ay magiging isang kaunti pa malinaw sa problema magtakda ng pitong, 719 00:34:37,690 --> 00:34:40,380 ngunit ito ay isang folder lang ako paglalagay ng maraming aking Estetika. 720 00:34:40,380 --> 00:34:42,840 Marami sa aking mga HTML, ng maraming ng aking mga form. 721 00:34:42,840 --> 00:34:46,899 Samantala, kasama nito, ay isa pang na direktoryo na mayroong tatlong mga file 722 00:34:46,899 --> 00:34:48,440 at hayaang tumagal ng isang mabilis na pagtingin sa mga ito. 723 00:34:48,440 --> 00:34:51,699 >> Pupunta ako sa sige at buksan up config.php. 724 00:34:51,699 --> 00:34:54,610 Bilang ito ay lumiliko out, magkano tulad ng mas maaga sa panahon, 725 00:34:54,610 --> 00:34:57,850 mo matalim na kasama CS50 tuldok h may pset7. 726 00:34:57,850 --> 00:35:00,780 Sa halimbawang ngayong araw, na iyong pupuntahan gawin ang katumbas ng na 727 00:35:00,780 --> 00:35:03,600 may nangangailangan ng pahayag na mabisang 728 00:35:03,600 --> 00:35:05,340 Kabilang sa mga iba't-ibang linya. 729 00:35:05,340 --> 00:35:08,225 Kaya maging malinaw, ito ay isang file na tinatawag config.php. 730 00:35:08,225 --> 00:35:09,350 At mapansin kung ano ang ginagawa nito. 731 00:35:09,350 --> 00:35:11,970 Sa malas Ito ay paggawa ng isang bagay misteryosong, pag-on sa mga mensahe ng error 732 00:35:11,970 --> 00:35:13,680 sa gayon maaari mong makita ang mga ito sa browser. 733 00:35:13,680 --> 00:35:15,860 Ito ay, pagkatapos, sa malas nangangailangan ng dalawang iba pang mga file 734 00:35:15,860 --> 00:35:19,530 kaya ito ay tulad ng #include sa C, at pagkatapos ay ang isang ito namin nakita, 735 00:35:19,530 --> 00:35:22,720 at umasa na kami sa, ito ay nagiging sa na shopping cart tulad ng pag-andar. 736 00:35:22,720 --> 00:35:25,610 >> Ang ibig sabihin ng cookie kalooban Ipapadala papunta at pabalik. 737 00:35:25,610 --> 00:35:27,290 Kaya bakit kagiliw-giliw na ito? 738 00:35:27,290 --> 00:35:32,460 Well, kung pumunta namin pabalik sa ito direktoryo at buksan up, halimbawa, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Pansinin na ang PHP ang sinusuportahan ng constants, hindi gaanong katulad #define sa C. 741 00:35:38,840 --> 00:35:41,290 Sa halip, literal mo sabihin tinukoy, at abiso 742 00:35:41,290 --> 00:35:44,110 na ako naka-imbak nang maaga apat na constants sa file na ito. 743 00:35:44,110 --> 00:35:47,020 Isa para sa database ngayon, para ang aking password, para sa aking username, 744 00:35:47,020 --> 00:35:48,690 at para sa mga pangalan ng server. 745 00:35:48,690 --> 00:35:51,644 Kaya ang mga ito ay aktwal na magiging medyo katulad sa problema magtakda ng pitong. 746 00:35:51,644 --> 00:35:54,560 At bilang wakas, at ito ay kung saan ako pagpunta upang makakuha ng ilang mga magandang pag-andar 747 00:35:54,560 --> 00:35:59,000 mula sa mga kawani, sa functions.php ay isang bungkos ng code na aming sinulat, 748 00:35:59,000 --> 00:36:01,040 at nakaagaw ko ang ilan sa mga ito mula sa set problema pitong 749 00:36:01,040 --> 00:36:05,920 para sa araw, na ginagawa ng grupo ng mga bagay at hanapin lang ni sa isa sa mga ito ipaalam 750 00:36:05,920 --> 00:36:07,270 sa partikular na. 751 00:36:07,270 --> 00:36:09,720 Ang pagpapaandar na ito dito, query, ay magiging 752 00:36:09,720 --> 00:36:13,600 ang PHP function na tinatawag naming upang isagawa SQL. 753 00:36:13,600 --> 00:36:16,070 Isang sandali ang nakalipas namin gamit phpMyAdmin, ngunit ito lamang 754 00:36:16,070 --> 00:36:18,720 para sa isang uri ng mga layunin sa pag-aaral at mga layunin ng diagnostic 755 00:36:18,720 --> 00:36:20,494 at forgetting ang iyong set database. 756 00:36:20,494 --> 00:36:22,660 Kapag aktwal mong gamitin ang iyong database, mo, ang tao, 757 00:36:22,660 --> 00:36:24,100 ay malinaw naman hindi pagpunta na kumukuha up ng isang web 758 00:36:24,100 --> 00:36:25,740 pahina sa bawat oras na may isang taong nagrerehistro. 759 00:36:25,740 --> 00:36:29,870 Ka ng pagpunta sa isulat ang code na pagsingit at tinatanggal ang mga gumagamit on demand, 760 00:36:29,870 --> 00:36:32,490 at kami ay pagpunta sa gawin ito sa pamamagitan ng paraan ng pag-andar query. 761 00:36:32,490 --> 00:36:35,360 Kung mag-scroll ko ngayon pababa, mayroong magiging ng ilang higit pang mga tampok. 762 00:36:35,360 --> 00:36:37,170 Pag-redirect ay pagpunta sa maging isang function namin sinulat ni 763 00:36:37,170 --> 00:36:40,160 para sa iyo na pinapayagan ka na magpadala ng mga user sa isa pang URL, 764 00:36:40,160 --> 00:36:43,780 at i-render ang isang function, tulad ng masyadong Nakita namin sa Monday, na aktwal na pag-render 765 00:36:43,780 --> 00:36:48,000 isang template, ngunit higit pa sa mga sa paraan ng sariling lakad pset7 sa pamamagitan ng. 766 00:36:48,000 --> 00:36:50,500 Sa ngayon, ay sige at gawin ito ipaalam. 767 00:36:50,500 --> 00:36:54,860 >> Hayaan akong pumunta sa aking table ng mga aralin at makita na mayroong kasalukuyang walang 768 00:36:54,860 --> 00:36:59,640 dito lamang pa, at ipaalam sa akin pumunta rin sa aking pampublikong direktoryo, kung saan 769 00:36:59,640 --> 00:37:02,780 mayroong file isa lang, index.php. 770 00:37:02,780 --> 00:37:06,920 Lumilitaw ang file na ito sobrang simple sa sandaling ito, mukhang ito lamang. 771 00:37:06,920 --> 00:37:09,110 Tunay na halos tulad ng kung paano namin tumigil sa Lunes. 772 00:37:09,110 --> 00:37:11,945 Ako na nangangailangan ng file na ito, config.php, na kung saan ay sa 773 00:37:11,945 --> 00:37:15,160 Kasama sa isang direktoryo, na Nasa tuldok tuldok, ang aking mga magulang, 774 00:37:15,160 --> 00:37:17,650 at pagkatapos ito ay nagre-render lamang ang file na ito. 775 00:37:17,650 --> 00:37:18,960 Kaya kung ano ay ang file na ito? 776 00:37:18,960 --> 00:37:24,700 >> Ni buksan ang aking mga template Hayaan form.php, at gagamitin namin makita ito. 777 00:37:24,700 --> 00:37:28,500 Super simple, tila ang form na ito ay pagpunta sa isumite sa pamamagitan ng isang $ _GET o $ _POST. 778 00:37:28,500 --> 00:37:29,320 Mabilis na check katinuan. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Literal na biswal na maghanap sa file. 781 00:37:35,690 --> 00:37:36,610 Ang Paraan ay katumbas ng post na ito. 782 00:37:36,610 --> 00:37:39,280 Kaya ito ay hindi pagpunta sa gamitin ang URL, tulad ng Ginagawa ng Google, ito ay pagpunta sa uri-uriin ng itago 783 00:37:39,280 --> 00:37:41,030 ang impormasyon sa likod ng mga eksena at ito ay 784 00:37:41,030 --> 00:37:43,580 pagpunta sa isumite sa isang file na tinatawag na register.php, 785 00:37:43,580 --> 00:37:45,660 at iyon ang file hindi pa kami nakasulat 786 00:37:45,660 --> 00:37:47,610 ngunit kung ano ito ay pagpunta upang magmukhang ay na ito. 787 00:37:47,610 --> 00:37:52,670 >> Kung pumunta ako sa isang hiwalay na pahina na ito ay ano localhost / index.php kamukha. 788 00:37:52,670 --> 00:37:56,930 At muli, ang server sa pag-aakala lamang index.php. 789 00:37:56,930 --> 00:37:57,910 Ipasok. 790 00:37:57,910 --> 00:37:59,870 Kaya na kung saan kami ay sa, at kung ano ang gusto kong gawin 791 00:37:59,870 --> 00:38:02,450 ay magagawang i-type ang mga bagay tulad ng David, at pagkatapos ay 792 00:38:02,450 --> 00:38:08,050 ang aking numero ng telepono, na sinasabi 617-555-1212 para sa ngayon, magparehistro 793 00:38:08,050 --> 00:38:09,910 at ngayon register.php ay hindi natagpuan. 794 00:38:09,910 --> 00:38:11,440 Kaya kailangan ko upang ipatupad ito. 795 00:38:11,440 --> 00:38:13,320 Kaya sabihin mabilis pumilantik isang bagay na tulad nito up. 796 00:38:13,320 --> 00:38:18,640 Hayaan akong pumunta sa aking pampublikong direktoryo at gawin gedit ng register.php, 797 00:38:18,640 --> 00:38:22,300 at ngayon ako pagpunta sa sige at simulan mode PHP, tulad ng ginawa namin sa Monday, 798 00:38:22,300 --> 00:38:25,430 at tag malapit na PHP, at gawin ang ilang mga bagay na ipaalam. 799 00:38:25,430 --> 00:38:28,336 >> Kaya isa, alam ko, mula sa pagkakaroon ng nakasulat na form na iyon, 800 00:38:28,336 --> 00:38:29,960 na gusto kong i-check para sa mga sumusunod. 801 00:38:29,960 --> 00:38:35,670 Kung ito ay walang laman, ang anumang user nai-type in sa field ng pangalan, pagkatapos ay 802 00:38:35,670 --> 00:38:39,860 Pupunta ako sa sabihin ng isang bagay tulad Humihingi nawawala ang pangalan. 803 00:38:39,860 --> 00:38:42,380 Humihingi, samantala, ay hindi isang built in na PHP bagay, 804 00:38:42,380 --> 00:38:45,970 ito ay isang function na kami ay sumulat sa functions.php para sa pset7 805 00:38:45,970 --> 00:38:47,940 upang mayroon kang access dito. 806 00:38:47,940 --> 00:38:53,830 Iba Pa kung ang iba pang mga field Walang laman, numero, at pagkatapos ay ako 807 00:38:53,830 --> 00:38:58,370 pagpunta sa humihingi ng paumanhin sa gumagamit at sabihin ang nawawalang numero. 808 00:38:58,370 --> 00:38:59,320 I-save ang file na ito. 809 00:38:59,320 --> 00:39:02,640 >> Ngayon sabihin bumalik sa aking browser, bumalik sa forum subukang muli. 810 00:39:02,640 --> 00:39:04,070 Magparehistro. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Wala nangyari, na ay mabuti. 813 00:39:06,730 --> 00:39:08,120 Hindi ko makakuha ng isang mensahe ng error. 814 00:39:08,120 --> 00:39:11,651 Ngunit kung sa halip, ni-reload ang ipaalam pahina, at hindi nagbibigay ng kahit ano. 815 00:39:11,651 --> 00:39:12,150 Diyablo. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Gawin iyon. 818 00:39:17,140 --> 00:39:18,810 Magparehistro. 819 00:39:18,810 --> 00:39:20,350 Ano ang gagawin ko mali? 820 00:39:20,350 --> 00:39:24,860 Kung walang laman, pangalan ng $ _POST. 821 00:39:24,860 --> 00:39:26,350 Sabihing muli? 822 00:39:26,350 --> 00:39:27,670 >> Oh, siyempre. 823 00:39:27,670 --> 00:39:30,919 Nakalimutan ko ang pinakamahalagang bahagi, na ay nangangailangan ng ("../ Kasama / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Kailangan ko ng access sa Kami ay humihingi ng pag-andar, na 826 00:39:36,460 --> 00:39:37,770 ang dahilan kung bakit wala ang nangyayari. 827 00:39:37,770 --> 00:39:39,460 Function na ay hindi talaga umiiral. 828 00:39:39,460 --> 00:39:40,640 Kaya sabihin subukan muli ito. 829 00:39:40,640 --> 00:39:42,350 Hinahayaan-reload ng pahina, i-click Magrehistro. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 May ito ay. 832 00:39:43,770 --> 00:39:45,700 Kaya, ang output kami nakikita dito ay ang resulta 833 00:39:45,700 --> 00:39:47,685 ng pagtawag sa isang humihingi ng paumanhin function, sobrang simple, 834 00:39:47,685 --> 00:39:50,060 at mga Kopya lamang ito anumang Ibinibigay ko ito bilang isang argument. 835 00:39:50,060 --> 00:39:51,370 >> Ay makikipagtulungan lahat ng karapatan, kaya hayaan. 836 00:39:51,370 --> 00:39:54,240 Magbigay ng aking pangalan Hayaan tulad ng David, magparehistro, 837 00:39:54,240 --> 00:39:56,890 Nawawala ang numero OK let ni magbigay iyon, masyadong. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Magparehistro. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Kaya lahat ay mahusay na ngayon, walang lamang kawili-wili ang nangyayari. 842 00:40:02,760 --> 00:40:06,000 Kaya ni gumawa ng isang bagay na mas ngayon hayaan kagiliw-giliw na mangyari tulad nito. 843 00:40:06,000 --> 00:40:09,980 Hayaan akong pumunta sa phpMyAdmin, at sabihin aktwal na lumikha ng isang talahanayan na tinatawag na mga gumagamit, 844 00:40:09,980 --> 00:40:12,330 Pupunta ako sa bigyan ito ng tatlong mga hanay, at idedetalye ko mabilis 845 00:40:12,330 --> 00:40:16,250 lumikha ID, at pagkatapos ay pangalanan, at pagkatapos ay ang numero, 846 00:40:16,250 --> 00:40:18,832 at ang field ID ako pagpunta sa umalis bilang isang int. 847 00:40:18,832 --> 00:40:20,790 Ang field ng pangalan ng pupuntahan ko mag-iwan ng isang varchar, 848 00:40:20,790 --> 00:40:23,257 at kami sabihin 64, medyo nagkataon. 849 00:40:23,257 --> 00:40:25,090 Ang bilang ako pupunta gawin, alam mo kung ano? 850 00:40:25,090 --> 00:40:27,350 Kami ay pagpunta sa sumusuporta sa US mga numero dito, 851 00:40:27,350 --> 00:40:31,510 kaya ako pagpunta sa gawin ang isang bagay tulad ng pansamantalang trabaho at pagkatapos ay 10 character 852 00:40:31,510 --> 00:40:34,540 max para sa isang area code at pagkatapos ay pitong digit. 853 00:40:34,540 --> 00:40:37,870 At pagkatapos ay sa paglipas dito, pupuntahan ko tukuyin ang auto paglakas patlang na ito, 854 00:40:37,870 --> 00:40:40,550 gawin itong isang pangunahing key, at Pupunta ako sa sige at hindi 855 00:40:40,550 --> 00:40:42,240 suriin ang alinman sa mga iba pang mga kahon. 856 00:40:42,240 --> 00:40:48,030 >> Kaya kapag ako sa wakas ngayong i-click ang I-save, at pumunta ako pabalik sa aking mga talahanayan ng mga gumagamit, 857 00:40:48,030 --> 00:40:52,270 ito ay kung ano ang hitsura nito tulad ng kung ako ngayon i-click ang istruktura ng Bagong Tab. 858 00:40:52,270 --> 00:40:54,550 Kaya ito, upang maging malinaw, ay isa lamang paraan ng phpMyAdmin 859 00:40:54,550 --> 00:40:58,570 ng sinasabi ng iyong talahanayan ng database May isang ID, pangalan, at isang bilang 860 00:40:58,570 --> 00:41:02,040 sa mga partikular na mga configuration ng at kami huwag pansinin ang natitirang bahagi ng patlang 861 00:41:02,040 --> 00:41:03,140 doon sa ngayon. 862 00:41:03,140 --> 00:41:04,810 >> Kaya ngayon kung ano ang nais kong gawin? 863 00:41:04,810 --> 00:41:09,060 Kaya kung pumunta ako ngayon sa aking source code, kung ang lahat ay mahusay 864 00:41:09,060 --> 00:41:11,190 Nais kong isagawa ang sumusunod na tanong. 865 00:41:11,190 --> 00:41:14,970 Ipasok sa, at maaari ko lamang sabihin ang mga gumagamit gagawin ko hindi mahigpit 866 00:41:14,970 --> 00:41:18,620 kailangan mga pabalik ticks kung ito ay hindi mapanganib na salita tulad ng mga user. 867 00:41:18,620 --> 00:41:22,810 Pupunta ako sa sabihin ang pangalan, numero, at pagkatapos ay i-dito ako 868 00:41:22,810 --> 00:41:24,960 Hindi pagpunta sa hard code ang digit ng mga halaga pa. 869 00:41:24,960 --> 00:41:26,760 Pupunta ako upang ilagay ang dalawang mga tandang pananong. 870 00:41:26,760 --> 00:41:29,320 At ito ay isang convention sa maraming wika 871 00:41:29,320 --> 00:41:31,730 kung saan kung gusto mong magkaroon ng isang placeholder para sa isang string 872 00:41:31,730 --> 00:41:34,105 na iyong pupuntahan gamitin ang pinag-uusapan mark, para sa mga kadahilanang kami ay 873 00:41:34,105 --> 00:41:36,370 bumalik upang makipag-chat tungkol sa seguridad, at dito 874 00:41:36,370 --> 00:41:39,420 Pupunta ako upang pumasa sa mga dalawang mga patlang na-post pangalan, 875 00:41:39,420 --> 00:41:44,850 at pagkatapos ay mag-post ng numero, at ngayong i-save ang file. 876 00:41:44,850 --> 00:41:47,090 >> At ngayon pupuntahan ko bumaba dito ay isang napakabilis 877 00:41:47,090 --> 00:41:55,690 lamang sabihin rendersuccess.php, na ay magiging isa pang template. 878 00:41:55,690 --> 00:41:57,380 Pupunta ako upang lumikha ng talagang mabilis. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php at ako lamang ang pagpunta sasabihin tagumpay H1 sa file na iyon. 880 00:42:06,270 --> 00:42:06,990 Lahat ng karapatan. 881 00:42:06,990 --> 00:42:11,312 Kaya ngayon, sabihin bumalik sa browser, kung saan ako binisita bago. 882 00:42:11,312 --> 00:42:14,270 Sabihin sige at kumpirmahin na sinulat ko sa David, isinulat ko sa isang numero ng telepono, 883 00:42:14,270 --> 00:42:15,390 magparehistro. 884 00:42:15,390 --> 00:42:16,100 Diyablo. 885 00:42:16,100 --> 00:42:17,420 Ano ang gagawin ko mali? 886 00:42:17,420 --> 00:42:20,850 Kaya ako nakakakita ng error dito, mo May isang error sa iyong SQL syntax. 887 00:42:20,850 --> 00:42:24,900 Hayaan akong lumipat pabalik sa gedit, sabihin sa akin bumalik sa register.php, 888 00:42:24,900 --> 00:42:28,830 at kung ano ang nag-ligtaan ko na ay mahalaga sa nakaraan? 889 00:42:28,830 --> 00:42:29,722 Kailangan ko ito. 890 00:42:29,722 --> 00:42:32,930 Gusto mong malaman na maliban sa mula sa pagkakaroon napansin bago, ngunit kailangan ko ito. 891 00:42:32,930 --> 00:42:35,596 >> Kaya ng bumalik ngayon hayaan, at ito ay kapaki-pakinabang upang makita sa browser 892 00:42:35,596 --> 00:42:37,680 at iyon ang dahilan kung bakit sa config.php maglaway namin ang mga error. 893 00:42:37,680 --> 00:42:41,770 Sabihin sige at i-reload, -click ang Magpatuloy, tagumpay. 894 00:42:41,770 --> 00:42:47,060 Kaya ngayon hayaan mo akong pumunta sa paglipas sa aking database dito at mag-click sa mga gumagamit, 895 00:42:47,060 --> 00:42:51,680 at mag-browse, at napansin ko na ngayon Mayroon dito si David sa aking database. 896 00:42:51,680 --> 00:42:55,810 Ngayon technically website na ito ay Hindi pa sa pampublikong internet, 897 00:42:55,810 --> 00:42:57,890 kaya hindi ko maaaring magkaroon ng iba pang mga mga tao sa paglalagay dito, 898 00:42:57,890 --> 00:43:01,120 ngunit kung gusto ko ngayon upang, para sa Halimbawa, magpadala ng aking sarili ng text message. 899 00:43:01,120 --> 00:43:03,920 Tara nasa panganib dito at makita kung ito aktwal na gumagana. 900 00:43:03,920 --> 00:43:07,331 Pupunta ako sa sige at tanggalin ang mga hilera na ito 901 00:43:07,331 --> 00:43:09,080 at kami lumabo na ito out sa video sa ibang pagkakataon 902 00:43:09,080 --> 00:43:11,900 kaya hindi namin magkaroon ng buong internet pagte-text sa akin, 903 00:43:11,900 --> 00:43:17,270 at pumunta up ngayon namin sa browser at ipagpapatuloy namin sa paglipas upang magbigay ng panayam 904 00:43:17,270 --> 00:43:22,040 at kami nagta-type sa iba't-ibang bilang dito, magparehistro, tagumpay. 905 00:43:22,040 --> 00:43:25,550 >> Kaya ngayon, ang aking sariling numero ay marahil sa ang database, at ngayon ang masayang bahagi. 906 00:43:25,550 --> 00:43:28,774 Ang aktwal na gamitin ang PHP na gawin Hayaan isang bagay na programa, 907 00:43:28,774 --> 00:43:30,940 mula sa command na linya o mula sa ibang lugar, 908 00:43:30,940 --> 00:43:32,773 at sa ngayon lang ako pagpunta sa panatilihin itong simple 909 00:43:32,773 --> 00:43:36,230 at pupuntahan ko upang pumunta sa aking direktoryo dito at gawin ang sumusunod. 910 00:43:36,230 --> 00:43:44,920 Gedit script sabihin nating, kami ay tawagan ito teksto, #! / gumagamit / bin / env PHP, 911 00:43:44,920 --> 00:43:46,700 tulad ng nakita natin noong nakaraang oras. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Ngayon Pupunta ako sa ako ay nangangailangan ng Kasama config.php, 914 00:43:55,055 --> 00:43:57,360 kahit na ito ay maaaring humimok ng isang bahagyang error. 915 00:43:57,360 --> 00:44:03,960 At ngayon ako pagpunta sa sige at sabihin hilera, i-query, piliin ang bituin mula sa mga gumagamit, 916 00:44:03,960 --> 00:44:08,149 at ngayon dito ako pagpunta sa gawin ang isang diskarteng mula sa huling beses para sa bawat hilera bilang hilera. 917 00:44:08,149 --> 00:44:09,690 At ako pagpunta sa gawin ng isang bagay. 918 00:44:09,690 --> 00:44:19,090 Printf sabihin nating pangalan ay ito, at bilang na ito ay ito, backslash n. 919 00:44:19,090 --> 00:44:23,320 At ngayon ako pupunta upang pumasa sa hilera quote magpanipi pangalan, 920 00:44:23,320 --> 00:44:28,140 at numero ng hilera quote magpanipi, at ngayon sabihin sige 921 00:44:28,140 --> 00:44:31,430 at ang aking terminal na window chmod ito ng isang + x upang gawing 922 00:44:31,430 --> 00:44:33,970 ang script na ito na tinatawag na teksto executable. 923 00:44:33,970 --> 00:44:36,080 At tumakbo ng teksto ngayon hayaan. 924 00:44:36,080 --> 00:44:37,590 >> OK, kaya sa progreso. 925 00:44:37,590 --> 00:44:39,960 Kaya ngayon na naisulat akong command line script, 926 00:44:39,960 --> 00:44:43,300 sa wikang tinatawag na PHP, na, dahil sa na nangangailangan ng linya, 927 00:44:43,300 --> 00:44:46,380 May access sa lahat ng mga configuration constants na aking tinukoy. 928 00:44:46,380 --> 00:44:48,177 Ang pangalan ng database at iba pa. 929 00:44:48,177 --> 00:44:50,260 Sa katunayan, upang maging malinaw lamang na ito ay hindi isang parasitiko, 930 00:44:50,260 --> 00:44:54,730 ipaalam sa akin sige at magparehistro, Talagang mabilis, ibang tao tulad ng Rob 931 00:44:54,730 --> 00:44:58,890 at ay magbibigay sa kanya ng 555-1212 numero. 932 00:44:58,890 --> 00:45:01,557 >> At ngayon, kung nagpatakbo ako ng script muli, mapansin ang lakas 933 00:45:01,557 --> 00:45:03,140 ng kung anong ginagawa namin sa database. 934 00:45:03,140 --> 00:45:07,680 Ngayon ay na-agad Nakita ko na kung ano ang iba pang dalawang mga hanay ay sa aking database. 935 00:45:07,680 --> 00:45:10,699 Kaya Subukan upang gawin ang isang bagay na ngayon hayaan kahit na may interes sa loob ng, 936 00:45:10,699 --> 00:45:12,740 at ito ang bahagi hindi namin Hindi nasubukan nang maaga, 937 00:45:12,740 --> 00:45:15,910 kaya ang huling beses na ginawa ko ito mga bagay na nagpunta horribly pilipit, 938 00:45:15,910 --> 00:45:17,120 mayroon kaming video sa epekto na iyon. 939 00:45:17,120 --> 00:45:18,286 >> Sa totoo lang, oo, nakakatawa bukod. 940 00:45:18,286 --> 00:45:20,480 Kaya sa huling panahon, sa isang aralin tulad ng dalawang taon na ang nakakaraan, 941 00:45:20,480 --> 00:45:23,230 kami nagpasya, ako nagpasya, upang maging lahat ng ito ay magiging isang mahusay na ideya 942 00:45:23,230 --> 00:45:28,150 sa dynamic na bumuo ng mga email sa klase, gamit ang buong CS50 database 943 00:45:28,150 --> 00:45:33,390 mga mag-aaral, na ibinigay sa amin ang kanilang mga numero ng at ang kanilang mga cellphone carrier kung saan mo 944 00:45:33,390 --> 00:45:36,290 Maaaring isipin ang mula sa pset0, kung paano kadahilanang ito, lumiliko out 945 00:45:36,290 --> 00:45:40,650 Mayroon akong isang menor de edad bug sa aking mga programa at ginawa ng ilang mga pagkakamali sa 2012, sa tingin ko. 946 00:45:40,650 --> 00:45:43,997 >> Kung saan, ang isa ay nagkaroon ba ako para sa loop na ginawa nang eksakto ang uri ng bagay, 947 00:45:43,997 --> 00:45:46,580 iterating sa ibabaw ng database, pagkuha ng isang pangalan mula sa database, 948 00:45:46,580 --> 00:45:49,940 pangalanan mula sa database, at pagkatapos ay sa bawat pag-ulit ng loop na ipinadala ako ng email. 949 00:45:49,940 --> 00:45:54,130 Ngunit sa halip ng pagpapadala ng isang e-mail, ako Ipinadala ang isang email sa unang pag-ulit, 950 00:45:54,130 --> 00:45:58,200 at dalawang mga email ng pangalawang pag-ulit, na ipinadala tatlong mga email ng pangalawang pag-ulit, na 951 00:45:58,200 --> 00:46:01,230 bilang maaari mong isipin ang mula sa aming talakayan ng asymptotic pagtatanda 952 00:46:01,230 --> 00:46:06,400 ang malaking O ng masamang, tulad n nakalapat ay kung gaano karaming mga mensahe na ipinadala ko, 953 00:46:06,400 --> 00:46:08,560 ngunit ito ay hindi kahit na mga email ito ay mga text message. 954 00:46:08,560 --> 00:46:12,070 >> At tulad ng alam mo na, pagdalo ay hindi sobrang mataas na patungo sa katapusan ng semestre 955 00:46:12,070 --> 00:46:15,360 at kaya naisip ko magiging maganda sa ng panahon upang sabihin, "Bakit hindi ka klase?" 956 00:46:15,360 --> 00:46:17,880 Sa mensahe ako teksto ipinadala sa buong klase, 957 00:46:17,880 --> 00:46:22,140 at ito ay nakatatawa upang i 50% ng mga klase, ngunit ang iba pang mga 50%, ang ilan sa kanino 958 00:46:22,140 --> 00:46:26,102 natakot out, na ipinadala i hindi mapaniniwalaan o kapani-paniwala humihingi ng tawad matamis na tala 959 00:46:26,102 --> 00:46:28,560 sa mga kawani apologizing para sa pagkakaroon ng mga hindi nasagot na ang aralin lamang 960 00:46:28,560 --> 00:46:29,530 ito nang isang beses, tama? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Kaya gagawin na horribly pilipit. 963 00:46:34,030 --> 00:46:37,030 Kaya sa espiritu na, Subukan ito ipaalam muli ngunit lamang ang aking numero. 964 00:46:37,030 --> 00:46:41,940 Sa advance, sa functions.php, Ako ng nakasulat na function na ito dito. 965 00:46:41,940 --> 00:46:44,250 Ito ay tinatawag na teksto, at ito tumatagal sa tatlong argumento. 966 00:46:44,250 --> 00:46:46,360 Ang isang numero, isang carrier, at isang mensahe. 967 00:46:46,360 --> 00:46:50,390 >> Gumagamit ako ng isang lumipat statement, na kamangha-mangha PHP gumawa ng mga string, hindi lang 968 00:46:50,390 --> 00:46:53,350 integer, at ako ay hindi ipatupad lahat ng mga suporta para sa mga ito pa, 969 00:46:53,350 --> 00:46:55,370 Lamang ako tapos AT & T at Verizon. 970 00:46:55,370 --> 00:46:57,610 Dahil ito ay lumiliko out na may mga carrier na ito 971 00:46:57,610 --> 00:47:00,570 mayroon sila ng email sa gateway ng SMS, kung saan maaari mong aktwal na 972 00:47:00,570 --> 00:47:05,529 magpadala ng email sa isang address tulad ng numero ng telepono sa vtext.com 973 00:47:05,529 --> 00:47:08,070 at kung ang gumagamit ay hindi naka-block ang mensahe, ito ay pumunta sa pamamagitan ng 974 00:47:08,070 --> 00:47:09,340 ay isang text message. 975 00:47:09,340 --> 00:47:13,270 >> Ngayon upang gawin ito, pupunta ako sa kailangang idagdag isang field talagang mabilis sa aking database. 976 00:47:13,270 --> 00:47:15,470 Pupunta ako sa pumunta sa aking istraktura, at ako 977 00:47:15,470 --> 00:47:21,880 pagpunta sa sige at magdagdag ng patlang sa dulo ng table. 978 00:47:21,880 --> 00:47:25,227 -Click ang Pumunta Hayaan, at ako ay pagpunta sa tawagan ang carrier 979 00:47:25,227 --> 00:47:27,310 at sa ngayon pupuntahan ko mag-iwan ito bilang isang bar ng teksto, 980 00:47:27,310 --> 00:47:29,320 ngunit maaari naming may interes sa hinaharap. 981 00:47:29,320 --> 00:47:31,961 Pupunta ako sa mabilis na pumunta sa aking table, at ako 982 00:47:31,961 --> 00:47:34,210 pagpunta sa mapupuksa ang Rob, dahil iyon ay isang huwad na numero, 983 00:47:34,210 --> 00:47:38,540 Pupunta ako sa pumunta sa i-edit dito at ako ay pagpunta sa mano-manong baguhin ang aking carrier 984 00:47:38,540 --> 00:47:43,410 maging Verizon, kung saan ito ay, at ngayon sa paglipas dito. 985 00:47:43,410 --> 00:47:44,980 >> Gawin ng isang mabilis katinuan check Hayaan. 986 00:47:44,980 --> 00:47:52,730 Ni buksan ang aming mga teksto script, Hayaan na Mukhang ganito, carrier ay% s. 987 00:47:52,730 --> 00:47:58,230 Ginagawa namin ng maraming higit pang mga error -check kaysa ginawa ko sa 2012, carrier. 988 00:47:58,230 --> 00:48:01,160 At ngayon, pupuntahan ko pumunta magpatuloy at muling patakbuhin ang script. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier ay Verizon, na nangangahulugang ngayon sana ang maaari kong gawin lamang ito. 991 00:48:06,100 --> 00:48:08,360 Tamang taong ito, sana, dito pumunta namin. 992 00:48:08,360 --> 00:48:12,200 >> Kaya sa loob ng ito para sa loop, ako pagpunta sa hindi lamang magkaroon ito printf, 993 00:48:12,200 --> 00:48:15,990 Pupunta ako din ang tumawag sa teksto at ang paggamit ng mga function na ito pagpapabalik 994 00:48:15,990 --> 00:48:19,670 ay tumatagal ng isang numero, isang carrier, at isang mensahe. 995 00:48:19,670 --> 00:48:23,310 Kaya tingnan natin, numero ng pagpunta sa maging hilera quote magpanipi "number," 996 00:48:23,310 --> 00:48:31,660 hilera quote magpanipi "carrier," at ang huli ay mensahe. 997 00:48:31,660 --> 00:48:36,250 Huwag magtaas sa taong ito, semicolon. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Matang daliri. 1000 00:48:38,280 --> 00:48:39,970 Tingnan natin kung ito gumagana Hayaan. 1001 00:48:39,970 --> 00:48:41,720 Ang lahat ng mga karapatan, sa gayon. 1002 00:48:41,720 --> 00:48:43,000 Narito pumunta namin. 1003 00:48:43,000 --> 00:48:47,380 I-unlock ang telepono Hayaan, -krus ang iyong mga daliri, diyablo. 1004 00:48:47,380 --> 00:48:50,300 Hindi natukoy variable may-- oh maghintay, maghintay, maghintay, tunay mabilis. 1005 00:48:50,300 --> 00:48:51,340 Real mabilis, tunay mabilis. 1006 00:48:51,340 --> 00:48:53,380 Ito ay talagang sulit. 1007 00:48:53,380 --> 00:48:57,710 Hayaan akong-grab, ipaalam sa akin-grab, Naku. 1008 00:48:57,710 --> 00:48:59,965 Salamat sa iyo, mayroon ang mga teksto na nagsimula sa isang tao pa. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Hayaan akong sige at buksan ang tunay na mabilis, dropbox.php / mail sa dito. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Talagang sulit. 1013 00:49:14,455 --> 00:49:17,430 Mga Download. 1014 00:49:17,430 --> 00:49:18,560 OK, pinagmulan src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Kailangan ng isa pang linya dito. 1017 00:49:21,380 --> 00:49:24,530 Oh may ito, ito ay nasa Frosh IMS, ito ay nasa rehistro sa tatlo. 1018 00:49:24,530 --> 00:49:28,820 Oh kumusta, Margo, salamat sa iyo talaga. 1019 00:49:28,820 --> 00:49:31,130 OK, at ako ay nawawala ang linyang ito dito. 1020 00:49:31,130 --> 00:49:33,010 Kaya ipaalam sa akin mabilis grab ito linya ng code, 1021 00:49:33,010 --> 00:49:36,200 kung saan kasama ang mail o library na aktwal na gusto kong gamitin, 1022 00:49:36,200 --> 00:49:38,300 Mabilis na pupuntahan ko bumalik sa mga pag-andar, 1023 00:49:38,300 --> 00:49:42,337 Pupunta ako upang pumunta sa tuktok ng ito -file at nangangailangan ang file na ito pati na rin, 1024 00:49:42,337 --> 00:49:45,420 at ngayon pupuntahan ko ba talagang i-cross ang aking daliri kapag pumunta ako pabalik sa command 1025 00:49:45,420 --> 00:49:49,530 linya ng script, na kung saan ay sa loob ng lokal na direktoryo ng host ngayon. 1026 00:49:49,530 --> 00:49:50,610 Patakbuhin ang teksto. 1027 00:49:50,610 --> 00:49:52,720 Ipasok. 1028 00:49:52,720 --> 00:49:53,220 Mail. 1029 00:49:53,220 --> 00:49:53,719 Standby. 1030 00:49:53,719 --> 00:49:58,850 1031 00:49:58,850 --> 00:49:59,600 Standby. 1032 00:49:59,600 --> 00:50:01,680 Mail. 1033 00:50:01,680 --> 00:50:02,290 Oh, ang OK. 1034 00:50:02,290 --> 00:50:03,870 Narito pumunta namin. 1035 00:50:03,870 --> 00:50:06,880 >> Mail ay makakakuha ng bagong mailer PHP. 1036 00:50:06,880 --> 00:50:09,970 Gawin ba akong karapatang ito? 1037 00:50:09,970 --> 00:50:11,067 Diyablo. 1038 00:50:11,067 --> 00:50:12,150 To-- naku, maghintay, maghintay, maghintay. 1039 00:50:12,150 --> 00:50:12,649 Stand sa pamamagitan ng. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Nangangako ako, ito ay magiging kaya sulit. 1042 00:50:18,630 --> 00:50:20,340 Address. 1043 00:50:20,340 --> 00:50:24,390 Ito ang dahilan kung bakit hindi ako makagawa ng mga halimbawa bago mismo ang klase. 1044 00:50:24,390 --> 00:50:26,350 He. 1045 00:50:26,350 --> 00:50:27,910 Nabigo ang mga sumusunod na mga tatanggap. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Subukan ang isa huling bagay Hayaan. 1048 00:50:33,040 --> 00:50:40,660 SMTP-set mula sa, magdagdag ng mga address, ang address ay sa katunayan na iyon. 1049 00:50:40,660 --> 00:50:43,980 Subukan natin ang huling bahagi sa address Hayaan. 1050 00:50:43,980 --> 00:50:47,210 Ay, ako ba talagang malungkot ngayon. 1051 00:50:47,210 --> 00:50:47,854 Salamat sa inyo. 1052 00:50:47,854 --> 00:50:50,270 Ngunit talaga kong pinahahalagahan ang lahat ang mga teksto na iyong na-pagpapadala. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Mayroon kang ito David. 1055 00:50:56,320 --> 00:50:59,310 Naka-pamumulaklak ito. 1056 00:50:59,310 --> 00:51:01,720 Mag-iwan ng doon Hayaan at ay maayos sa Lunes. 1057 00:51:01,720 --> 00:51:04,290 Tingnan mo pagkatapos. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN Farnham: At Deep ngayon Mga iniisip sa pamamagitan ng Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Kung ang isang binary puno ay bumaba sa isang gubat at walang isa ay sa paligid upang C it-- [CHUCKLING]. 1061 00:51:17,590 --> 00:51:18,998