1 00:00:00,000 --> 00:00:10,393 >> [CHWARAE CERDDORIAETH] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Malan: pob hawl. 4 00:00:12,120 --> 00:00:12,830 Croeso yn ôl. 5 00:00:12,830 --> 00:00:13,890 Mae hyn yn CS50. 6 00:00:13,890 --> 00:00:15,570 Mae hyn yn ddiwedd yr wythnos 8. 7 00:00:15,570 --> 00:00:18,360 Ac fel y gwyddoch, yr ydym wedi 'n bert oriau swyddfa rheolaidd mewn rhai 8 00:00:18,360 --> 00:00:21,090 o'r neuaddau bwyta, gan gynnwys Annenberg. 9 00:00:21,090 --> 00:00:23,860 Ac mae rhai o'r tîm yn garedig Cymerodd rhai lluniau yn ddiweddar. 10 00:00:23,860 --> 00:00:26,230 Ac er anrhydedd Calan Gaeaf, rydym yn meddwl byddem 11 00:00:26,230 --> 00:00:30,160 rhannu'r un sydd braidd dal ni drwy syndod yma yn Neuadd Annenberg unig 12 00:00:30,160 --> 00:00:31,490 y noson o'r blaen. 13 00:00:31,490 --> 00:00:36,300 Eich classmate Jacob berir am y llun hwn, ond roedd yn fwy doniol 14 00:00:36,300 --> 00:00:39,760 i ar Facebook, mae'r dilynol sgwrs a ddigwyddodd wedi hynny. 15 00:00:39,760 --> 00:00:43,020 >> Roedd ei swydd gyntaf mewn ymateb at ei llun oedd hyn. 16 00:00:43,020 --> 00:00:46,740 Mae ychydig funudau yn ddiweddarach, penderfynodd i un i fyny ei hun gyda hyn. 17 00:00:46,740 --> 00:00:53,800 Aeth ymlaen wedyn i fynd â hyn, ac yna, hyd yn oed yn fwy amusingly 18 00:00:53,800 --> 00:00:55,320 yw pan ei mom chimed mewn. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Ac yna yn y pen draw, mae'n ymddangos yn hyn yn unig oedd 21 00:01:01,800 --> 00:01:04,860 ystryw gwych ar gyfer chwarae sy'n mynd ymlaen. 22 00:01:04,860 --> 00:01:07,080 >> Felly, os hoffech i weld Jacob ac eraill, 23 00:01:07,080 --> 00:01:10,880 yn eu plith Cynthia Meng, pwy sy'n tu ôl i'r llenni o staff parth CS50, 24 00:01:10,880 --> 00:01:13,970 pen i'r URL yma a chwarae yma fan hyn. 25 00:01:13,970 --> 00:01:18,810 Felly, heb ado pellach, heddiw rydym parhau i edrych yma ar y we rhaglennu, 26 00:01:18,810 --> 00:01:21,810 ac mae'r gwirioneddol y rhaglenni creu nad ydynt yn rhedeg yn eich llinell gorchymyn, 27 00:01:21,810 --> 00:01:24,080 ond yn hytrach yn rhedeg tu mewn porwr. 28 00:01:24,080 --> 00:01:26,320 >> Yn ôl pob tebyg yn awr, neu'n iawn cyn bo hir, rydych yn mynd 29 00:01:26,320 --> 00:01:30,200 i fod yng nghanol gweithredu eich gweinydd gwe eu hunain, a oedd yn 30 00:01:30,200 --> 00:01:31,700 yn wahanol i raglennu we. 31 00:01:31,700 --> 00:01:36,210 Mae'r gweinydd gwe ym pset6 yn ymwneud ysgrifennu meddalwedd sy'n gwybod sut i gymryd 32 00:01:36,210 --> 00:01:39,300 Ceisiadau HTTP o borwr, neu hyd yn oed gennych chi, a dynol, 33 00:01:39,300 --> 00:01:42,340 gyda rhaglen o'r enw Telnet, a wedyn yn ymateb i'r ceisiadau hynny naill ai 34 00:01:42,340 --> 00:01:48,600 drwy poeri allan ffeil HTML, neu jpeg, neu gif, neu hyd yn oed ffeil .php. 35 00:01:48,600 --> 00:01:52,490 >> Ond gyda weinydd y we, nid yw'n i fod i jyst agor ffeil PHP, 36 00:01:52,490 --> 00:01:55,260 rhywbeth yn dod i ben yn .php, ac Yna boeri allan y cynnwys. 37 00:01:55,260 --> 00:01:58,440 Mae i fod i'w wneud beth i'w hwnnw ffeil yn gyntaf? 38 00:01:58,440 --> 00:01:59,390 Fel petai. 39 00:01:59,390 --> 00:02:04,060 Ddim yn llunio ei, dywedasom ar ddydd Llun, ond rather-- Felly, ei dehongli. 40 00:02:04,060 --> 00:02:08,070 >> PHP yn iaith dehongli, ac yn y blaen un o nodweddion allweddol yn eich gwe 41 00:02:08,070 --> 00:02:11,550 gweinydd, er ei rhoi ar waith gennym ni, yw y gallu hwn ar gyfer eich gweinydd gwe 42 00:02:11,550 --> 00:02:12,490 i hysbysiad, oh. 43 00:02:12,490 --> 00:02:14,580 Mae hwn yn dod i ben yn ffeil .php. 44 00:02:14,580 --> 00:02:17,970 Gadewch i mi nid yn unig anfon at y defnyddiwr yn ei gael ei fod yn cynnwys statig, 45 00:02:17,970 --> 00:02:20,970 ond yn hytrach gadewch i mi ddarllen lein gan lein, o'r chwith i'r dde, a'i ddehongli. 46 00:02:20,970 --> 00:02:23,030 >> Ac i wneud, bod chi Bydd guys yn y bôn 47 00:02:23,030 --> 00:02:26,520 punt i raglen yn y peiriant, ac ar lawer o systemau cyfrifiadurol, 48 00:02:26,520 --> 00:02:27,500 Gelwir unig PHP. 49 00:02:27,500 --> 00:02:30,579 Dyna enw'r PHP y cyfieithydd iaith ei hun. 50 00:02:30,579 --> 00:02:33,120 Felly, y darn hwnnw yr ydym yn gweithredu ar gyfer chi, a'r hyn sy'n weddill ar eich cyfer, 51 00:02:33,120 --> 00:02:35,240 yn y pen draw, mae nifer o ddarnau, ymhlith y 52 00:02:35,240 --> 00:02:37,960 yn gweithredu cefnogaeth ar gyfer cynnwys statig. 53 00:02:37,960 --> 00:02:40,180 >> Ond yn awr, a gyda problem yn gosod saith, rydych yn 54 00:02:40,180 --> 00:02:43,660 mynd i ddechrau i newid i mewn gwirionedd yn ysgrifennu y cod PHP 55 00:02:43,660 --> 00:02:45,970 sy'n cael ei ddehongli wrth siarad i ben yn ôl 56 00:02:45,970 --> 00:02:47,960 cronfa ddata sy'n storio gwybodaeth. 57 00:02:47,960 --> 00:02:51,020 Felly, gadewch i ni yn gyntaf yn deall yn well un neu ddau o superglobals hyn 58 00:02:51,020 --> 00:02:53,720 ac yn union faint o bŵer yr ydych ewch allan o'r bocs ar gyfer rhad ac am ddim 59 00:02:53,720 --> 00:02:55,250 gyda iaith fel PHP. 60 00:02:55,250 --> 00:02:57,350 Pethau nad oes gennych i weithredu eich hun. 61 00:02:57,350 --> 00:03:01,700 >> Felly, gwelsom ddydd Llun $ _GET, sydd yn superglobal, 62 00:03:01,700 --> 00:03:05,496 sydd yn unig yw PHP yn siarad am fyd-eang newidyn gallwch gael mynediad yn unrhyw le. 63 00:03:05,496 --> 00:03:06,620 A beth sydd y tu mewn o $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Beth sydd y tu mewn o hyn superglobal ein bod yn gweld? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Siawns ystadegol ar o leiaf un person yn gwybod. 68 00:03:19,020 --> 00:03:21,590 Beth sydd y tu mewn o $ _GET? 69 00:03:21,590 --> 00:03:22,426 Yeah? 70 00:03:22,426 --> 00:03:24,130 >> GYNULLEIDFA: Mae'n y newidynnau eich rhoi yn y llinyn ymholiad. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Malan: Perffaith. 72 00:03:24,530 --> 00:03:26,488 Mae'n y newidynnau chi roi yn y llinyn ymholiad. 73 00:03:26,488 --> 00:03:29,910 Felly, yn ein henghraifft hŷn reimplementing Google pan oedd gennym 74 00:03:29,910 --> 00:03:34,130 URL, ac yna marc cwestiwn, sy'n tynnu llinell rhwng dechrau HTTP 75 00:03:34,130 --> 00:03:37,950 paramedrau, yna cawsom q cyfartal rhywbeth, fel q hafal cathod, 76 00:03:37,950 --> 00:03:41,500 beth fyddai'n mynd yn awtomatig y tu mewn o hynny $ _GET super byd-eang ar eich cyfer, 77 00:03:41,500 --> 00:03:47,430 oherwydd PHP, yn allwedd o Q, ac o werth o hynny o gathod. 78 00:03:47,430 --> 00:03:51,250 >> Mewn geiriau eraill, $ _GET a phob o pethau hyn yn araeau cysylltiadol, 79 00:03:51,250 --> 00:03:54,530 tablau hash o ryw fath, bod allweddi storio a gwerthoedd. 80 00:03:54,530 --> 00:03:57,980 Yn awr, yn ôl yn pset5, y hash tabl efallai eich bod wedi rhoi ar waith, 81 00:03:57,980 --> 00:04:00,220 neu y byddwch yn ceisio gallai wedi gweithredu, mewn gwirionedd 82 00:04:00,220 --> 00:04:04,010 Roedd yn effeithiol yn cysylltiadol array, strwythur data 83 00:04:04,010 --> 00:04:07,220 lle y gallwch cysylltu allweddi gyda gwerthoedd. 84 00:04:07,220 --> 00:04:09,690 >> Ond yn pset5, mae'r gwerthoedd yn ddibwys. 85 00:04:09,690 --> 00:04:12,430 Werth ei hanfod gwir neu gau. 86 00:04:12,430 --> 00:04:13,900 A yw'r gair yn y geiriadur? 87 00:04:13,900 --> 00:04:18,279 Felly, pan fyddwch hashed gair fel afal i weld a yw afal yw yn y geiriadur, 88 00:04:18,279 --> 00:04:21,820 eich swyddogaeth siec yn ôl pob tebyg Dychwelodd wir neu'n anwir. 89 00:04:21,820 --> 00:04:24,120 Felly, dyna effeithiol yw'r gwerth yr ydym yn ei gael yn ôl. 90 00:04:24,120 --> 00:04:26,456 >> Ond gwelsom ddydd Llun yn fyr, gallwch sicr 91 00:04:26,456 --> 00:04:28,830 cysylltu yn fwy diddorol gwerthoedd na dim ond gwir neu gau 92 00:04:28,830 --> 00:04:30,790 gydag allweddi, fel afal. 93 00:04:30,790 --> 00:04:33,909 Fe allech chi mewn gwirionedd yn dychwelyd llinyn mympwyol, ac yn wir, 94 00:04:33,909 --> 00:04:36,200 dyna beth $ _GET ac mae'r rhain newidynnau eraill yn gadael i chi wneud. 95 00:04:36,200 --> 00:04:40,595 >> Felly $ _POST yn debyg o ran ysbryd, ond os ydych yn cyflwyno ffurflen drwy'r post, 96 00:04:40,595 --> 00:04:44,490 ddull HTTP gwahanol dyna ei ddefnyddio ar gyfer pethau fel cardiau credyd, 97 00:04:44,490 --> 00:04:48,410 a gwybodaeth breifat, ac hyd yn oed Gwybodaeth deuaidd fel lluniau, 98 00:04:48,410 --> 00:04:51,840 pethau hynny yn y pen draw y tu mewn o $ _POST. 99 00:04:51,840 --> 00:04:53,770 Ac mewn gwirionedd ar gyfer ffeiliau fel JPEG a whatnot, 100 00:04:53,770 --> 00:04:58,290 mae hyd yn oed un arall nad dyna hyd yma o'r enw $ _files hefyd. 101 00:04:58,290 --> 00:05:01,280 >> Felly, gweinydd ni fyddwn fynd ar ôl yn rhy lawer, ond mae'n rhoi mynediad i chi 102 00:05:01,280 --> 00:05:04,860 i ddidoli o fanylion lefel is am y gweinydd ei hun eich bod yn ei ddefnyddio. 103 00:05:04,860 --> 00:05:07,430 Cookie a sesiwn, fodd bynnag, byddwn yn gweld yn effeithiol erbyn hyn. 104 00:05:07,430 --> 00:05:10,940 Yr olaf yw'r hyn rydym yn ei ddefnyddio i weithredu y syniad o basged siopa. 105 00:05:10,940 --> 00:05:14,480 Mae un super syml, ond yn galw yn ôl ein bod wedi cael yr enghraifft yma, 106 00:05:14,480 --> 00:05:17,640 cyfrif faint o weithiau yr ydych wedi ymweld y dudalen hon o'r blaen. 107 00:05:17,640 --> 00:05:20,850 >> Ond heddiw, yn hytrach na dim ond yn edrych ar effaith hyn, gadewch i ni agor 108 00:05:20,850 --> 00:05:22,640 Chrome yn Arolygydd, yr ydych fel arfer yn bosibl 109 00:05:22,640 --> 00:05:25,740 ei wneud drwy glicio neu Reoli cywir glicio unrhyw le ar y dudalen we, 110 00:05:25,740 --> 00:05:27,250 ac yna dewiswch archwilio elfen. 111 00:05:27,250 --> 00:05:31,600 Neu gallwch fynd drwy'r bwydlenni a ddisgrifir yn spec pset6 yn. 112 00:05:31,600 --> 00:05:35,020 Ac yr wyf i'n mynd at y tab Rhwydwaith yma, a gadewch i ni wylio am eiliad 113 00:05:35,020 --> 00:05:37,590 y traffig HTTP dyna yn mynd yn ôl ac ymlaen. 114 00:05:37,590 --> 00:05:40,929 >> Gadewch i mi fynd yn ei flaen yn gyntaf a cache Chrome eglur yn. 115 00:05:40,929 --> 00:05:43,470 Felly, efallai y bydd rhai ohonoch yn gyfarwydd gyda'r dechneg hon yn barod, 116 00:05:43,470 --> 00:05:45,790 ac rydym yn mynd i ddefnyddio ar gyfer dibenion debugging yma. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Nawr rydym fel cyfrifiadur gwyddonwyr yn mynd i ddechrau 119 00:05:50,890 --> 00:05:53,920 gwneud hyn ar gyfer debugging dibenion, lle 120 00:05:53,920 --> 00:05:55,910 byddwn yn clirio'r cache, fel arfer, er mwyn i ni 121 00:05:55,910 --> 00:05:57,670 Gellir cael gwared ar bethau o'r enw cwcis. 122 00:05:57,670 --> 00:06:01,700 Felly, mae'n debyg eich bod yn gyfarwydd yn gyffredinol â'r hyn cwcis yn, neu o leiaf 123 00:06:01,700 --> 00:06:04,370 eu bod yn bodoli, ond beth sy'n eich dealltwriaeth ohonynt, 124 00:06:04,370 --> 00:06:06,920 fel dim ond defnyddiwr o cyfrifiaduron, beth yw cwci? 125 00:06:06,920 --> 00:06:09,490 126 00:06:09,490 --> 00:06:09,990 Yeah. 127 00:06:09,990 --> 00:06:14,391 >> GYNULLEIDFA: Mae ychydig o- yn dda, nid bit mewn tymor o wyddoniaeth gyfrifiadurol. 128 00:06:14,391 --> 00:06:18,303 Mae'n ddarn o ddata y mae wefan yn anfon i chi er mwyn 129 00:06:18,303 --> 00:06:20,209 i allu cofnodi ystadegau ar chi. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Malan: Iawn, yn dda. 131 00:06:21,250 --> 00:06:24,980 Felly mae'n ddarn o ddata y mae gweinydd, rhoi ar eich cyfrifiadur, 132 00:06:24,980 --> 00:06:28,840 a gadewch i ni hyd yn oed yn cyffredinoli mwy, mae'n allwedd value-- yn dda, 133 00:06:28,840 --> 00:06:30,064 mae hynny'n mynd yn fwy manwl gywir. 134 00:06:30,064 --> 00:06:31,980 Mae'n ddarn o gwybodaeth, darn o ddata, 135 00:06:31,980 --> 00:06:34,430 bod gweinyddwr yn gallu i'w rhoi ar eich cyfrifiadur 136 00:06:34,430 --> 00:06:38,592 ac yn aml iawn, mae'r gweinydd yn ei wneud mae hyn er mwyn gofio pwy ydych chi. 137 00:06:38,592 --> 00:06:40,300 Felly, er enghraifft, ods yw eich bod yn ôl pob tebyg 138 00:06:40,300 --> 00:06:42,982 logio i mewn i safleoedd fel Facebook, neu Gmail, neu eraill o'r blaen, 139 00:06:42,982 --> 00:06:44,940 a byddwch yn logio i mewn gyda'ch enw defnyddiwr a chyfrinair, 140 00:06:44,940 --> 00:06:49,000 ac yna ar ôl hynny, ar gyfer rhai rhif o funudau neu oriau neu hyd yn oed ddyddiau, 141 00:06:49,000 --> 00:06:52,970 mae'r gweinydd yn cofio bod yr ydych, mewn gwirionedd, wedi mewngofnodi. 142 00:06:52,970 --> 00:06:54,600 Nawr, sut mae hynny'n digwydd mewn gwirionedd? 143 00:06:54,600 --> 00:06:58,630 Oherwydd yn sicr nad ydych yn aildeipio eich enw defnyddiwr a chyfrinair bob tro 144 00:06:58,630 --> 00:07:00,760 byddwch yn llywio i dudalen wahanol ar Facebook. 145 00:07:00,760 --> 00:07:02,570 Felly, mae'n troi allan y cwcis yw'r ateb. 146 00:07:02,570 --> 00:07:05,360 >> Mae cwci y gallwch feddwl amdano fel, math o hoffi, a llaw digidol 147 00:07:05,360 --> 00:07:09,200 stamp y gallech ei gael mewn difyrion parc neu glwb sydd yn y bôn 148 00:07:09,200 --> 00:07:11,740 indicates ydych wedi bod yma o'r blaen, ac nad ydych wedi eisoes 149 00:07:11,740 --> 00:07:16,070 dangos eich ID at y bouncer, er enghraifft, a bod y clwb neu'r parc 150 00:07:16,070 --> 00:07:19,050 Dylai awr yn cymryd yn ganiataol y byddwch yn wedi dilysu eisoes. 151 00:07:19,050 --> 00:07:21,270 Yr ydych eisoes wedi cael eu nodi gan iddo. 152 00:07:21,270 --> 00:07:24,740 >> Felly, gyda hynny mewn golwg, gadewch i ni agor cownter yma. 153 00:07:24,740 --> 00:07:27,220 Gadewch i mi fynd yn ei flaen, yr wyf yn unig oedd, ac yn glir fy holl gwcis. 154 00:07:27,220 --> 00:07:29,970 Ac yn awr yr hyn yr wyf i'n mynd i wneud yw dal Shift, dim ond ar gyfer mesur da, 155 00:07:29,970 --> 00:07:31,740 ac yn gorfodi ail-lwytho'r dudalen. 156 00:07:31,740 --> 00:07:34,170 Shift dim ond gwnewch yn siŵr nad oes unrhyw beth yn cael ei cached. 157 00:07:34,170 --> 00:07:36,850 A dyma y cais a oedd yn mynd yn ôl ac ymlaen. 158 00:07:36,850 --> 00:07:41,560 Felly dros yma mae gennym gais, a gadewch mi chwyddo i mewn i lawr yma, ac mae llawer o hyn 159 00:07:41,560 --> 00:07:44,710 yw manylion fath o anniddorol i nawr bod y porwr yn cael yn awtomatig 160 00:07:44,710 --> 00:07:47,800 anfon, ond gadewch i ni glicio View Ffynhonnell i weld y penawdau crai. 161 00:07:47,800 --> 00:07:51,700 >> Ac os ydych chi wedi deifio i mewn i pset6 eisoes, byddwch yn sicr yn adnabod pethau 162 00:07:51,700 --> 00:07:54,990 fel hyn, ac efallai rhai o'r rhain llinellau eraill yma, 163 00:07:54,990 --> 00:07:59,040 ond beth yn fwy diddorol ar gyfer heddiw os byddaf yn sgroliwch i lawr, nid i'r cais 164 00:07:59,040 --> 00:08:02,870 ond at yr ymateb fel y'i gelwir, yn ôl pob tebyg y llinell hon yn edrych yn gyfarwydd. 165 00:08:02,870 --> 00:08:04,977 Mae hynny'n beth da pan fyddwch yn gweld OK 200. 166 00:08:04,977 --> 00:08:07,060 Mae'n debyg mai dyma'r dyddiad ac amser ar y gweinydd 167 00:08:07,060 --> 00:08:08,268 ac mae 'na griw o bethau. 168 00:08:08,268 --> 00:08:09,290 O, mae hyn yn ddiddorol. 169 00:08:09,290 --> 00:08:13,430 >> Troi allan pryd bynnag y byddwch yn defnyddio PHP, o leiaf yn y gweinydd hwn, 170 00:08:13,430 --> 00:08:16,360 y gweinydd poeri allan beth fersiwn o PHP rydych yn ei ddefnyddio. 171 00:08:16,360 --> 00:08:18,962 Pa, mewn gwirionedd, ar gyfer diogelwch dibenion, nid yn beth da. 172 00:08:18,962 --> 00:08:21,170 Ond, byddwn yn dod yn ôl at hynny peth amser arall efallai. 173 00:08:21,170 --> 00:08:25,740 Ond yn awr mae hyn yn llinell juicy heddiw, a gwelsom yn fyr â rhai o'r rhain, 174 00:08:25,740 --> 00:08:29,240 Rwy'n credu gyda Facebook pan fyddwn poked o amgylch yr Arolygydd ar y pryd, 175 00:08:29,240 --> 00:08:33,380 cwci set yn yr hyn sy'n plannu mai ychydig darn o wybodaeth 176 00:08:33,380 --> 00:08:34,890 ar eich cyfrifiadur. 177 00:08:34,890 --> 00:08:37,490 >> Mae hwn yn pennawd HTTP dyna effeithiol 178 00:08:37,490 --> 00:08:39,970 dweud wrth eich porwr, Chrome, IE, beth bynnag, 179 00:08:39,970 --> 00:08:44,480 hey storio porwr ar y defnyddiwr 'n anawdd cathrena, neu mewn RAM y defnyddiwr, 180 00:08:44,480 --> 00:08:49,680 allwedd o'r enw PHPSESSID, sef nodiant llaw-fer ar gyfer y sesiwn adnabod, 181 00:08:49,680 --> 00:08:53,670 ac yn rhoi cynnig gwerth 0vlk8t, dot, dot, dot. 182 00:08:53,670 --> 00:08:56,480 Mae ffug 'n sylweddol hir llinyn alffaniwmerig ar hap. 183 00:08:56,480 --> 00:08:59,480 Mae'n dim ond nifer fawr iawn, ond mae'n encoded gyda llythrennau a rhifau 184 00:08:59,480 --> 00:09:03,550 fel y gall y maint o fod yn hyd yn oed yn fwy na rhifau yn unig. 185 00:09:03,550 --> 00:09:06,947 Ac yna, gyda llaw, Llwybr = /, bod jyst yn golygu y dylai cwci hwn fod 186 00:09:06,947 --> 00:09:08,780 gysylltiedig â'r gyfanrwydd y wefan, 187 00:09:08,780 --> 00:09:11,150 nid dim ond yn benodol dudalen yr holl beth. 188 00:09:11,150 --> 00:09:12,930 Felly, mae hyn yw bod stamp llaw rhithwir. 189 00:09:12,930 --> 00:09:16,330 Mae'n fel pe y gweinydd, Facebook, neu yn ein hachos ni yr offer, 190 00:09:16,330 --> 00:09:21,140 Mae 0vlk8t ysgrifenedig yn llythrennol ac yn y blaen, ar eich llaw. 191 00:09:21,140 --> 00:09:24,360 Sylwi ar yr hyn mae'r gweinydd yn, beidio â gwneud yw ei fod yn peidio 192 00:09:24,360 --> 00:09:27,730 storio fy enw defnyddiwr, yn sicr Nid yw storio fy nghyfrinair. 193 00:09:27,730 --> 00:09:31,710 >> Yn lle hynny, mae'n ymddangos i fod yn storio gwybodaeth ar hap ffug 194 00:09:31,710 --> 00:09:35,010 fel y gall unrhyw un ddyfalu beth yw fy stamp llaw yn. 195 00:09:35,010 --> 00:09:37,590 Ar yr ochr gweinydd, yn y cyfamser, y gweinydd 196 00:09:37,590 --> 00:09:40,370 yn mynd i gofio, yn ôl pob tebyg mewn cronfa ddata neu rywbeth, 197 00:09:40,370 --> 00:09:46,490 bod y defnyddiwr, a oedd yn y dyfodol cyflwyno stamp llaw o 0vlk8t, dot, 198 00:09:46,490 --> 00:09:51,440 dot, dot, dylai fod yn gysylltiedig â hyn arbennig basged siopa, fel petai. 199 00:09:51,440 --> 00:09:55,060 Mewn geiriau eraill, os wyf yn awr yn mynd yn ôl yma ac yn ail-lwytho y dudalen hon, 200 00:09:55,060 --> 00:09:58,020 sut mae'r gweinydd yn gwybod fy mod yn ymweld ag un tro? 201 00:09:58,020 --> 00:10:01,730 >> Neu, os wyf yn ei wneud eto, sut y mae'r gweinydd yn gwybod fy mod i wedi ymweld â hi ddwywaith? 202 00:10:01,730 --> 00:10:04,680 Wel os byddaf yn mynd i lawr i hyn cais mwyaf diweddar, a oedd yn 203 00:10:04,680 --> 00:10:09,150 yn awr yn y trydydd fy mod wedi anfon mewn cyfanswm, yn sylwi ar fy nghais yn awr. 204 00:10:09,150 --> 00:10:11,300 Mae dal hwn ofyn am hyd yma, yr un 205 00:10:11,300 --> 00:10:15,040 fel o'r blaen, mae dal i fod yn criw cyfan o bethau yr ydym wedi anwybyddu fel o'r blaen, 206 00:10:15,040 --> 00:10:19,350 ond y pennawd olaf un, mae hyn amser, gan fy mod i wedi bod yma o'r blaen, 207 00:10:19,350 --> 00:10:21,980 yn gyflwyniad o y stamp llaw rhithwir. 208 00:10:21,980 --> 00:10:28,957 >> Lle y llinell yma, nid yw yn gosod cwci ond colon cwci PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 mai dim ond fy porwr yn awtomatig cyflwyniad hwn stamp llaw fel bod 210 00:10:32,040 --> 00:10:37,910 Erbyn hyn mae'r gweinydd, cyn gynted ag y bydd yn sylweddoli, ooh, mae hyn yn dot 0vlk8t defnyddiwr, dot, dot, 211 00:10:37,910 --> 00:10:42,010 Gallaf gofio nawr pwy ef neu hi yn ac reassociate gyda'r defnyddiwr hwnnw beth bynnag 212 00:10:42,010 --> 00:10:46,450 wybodaeth yr wyf eisiau, ac mae pob un Gall y wybodaeth yn cael ei storio gan chi, 213 00:10:46,450 --> 00:10:50,130 y rhaglennydd, yn $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Felly, i fod yn glir, os wyf yn agor i fyny real gyflym mewn gedit bod gwirioneddol ffeil, counter.php, 215 00:10:57,170 --> 00:11:02,340 yn fy cyfeiriadur cyhoeddus llu lleol fel o'r blaen, yn sylwi bod, yn wir, 216 00:11:02,340 --> 00:11:06,860 Im 'yn y pen draw storio mewn $ _SESSION Dyfyniad unquote "counter," 217 00:11:06,860 --> 00:11:10,110 gwerth y cownter blaenorol a A gaf gan y llinellau hyn i fyny yma i ni 218 00:11:10,110 --> 00:11:13,010 sylw y tro diwethaf, ynghyd ag un. 219 00:11:13,010 --> 00:11:14,980 Felly, o dan y cwfl, dyna i gyd cookies yn cael eu. 220 00:11:14,980 --> 00:11:17,563 Mae'n union fath o digidol stamp llaw yn mynd yn ôl ac ymlaen, 221 00:11:17,563 --> 00:11:20,450 a dweud y gwir, os byddwch yn agor Chrome yn Arolygydd ar unrhyw wefan 222 00:11:20,450 --> 00:11:22,580 byddwch yn ymweld heddiw, gyda super tebygolrwydd uchel, 223 00:11:22,580 --> 00:11:25,450 rydych chi'n mynd i weld efallai un, efallai hanner dwsin cwcis 224 00:11:25,450 --> 00:11:26,650 yn cael ei gofio gan chi. 225 00:11:26,650 --> 00:11:29,500 >> Ac yn waeth eto, os bydd y rhai gwefan yr ydych yn ymweld â 226 00:11:29,500 --> 00:11:32,640 gan bob un ohonom hysbysebion, sef yn sicr heddiw eithaf cyffredin, 227 00:11:32,640 --> 00:11:36,100 ac os bydd yr hysbysebion hynny yn dod o rai blaid ganolog, bydd rhywun 228 00:11:36,100 --> 00:11:39,000 fel Google AdWords neu fel y maent ffoniwch un o'u cynnyrch 229 00:11:39,000 --> 00:11:42,880 neu werthwyr eraill fel bod gwerthu hysbysebion, yr hyn sy'n ddiddorol, 230 00:11:42,880 --> 00:11:46,510 a dweud y gwir beth ychydig yn worrisome, am sut HTTP gweithio, 231 00:11:46,510 --> 00:11:50,855 yw os oes gennych ad gwreiddio yn Facebook.com, ac Google.com, 232 00:11:50,855 --> 00:11:54,240 ac Harvard.edu, unrhyw rif o wefannau, felly mae'n fath 233 00:11:54,240 --> 00:11:58,130 fod yna ddyn canol sy'n gwasanaethu ar hysbysebion ar gyfer pob un o'r tri o'r gwefannau hynny, 234 00:11:58,130 --> 00:12:02,110 mae'n ymddangos bod y cwcis fesul parth. 235 00:12:02,110 --> 00:12:05,910 >> Felly, os oes gennych ad dod o'r un cwmni ar wahanol wefannau, 236 00:12:05,910 --> 00:12:11,140 Gall y cwmni olrhain pwy effeithiol eich bod ar draws pob un o'r gwefannau hynny. 237 00:12:11,140 --> 00:12:13,140 Efallai na Harvard yn gwybod eich bod yn ymweld â Facebook. 238 00:12:13,140 --> 00:12:15,306 Efallai nad yw facebook yn gwybod a ydych yn ymweld Harvard. 239 00:12:15,306 --> 00:12:18,160 Ond pa bynnag wasanaeth ad maent yn eu defnyddio os yw'r parth yn 240 00:12:18,160 --> 00:12:21,710 yn bresennol yn y ddwy we Harvard.edu tudalennau a thudalennau gwe Facebook.com, 241 00:12:21,710 --> 00:12:26,850 y dyn canol yn sicr yn gwybod pwy ydych chi oherwydd y cwcis hyn yn cael eu rhannu 242 00:12:26,850 --> 00:12:30,910 ar draws, neu yn hytrach i, y middleman fel y'u gelwir. 243 00:12:30,910 --> 00:12:33,820 >> Felly, byddwn yn dod yn ôl at hyn yn goblygiadau diogelwch ohono, 244 00:12:33,820 --> 00:12:37,170 ond mae llawer o wybodaeth cael ei gadw amdanoch chi unrhyw bryd i chi 245 00:12:37,170 --> 00:12:40,120 ewch rhan fwyaf o unrhyw dudalen ar y we ar y rhyngrwyd ac mae wir 246 00:12:40,120 --> 00:12:42,877 lleihau i'r mecanwaith syml iawn. 247 00:12:42,877 --> 00:12:44,710 Beth fydd yn digwydd, ac yna, os eich bod yn super paranoid 248 00:12:44,710 --> 00:12:48,190 a byddwch yn penderfynu mynd i mewn Chrome neu IE neu beth bynnag a throi oddi ar eich cwcis? 249 00:12:48,190 --> 00:12:49,365 Beth fydd yn digwydd? 250 00:12:49,365 --> 00:12:50,790 Yeah? 251 00:12:50,790 --> 00:12:53,170 Rydych really-- eich bod wedi gwneud hyn yn iawn? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Na, mynd yn ei flaen. 254 00:12:55,994 --> 00:12:59,645 >> GYNULLEIDFA: Nid yw rhai gwefannau oes gan swyddogaeth heb ei hoffi Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Malan: Yeah! 256 00:13:00,520 --> 00:13:02,311 Felly rhai gwefannau Bydd dim ond rhoi'r gorau i weithio. 257 00:13:02,311 --> 00:13:05,520 Ac yn y rhan fwyaf o wefannau y dyddiau hyn sy'n dibynnu yn y bôn ar gwcis, 258 00:13:05,520 --> 00:13:08,360 yn enwedig os oes ganddynt y byddwch yn mewngofnodi mewn, maen nhw'n jyst yn mynd i dorri. 259 00:13:08,360 --> 00:13:10,360 Gan fod yn ystyried y amgen, os bydd y wefan 260 00:13:10,360 --> 00:13:14,480 Nid oes ffordd o gofio pwy ydych chi, ac felly nid yw eich porwr gwe yn 261 00:13:14,480 --> 00:13:16,949 gynrychioli gyda phob HTTP cais hwn stamp llaw, 262 00:13:16,949 --> 00:13:18,740 effeithiol gwefan fel Facebook yn barhaus 263 00:13:18,740 --> 00:13:22,050 i gael i chi yn brydlon i logio i mewn bob tro darn 264 00:13:22,050 --> 00:13:26,200 byddwch yn newid tudalennau, neu cliciwch cyswllt, a oedd yn sicr nad yw defnyddiwr yn arbennig o dda 265 00:13:26,200 --> 00:13:26,920 profiad. 266 00:13:26,920 --> 00:13:30,020 >> Fel bod yno, hefyd, yn ymhlith y cyfaddawdau. 267 00:13:30,020 --> 00:13:34,140 Felly, heb ado pellach, gadewch i ni gymryd yn ganiataol bod gyda rhaglenni ar y we, 268 00:13:34,140 --> 00:13:37,630 mewn ieithoedd fel PHP, gallwch gofio gwybodaeth fel yna yn y broblem a osodwyd 269 00:13:37,630 --> 00:13:41,550 saith pan fyddwch yn gweithredu eich hun Gwefan E * Masnach-fel gyda lle i brynu 270 00:13:41,550 --> 00:13:45,710 ac yn gwerthu stociau, byddwch yn cofio yn union yr hyn y mae'r defnyddiwr wedi prynu a'u gwerthu 271 00:13:45,710 --> 00:13:49,110 a phwy ef neu hi yn drwy gyfrwng y sesiwn hon. 272 00:13:49,110 --> 00:13:51,110 Ond rydym yn mynd i angen ffordd ffansi nag e-bost 273 00:13:51,110 --> 00:13:52,640 i ddechrau cadw gwybodaeth o gwmpas. 274 00:13:52,640 --> 00:13:53,140 Hawl? 275 00:13:53,140 --> 00:13:56,780 >> Ar ddydd Llun, buom yn siarad am IMS Frosh a sut mewn fersiwn un o'r wefan honno, 276 00:13:56,780 --> 00:14:00,250 mlynedd yn ôl, i gyd wnaethon ni oedd anfon e-bost y Proctor pwy 277 00:14:00,250 --> 00:14:04,250 sy'n gyfrifol am y chwaraeon rhyngfurol rhaglen, yr enw, a'r ryw, 278 00:14:04,250 --> 00:14:07,330 ac a ydynt yn bod yn gapten, ac y dorm rhywun sydd yn 279 00:14:07,330 --> 00:14:10,136 cofrestru ar gyfer chwaraeon rhyngfurol. 280 00:14:10,136 --> 00:14:13,010 Felly, nid ei fod yn ddrwg, ond mae ef neu hi wedyn roedd yn rhaid i trolio drwy eu e-bost, 281 00:14:13,010 --> 00:14:16,010 gwneud taenlen neu rywbeth tebyg hynny, i gadw popeth drefnu. 282 00:14:16,010 --> 00:14:19,750 Felly, yn sicr i ni fel rhaglenwyr Gall wneud hyn ar gyfer hynny proctor. 283 00:14:19,750 --> 00:14:22,970 Ac felly fynd i mewn SQL, Ymholiad Strwythuredig Iaith, 284 00:14:22,970 --> 00:14:26,050 sydd yn mynd i edrych yn bert yn wahanol i C a PHP, 285 00:14:26,050 --> 00:14:30,990 a byddwch yn deifio mewn llawer mwy ymarferol PHP a problem yn gosod saith, ond hefyd SQL, 286 00:14:30,990 --> 00:14:35,310 neu SQL, mae hyn yn iaith sy'n rydych yn ei ddefnyddio i siarad i gronfa ddata. 287 00:14:35,310 --> 00:14:36,480 >> Ond beth yw cronfa ddata? 288 00:14:36,480 --> 00:14:38,440 Wel chi feddwl am cronfa ddata, o leiaf am y tro, 289 00:14:38,440 --> 00:14:41,750 fel dim ond bod fel ffeil Excel, neu os ydych yn nifer y defnyddwyr ffeil Mac, 290 00:14:41,750 --> 00:14:44,400 neu os ydych yn Google Apps defnyddiwr taenlen Google, 291 00:14:44,400 --> 00:14:49,120 'i' yn effeithiol cronfa ddata, neu mewn gwirionedd yn benodol cronfa ddata berthynol. 292 00:14:49,120 --> 00:14:53,070 Mae cronfa ddata berthynol yn unig rhywbeth sydd wedi rhesi a cholofnau, 293 00:14:53,070 --> 00:14:56,440 a gallwch storio unrhyw fath o gwybodaeth mewn rhesi neu golofnau hyn. 294 00:14:56,440 --> 00:15:00,480 >> Ond beth sy'n neis am SQL, a am gronfeydd data gwirioneddol, nid dim ond 295 00:15:00,480 --> 00:15:04,910 taenlenni neu daenlenni Google, yw y gallwch ddefnyddio iaith 296 00:15:04,910 --> 00:15:09,000 i mewn gwirionedd yn gweithredu ymholiadau at mewnosod data, i gael gwared ar y data, 297 00:15:09,000 --> 00:15:11,620 i chwilio am ddata, hyd yn oed yn bwysicaf oll, ac yr ydych 298 00:15:11,620 --> 00:15:16,110 Nid oes rhaid ei ddefnyddio yn deg â llaw fel y gallech chi fel arfer yn Google 299 00:15:16,110 --> 00:15:17,690 taenlen fel hyn. 300 00:15:17,690 --> 00:15:22,217 >> Felly, yn SQL, mae 'na griw o ddatganiadau neu ddarnau sylfaenol 301 00:15:22,217 --> 00:15:23,300 o functionality a adeiladwyd yn. 302 00:15:23,300 --> 00:15:26,450 Mae llawer mwy na hyn, ond gallwch fynd pellter enfawr 303 00:15:26,450 --> 00:15:28,620 dim ond trwy wybod bod yr iaith hon a elwir yn 304 00:15:28,620 --> 00:15:30,840 Mae gan SQL o leiaf bedair datganiadau gallwch trosoledd. 305 00:15:30,840 --> 00:15:34,420 >> Dileu, ar gyfer cael gwared data, Mewnosod, ar gyfer ychwanegu rhesi, 306 00:15:34,420 --> 00:15:37,340 Diweddariad, ar gyfer newid rhesi, a Dethol, 307 00:15:37,340 --> 00:15:39,860 ar gyfer mynd yn ôl rhesi a dyna yn wir beth SQL yn ei wneud. 308 00:15:39,860 --> 00:15:43,810 Mae'n gweithredu yn gyfan gwbl ar resi felly bod pan fyddwch yn mewnosod, neu ddileu, 309 00:15:43,810 --> 00:15:47,470 neu ddiweddaru, neu dewiswch yr hyn rydych yn mynd yn ôl o ganlyniad i hyn a elwir yn set, 310 00:15:47,470 --> 00:15:49,690 fel amrywiaeth o rhesi. 311 00:15:49,690 --> 00:15:51,700 Mae criw o rhesi o dabl. 312 00:15:51,700 --> 00:15:54,050 >> Felly, yn ôl yn y dydd, a hyd yn oed hyd heddiw, 313 00:15:54,050 --> 00:15:56,560 gallwch ryngweithio gyda'r cronfa ddata gan ddefnyddio llinell orchymyn, 314 00:15:56,560 --> 00:15:59,691 ond nid yw'n arbennig o hwyl i'w defnyddio y ffenestr arddull du a gwyn 315 00:15:59,691 --> 00:16:02,190 ac mewn gwirionedd yn gweithredu gorchmynion ac yn brocio o gwmpas eich cronfa ddata. 316 00:16:02,190 --> 00:16:06,054 Mae rhyngwyneb defnyddiwr graffigol, neu GUI, yn llawer mwy well, gellid dadlau, 317 00:16:06,054 --> 00:16:08,970 ac felly mae'r offeryn rydym yn argymell ac yn preinstalled ar eich cyfer ar y peiriant 318 00:16:08,970 --> 00:16:10,580 cael ei alw'n phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Mae'n gyfanswm gyd-ddigwyddiad bod y enw'r beth mae hyn yn ei PHP ynddo, 320 00:16:14,060 --> 00:16:17,430 'i jyst yn golygu bod y bobl a ysgrifennodd y rhaglen hon eu hunain 321 00:16:17,430 --> 00:16:18,670 Ysgrifennodd ei fod yn PHP. 322 00:16:18,670 --> 00:16:23,740 >> Namyn 'i' yn y pen draw ynglŷn â gweinyddu gweinyddwr cronfa ddata, fel gweinydd MYSQL 323 00:16:23,740 --> 00:16:26,589 y gallai fod gennych, wrth i chi yn ei wneud, yn y peiriant CS50. 324 00:16:26,589 --> 00:16:29,130 Felly mae mwy o fanylion yma nag mae angen i ni ofalu am heddiw, 325 00:16:29,130 --> 00:16:33,280 ond yr hyn sy'n allweddol yw bod ar y chwith ochr yn rhestr o'r cronfeydd data 326 00:16:33,280 --> 00:16:36,040 sydd gennych ar eich cyfrifiadur, ar eich offer CS50, 327 00:16:36,040 --> 00:16:40,090 neu dewch prosiectau terfynol y gallech chi gael ar drydydd parti, cwmni 328 00:16:40,090 --> 00:16:43,415 gwefan neu ar y we gweinydd, bod efallai y byddwch yn talu am y gofod. 329 00:16:43,415 --> 00:16:45,290 Felly, ar y chwith yw'r cronfeydd data, un ohonynt 330 00:16:45,290 --> 00:16:48,750 yw pset7 yr wyf yn benthyg o nesaf wythnosau pset, ac yna ar y top 331 00:16:48,750 --> 00:16:51,570 mae sylwi mae 'na criw o tabiau, un ohonynt 332 00:16:51,570 --> 00:16:55,150 yw cronfeydd data, SQL, statws, defnyddwyr, allforio ac yn y blaen. 333 00:16:55,150 --> 00:16:56,900 Felly, gallwch chi fynd am hir ffordd yn unig trwy wireddu 334 00:16:56,900 --> 00:16:59,770 bod y rhan fwyaf o'r rhyngwyneb defnyddiwr yn y golofn ar y chwith uchaf 335 00:16:59,770 --> 00:17:02,650 ac ar draws y top dde i fyny yno. 336 00:17:02,650 --> 00:17:04,980 Felly, beth allwn ni ei wneud gyda hyn? 337 00:17:04,980 --> 00:17:08,609 Wel, gadewch i ni ddechrau creu ychydig o wybodaeth fel a ganlyn. 338 00:17:08,609 --> 00:17:11,760 >> Gadewch i ni dybio y canlynol yn wir, fel y bydd mewn ychydig ddyddiau, 339 00:17:11,760 --> 00:17:14,440 ydych am weithredu gwefan, a elwir yn CS50 Cyllid, 340 00:17:14,440 --> 00:17:17,328 ac y wefan hon yn gadael i chi brynu unquote dyfynnu a gwerthu stociau. 341 00:17:17,328 --> 00:17:19,619 Ac mae'n mynd i chyfrif i maes y pris stociau rhai, 342 00:17:19,619 --> 00:17:22,380 yn y pen draw fel y byddwch yn gweld, trwy siarad â Yahoo Cyllid. 343 00:17:22,380 --> 00:17:26,250 Pa rai, rhyfeddol, mae gan wasanaeth rhad ac am ddim lle gallwch basio mewn stoc Ticker 344 00:17:26,250 --> 00:17:29,830 fel GOOG i Google, ac y bydd yn yn rhoi i chi yn ôl Google stoc ar hyn o bryd 345 00:17:29,830 --> 00:17:32,250 pris yn y gorffennol ychydig funudau o leiaf. 346 00:17:32,250 --> 00:17:35,080 >> Felly, byddwch yn defnyddio hynny, yn y pen draw, i esgus ar gyfer y defnyddiwr 347 00:17:35,080 --> 00:17:37,750 i brynu a gwerthu gwirioneddol stociau ddefnyddio arian rhithwir, 348 00:17:37,750 --> 00:17:39,750 ond y peth cyntaf y defnyddiwr yn mynd i weld 349 00:17:39,750 --> 00:17:43,850 yw hyn login screen sy'n gofyn iddynt am eu enw defnyddiwr a chyfrinair. 350 00:17:43,850 --> 00:17:46,540 Ac felly, un o'r rhai cyntaf heriau i chi yn pset7 351 00:17:46,540 --> 00:17:50,460 yn mynd i fod i weithredu'r ben yn ôl cronfa ddata, mae'r daenlen os mynnwch, 352 00:17:50,460 --> 00:17:53,369 sy'n mynd i storio enwau a chyfrineiriau defnyddwyr 353 00:17:53,369 --> 00:17:56,660 ac yn y pen draw, yr hyn y maent yn berchen stociau, a faint, a faint o arian sydd ganddynt, 354 00:17:56,660 --> 00:18:00,110 felly bagad o bethau eraill mewn tablau eraill, neu daenlenni. 355 00:18:00,110 --> 00:18:05,020 >> Felly, gadewch i ni edrych ar sut y mae hyn Gallai ymddangos ar yr olwg gyntaf. 356 00:18:05,020 --> 00:18:06,980 Rydw i'n mynd i fynd yn ôl i'r yr offer ac rwy'n 357 00:18:06,980 --> 00:18:14,102 mynd i fynd i'r URL hwn fan hyn phpMyAdmin localhost / phpmyadmin 358 00:18:14,102 --> 00:18:16,060 a byddwch yn gweld ei fod yn mynd â fi i'r rhyngwyneb 359 00:18:16,060 --> 00:18:18,520 yn union fel y gwelsom ar y ergyd sgrîn, ac yma yr wyf yn 360 00:18:18,520 --> 00:18:21,560 cael cronfa ddata ychwanegol Gelwir darlith ar gyfer heddiw 361 00:18:21,560 --> 00:18:24,280 a gadewch i mi fynd yn ei flaen cyntaf a chliciwch ar pset7. 362 00:18:24,280 --> 00:18:27,940 >> Yr wyf yn ymddangos i gael un neu ddau o opsiynau, un ar gyfer newydd, ar gyfer creu tabl newydd, 363 00:18:27,940 --> 00:18:30,770 a dolen i ddefnyddwyr, a oedd mae tabl Rwyf eisoes ei greu. 364 00:18:30,770 --> 00:18:31,790 Felly beth tabl? 365 00:18:31,790 --> 00:18:33,740 Felly os ydych yn defnyddio Excel o'r blaen, ac os ydych wedi 366 00:18:33,740 --> 00:18:37,110 rhifau a ddefnyddir neu Google Taenlenni, byddwch yn agor i fyny ffenestr 367 00:18:37,110 --> 00:18:39,350 a byddwch yn cael criw cyfan o rhesi a cholofnau, 368 00:18:39,350 --> 00:18:43,120 ond yna rydych fel arfer yn cael taflenni gwaith ar hyd y gwaelod, neu tabs ar wahân. 369 00:18:43,120 --> 00:18:46,140 Gallwch chi feddwl am bob un daflen waith fel tabl 370 00:18:46,140 --> 00:18:51,150 fel y gronfa ddata, yn y pen draw, yn cyfuniad o un neu fwy o dablau, un 371 00:18:51,150 --> 00:18:54,064 neu fwy o daflenni gwaith, yn y byd taenlen arferol. 372 00:18:54,064 --> 00:18:55,980 Felly, gadewch i mi fynd yn ei flaen ac cliciwch ar y daflen waith hon 373 00:18:55,980 --> 00:18:59,420 fy mod premade, a elwir yn ddefnyddwyr, a.k.a. 374 00:18:59,420 --> 00:19:00,700 Tabl cronfa ddata. 375 00:19:00,700 --> 00:19:04,130 Ac os wyf yn sgroliwch i lawr yma, gadewch i mi chwyddo allan ychydig, 376 00:19:04,130 --> 00:19:08,479 mae hyn yn beth phpMyAdmin yn ei ddweud ni yw tu mewn y tabl hwn ar hyn o bryd. 377 00:19:08,479 --> 00:19:11,020 Mae'n ychydig yn ddryslyd ar y dechrau yr olwg oherwydd nad yw'r UI yw 378 00:19:11,020 --> 00:19:15,140 y peth harddaf yn y byd, ond yr hyn sy'n ddiddorol yw rhan hon fan hyn. 379 00:19:15,140 --> 00:19:17,970 ID, enw defnyddiwr, a hash. 380 00:19:17,970 --> 00:19:20,510 >> Ymlaen llaw, a byddwch yn llawdrwm mae hyn yn broblem yn gosod saith, 381 00:19:20,510 --> 00:19:25,050 rydym yn rhoi ffeil sy'n cynnwys super i chi tabl cronfa ddata bach, benthyg mewn gwirionedd 382 00:19:25,050 --> 00:19:27,070 oddi wrth y rhifyn haciwr o broblem yn gosod dau, 383 00:19:27,070 --> 00:19:29,480 tu mewn y mae chwe rhes. 384 00:19:29,480 --> 00:19:32,720 Un ar gyfer Belinda holl ffordd i lawr i un ar gyfer Zamyla, 385 00:19:32,720 --> 00:19:35,980 ac yn sylwi ar ochr chwith y rheini enwau defnyddwyr yn IDs unigryw fel un, 386 00:19:35,980 --> 00:19:39,410 dau, tri, pedwar, pump, chwech, cyfanrifau, ac yna i'r dde mae hashes. 387 00:19:39,410 --> 00:19:42,780 >> Ac os, groes yn, na wnaethoch chi y broblem rhifyn haciwr gosod dau, 388 00:19:42,780 --> 00:19:46,560 ond mae hash yn union fel amgryptio cyfrinair gyda rhai cafeatau. 389 00:19:46,560 --> 00:19:49,470 Ac felly, yr hyn yr ydych yn gweld yma yn y fersiynau amgryptio o bob chwech 390 00:19:49,470 --> 00:19:52,950 o'n cyfrineiriau rhag problem gosod argraffiad dau yn haciwr. 391 00:19:52,950 --> 00:19:56,500 Nawr ar y chwith yn unig yw rhai pethau GUI, golygu rhes hon, copïo rhes hon, 392 00:19:56,500 --> 00:19:57,630 dileu'r rhes hon. 393 00:19:57,630 --> 00:19:59,840 >> Ond yr hyn sy'n ddiddorol nawr yw'r canlynol. 394 00:19:59,840 --> 00:20:03,810 Gallaf ddechrau mewn gwirionedd arbrofi gyda y tabl hwn. 395 00:20:03,810 --> 00:20:07,330 Felly, os af a chliciwch y SQL tab, yr wyf yn cael y blwch testun mawr. 396 00:20:07,330 --> 00:20:10,190 Ac nid yw hyn yn sut yr ydym yn mynd i wneud hynny pan mewn gwirionedd yn ysgrifennu cod. 397 00:20:10,190 --> 00:20:12,700 I fod yn glir, phpMyAdmin yn unig yw offeryn sy'n 398 00:20:12,700 --> 00:20:16,450 yn mynd i adael i ni brocio o gwmpas y gronfa ddata a gadewch i ni arbrofi gydag ymholiadau. 399 00:20:16,450 --> 00:20:19,430 >> Felly, er enghraifft, mae'n debyg Rwy'n gweithredu yn union hyn. 400 00:20:19,430 --> 00:20:22,820 Dethol, sy'n un o'r rhai keywords y soniais yn gynharach, seren, 401 00:20:22,820 --> 00:20:25,900 sy'n cynrychioli'r holl y colofnau mewn tabl. 402 00:20:25,900 --> 00:20:26,820 O'r hyn a bwrdd? 403 00:20:26,820 --> 00:20:27,990 Wel, defnyddwyr. 404 00:20:27,990 --> 00:20:29,950 A rhybudd mae hyn confensiwn rhyfedd yn SQL 405 00:20:29,950 --> 00:20:32,140 lle rydych yn ei ddefnyddio yn ôl trogod, fel arfer, 406 00:20:32,140 --> 00:20:35,940 dyfyniadau Nid sengl a dyfyniadau nad dwbl pan fyddwch yn siarad am enwau tablau, 407 00:20:35,940 --> 00:20:38,990 felly mae'r dyfyniad cefn yw'r peth ar y top chwith eich bysellfwrdd mwyaf 408 00:20:38,990 --> 00:20:39,720 tebygol. 409 00:20:39,720 --> 00:20:41,850 >> Felly, gadewch i mi fynd yn ei flaen yn awr a dim ond gadael hynny ei ben ei hun 410 00:20:41,850 --> 00:20:46,020 a sgroliwch i lawr a chliciwch Go, ac rydym yn mewn gwirionedd yn mynd i weld yr un peth. 411 00:20:46,020 --> 00:20:52,410 Rydym newydd ddienyddio ymholiad SQL gan ddweud dewiswch seren bopeth 412 00:20:52,410 --> 00:20:55,610 o dabl o'r enw defnyddwyr, ac hyn yr ydych yn ei gael yn ôl yn hyn. 413 00:20:55,610 --> 00:20:58,400 Yn y pen draw, byddwn yn gallu gwneud hynny un peth mewn cod, 414 00:20:58,400 --> 00:21:02,109 ond am y tro pob roeddwn i eisiau Nid oedd yn gweld ei fod yn fy porwr. 415 00:21:02,109 --> 00:21:03,900 Wel gadewch i ni wneud rhywbeth ychydig yn wahanol. 416 00:21:03,900 --> 00:21:08,330 Gadewch i mi fynd yn ôl at y tab SQL, a gadewch i ni dim ond dweud bod yr hyn? 417 00:21:08,330 --> 00:21:11,520 Zamyla wedi colli ei holl arian, ac felly ei fod yn 418 00:21:11,520 --> 00:21:13,190 amser i ni ddileu hi fel defnyddiwr. 419 00:21:13,190 --> 00:21:14,630 Mae hi bellach wedi logio i mewn. 420 00:21:14,630 --> 00:21:18,870 >> Felly, dw i'n mynd i ddweud dileu from-- yn dda, cynnal cyfalafu 421 00:21:18,870 --> 00:21:23,080 er mwyn cysondeb, dileu gan ddefnyddwyr lle. 422 00:21:23,080 --> 00:21:25,430 Ac felly, gallwn gael y rhain predicates, neu mae'r rhain 423 00:21:25,430 --> 00:21:31,180 rhagbrofol, ar ddiwedd fy natganiad ble a sut y gallwn i ddileu Zamyla? 424 00:21:31,180 --> 00:21:34,190 Yn ôl ei henw Zamyla, felly mae'r colofn, un o'r colofnau 425 00:21:34,190 --> 00:21:37,950 enwyd, felly lle mae enw = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Ac yma Rwy'n defnyddio dwbl dyfyniadau neu dyfyniadau sengl, 427 00:21:40,000 --> 00:21:42,958 ydych ond yn defnyddio'r cefn dic pryd siarad am yr enwau, er enghraifft, 428 00:21:42,958 --> 00:21:45,130 tablau neu gaeau. 429 00:21:45,130 --> 00:21:47,440 A gadewch i mi cliciwch Ewch yma. 430 00:21:47,440 --> 00:21:50,400 Ac yn awr, mae'r dudalen we yn sef ychydig yn uptight. 431 00:21:50,400 --> 00:21:53,620 >> Neu, ydych chi wir am weithredu dileu gan ddefnyddwyr lle mae enw hafal Zamyla? 432 00:21:53,620 --> 00:21:54,680 Ie. 433 00:21:54,680 --> 00:22:01,900 Felly nawr, os ydym yn mynd yn ôl at fy mwrdd gan ddefnyddwyr glicio, sylwi bod Hm. 434 00:22:01,900 --> 00:22:02,530 I goofed. 435 00:22:02,530 --> 00:22:04,070 Ac yn wir, yr wyf yn fath o glicio i ffwrdd mor gyflym 436 00:22:04,070 --> 00:22:06,195 nad oeddech hyd yn oed yn gweld y neges gwall coch, efallai. 437 00:22:06,195 --> 00:22:07,649 Beth wnes i ei wneud o'i le? 438 00:22:07,649 --> 00:22:09,690 GYNULLEIDFA: Nid ydych oedd angen i fanteisio i'r eithaf ei henw. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Malan: Yeah I cyfalafu ei henw, 440 00:22:11,260 --> 00:22:13,770 ond mae ei username-- mewn gwirionedd yr wyf gwneud cwpl camgymeriadau, dde? 441 00:22:13,770 --> 00:22:16,720 Un, ei enw defnyddiwr yn zamyla, Z llythrennau bach, 442 00:22:16,720 --> 00:22:20,140 ac enw golofn yw enw defnyddiwr, Nid yw enw, felly gadewch i ni wneud hyn eto. 443 00:22:20,140 --> 00:22:25,750 Gadewch i mi fynd yn ei flaen ac dileu gan ddefnyddwyr lle 444 00:22:25,750 --> 00:22:28,990 enw defnyddiwr yn dychwelyd dyfyniad unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Mae pob hawl? 446 00:22:29,490 --> 00:22:32,600 Felly, mae hyn yn edrych ychydig yn well, gadewch i mi fynd sgroliwch i lawr a chliciwch Go. 447 00:22:32,600 --> 00:22:34,730 Mae hi dal yn mynd i gweiddi arna i fod yn sicr. 448 00:22:34,730 --> 00:22:37,500 I cliciwch Ie, ac yn awr rydym yn gweld, dweud y gwir digwyddodd hyn, mewn gwirionedd 449 00:22:37,500 --> 00:22:39,870 gyflym, yn llai nag un yn ail yn sicr, mae hyn 450 00:22:39,870 --> 00:22:41,720 yn union yr ymholiad a gafodd eu dienyddio. 451 00:22:41,720 --> 00:22:45,617 I gadarnhau, gadewch i mi cliciwch i ddefnyddwyr ac yn wir erbyn hyn Zamyla wedi mynd. 452 00:22:45,617 --> 00:22:46,700 Nawr, gadewch i ni wneud y gwrthwyneb. 453 00:22:46,700 --> 00:22:49,320 Tybiwch fod Gabe eisiau gofrestru ar gyfer y wefan. 454 00:22:49,320 --> 00:22:52,825 Beth yw'r ymholiad SQL, beth yw'r gorchymyn gallwn i deipio i ychwanegu Gabe? 455 00:22:52,825 --> 00:22:54,200 Wel mae'n eithaf syml. 456 00:22:54,200 --> 00:22:58,260 Mewnosod i mewn i ddefnyddwyr, ac yn awr mae'n mynd ychydig yn cryptig. 457 00:22:58,260 --> 00:23:03,190 Angen i mi nodi, at 'r gweinyddwr, pa feysydd yr wyf am ei aseinio. 458 00:23:03,190 --> 00:23:06,630 Dydw i ddim yn poeni beth Gabe ID rhif yw, felly dwi'n mynd i hepgor hynny. 459 00:23:06,630 --> 00:23:11,360 Im 'yn lle mynd i ddweud enw defnyddiwr, hash, ac yna 460 00:23:11,360 --> 00:23:14,960 y gwerthoedd Rwyf am roi mae yn mynd i fod Gabe. 461 00:23:14,960 --> 00:23:16,800 Ac yna ei hash, nid wyf yn gwybod. 462 00:23:16,800 --> 00:23:19,900 Felly, am y tro, yr wyf i'n mynd i gadael hynny fel mawr i'w wneud. 463 00:23:19,900 --> 00:23:21,650 Byddwn yn dod yn ôl i bod yn y broblem a osodwyd 464 00:23:21,650 --> 00:23:23,390 spec o ran sut yr ydych mewn gwirionedd yn gwneud hynny. 465 00:23:23,390 --> 00:23:24,630 >> Felly sylwi, unwaith eto, y gystrawen. 466 00:23:24,630 --> 00:23:28,430 Mewnosod i mewn i enw'r tabl, yna mae rhestr parenthesized y caeau, 467 00:23:28,430 --> 00:23:30,980 y colofnau yr ydych eisiau ei ychwanegu gwerthoedd i, ac yna dim ond 468 00:23:30,980 --> 00:23:34,495 union yr un fath ar ôl i archebu dde o'r gwerthoedd yr ydych am ychwanegu, 469 00:23:34,495 --> 00:23:36,870 a 'i' dim ond lapio oherwydd mae'r testun yn ychydig yn hir. 470 00:23:36,870 --> 00:23:38,520 Felly nawr gadewch i mi cliciwch Go. 471 00:23:38,520 --> 00:23:39,830 Un rhes mewnosod. 472 00:23:39,830 --> 00:23:43,020 Ac yn awr os byddaf yn mynd yn ôl i defnyddwyr, yr hyn sy'n ddiddorol 473 00:23:43,020 --> 00:23:48,960 yw nid yn unig bod Gabe awr yn y cronfa ddata, yr hyn sy'n debyg ei ID? 474 00:23:48,960 --> 00:23:49,820 >> Wel mae'n saith. 475 00:23:49,820 --> 00:23:51,479 Pam ei fod saith pan doeddwn i ddim ychwanegu? 476 00:23:51,479 --> 00:23:54,020 Felly, mae hyn, hefyd, yw un o'r nodweddion a gewch o'r gronfa ddata. 477 00:23:54,020 --> 00:23:55,750 Mae llawer o adeiladwyd yn functionality. 478 00:23:55,750 --> 00:23:57,950 Mae'n ymddangos bod pan Crewyd y tabl hwn, 479 00:23:57,950 --> 00:24:01,390 Rwy'n ragosodedig 'i' yn awtomatig aseinio ID yn y fath fodd 480 00:24:01,390 --> 00:24:02,480 ei fod yn cynnyddu. 481 00:24:02,480 --> 00:24:05,470 Felly, os ydych chi wedi poked erioed o gwmpas, ac wedi edrych ar beth yw eich Facebook ID 482 00:24:05,470 --> 00:24:09,292 rhif yw, y dyddiau hyn nid yw'n wir yn beth i'w wneud, ond mae Facebook fel API, 483 00:24:09,292 --> 00:24:11,750 Cais Rhaglennu Rhyngwyneb, lle y gallwch fynd yn ôl 484 00:24:11,750 --> 00:24:14,430 criw cyfan o ddata am chi eich hun, am eich ffrindiau, 485 00:24:14,430 --> 00:24:15,347 ac yn eich cysylltiadau. 486 00:24:15,347 --> 00:24:17,430 A hyn a arferai fod yn garedig o oer, yn ôl yn y dydd, 487 00:24:17,430 --> 00:24:19,510 oedd edrych ar beth yw eich Rhif ID facebook oedd. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg yn, er enghraifft, yw tri 489 00:24:22,390 --> 00:24:23,890 ers iddo fod yn awdur y safle. 490 00:24:23,890 --> 00:24:27,610 Ac wrth i'r stori yn mynd, creodd dau cyfrifon prawf, defnyddwyr un a dau, 491 00:24:27,610 --> 00:24:28,690 y mae ef wedyn yn dileu. 492 00:24:28,690 --> 00:24:32,780 Ac felly, Zuck, fel y mae ei enw defnyddiwr ar Facebook, yn ID rhif tri, 493 00:24:32,780 --> 00:24:36,110 ac mae pob un ohonom yn cael niferoedd llawer fwy na thri diwrnod yma. 494 00:24:36,110 --> 00:24:37,980 Yn wir, ar ryw adeg Symudodd facebook ffwrdd 495 00:24:37,980 --> 00:24:42,410 o hyd yn oed gan ddefnyddio int, a oedd yn werth 32-bit, i ddefnyddio 496 00:24:42,410 --> 00:24:44,480 y cam nesaf i fyny, hanfod yn hir o amser, felly 497 00:24:44,480 --> 00:24:47,150 eu bod yn gallu darparu ar gyfer hyd yn oed mwy o ddefnyddwyr sy'n cofrestru. 498 00:24:47,150 --> 00:24:49,420 Felly mae yn ffaith hanesyddol ychydig o hwyl. 499 00:24:49,420 --> 00:24:51,660 >> Felly dyna dim ond y gystrawennau sylfaenol â hwy 500 00:24:51,660 --> 00:24:54,470 efallai y byddwn yn gweithredu un neu ddau o ymholiadau, ond gallwn mewn gwirionedd 501 00:24:54,470 --> 00:24:56,744 gwneud bagad mwy o bethau gyda SQL. 502 00:24:56,744 --> 00:24:58,910 A byddwch yn gweld, yn y pen draw, yn y broblem a osodwyd saith 503 00:24:58,910 --> 00:25:01,034 bod yn rhaid i chi wneud nifer o benderfyniadau dylunio, 504 00:25:01,034 --> 00:25:03,290 yn eu plith yn mynd i fod pa fathau o ddata i'w defnyddio. 505 00:25:03,290 --> 00:25:08,240 Felly, yn union fel yn C, mae data mathau mewn cronfa ddata, megis MySQL, 506 00:25:08,240 --> 00:25:12,640 a'r mathau data rhaid i chi ddewis o'r cynnwys y meysydd hyn yma. 507 00:25:12,640 --> 00:25:17,287 Golosg, varchar, Int, int mawr, degol dyddiad ac amser, a llawer o rai eraill. 508 00:25:17,287 --> 00:25:18,370 Felly gadewch i ni mewn gwirionedd yn gwneud hyn. 509 00:25:18,370 --> 00:25:21,060 Gadewch i esgus nad ydym yn gwneud tabl defnyddiwr hwn yn llaw i chi 510 00:25:21,060 --> 00:25:25,080 a gadewch i mi fynd yn ei flaen a chreu, am fy hun, yn y darlithoedd database-- 511 00:25:25,080 --> 00:25:31,000 mewn gwirionedd yn gadael i mi fynd yn ei flaen ac yn dileu mae'r tabl gen i mewn yma yn barod 512 00:25:31,000 --> 00:25:32,940 fel y gallwn mewn gwirionedd yn creu hyn. 513 00:25:32,940 --> 00:25:33,550 Wps. 514 00:25:33,550 --> 00:25:35,970 Rydw i'n mynd i roi'r gorau i hyn bwrdd, ac erbyn hyn rwy'n 515 00:25:35,970 --> 00:25:38,337 mynd i fynd eto i'r darlith cronfa ddata dros yma, 516 00:25:38,337 --> 00:25:40,420 Rydw i'n mynd i greu tabl Gelwir defnyddwyr a gadewch i ni 517 00:25:40,420 --> 00:25:43,010 dim ond gwneud dair colofn yn y lle cyntaf a chliciwch Go. 518 00:25:43,010 --> 00:25:44,990 >> Yn awr, ar y cyfan, unwaith eto, mae hyn yn unig 519 00:25:44,990 --> 00:25:48,570 ddefnyddio'r offeryn graffigol o'r enw phpMyAdmin, a'r hyn rydym yn ei wneud yn awr 520 00:25:48,570 --> 00:25:49,600 yn creu tabl. 521 00:25:49,600 --> 00:25:53,170 Felly, mae hyn yn debyg File mynd, New, a chreu ffeil Excel newydd. 522 00:25:53,170 --> 00:25:55,440 Felly, mae'n gofyn i mi ychydig cwestiynau, o'r chwith i'r dde, 523 00:25:55,440 --> 00:25:58,620 beth yw enw'r y golofn gyntaf, ac yna enw'r ail golofn, 524 00:25:58,620 --> 00:25:59,560 ac enw y drydedd. 525 00:25:59,560 --> 00:26:00,518 Felly gadewch i ni ail-greu'r hyn. 526 00:26:00,518 --> 00:26:05,460 ID, ac yna enw defnyddiwr yn un, ac yna hash yn un arall. 527 00:26:05,460 --> 00:26:08,970 Felly, yr hyn y dylai y math data fod yn awr ar gyfer cae fel ID? 528 00:26:08,970 --> 00:26:14,470 >> Dyma'r rhestr gyfan o fathau data sydd ar gael i chi mewn cronfa ddata, 529 00:26:14,470 --> 00:26:16,070 ac am y tro, gadewch i ni dim ond yn mynd gyda int. 530 00:26:16,070 --> 00:26:18,160 Gwerth 32-bit, nid wyf yn ei wneud feddwl yn realistig i ddim 531 00:26:18,160 --> 00:26:21,484 mynd i gael mwy na 4000000000 defnyddwyr yn fy nghyfrif, yn fy ngwasanaeth, 532 00:26:21,484 --> 00:26:23,650 felly dwi'n mynd i gadw symud ymlaen i'r cwestiwn nesaf. 533 00:26:23,650 --> 00:26:25,490 Dydw i ddim yn mynd i bennu hyd neu werthoedd, 534 00:26:25,490 --> 00:26:28,540 nid yw'n berthnasol yma am int, fel y cyfryw. 535 00:26:28,540 --> 00:26:30,740 Ac yn awr y gallaf nodi, yn ôl pob golwg, a diofyn 536 00:26:30,740 --> 00:26:33,970 gwerth, ac nid wyf ddim yn mynd i bennu. 537 00:26:33,970 --> 00:26:36,050 Mae coladu, nid wyf yn gwybod beth yw hynny. 538 00:26:36,050 --> 00:26:37,290 Priodoledd. 539 00:26:37,290 --> 00:26:39,455 Nawr rydym yn ei wneud mewn gwirionedd gael penderfyniad dylunio. 540 00:26:39,455 --> 00:26:42,580 Felly mae yna ychydig o gaeau yma, nid yw pob ohonynt yn berthnasol, ond heb eu llofnodi 541 00:26:42,580 --> 00:26:43,380 jyst yn golygu beth? 542 00:26:43,380 --> 00:26:45,400 Bod yn rhaid i'r int fod? 543 00:26:45,400 --> 00:26:46,210 Dim ond heb fod yn negyddol. 544 00:26:46,210 --> 00:26:48,090 Felly, mae'n rhaid iddo fod yn 0 ar i fyny. 545 00:26:48,090 --> 00:26:51,120 Na, dydw i ddim yn mynd i wirio am fod Rwyf am i bob defnyddiwr i gael adnabod, 546 00:26:51,120 --> 00:26:52,470 ni all fod yn nwl. 547 00:26:52,470 --> 00:26:55,949 Ac yna, rydym yn dod i rai mwy penderfyniadau dylunio diddorol fel hyn. 548 00:26:55,949 --> 00:26:58,990 Byddwn yn dod yn ôl at hyn yn y man, ond pa nodwedd arall o gronfa ddata 549 00:26:58,990 --> 00:27:04,200 yw, yw y gallwch ddweud y gweinydd y gronfa ddata mynd yn ei flaen 550 00:27:04,200 --> 00:27:07,100 a gwneud y gorau eich hun, eich RAM a bod eich lle ar y ddisg galed, 551 00:27:07,100 --> 00:27:11,770 fel eu bod yn dethol, a mewnosodiadau, a dileu, a diweddariadau yn wirioneddol gyflym. 552 00:27:11,770 --> 00:27:13,250 Cyferbyniad hyn gyda pset5. 553 00:27:13,250 --> 00:27:16,259 >> Os ydych am edrych i fyny rhywbeth yn eich tabl hash, a oedd 554 00:27:16,259 --> 00:27:18,300 ydych yn meddwl am fel cronfa ddata, a oedd yn gorfod gwneud yr holl 555 00:27:18,300 --> 00:27:21,500 gweithio i wneud eich bwrdd hash gyflym. 556 00:27:21,500 --> 00:27:22,840 Mae'n debyg, yn amlwg, yr ydych. 557 00:27:22,840 --> 00:27:23,060 Hawl? 558 00:27:23,060 --> 00:27:26,080 Bu'n rhaid i chi roi yn yr holl amser ddirwy tiwnio pethau, cael swyddogaeth hash 559 00:27:26,080 --> 00:27:27,820 i'r dde, figuring sut lawer o bwcedi i'w gael. 560 00:27:27,820 --> 00:27:29,611 >> Ond beth braf, unwaith eto, tua cronfa ddata yn 561 00:27:29,611 --> 00:27:31,762 'ch jyst punt bob un hwn i bobl eraill 562 00:27:31,762 --> 00:27:33,720 sydd wedi meddwl hyn trwy i chi, a beth 563 00:27:33,720 --> 00:27:37,170 Rydw i'n mynd i ddweud yma o dan mynegai yw bod fy maes ID 564 00:27:37,170 --> 00:27:41,149 yn mynd i fod ar y ffordd sylfaenol o nodi defnyddwyr yn y gronfa ddata hon. 565 00:27:41,149 --> 00:27:42,940 Dydw i ddim yn mynd i feddwl o Zamyla fel Zamyla, 566 00:27:42,940 --> 00:27:45,800 Rydw i'n mynd i feddwl am hi wrth i'r rhif 6. 567 00:27:45,800 --> 00:27:49,814 >> Pam ei fod, efallai, yn well yn reddfol i feddwl am a model 568 00:27:49,814 --> 00:27:52,480 pob un o'ch rhesi unigol gan ddefnyddio nifer yn hytrach na rhywbeth 569 00:27:52,480 --> 00:27:56,480 fel llinyn, fel yr Zamyla neu Gabe neu linyn hirach o hyd? 570 00:27:56,480 --> 00:27:57,444 Yeah? 571 00:27:57,444 --> 00:28:00,117 >> GYNULLEIDFA: Mae ID yn unigryw? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Malan: Dweud eto? 573 00:28:01,200 --> 00:28:02,283 GYNULLEIDFA: Mae ID yn unigryw? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Malan: Mae ID yn unigryw, ond suppose-- 575 00:28:04,400 --> 00:28:06,320 yn ôl y digwydd yn gyffredinol gyda enwau defnyddwyr, mae'n debyg 576 00:28:06,320 --> 00:28:10,110 Dywedais hefyd y gall dim ond un Zamyla yn y byd, a dim ond un Gabe. 577 00:28:10,110 --> 00:28:13,730 Gallwn osod pa mor unigryw cyfyngiad ar linynnau, hefyd, os oeddwn i eisiau. 578 00:28:13,730 --> 00:28:15,550 Felly, nid yw meddwl gwael. 579 00:28:15,550 --> 00:28:16,500 >> GYNULLEIDFA: Yn fwy diogel. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Malan: Yn fwy diogel, pam? 581 00:28:17,874 --> 00:28:20,705 GYNULLEIDFA: Ni allwch ddweud pa yw sydd, fel yn y defnyddiwr. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Malan: Iawn, chi Ni all ddweud pa defnyddiwr 583 00:28:22,580 --> 00:28:24,380 yw pa felly mae 'na agwedd preifatrwydd iddo, 584 00:28:24,380 --> 00:28:27,810 yn enwedig os yw'r IDs efallai ymddangos yn y URLs. 585 00:28:27,810 --> 00:28:29,960 Felly yn sicr, y gallai y math o waith, hefyd. 586 00:28:29,960 --> 00:28:30,640 Sylwadau eraill? 587 00:28:30,640 --> 00:28:31,383 Yeah? 588 00:28:31,383 --> 00:28:34,316 >> GYNULLEIDFA: Mae'n haws i perfformio gweithrediadau ar int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Malan: Dyna'r ciciwr gwir. 590 00:28:35,940 --> 00:28:38,850 'I' jyst yn fwy effeithlon, neu'n haws i'r cyfrifiadur, 591 00:28:38,850 --> 00:28:40,431 i berfformio gweithrediadau ar cyfanrif. 592 00:28:40,431 --> 00:28:40,930 Hawl? 593 00:28:40,930 --> 00:28:43,905 Mae int yn sicr o fod yn 32-bit, tra Zamyla 594 00:28:43,905 --> 00:28:47,660 yn ychydig o gymeriadau o hyd, Gabriel yn ychydig mwy o gymeriadau o hyd, 595 00:28:47,660 --> 00:28:51,930 Davenport yn hir iawn, ac felly mae'n Nid yw yn arbennig o effeithlon i ddefnyddio 596 00:28:51,930 --> 00:28:55,860 llinynnau i gymharu gwerthoedd ac yn edrych ar gyfer meysydd, a chaeau diweddaru, 597 00:28:55,860 --> 00:28:57,790 os gallwch gael i ffwrdd gyda dim ond un cyfanrif. 598 00:28:57,790 --> 00:28:59,090 Dim ond 32 o ddarnau. 599 00:28:59,090 --> 00:29:02,570 Felly enwau defnyddwyr, hefyd, y ffordd hon, nid oes rhaid iddynt fod yn unigryw, 600 00:29:02,570 --> 00:29:05,040 er y dylent yn ôl pob tebyg fod, a hyd yn oed yn y modd hwn hefyd 601 00:29:05,040 --> 00:29:07,520 Gellid defnyddiwr yn cael ei ganiatáu i yn newid ei enw defnyddiwr. 602 00:29:07,520 --> 00:29:10,810 >> Felly gadewch i ni yn awr adael hyn gan fod y prif ddull o adnabod y defnyddiwr. 603 00:29:10,810 --> 00:29:13,510 Mae hyn yn dweud wrth y gronfa ddata mynd yn ei flaen ac yn gwneud y gorau eich hun 604 00:29:13,510 --> 00:29:17,065 fel eu bod yn edrych ups ar adnabod yn super gyflym. 605 00:29:17,065 --> 00:29:19,620 AI, a enwyd ofnadwy, dim ond golygu Auto Cynyddiad, 606 00:29:19,620 --> 00:29:21,500 ac mae hyn yn y siec blwch mae angen i ni wirio 607 00:29:21,500 --> 00:29:24,614 i nodi bod y cae adnabod i yn cael ei diweddaru yn awtomatig i mi, 608 00:29:24,614 --> 00:29:26,530 ac wedyn dw i'n mynd i sgrolio i'r dde yma 609 00:29:26,530 --> 00:29:29,279 a dweud y gwir Dydw i ddim wir ddiddordeb mewn unrhyw fwy o'r meysydd hyn. 610 00:29:29,279 --> 00:29:30,630 Yn sicr nid heddiw. 611 00:29:30,630 --> 00:29:33,770 >> Felly, yr wyf i'n mynd i fynd yn ôl yma, at y golofn gyntaf, lle 612 00:29:33,770 --> 00:29:35,830 Angen i mi nodi enw defnyddiwr a hash, a gadewch i ni 613 00:29:35,830 --> 00:29:38,080 yn canolbwyntio leiaf ar y ail un am y tro. 614 00:29:38,080 --> 00:29:41,498 Yn ôl pob tebyg Int yw nad yw'r alwad yn iawn, felly beth sy'n gwneud mwy o synnwyr o bosibl? 615 00:29:41,498 --> 00:29:42,741 >> GYNULLEIDFA: Testun. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Malan: Dweud eto? 617 00:29:43,824 --> 00:29:44,710 GYNULLEIDFA: Testun. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Malan: Testun? 619 00:29:44,980 --> 00:29:45,590 OK, yr wyf yn clywed y testun. 620 00:29:45,590 --> 00:29:46,090 Beth arall? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Mae gennym fath o gennym griw o ddewisiadau sy'n testunol eu natur. 623 00:29:53,860 --> 00:29:55,990 Felly pan, a pham, yn gwneud ydych yn defnyddio rhai o'r rhain? 624 00:29:55,990 --> 00:29:59,560 Wel torgoch, yn groes i'r hyn yr ydych efallai yn meddwl, nid yn gymeriad unigol. 625 00:29:59,560 --> 00:30:01,550 Mae'n nifer penodol o gymeriadau. 626 00:30:01,550 --> 00:30:04,600 Felly os ydym yn gwybod bod yr holl enwau defnyddwyr Mae'n rhaid i fod yn debyg wyth cymeriadau, 627 00:30:04,600 --> 00:30:08,490 fel arfer bod yn gyffredin yn hŷn systemau cyfrifiadurol, gallwn ddweud torgoch 628 00:30:08,490 --> 00:30:09,830 ac yna gallwn ddweud 8 yma. 629 00:30:09,830 --> 00:30:12,930 Dyna pryd y drydedd golofn yn dod yn berthnasol wrth greu tabl. 630 00:30:12,930 --> 00:30:15,450 >> Ond dyna fath o blino oherwydd y gallai rhai pobl 631 00:30:15,450 --> 00:30:17,660 am gael enw defnyddiwr hirach nag wyth cymeriadau, 632 00:30:17,660 --> 00:30:19,743 efallai y bydd rhai pobl yn dymuno cael enw defnyddiwr byrrach, 633 00:30:19,743 --> 00:30:22,210 felly pam ymrwymo fy hun i nifer penodol? 634 00:30:22,210 --> 00:30:24,710 Beth am gael newidyn nifer o chars a dim ond 635 00:30:24,710 --> 00:30:28,580 yn dweud bod yr uchafswm hyd enw yw, nid wyf yn gwybod, fel 64 cymeriadau. 636 00:30:28,580 --> 00:30:31,780 Ni allaf feddwl am unrhyw ffrindiau sydd enwau yn hwy na 64 o gymeriadau, 637 00:30:31,780 --> 00:30:34,810 a hyd yn oed os yw hynny'n rhy fyr gallech yn sicr yn taro i fyny yn fympwyol. 638 00:30:34,810 --> 00:30:37,330 >> Felly varchar yn newidyn nifer y chars. 639 00:30:37,330 --> 00:30:41,010 Nid yw testun yn greddf ddrwg, ac a dweud y gwir y math hwnnw o yn gwneud yr hyn y mae'n ei ddweud, 640 00:30:41,010 --> 00:30:45,460 ond gall maes testun fod fel 65,000 bytes o leiaf. 641 00:30:45,460 --> 00:30:50,790 Dyna mae'n debyg overkill am maes, ac mewn gwirionedd, yup, 65,535. 642 00:30:50,790 --> 00:30:53,740 Dyna mae'n debyg overkill am enw, felly byddwn yn cadw, yn nodweddiadol, 643 00:30:53,740 --> 00:30:56,910 gyda varchars am destunol cae a hash, hefyd. 644 00:30:56,910 --> 00:30:59,990 Hash, mae'n troi allan, gallem wneud varchar hefyd neu rywbeth fel 'na, 645 00:30:59,990 --> 00:31:03,080 ond ni fyddwn yn canolbwyntio heddiw ar y cryptograffeg yno ac mae'r rhifau 646 00:31:03,080 --> 00:31:05,210 y gallem mewn gwirionedd am ddefnyddio am ei hyd. 647 00:31:05,210 --> 00:31:07,430 >> Ond gadewch i mi sgrolio i lawr i'r dde. 648 00:31:07,430 --> 00:31:11,280 Gallwch ond gael un prif fynegai ar gyfer tabl, 649 00:31:11,280 --> 00:31:16,380 ond ydw i'n eisiau gwneud cais unrhyw un o'r rhain, yn awr, i enw defnyddiwr, yn eich barn chi? 650 00:31:16,380 --> 00:31:21,980 Beth ddylai enw defnyddiwr fod yn seiliedig ar annelwig dealltwriaeth o'r rhain pedwar dewis? 651 00:31:21,980 --> 00:31:23,340 Dim ond wrth eu henwau? 652 00:31:23,340 --> 00:31:24,140 >> GYNULLEIDFA: Unigryw. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Malan: Felly unigryw, dde? 654 00:31:25,100 --> 00:31:28,190 Felly, mae'n troi allan, nid yn unig allai i chi ddweud wrth cronfa ddata, o flaen llaw, 655 00:31:28,190 --> 00:31:30,380 dyma'r ffordd sylfaenol o nodi meysydd. 656 00:31:30,380 --> 00:31:32,990 Gallwch hefyd ddweud hyn yw mynd i fod yn faes unigryw. 657 00:31:32,990 --> 00:31:34,700 Dyw hi ddim yn mynd i fod y peth yr wyf yn dibynnu ar, 658 00:31:34,700 --> 00:31:38,490 ond hoffwn gronfa ddata i yn y bôn gael hynny os yw cyflwr, felly 659 00:31:38,490 --> 00:31:42,340 os wyf erioed wedi ceisio i gofrestru dau ddefnyddiwr gyda'r un enw, 660 00:31:42,340 --> 00:31:44,360 y gronfa ddata allan fflat Nid yn mynd i adael i mi. 661 00:31:44,360 --> 00:31:47,490 Efallai fy mod yn cael rhywfaint o cod ychwanegol yn PHP sy'n atal cymaint, 662 00:31:47,490 --> 00:31:50,640 ond y gronfa ddata, hefyd, yn gallu sicrhau nad yw byth sy'n mynd i ddigwydd. 663 00:31:50,640 --> 00:31:53,370 >> Yn awr, wrth fynd heibio, yn enwedig gan ydych yn meddwl am brosiectau terfynol, 664 00:31:53,370 --> 00:31:57,030 cadw mewn mynegai y mae'n meddwl ac yn llawn testun mewn gwirionedd yn eithaf defnyddiol. 665 00:31:57,030 --> 00:32:01,080 Os oes gennych gronfa ddata mwy o faint, nid gyda dwsinau, ond gyda channoedd neu filoedd 666 00:32:01,080 --> 00:32:05,270 neu hyd yn oed miliynau o gaeau, gallwch hefyd yn dweud wrth y gronfa ddata o flaen llaw 667 00:32:05,270 --> 00:32:07,980 mae hwn yn faes yr wyf i'n mynd i gael ei chwilio ar lawer. 668 00:32:07,980 --> 00:32:10,520 Efallai ei enw defnyddiwr, efallai ei bod yn bio, os ydych yn 669 00:32:10,520 --> 00:32:13,750 wneud gwefan Facebook-fel 'na Mae paragraffau fod y defnyddiwr a ganiateir 670 00:32:13,750 --> 00:32:16,799 i arbed, ac os ydych yn dymuno dywedwch wrth y gronfa ddata o flaen llaw 671 00:32:16,799 --> 00:32:20,090 Dw i'n mynd i gael ei chwilio ar y maes llawer, ond nid yw'n reidrwydd yn unigryw, 672 00:32:20,090 --> 00:32:22,800 gallwch nodi greu mynegai i mi. 673 00:32:22,800 --> 00:32:27,990 Neu, gallwch ddweud hefyd yn fy ngalluogi i wneud math o chwiliadau mympwyol fel Command 674 00:32:27,990 --> 00:32:30,420 neu Rheolaeth F, fel chi gellid yn yr Prosesydd Geiriau, 675 00:32:30,420 --> 00:32:34,184 felly gallech edrych llinynnau mympwyol neu substrings yn y maes hwn. 676 00:32:34,184 --> 00:32:36,600 Mewn geiriau eraill, rydym yn cyrraedd at y pwynt yn y semester 677 00:32:36,600 --> 00:32:40,720 lle nad oes rhaid i chi boeni am sut i roi pethau yn effeithlon. 678 00:32:40,720 --> 00:32:44,540 'Ch jyst angen i chi ei wybod am yr hyn y penderfyniadau dylunio i wneud fel eich bod chi'n 679 00:32:44,540 --> 00:32:48,470 gan ddefnyddio'r offer cywir ar gyfer y masnach er mwyn trosoledd nodweddion 680 00:32:48,470 --> 00:32:50,380 y mae pobl eraill wedi adeiladu ar eich cyfer. 681 00:32:50,380 --> 00:32:54,240 Felly, i ailadrodd, dylai cynradd yn unig gennych un, gallwch ond gael un, 682 00:32:54,240 --> 00:32:59,630 ac mae'n y peth rydych yn ymrwymo i defnyddio i nodi meysydd unigryw. 683 00:32:59,630 --> 00:33:02,710 Unigryw yn unig debyg o ran ysbryd, ond efallai y byddwch yn ei ddefnyddio dim ond yn achlysurol, 684 00:33:02,710 --> 00:33:04,530 ond rydych am y gronfa ddata i osod iddo. 685 00:33:04,530 --> 00:33:08,050 Mynegai jyst yn golygu preemptively cyflymu pethau i fyny yn y dyfodol 686 00:33:08,050 --> 00:33:10,230 fel y gallaf chwilio am pethau yn y maes hwn. 687 00:33:10,230 --> 00:33:13,700 Ac yna testun llawn yn gyffredinol am paragraffau, neu draethodau, neu gyrff mawr 688 00:33:13,700 --> 00:33:16,270 o destun lle rydych Efallai hefyd am gael 689 00:33:16,270 --> 00:33:19,420 cardiau gwyllt fel yr hyn sy'n cyfateb seren. 690 00:33:19,420 --> 00:33:19,920 Hawl. 691 00:33:19,920 --> 00:33:22,580 >> Felly roedd y math hwnnw o llawer i gyd ar unwaith. 692 00:33:22,580 --> 00:33:25,220 Gadewch i ni weld os na allwn distill un neu ddau o nodweddion hyn 693 00:33:25,220 --> 00:33:29,540 ac yna adeiladu rhywbeth weddol syml, ond pwerus. 694 00:33:29,540 --> 00:33:31,380 Felly, ymysg y llall penderfyniadau dylunio eich bod yn 695 00:33:31,380 --> 00:33:34,005 yn y pen draw yn mynd i gael ei hyd y llinellau o beiriannau storio. 696 00:33:34,005 --> 00:33:37,370 A gadewch i mi jyst yn gwneud sôn am hyn gan ragweld prosiectau terfynol, 697 00:33:37,370 --> 00:33:42,020 a rhagweld gadewch i say-- dim gadewch i ni wneud hyn. 698 00:33:42,020 --> 00:33:43,820 Gadewch i ni adeiladu hyn ychydig cais cyntaf. 699 00:33:43,820 --> 00:33:48,070 Rydw i'n mynd i fynd i mewn i fy terfynell ffenestri, ac yn y fan hyn nad yw 700 00:33:48,070 --> 00:33:52,500 counter.php unig, yr ydym yn mynd yn awr i gael gwared o mor mwyach germane, 701 00:33:52,500 --> 00:33:54,570 ond mae gennym criw cyfan o gyfeirlyfrau ac mae hyn yn 702 00:33:54,570 --> 00:33:58,080 yn mynd i fod yn debyg iawn o ran ysbryd i'r hyn y byddwch yn gweld yn broblem a osodwyd saith. 703 00:33:58,080 --> 00:34:00,980 >> Felly mae gennym dri cyfeiriaduron cynnwys y cyhoedd a thempledi, a oedd 704 00:34:00,980 --> 00:34:05,040 yw ble yn union rydym yn chwith oddi ar Llun gyda â'n patrwm MVC cyfan. 705 00:34:05,040 --> 00:34:09,290 Ac i ailadrodd, yn gyhoeddus yn mynd i fynd unrhyw ffeil yr hoffwn defnyddwyr i mewn gwirionedd 706 00:34:09,290 --> 00:34:12,969 v yn gallu ymweld yn eu porwr drwy URL. 707 00:34:12,969 --> 00:34:13,502 Templed. 708 00:34:13,502 --> 00:34:14,710 Beth wnaethom ni eu rhoi ar dempledi? 709 00:34:14,710 --> 00:34:17,070 Pa fath o bethau? 710 00:34:17,070 --> 00:34:21,659 Nid oedd llawer ond cwpl ffeiliau o leiaf ar ddydd Llun. 711 00:34:21,659 --> 00:34:22,619 Yeah. 712 00:34:22,619 --> 00:34:23,100 >> GYNULLEIDFA: Pennyn a Troedyn? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Malan: Pennyn a Troedyn. 714 00:34:24,516 --> 00:34:26,679 Felly, rydym wedi rhywbeth tebyg heddiw, hefyd. 715 00:34:26,679 --> 00:34:30,330 Mae gennym ychydig yn fwy o ffeiliau ond Troedyn Rwy'n gweld, Pennawd wyf yn gweld, 716 00:34:30,330 --> 00:34:31,909 ac yna criw o ffeiliau eraill. 717 00:34:31,909 --> 00:34:35,482 Felly, mae hyn yn gyfwerth o'r farn V MVC, sydd, 718 00:34:35,482 --> 00:34:37,690 unwaith eto, bydd yn ychydig yn fwy glir yn broblem a osodwyd saith, 719 00:34:37,690 --> 00:34:40,380 ond mae hyn yn unig yw folder rwy'n rhoi llawer o fy estheteg. 720 00:34:40,380 --> 00:34:42,840 Mae llawer o fy HTML, mae llawer o fy ffurflenni. 721 00:34:42,840 --> 00:34:46,899 Yn y cyfamser, yn cynnwys, yn un arall cyfeiriadur sydd y tri ffeil 722 00:34:46,899 --> 00:34:48,440 a gadewch i ni edrych yn sydyn ar y rhain. 723 00:34:48,440 --> 00:34:51,699 >> Rydw i'n mynd i fynd yn ei flaen ac yn agor i fyny config.php. 724 00:34:51,699 --> 00:34:54,610 Fel mae'n troi allan, llawer fel yn gynharach yn y tymor, 725 00:34:54,610 --> 00:34:57,850 chi gynnwys miniog CS50 dot h gyda pset7. 726 00:34:57,850 --> 00:35:00,780 Yn yr enghraifft heddiw, rydych yn mynd i wneud yr hyn sy'n cyfateb i hynny 727 00:35:00,780 --> 00:35:03,600 gyda datganiad yn gofyn hynny yn effeithiol 728 00:35:03,600 --> 00:35:05,340 cynnwys y rhain nifer o linellau. 729 00:35:05,340 --> 00:35:08,225 Felly, i fod yn glir, mae hyn yn ffeil o'r enw config.php. 730 00:35:08,225 --> 00:35:09,350 Ac yn sylwi ar yr hyn y mae'n ei wneud. 731 00:35:09,350 --> 00:35:11,970 Mae'n debyg ei fod yn gwneud rhywbeth cryptig, gan droi ar y negeseuon gwall 732 00:35:11,970 --> 00:35:13,680 fel y gallwch eu gweld yn y porwr. 733 00:35:13,680 --> 00:35:15,860 Mae'n, yna, mae'n debyg ei gwneud yn ofynnol dwy ffeil arall 734 00:35:15,860 --> 00:35:19,530 felly mae hyn yn debyg #include yn C, ac yna mae hyn yn un yr ydym yn gweld, 735 00:35:19,530 --> 00:35:22,720 ac rydym wedi dibynnu arnynt, mae hyn yn troi ar y cart siopa fel functionality. 736 00:35:22,720 --> 00:35:25,610 >> Mae hyn yn golygu cwci ewyllys yn cael ei anfon yn ôl ac ymlaen. 737 00:35:25,610 --> 00:35:27,290 Felly pam mae hyn yn ddiddorol? 738 00:35:27,290 --> 00:35:32,460 Wel, os ydym yn mynd yn ôl at hyn cyfeiriadur ac yn agor i fyny, er enghraifft, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Sylwch fod PHP yn cefnogi cysonion, nid mae'n eithaf tebyg i #define yn C. 741 00:35:38,840 --> 00:35:41,290 Yn lle hynny, byddwch yn llythrennol dweud diffiniedig, a rhybudd 742 00:35:41,290 --> 00:35:44,110 fy mod i wedi ei storio o flaen llaw pedwar cysonion yn y ffeil hon. 743 00:35:44,110 --> 00:35:47,020 Un ar gyfer cronfa ddata heddiw, er fy nghyfrinair, am fy enw defnyddiwr, 744 00:35:47,020 --> 00:35:48,690 ac am enw'r gweinydd. 745 00:35:48,690 --> 00:35:51,644 Felly, mae'r rhain mewn gwirionedd yn mynd i fod eithaf tebyg yn broblem yn gosod saith. 746 00:35:51,644 --> 00:35:54,560 Ac yn olaf, a dyma lle rwy'n mynd i gael rhywfaint o functionality 'n glws 747 00:35:54,560 --> 00:35:59,000 oddi wrth y staff, mewn functions.php mae criw o cod rydym wedi ysgrifennu, 748 00:35:59,000 --> 00:36:01,040 ac yr wyf yn dwyn peth o hyn o broblem yn gosod saith 749 00:36:01,040 --> 00:36:05,920 ar gyfer heddiw, sy'n gwneud criw o bethau a gadewch i ni dim ond yn edrych ar un ohonyn nhw 750 00:36:05,920 --> 00:36:07,270 yn arbennig. 751 00:36:07,270 --> 00:36:09,720 Mae'r swyddogaeth yma, ymholiad, yn mynd i fod 752 00:36:09,720 --> 00:36:13,600 y swyddogaeth PHP rydym yn galw er mwyn gweithredu SQL. 753 00:36:13,600 --> 00:36:16,070 Mae hyn o bryd yn ôl, roeddem yn defnyddio phpMyAdmin, ond dim ond 754 00:36:16,070 --> 00:36:18,720 ar gyfer y math o ddibenion dysgu a dibenion diagnostig 755 00:36:18,720 --> 00:36:20,494 ac anghofio eich set cronfa ddata. 756 00:36:20,494 --> 00:36:22,660 Pan fyddwch mewn gwirionedd yn defnyddio eich cronfa ddata, chi, y dynol, 757 00:36:22,660 --> 00:36:24,100 yn amlwg nid yn mynd i gael ei dynnu i fyny ar y we 758 00:36:24,100 --> 00:36:25,740 dudalen bob tro mae rhywun cofrestri. 759 00:36:25,740 --> 00:36:29,870 Rydych yn mynd i ysgrifennu cod sy'n mewnosod a dileu defnyddwyr ar y galw, 760 00:36:29,870 --> 00:36:32,490 ac rydym yn mynd i wneud hyn drwy gyfrwng y swyddogaeth ymholiad. 761 00:36:32,490 --> 00:36:35,360 Os wyf yn awr sgroliwch i lawr, mae mynd i fod ychydig mwy o nodweddion. 762 00:36:35,360 --> 00:36:37,170 Redirect yn mynd i fod yn swyddogaeth, ysgrifennom 763 00:36:37,170 --> 00:36:40,160 i chi sy'n eich caniatáu i anfon y defnyddiwr i URL arall, 764 00:36:40,160 --> 00:36:43,780 a rendr yn swyddogaeth, yn eithaf tebyg i gwelsom ddydd Llun, sy'n renders mewn gwirionedd 765 00:36:43,780 --> 00:36:48,000 templed, ond yn fwy am y rhain yn y fath o daith pset7 ei hun drwy. 766 00:36:48,000 --> 00:36:50,500 Am y tro, gadewch i ni fynd yn ei flaen ac yn gwneud hyn. 767 00:36:50,500 --> 00:36:54,860 >> Gadewch i mi fynd i mewn i fy tabl darlithoedd a gweld bod does dim byd ar hyn o bryd 768 00:36:54,860 --> 00:36:59,640 yma eto, a gadewch i mi hefyd yn mynd i mewn i fy cyfeiriadur cyhoeddus, lle 769 00:36:59,640 --> 00:37:02,780 nid dim ond un ffeil, index.php. 770 00:37:02,780 --> 00:37:06,920 Ymddengys y ffeil hon yn super syml ar hyn o bryd, mae'n edrych yn union fel hyn. 771 00:37:06,920 --> 00:37:09,110 Llawer iawn fel sut yr ydym yn gadael oddi ar ddydd Llun. 772 00:37:09,110 --> 00:37:11,945 Im 'yn ei gwneud yn ofynnol y ffeil, config.php, sydd yn 773 00:37:11,945 --> 00:37:15,160 yn cynnwys cyfeiriadur, a oedd yn mewn dot dot, fy rhieni, 774 00:37:15,160 --> 00:37:17,650 ac yna mae'n jyst rendro y ffeil. 775 00:37:17,650 --> 00:37:18,960 Felly, beth yw y ffeil? 776 00:37:18,960 --> 00:37:24,700 >> Gadewch i ni yn agor i fyny yn fy templedi form.php, a byddwn yn gweld hyn. 777 00:37:24,700 --> 00:37:28,500 Super syml, mae'n debyg y ffurflen hon yw mynd i gyflwyno gan a $ _GET neu $ _POST. 778 00:37:28,500 --> 00:37:29,320 Gwiriad pwyll gyflym. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Llythrennol weledol chwilio'r ffeil. 781 00:37:35,690 --> 00:37:36,610 Dull hafal post. 782 00:37:36,610 --> 00:37:39,280 Felly, nid yw'n mynd i ddefnyddio'r URL, fel Google yn ei wneud, mae'n mynd i ddidoli o cuddio 783 00:37:39,280 --> 00:37:41,030 y wybodaeth y tu ôl i i'r llenni ac mae'n 784 00:37:41,030 --> 00:37:43,580 mynd i gyflwyno i ffeil o'r enw register.php, 785 00:37:43,580 --> 00:37:45,660 a dyna y ffeil nid ydym wedi ysgrifennu eto 786 00:37:45,660 --> 00:37:47,610 ond beth y mae hyn yn mynd i edrych fel yn hyn. 787 00:37:47,610 --> 00:37:52,670 >> Os byddaf yn mynd i dudalen ar wahân Mae hyn yn pa localhost / index.php yn edrych fel. 788 00:37:52,670 --> 00:37:56,930 Ac eto, mae'r gweinydd yn dim ond dybio index.php. 789 00:37:56,930 --> 00:37:57,910 Enter. 790 00:37:57,910 --> 00:37:59,870 Felly dyna lle rydym yn yn, a beth yr wyf am ei wneud 791 00:37:59,870 --> 00:38:02,450 ei fod yn gallu teipio pethau fel David, ac yna 792 00:38:02,450 --> 00:38:08,050 fy rhif ffôn, a fydd yn dweud 617-555-1212 am y tro, cofrestru 793 00:38:08,050 --> 00:38:09,910 ac erbyn hyn nid chanfuwyd register.php. 794 00:38:09,910 --> 00:38:11,440 Felly mae angen i mi weithredu hyn. 795 00:38:11,440 --> 00:38:13,320 Felly gadewch i ni chwip gyflym rhywbeth tebyg i fyny yma. 796 00:38:13,320 --> 00:38:18,640 Gadewch i mi fynd i mewn i fy cyfeiriadur cyhoeddus ac yn gwneud gedit o register.php, 797 00:38:18,640 --> 00:38:22,300 ac yn awr yr wyf i'n mynd i fynd yn ei flaen ac dechrau modd PHP, fel y gwnaethom ar ddydd Llun, 798 00:38:22,300 --> 00:38:25,430 a tag cau PHP, ac gadewch i ni wneud un neu ddau o bethau. 799 00:38:25,430 --> 00:38:28,336 >> Felly un, yr wyf yn gwybod, o wedi ysgrifennu y ffurflen honno, 800 00:38:28,336 --> 00:38:29,960 yr wyf am i wirio am y canlynol. 801 00:38:29,960 --> 00:38:35,670 Os yw'n wag, beth bynnag y defnyddiwr deipio i mewn i'r cae enw, yna 802 00:38:35,670 --> 00:38:39,860 Dw i'n mynd i ddweud rhywbeth hoffi ymddiheuro goll enw. 803 00:38:39,860 --> 00:38:42,380 Ymddiheuro, yn y cyfamser, mae Nid adeiladwyd yn PHP peth, 804 00:38:42,380 --> 00:38:45,970 mae'n swyddogaeth, ysgrifennom mewn functions.php am pset7 805 00:38:45,970 --> 00:38:47,940 fel eich bod yn cael mynediad ato. 806 00:38:47,940 --> 00:38:53,830 Arall os yw'r cae arall yn wag, rhif, yna rwy'n 807 00:38:53,830 --> 00:38:58,370 mynd i ymddiheuro i'r defnyddwyr a dweud rhif coll. 808 00:38:58,370 --> 00:38:59,320 Arbedwch y ffeil. 809 00:38:59,320 --> 00:39:02,640 >> Nawr, gadewch i ni fynd yn ôl at fy porwr, ewch yn ôl i'r fforwm roi cynnig arall arni. 810 00:39:02,640 --> 00:39:04,070 Cofrestru. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Ni ddigwyddodd dim, sy'n beth da. 813 00:39:06,730 --> 00:39:08,120 Doeddwn i ddim yn cael neges gwall. 814 00:39:08,120 --> 00:39:11,651 Ond os yn lle hynny, gadewch i ni ail-lwytho hwn dudalen, ac nid yw yn darparu unrhyw beth. 815 00:39:11,651 --> 00:39:12,150 Damia. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Yn gwneud hynny. 818 00:39:17,140 --> 00:39:18,810 Cofrestru. 819 00:39:18,810 --> 00:39:20,350 Beth wnes i ei wneud o'i le? 820 00:39:20,350 --> 00:39:24,860 Os yn wag, enw $ _POST. 821 00:39:24,860 --> 00:39:26,350 Dweud eto? 822 00:39:26,350 --> 00:39:27,670 >> O, wrth gwrs. 823 00:39:27,670 --> 00:39:30,919 Wedi anghofio y rhan mwyaf pwysig, sef yn ei gwneud yn ofynnol ("../ cynnwys / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Angen i mi gael mynediad at y ymddiheuro swyddogaeth, a oedd yn 826 00:39:36,460 --> 00:39:37,770 Dyna pam dim byd yn digwydd. 827 00:39:37,770 --> 00:39:39,460 Nid yw'r swyddogaeth yn bodoli mewn gwirionedd. 828 00:39:39,460 --> 00:39:40,640 Felly gadewch i ni roi cynnig ar hyn eto. 829 00:39:40,640 --> 00:39:42,350 Gadewch i ail-lwytho y dudalen, cliciwch ar y Gofrestr. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Yno y mae. 832 00:39:43,770 --> 00:39:45,700 Felly, mae'r cynnyrch rydym yn gweld yma yw canlyniad 833 00:39:45,700 --> 00:39:47,685 o alw am ymddiheuro swyddogaeth, super syml, 834 00:39:47,685 --> 00:39:50,060 a 'i jyst yn argraffu allan beth bynnag Rwy'n ei roi fel dadl. 835 00:39:50,060 --> 00:39:51,370 >> Mae pob hawl, felly gadewch i ni gydweithio. 836 00:39:51,370 --> 00:39:54,240 Gadewch i roi fy enw fel David, cofrestru, 837 00:39:54,240 --> 00:39:56,890 goll rhif OK gadewch i darparu, hefyd. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Cofrestru. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Felly popeth yn iawn erbyn hyn, dim ond dim byd diddorol yn digwydd. 842 00:40:02,760 --> 00:40:06,000 Felly nawr gadewch i ni wneud rhywbeth mwy diddorol yn digwydd fel hyn. 843 00:40:06,000 --> 00:40:09,980 Gadewch i mi fynd i mewn i phpMyAdmin, a gadewch i ni mewn gwirionedd yn creu tabl o'r enw ddefnyddwyr, 844 00:40:09,980 --> 00:40:12,330 Rydw i'n mynd i roi iddo dri colofnau, ac 'n annhymerus' yn gyflym 845 00:40:12,330 --> 00:40:16,250 creu ID, ac yna enw, ac yna rhif, 846 00:40:16,250 --> 00:40:18,832 a'r cae ID rwy'n mynd i adael fel int. 847 00:40:18,832 --> 00:40:20,790 Mae'r cae Enw dwi'n mynd i adael fel varchar, 848 00:40:20,790 --> 00:40:23,257 a byddwn yn dweud 64, braidd yn fympwyol. 849 00:40:23,257 --> 00:40:25,090 Mae nifer Rwy'n mynd i wneud, eich bod yn gwybod beth? 850 00:40:25,090 --> 00:40:27,350 Rydym yn mynd i mewn i cefnogi rhifau Unol Daleithiau yma, 851 00:40:27,350 --> 00:40:31,510 felly dw i'n mynd i wneud rhywbeth fel torgoch ac yna 10 o gymeriadau 852 00:40:31,510 --> 00:40:34,540 max am cod ardal ac yna saith digid. 853 00:40:34,540 --> 00:40:37,870 Ac yna dros yma, yr wyf i'n mynd i nodi auto cynyddiad y maes hwn, 854 00:40:37,870 --> 00:40:40,550 wneud hyn yn allwedd sylfaenol, ac Rydw i'n mynd i fynd yn ei flaen ac nid 855 00:40:40,550 --> 00:40:42,240 gwirio unrhyw un o'r blychau eraill. 856 00:40:42,240 --> 00:40:48,030 >> Felly pan wyf yn awr yn olaf cliciwch Save, ac yr wyf yn mynd yn ôl at fy mwrdd i ddefnyddwyr, 857 00:40:48,030 --> 00:40:52,270 dyma sut mae'n edrych os byddaf bellach cliciwch strwythur New Tab. 858 00:40:52,270 --> 00:40:54,550 Felly, mae hyn, i fod yn glir, yn unig yw ffordd phpMyAdmin yn 859 00:40:54,550 --> 00:40:58,570 o ddweud eich tabl cronfa ddata Mae gan adnabod, enw, ac mae nifer 860 00:40:58,570 --> 00:41:02,040 gyda ffurfweddau neilltuol hynny a byddwn yn anwybyddu gweddill y caeau 861 00:41:02,040 --> 00:41:03,140 yno am y tro. 862 00:41:03,140 --> 00:41:04,810 >> Felly nawr beth ydw i am ei wneud? 863 00:41:04,810 --> 00:41:09,060 Felly, os byddaf yn mynd yn awr i mewn i fy cod ffynhonnell, os yw popeth yn iawn 864 00:41:09,060 --> 00:41:11,190 Rwyf am i weithredu yr ymholiad canlynol. 865 00:41:11,190 --> 00:41:14,970 Mewnosod i mewn, a gallaf jyst dweud defnyddwyr Nid wyf yn gwbl 866 00:41:14,970 --> 00:41:18,620 angen hynny yn ôl dic os yw'n Nid gair peryglus fel defnyddwyr. 867 00:41:18,620 --> 00:41:22,810 Rydw i'n mynd i ddweud enw, rif, ac yna dyma rwy'n 868 00:41:22,810 --> 00:41:24,960 ddim yn mynd i cod caled y digid o'r gwerthoedd eto. 869 00:41:24,960 --> 00:41:26,760 Dw i'n mynd i roi dau farc cwestiwn. 870 00:41:26,760 --> 00:41:29,320 Ac mae hyn yn gonfensiwn mewn llawer o ieithoedd 871 00:41:29,320 --> 00:41:31,730 lle os ydych am gael yn cadw'r llinyn 872 00:41:31,730 --> 00:41:34,105 ydych yn mynd i ddefnyddio'r cwestiwn marciau, am resymau yr ydym chi helpu 873 00:41:34,105 --> 00:41:36,370 dod yn ôl i sgwrsio am diogelwch, ac yma 874 00:41:36,370 --> 00:41:39,420 Rydw i'n mynd i basio yn y rhai dau faes ar ôl enw, 875 00:41:39,420 --> 00:41:44,850 ac yna ei bostio rhif, ac yn awr yn arbed y ffeil. 876 00:41:44,850 --> 00:41:47,090 >> Ac yn awr yr wyf i'n mynd i mynd i lawr fan hyn yn super 877 00:41:47,090 --> 00:41:55,690 yn syml yn dweud rendersuccess.php, a oedd yn mynd i fod templed arall. 878 00:41:55,690 --> 00:41:57,380 Rydw i'n mynd i greu 'n sylweddol yn gyflym. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php a Im 'jyst yn mynd i ddweud llwyddiant H1 yn y ffeil. 880 00:42:06,270 --> 00:42:06,990 Mae pob hawl. 881 00:42:06,990 --> 00:42:11,312 Felly nawr, gadewch i ni fynd yn ôl at y porwr, lle rwy'n ymweld o'r blaen. 882 00:42:11,312 --> 00:42:14,270 Gadewch i ni fynd yn ei flaen ac yn cadarnhau ysgrifennais yn David, ysgrifennais mewn rhif ffôn, 883 00:42:14,270 --> 00:42:15,390 cofrestru. 884 00:42:15,390 --> 00:42:16,100 Damia. 885 00:42:16,100 --> 00:42:17,420 Beth wnes i ei wneud o'i le? 886 00:42:17,420 --> 00:42:20,850 Felly, dw i'n gweld gwall yma, byddwch yn cael gwall yn eich cystrawen SQL. 887 00:42:20,850 --> 00:42:24,900 Gadewch i mi neidio yn ôl i gedit, gadewch i mi fynd yn ôl i register.php, 888 00:42:24,900 --> 00:42:28,830 a beth wnes i adael allan y oedd y tro diwethaf yn bwysig? 889 00:42:28,830 --> 00:42:29,722 Fi angen hyn. 890 00:42:29,722 --> 00:42:32,930 Rydych chi eisiau gwybod hynny ac eithrio o ôl sylwi o'r blaen, ond yr wyf angen hyn. 891 00:42:32,930 --> 00:42:35,596 >> Felly nawr gadewch i ni fynd yn ôl, ac mae hyn yn yn ddefnyddiol o weld yn y porwr 892 00:42:35,596 --> 00:42:37,680 a dyna pam yn config.php rydym yn poeri allan camgymeriadau. 893 00:42:37,680 --> 00:42:41,770 Gadewch i ni fynd yn ei flaen ac yn ail-lwytho, cliciwch Parhau, llwyddiant. 894 00:42:41,770 --> 00:42:47,060 Felly nawr gadewch i mi fynd draw i fy gronfa ddata yma a chliciwch ar Users, 895 00:42:47,060 --> 00:42:51,680 a phori, ac yn sylwi fy mod yn awr rhaid i David yn fy gronfa ddata yma. 896 00:42:51,680 --> 00:42:55,810 Yn awr yn dechnegol y wefan hon nad ydynt eto ar y rhyngrwyd cyhoeddus, 897 00:42:55,810 --> 00:42:57,890 felly ni allaf i gael eraill pobl wrth roi yma, 898 00:42:57,890 --> 00:43:01,120 ond os wyf yn awr yn awyddus i, er enghraifft, anfon neges destun fy hun. 899 00:43:01,120 --> 00:43:03,920 Gadewch i ni fynd allan ar y cyrion braidd yma a gweld os yw hyn yn gweithio mewn gwirionedd. 900 00:43:03,920 --> 00:43:07,331 Rydw i'n mynd i fynd yn ei flaen ac yn dileu rhes hon 901 00:43:07,331 --> 00:43:09,080 a byddwn yn annelwig hyn allan yn y fideo yn ddiweddarach 902 00:43:09,080 --> 00:43:11,900 felly nid oes gennym yr y rhyngrwyd cyfan anfon negeseuon testun i mi, 903 00:43:11,900 --> 00:43:17,270 a byddwn yn awr yn mynd i fyny at y porwr a byddwn yn mynd drosodd i ddarlithio 904 00:43:17,270 --> 00:43:22,040 a byddwn yn deipio i mewn gwahanol rhif yma, cofrestru, llwyddiant. 905 00:43:22,040 --> 00:43:25,550 >> Felly nawr, mae fy rhif hun yn ôl pob tebyg yn y gronfa ddata, ac yn awr y rhan hwyl. 906 00:43:25,550 --> 00:43:28,774 Gadewch i ni mewn gwirionedd yn defnyddio PHP i wneud rhywbeth programmatically, 907 00:43:28,774 --> 00:43:30,940 naill ai o'r gorchymyn lein neu o rywle arall, 908 00:43:30,940 --> 00:43:32,773 ac ar hyn o bryd Im 'jyst mynd i'w gadw'n syml 909 00:43:32,773 --> 00:43:36,230 ac yr wyf i'n mynd i fynd i mewn i fy cyfeiriadur yma ac yn gwneud y canlynol. 910 00:43:36,230 --> 00:43:44,920 Sgript Gedit gadewch i ni ddweud, rydym annhymerus ei alw'n testun, #! / defnyddiwr / PHP bin / env, 911 00:43:44,920 --> 00:43:46,700 fel y gwelsom tro diwethaf. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Nawr rwy'n mynd i oes angen cynnwys config.php, 914 00:43:55,055 --> 00:43:57,360 er bod gallai hwn cymell bychan gwall. 915 00:43:57,360 --> 00:44:03,960 Ac yn awr yr wyf i'n mynd i fynd yn ei flaen ac yn dweud rhesi, ymholiad, dewiswch seren gan ddefnyddwyr, 916 00:44:03,960 --> 00:44:08,149 ac yn awr dyma dw i'n mynd i wneud techneg o dro olaf ar gyfer pob rhesi fel rhes. 917 00:44:08,149 --> 00:44:09,690 Ac yr wyf i'n mynd i wneud rhywbeth syml. 918 00:44:09,690 --> 00:44:19,090 Printf gadewch i ni ddweud enw i yw hyn, a rhif yn hyn, slaes n. 919 00:44:19,090 --> 00:44:23,320 Ac yn awr yr wyf i'n mynd i basio mewn rhes enw unquote dyfynnu, 920 00:44:23,320 --> 00:44:28,140 a rhif y rhes dyfynnwch unquote, ac yn awr gadewch i ni fynd yn ei flaen 921 00:44:28,140 --> 00:44:31,430 a ffenestr fy terfynell chmod a hwn + x i wneud 922 00:44:31,430 --> 00:44:33,970 sgript o'r enw gweithredadwy testun. 923 00:44:33,970 --> 00:44:36,080 Ac yn awr gadewch i ni redeg testun. 924 00:44:36,080 --> 00:44:37,590 >> OK, felly symud ymlaen. 925 00:44:37,590 --> 00:44:39,960 A felly dwi wedi ysgrifennu yn awr sgript llinell gorchymyn, 926 00:44:39,960 --> 00:44:43,300 mewn iaith o'r enw PHP, hynny, oherwydd y mae angen llinell, 927 00:44:43,300 --> 00:44:46,380 yn cael mynediad at yr holl ffurfweddiad rheini cysonion fy mod penodedig. 928 00:44:46,380 --> 00:44:48,177 Enw'r gronfa ddata ac yn y blaen. 929 00:44:48,177 --> 00:44:50,260 Yn wir, dim ond i fod yn glir nad yw hyn yn hap a damwain, 930 00:44:50,260 --> 00:44:54,730 gadewch i mi fynd yn ei flaen a chofrestru, 'n sylweddol yn gyflym, rhywun arall, fel Rob 931 00:44:54,730 --> 00:44:58,890 a bydd yn rhoi y rhif 555-1212 iddo. 932 00:44:58,890 --> 00:45:01,557 >> Ac yn awr, os wyf yn rhedeg y sgript unwaith eto, yn sylwi ar y pŵer 933 00:45:01,557 --> 00:45:03,140 yr hyn yr ydym yn ei wneud â'r gronfa ddata. 934 00:45:03,140 --> 00:45:07,680 Nawr rwyf wedi gweld yn union yr hyn y mae'r dwy res arall yn fy gronfa ddata. 935 00:45:07,680 --> 00:45:10,699 Felly nawr gadewch i ni geisio gwneud rhywbeth hyd yn oed ffansi tu mewn, 936 00:45:10,699 --> 00:45:12,740 ac mae hyn yn y rhan rydym wedi heb eu profi o flaen llaw, 937 00:45:12,740 --> 00:45:15,910 felly y tro diwethaf i mi wneud hyn Aeth pethau o chwith horribly, 938 00:45:15,910 --> 00:45:17,120 mae gennym fideo i'r perwyl hwnnw. 939 00:45:17,120 --> 00:45:18,286 >> A dweud y gwir, ie, doniol neilltu. 940 00:45:18,286 --> 00:45:20,480 Felly, y tro diwethaf, mewn darlithio fel dwy flynedd yn ôl, 941 00:45:20,480 --> 00:45:23,230 penderfynasom, penderfynais, i fod yn Byddai hyn i gyd yn syniad gwych 942 00:45:23,230 --> 00:45:28,150 i gynhyrchu negeseuon e-bost yn ddeinamig dosbarth, gan ddefnyddio'r gronfa ddata gyfan CS50 943 00:45:28,150 --> 00:45:33,390 fyfyrwyr, a oedd wedi rhoi eu rhifau i ni ac mae eu cludwyr cellphone yr ydych 944 00:45:33,390 --> 00:45:36,290 Efallai y galw i gof o pset0, sut i reswm, mae'n troi allan 945 00:45:36,290 --> 00:45:40,650 Roedd gen i fân nam yn fy rhaglen a wnaeth cwpl o gamgymeriadau yn 2012, yr wyf yn meddwl. 946 00:45:40,650 --> 00:45:43,997 >> Lle, un oedd gennyf am ddolen sydd Gwnaeth yn union y math hwn o beth, 947 00:45:43,997 --> 00:45:46,580 ailadrodd dros y gronfa ddata, cael enw o'r gronfa ddata, 948 00:45:46,580 --> 00:45:49,940 enw oddi wrth y gronfa ddata, ac yna ar bob un ailadroddiad o'r ddolen anfonais e-bost. 949 00:45:49,940 --> 00:45:54,130 Ond yn lle anfon un e-bost, yr wyf yn anfon e-bost un iteriad cyntaf, 950 00:45:54,130 --> 00:45:58,200 a dau e-bost ail ailadroddiad, a anfonwyd tri negeseuon e-bost ail ailadroddiad, a oedd 951 00:45:58,200 --> 00:46:01,230 fel y byddech yn cofio o'n trafodaeth o nodiant asymptotic 952 00:46:01,230 --> 00:46:06,400 O hwn fawr o ddrwg, fel n sgwario yw faint o negeseuon a anfonais, 953 00:46:06,400 --> 00:46:08,560 ond nid oedd yn negeseuon e-bost, hyd yn oed roedd negeseuon testun. 954 00:46:08,560 --> 00:46:12,070 >> Ac fel y gwyddoch, nid yw presenoldeb yn super uchel tuag at ddiwedd y semester 955 00:46:12,070 --> 00:46:15,360 ac felly yr wyf yn meddwl y byddai'n 'n giwt ar yr amser i ddweud, "Pam nad yw dosbarth i chi?" 956 00:46:15,360 --> 00:46:17,880 Yn y neges destun I anfon at y dosbarth cyfan, 957 00:46:17,880 --> 00:46:22,140 ac yr oedd yn ddoniol i yn hoffi 50% o'r dosbarth, ond mae'r 50% arall, mae rhai ohonynt 958 00:46:22,140 --> 00:46:26,102 freaked allan, i anfon anhygoel o nodiadau melys ymddiheuro 959 00:46:26,102 --> 00:46:28,560 at y staff yn ymddiheuro am ar ôl colli y ddarlith yn unig 960 00:46:28,560 --> 00:46:29,530 mae hyn unwaith, dde? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Felly, byddai hynny horribly o chwith. 963 00:46:34,030 --> 00:46:37,030 Felly, yn yr ysbryd hwnnw, gadewch i ni roi cynnig ar hyn eto, ond dim ond gyda fy rhif. 964 00:46:37,030 --> 00:46:41,940 Ymlaen llaw, mewn functions.php, Rwyf wedi ysgrifennu swyddogaeth hon fan hyn. 965 00:46:41,940 --> 00:46:44,250 Mae'n cael ei alw testun, ac mae'n cymryd mewn tair dadleuon. 966 00:46:44,250 --> 00:46:46,360 Mae nifer, cludydd, a neges. 967 00:46:46,360 --> 00:46:50,390 >> Im 'yn arfer datganiad switsh, a oedd hyfryd PHP cymryd llinynnau, nid dim ond 968 00:46:50,390 --> 00:46:53,350 cyfanrifau, a doeddwn i ddim yn gweithredu yr holl gefnogaeth ar gyfer hyn eto, 969 00:46:53,350 --> 00:46:55,370 Rwyf newydd wneud AT & T a Verizon. 970 00:46:55,370 --> 00:46:57,610 Oherwydd ei fod yn troi allan bod gyda chludwyr hyn 971 00:46:57,610 --> 00:47:00,570 mae ganddynt e-bost at byrth SMS, lle y gallwch mewn gwirionedd 972 00:47:00,570 --> 00:47:05,529 anfon e-bost i gyfeiriad fel rhif ffôn ar vtext.com 973 00:47:05,529 --> 00:47:08,070 ac os nad yw'r defnyddiwr wedi blocio y negeseuon, bydd yn mynd drwy'r 974 00:47:08,070 --> 00:47:09,340 yn neges destun. 975 00:47:09,340 --> 00:47:13,270 >> Yn awr i wneud hyn, yr wyf i'n mynd i gael i ychwanegu un maes yn wirioneddol gyflym i fy gronfa ddata. 976 00:47:13,270 --> 00:47:15,470 Rydw i'n mynd i fynd i mewn i fy strwythur, ac rwy'n 977 00:47:15,470 --> 00:47:21,880 mynd i fynd yn ei flaen ac yn ychwanegu cae ar ddiwedd y tabl. 978 00:47:21,880 --> 00:47:25,227 Gadewch i ni cliciwch Go, ac rwy'n mynd i alw cludwr hwn 979 00:47:25,227 --> 00:47:27,310 ac am nawr rwy'n mynd i gadael hyn fel testun bar, 980 00:47:27,310 --> 00:47:29,320 ond gallwn fod yn ffansi yn y dyfodol. 981 00:47:29,320 --> 00:47:31,961 Rydw i'n mynd i fynd yn gyflym i mewn i fy tabl, ac rwy'n 982 00:47:31,961 --> 00:47:34,210 yn mynd i gael gwared ar Rob, oherwydd dyna rhif ffug, 983 00:47:34,210 --> 00:47:38,540 Rydw i'n mynd i fynd i mewn i olygu yma ac rwy'n mynd i newid fy cludwr â llaw 984 00:47:38,540 --> 00:47:43,410 i fod yn Verizon, y mae'n yw, ac yn awr dros yma. 985 00:47:43,410 --> 00:47:44,980 >> Gadewch i ni wneud gwiriad pwyll gyflym. 986 00:47:44,980 --> 00:47:52,730 Gadewch i ni agor ein sgript testun, a oedd yn edrych fel hyn, cludwr yw% s. 987 00:47:52,730 --> 00:47:58,230 Rydym yn gwneud llawer mwy o gwall gwirio nag a wnes yn 2012, cludwr. 988 00:47:58,230 --> 00:48:01,160 Ac yn awr, yr wyf i'n mynd i fynd ymlaen ac ail-redeg y sgript. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Carrier yn Verizon, sy'n golygu Erbyn hyn gobeithio y gallaf wneud yn union hyn. 991 00:48:06,100 --> 00:48:08,360 Gywir eleni, gobeithio, dyma ni. 992 00:48:08,360 --> 00:48:12,200 >> Felly, y tu mewn o hyn ar gyfer dolen, rwy'n mynd i nid yn unig wedi printf yma, 993 00:48:12,200 --> 00:48:15,990 Rwyf hefyd yn mynd i alw testun a y defnydd o'r swyddogaeth hon adalw 994 00:48:15,990 --> 00:48:19,670 Roedd mae'n cymryd rif, a cludydd, a neges. 995 00:48:19,670 --> 00:48:23,310 Felly, gadewch i ni weld, rhif yn mynd i fod rhes dyfyniad unquote "rhif," 996 00:48:23,310 --> 00:48:31,660 rhes dyfyniad unquote "cludwr," ac yn yr un olaf ei neges. 997 00:48:31,660 --> 00:48:36,250 Peidiwch â sgriw i fyny eleni, hanner colon. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Croesi bysedd. 1000 00:48:38,280 --> 00:48:39,970 Gadewch i ni weld os yw hyn yn gweithio. 1001 00:48:39,970 --> 00:48:41,720 Mae pob hawl, felly. 1002 00:48:41,720 --> 00:48:43,000 Yma rydym yn mynd. 1003 00:48:43,000 --> 00:48:47,380 Gadewch i ddatgloi y ffôn, croeswch eich bysedd, damn iddo. 1004 00:48:47,380 --> 00:48:50,300 Caiff-- amrywiol undefined oh aros, aros, aros, go gyflym. 1005 00:48:50,300 --> 00:48:51,340 Real gyflym, go gyflym. 1006 00:48:51,340 --> 00:48:53,380 Mae hyn yn gwbl werth yr ymdrech. 1007 00:48:53,380 --> 00:48:57,710 Gadewch i mi cydio, gadewch i mi cydio, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Diolch i chi, mae'r testunau yn cael Dechreuwyd gan rywun arall. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Gadewch i mi fynd yn ei flaen ac yn agor i fyny real cyflym, dropbox.php / post i mewn yma. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Hollol werth chweil. 1013 00:49:14,455 --> 00:49:17,430 Downloads. 1014 00:49:17,430 --> 00:49:18,560 OK, src8m ffynhonnell. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Angen un llinell mwy yma. 1017 00:49:21,380 --> 00:49:24,530 Oh yno y mae, 'i' yn Frosh IMS, 'i' yn y gofrestr ar dair. 1018 00:49:24,530 --> 00:49:28,820 Oh helo, Margo, diolch yn fawr iawn. 1019 00:49:28,820 --> 00:49:31,130 OK, ac roeddwn yn colli y llinell yma. 1020 00:49:31,130 --> 00:49:33,010 Felly, gadewch i mi yn gyflym chrafangia y llinell hon o god, 1021 00:49:33,010 --> 00:49:36,200 sy'n cynnwys y post neu lyfrgell bod Fi 'n weithredol angen at arfer, 1022 00:49:36,200 --> 00:49:38,300 Rydw i'n mynd i gyflym mynd yn ôl i mewn i swyddogaethau, 1023 00:49:38,300 --> 00:49:42,337 Rydw i'n mynd i fynd i ben y hyn ffeilio ac yn ei gwneud yn ofynnol y ffeil, yn ogystal, 1024 00:49:42,337 --> 00:49:45,420 ac yn awr yr wyf i'n mynd i groesi 'n sylweddol fy bysedd pan fyddaf yn mynd yn ôl at y gorchymyn 1025 00:49:45,420 --> 00:49:49,530 sgript lein, sydd tu mewn cyfeiriadur llu lleol heddiw. 1026 00:49:49,530 --> 00:49:50,610 Testun yn rhedeg. 1027 00:49:50,610 --> 00:49:52,720 Enter. 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, OK. 1034 00:50:02,290 --> 00:50:03,870 Yma rydym yn mynd. 1035 00:50:03,870 --> 00:50:06,880 >> Bost yn cael Mailer PHP newydd. 1036 00:50:06,880 --> 00:50:09,970 Oeddwn i'n gwneud hyn yn iawn? 1037 00:50:09,970 --> 00:50:11,067 Damia. 1038 00:50:11,067 --> 00:50:12,150 I-- oh, aros, aros, aros. 1039 00:50:12,150 --> 00:50:12,649 Sefyll yn ôl. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Yr wyf yn addo, mae hyn yn mynd i fod mor werth chweil. 1042 00:50:18,630 --> 00:50:20,340 Cyfeiriad. 1043 00:50:20,340 --> 00:50:24,390 Dyma pam nad wyf yn gwneud y enghreifftiau i'r dde cyn y dosbarth. 1044 00:50:24,390 --> 00:50:26,350 Ych. 1045 00:50:26,350 --> 00:50:27,910 Methodd y derbynwyr canlynol. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Gadewch i ni roi cynnig ar un peth diwethaf. 1048 00:50:33,040 --> 00:50:40,660 SMTP a osodwyd gan, ychwanegwch gyfeiriad, y cyfeiriad yn wir hynny. 1049 00:50:40,660 --> 00:50:43,980 Gadewch i ni roi cynnig ar y rhan olaf yn y cyfeiriad. 1050 00:50:43,980 --> 00:50:47,210 Aw, rwy'n drist iawn ar hyn o bryd. 1051 00:50:47,210 --> 00:50:47,854 Diolch yn fawr. 1052 00:50:47,854 --> 00:50:50,270 Ond Fi 'n sylweddol yn gwerthfawrogi i gyd mae'r testunau rydych chi wedi bod yn anfon. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Rydych chi wedi got David hon. 1055 00:50:56,320 --> 00:50:59,310 Rydych yn chwythu arno. 1056 00:50:59,310 --> 00:51:01,720 Gadewch i ni adael yno ac byddwn yn atgyweiria ar ddydd Llun. 1057 00:51:01,720 --> 00:51:04,290 Welwn ni chi wedyn. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN FARNHAM: Ac yn awr Deep Meddyliau gan Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Os yw coeden ddeuaidd yn disgyn mewn coedwig a nad oes neb o gwmpas i C iddo-- [chuckling]. 1061 00:51:17,590 --> 00:51:18,998