1 00:00:00,000 --> 00:00:10,393 >> [MUZIKO Ludante] 2 00:00:10,393 --> 00:00:11,037 3 00:00:11,037 --> 00:00:12,120 DAVID J. Malan: Bone. 4 00:00:12,120 --> 00:00:12,830 Bonvenigas reen. 5 00:00:12,830 --> 00:00:13,890 Tio estas CS50. 6 00:00:13,890 --> 00:00:15,570 Jen la fino de semajno 8. 7 00:00:15,570 --> 00:00:18,360 Kaj kiel vi scias, ni havas belan regula oficejo horoj post kelkaj 8 00:00:18,360 --> 00:00:21,090 de la manĝejojn, inkludante Annenberg. 9 00:00:21,090 --> 00:00:23,860 Kaj iuj el la teamo afable prenis kelkajn fotojn lastatempe. 10 00:00:23,860 --> 00:00:26,230 Kaj honore Halloween, ni opiniis, ke ni 11 00:00:26,230 --> 00:00:30,160 kunhavigi kiu prefere kaptis nin surprizo tie en Annenberg Hall simple 12 00:00:30,160 --> 00:00:31,490 la alia nokto. 13 00:00:31,490 --> 00:00:36,300 Via samklasano Jakob metis por tiun foton, sed estis pli amuza 14 00:00:36,300 --> 00:00:39,760 Estis en Facebook, la venontan konversacio kiu okazis poste. 15 00:00:39,760 --> 00:00:43,020 >> Lia unua posteno en respondo al lia foto estis jena. 16 00:00:43,020 --> 00:00:46,740 Kelkajn minutojn poste, li decidis unu mem kun ĉi tiu. 17 00:00:46,740 --> 00:00:53,800 Tio daŭris tiam iri al tiu, kaj tiam, eĉ pli amuze 18 00:00:53,800 --> 00:00:55,320 estas kiam lia panjo intervenis en. 19 00:00:55,320 --> 00:00:59,240 20 00:00:59,240 --> 00:01:01,800 Kaj tiam finfine, ŝajnas tiu estis simple 21 00:01:01,800 --> 00:01:04,860 mirinda ruzaĵo por ludi ke okazas. 22 00:01:04,860 --> 00:01:07,080 >> Do, se vi volas vidi Jacob kaj aliaj, 23 00:01:07,080 --> 00:01:10,880 inter ili Cynthia Meng, kiu estas malantaŭ la scenoj de CS50 zono bastonon 24 00:01:10,880 --> 00:01:13,970 estras ĉi URL kaj tiu teatraĵo tie. 25 00:01:13,970 --> 00:01:18,810 Do sen pli enkonduko, ni hodiaŭ daŭrigu tiun rigardi ttt programado, 26 00:01:18,810 --> 00:01:21,810 kaj la efektiva kreado de programoj ke vi ne kuras ĉe via komandlinio, 27 00:01:21,810 --> 00:01:24,080 sed anstataŭe kuras ene de la navegador. 28 00:01:24,080 --> 00:01:26,320 >> Supozeble nun, aŭ tre baldaux, vi tuj 29 00:01:26,320 --> 00:01:30,200 esti en la mezo de efektivigo Via propra retservilo 30 00:01:30,200 --> 00:01:31,700 Estas malsama ttt programado. 31 00:01:31,700 --> 00:01:36,210 La TTT-servilo en pset6 tute regas skribi programaron kiu scipovas preni 32 00:01:36,210 --> 00:01:39,300 HTTP petojn de navegador, aŭ eĉ de vi, homo, 33 00:01:39,300 --> 00:01:42,340 kun programo nomita Telnet kaj tiam respondi al tiuj petoj aŭ 34 00:01:42,340 --> 00:01:48,600 per kracxi el HTML-dosiero, aŭ jpg, aŭ gif, aŭ eĉ .php dosieron. 35 00:01:48,600 --> 00:01:52,490 >> Sed kun retservilo, ne supozeble nur malfermi PHP-dosiero, 36 00:01:52,490 --> 00:01:55,260 io finaĵo .php, kaj tiam kraĉis la enhavon. 37 00:01:55,260 --> 00:01:58,440 Ĝi estas supozita fari kion tiu dosiero antaŭe? 38 00:01:58,440 --> 00:01:59,390 Por tiel diri. 39 00:01:59,390 --> 00:02:04,060 Ne kompili ĝin, ni diris lunde, sed rather-- Do interpreti ĝin. 40 00:02:04,060 --> 00:02:08,070 >> PHP estas unu interpretita lingvo, kaj tiel unu el la ŝlosilaj karakterizaĵoj en via retejo 41 00:02:08,070 --> 00:02:11,550 servilo, kvankam implementado por ni, Estas ĉi tiu kapableco por via TTT-servilo 42 00:02:11,550 --> 00:02:12,490 rimarki, io. 43 00:02:12,490 --> 00:02:14,580 Jen paĝo finaĵo .php. 44 00:02:14,580 --> 00:02:17,970 Lasu min nur sendu al la uzanto kiel ĝi estas statika enhavo, 45 00:02:17,970 --> 00:02:20,970 sed prefere mi legis ĝin linion per linio, maldekstre dekstren, kaj gxin klarigas. 46 00:02:20,970 --> 00:02:23,030 >> Kaj fari, ke vi infanoj volas esence 47 00:02:23,030 --> 00:02:26,520 Punt al programo en la aparato, kaj sur tereno de komputilaj sistemoj, 48 00:02:26,520 --> 00:02:27,500 nur nomis PHP. 49 00:02:27,500 --> 00:02:30,579 Tio estas la nomo de PHP la lingvo propra interpretisto. 50 00:02:30,579 --> 00:02:33,120 Do, tiu peco ni implementar por vi kaj kio restas por vi, 51 00:02:33,120 --> 00:02:35,240 finfine, estas nombro de pecoj, inter kiuj 52 00:02:35,240 --> 00:02:37,960 estas implementando subteno por statika enhavo. 53 00:02:37,960 --> 00:02:40,180 >> Sed nun, kaj kun problemo starigis sep, vi estas 54 00:02:40,180 --> 00:02:43,660 tuj komencas transiron al fakte skribas PHP kodo 55 00:02:43,660 --> 00:02:45,970 kiu metas interpretitaj en parolante al malantaŭa fino 56 00:02:45,970 --> 00:02:47,960 datumbazo kiu stokas informojn. 57 00:02:47,960 --> 00:02:51,020 Do ni pli bone komprenu unue paro de tiuj superglobals 58 00:02:51,020 --> 00:02:53,720 kaj kiom da energio vi eliri el la skatolo senpage 59 00:02:53,720 --> 00:02:55,250 kun lingvo kiel PHP. 60 00:02:55,250 --> 00:02:57,350 Aĵoj vi ne havas implementar mem. 61 00:02:57,350 --> 00:03:01,700 >> Do, ni vidis lunde $ _GET, kio estas superglobal, 62 00:03:01,700 --> 00:03:05,496 kio ĝuste PHP paroli por tutmonda variablo povas aliri ie. 63 00:03:05,496 --> 00:03:06,620 Kaj kio estas interne de $ _GET? 64 00:03:06,620 --> 00:03:09,930 65 00:03:09,930 --> 00:03:12,110 Kio estas ene de tiu superglobal kiun ni vidas? 66 00:03:12,110 --> 00:03:15,900 67 00:03:15,900 --> 00:03:19,020 Nepre statistike ĉe Almenaŭ unu persono scias. 68 00:03:19,020 --> 00:03:21,590 Kio estas interne de $ _GET? 69 00:03:21,590 --> 00:03:22,426 Yeah? 70 00:03:22,426 --> 00:03:24,130 >> Publiko: Estas la variabloj vi metis en la informpeto kordo. 71 00:03:24,130 --> 00:03:24,530 >> DAVID J. Malan: Perfekta. 72 00:03:24,530 --> 00:03:26,488 Estas la variablojn vi metis en la informpeto kordo. 73 00:03:26,488 --> 00:03:29,910 Do, en nia malnova ekzemplo de reimplementing Google kiam ni havis 74 00:03:29,910 --> 00:03:34,130 URL, kaj tiam demandosigno, kiu demarca la komenco de HTTP 75 00:03:34,130 --> 00:03:37,950 parametrojn, do ni devis q egalaj io, kiel q egalas katoj, 76 00:03:37,950 --> 00:03:41,500 kio aŭtomate iri interne de tiu $ _GET super tutmondaj por vi, 77 00:03:41,500 --> 00:03:47,430 pro PHP, estas ŝlosilo de Q, kaj valoran gxiaj de katoj. 78 00:03:47,430 --> 00:03:51,250 >> En aliaj vortoj, $ _GET kaj ĉiuj tio estas asociaj tabeloj, 79 00:03:51,250 --> 00:03:54,530 hash tabloj de varoj, kiuj vendejo ŝlosilojn kaj valoroj. 80 00:03:54,530 --> 00:03:57,980 Nun, reen en pset5, la hash tablo vi eble estas implementado, 81 00:03:57,980 --> 00:04:00,220 aŭ provu vi eble implementado, vere 82 00:04:00,220 --> 00:04:04,010 Estis efektive asocieca tabelo, datumstrukturo 83 00:04:04,010 --> 00:04:07,220 per vi povas asocii klavojn per valoroj. 84 00:04:07,220 --> 00:04:09,690 >> Sed en pset5, la valoroj estis bagatela. 85 00:04:09,690 --> 00:04:12,430 La valoro estis esence vera aŭ malvera. 86 00:04:12,430 --> 00:04:13,900 Ĉu la vorto en la vortaro? 87 00:04:13,900 --> 00:04:18,279 Do, kiam vi hashed vorto kiel pomo vidi se pomo estas en la vortaro, 88 00:04:18,279 --> 00:04:21,820 via ĉeko funkcio supozeble revenis vera aŭ malvera. 89 00:04:21,820 --> 00:04:24,120 Do, tio estas efektive la valoro ni reatingas. 90 00:04:24,120 --> 00:04:26,456 >> Sed ni vidis lunde mallonge, vi certe povas 91 00:04:26,456 --> 00:04:28,830 asocii pli interesa valorojn ol vera aŭ malvera 92 00:04:28,830 --> 00:04:30,790 kun ŝlosiloj, kiel pomo. 93 00:04:30,790 --> 00:04:33,909 Vi povis reveni al arbitra kordo, kaj efektive, 94 00:04:33,909 --> 00:04:36,200 ke estas kion $ _GET kaj tiuj aliaj variabloj lasu vin fari. 95 00:04:36,200 --> 00:04:40,595 >> Do $ _POST estas simila en spirito, sed se vi povas prezenti la formo tra poŝto, 96 00:04:40,595 --> 00:04:44,490 malsama HTTP metodo tio uzata por aĵoj kiel kreditkartojn, 97 00:04:44,490 --> 00:04:48,410 kaj privatajn informojn, kaj eĉ duuma informoj kiel fotoj, 98 00:04:48,410 --> 00:04:51,840 tion finas ene de $ _POST. 99 00:04:51,840 --> 00:04:53,770 Kaj efektive dosierojn kiel jpegs kaj whatnot, 100 00:04:53,770 --> 00:04:58,290 ekzistas ankoraŭ alia ke ne estas tie supre nomita $ _FILES tiel. 101 00:04:58,290 --> 00:05:01,280 >> Do servilo ni ne logxas en tro multa, sed donas al vi aliron 102 00:05:01,280 --> 00:05:04,860 ordigi malplialta nivelo detaloj la servilo mem, ke vi uzas. 103 00:05:04,860 --> 00:05:07,430 Kuketo kaj kunsido, kvankam, ni efektive vidas nun. 104 00:05:07,430 --> 00:05:10,940 La lasta estas kion ni uzas por implementar la nocio de komerca veturilo. 105 00:05:10,940 --> 00:05:14,480 Súper simpla, sed Recall ke ni havis ĉi ekzemplo tie, 106 00:05:14,480 --> 00:05:17,640 rakonti kiom da fojoj vi rememoris la paĝon antaŭe. 107 00:05:17,640 --> 00:05:20,850 >> Sed hodiaŭ, prefere ol nur rigardi la efiko de tiu, ni malfermu 108 00:05:20,850 --> 00:05:22,640 Chrome La Inspektisto, kiun vi povas kutime 109 00:05:22,640 --> 00:05:25,740 fari per dekstra musklako aŭ Kontrolo klako ie en retpaĝo, 110 00:05:25,740 --> 00:05:27,250 kaj tiam elekti inspekti elemento. 111 00:05:27,250 --> 00:05:31,600 Aŭ vi povas iri tra la menuoj ke ni priskribu en pset6 la spec. 112 00:05:31,600 --> 00:05:35,020 Kaj Mi iras al la Reto langeto tien, kaj ni rigardas momenton 113 00:05:35,020 --> 00:05:37,590 la HTTP- trafiko tio irante reen. 114 00:05:37,590 --> 00:05:40,929 >> Permesu al mi unue iri antaŭen kaj klaraj Chrome la kaŝmemoro. 115 00:05:40,929 --> 00:05:43,470 Do iuj el vi povus esti familiara kun tiu tekniko jam, 116 00:05:43,470 --> 00:05:45,790 kaj ni tuj uzi ĝin por elpurigi celoj ĉi tie. 117 00:05:45,790 --> 00:05:48,890 118 00:05:48,890 --> 00:05:50,890 Nun ni kiel komputilo sciencistoj tuj komenci 119 00:05:50,890 --> 00:05:53,920 faranta tion ĉi por depuración celoj, per kiu 120 00:05:53,920 --> 00:05:55,910 ni malplenigos la caché, tipe, por ke ni 121 00:05:55,910 --> 00:05:57,670 povas forigi tion nomis kuketojn. 122 00:05:57,670 --> 00:06:01,700 Do vi probable ĝenerale familiara kun kio kuketoj estas, aŭ almenaŭ 123 00:06:01,700 --> 00:06:04,370 ke ili ekzistas, sed kio estas vian komprenon de ili, 124 00:06:04,370 --> 00:06:06,920 kiel nur uzanto de komputiloj, kio estas kuketo? 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 >> Publiko: Estas iom of-- bone, ne malmulto en limtempo de komputiko. 128 00:06:14,391 --> 00:06:18,303 Ĝi estas peco de datumoj kiujn oni retejo sendas al vi por 129 00:06:18,303 --> 00:06:20,209 por povi gravuri statistikojn vin. 130 00:06:20,209 --> 00:06:21,250 DAVID J. Malan: Bone, vi bona. 131 00:06:21,250 --> 00:06:24,980 Do ĝi estas peco de datumoj kiujn oni servilo, metas sur vian komputilon, 132 00:06:24,980 --> 00:06:28,840 kaj ni ĝeneraligi eĉ pli, ĝi estas ŝlosila value-- bone, 133 00:06:28,840 --> 00:06:30,064 ke Fariĝas pli preciza. 134 00:06:30,064 --> 00:06:31,980 Ĝi estas peco de informoj, peco de datumoj, 135 00:06:31,980 --> 00:06:34,430 kiu servanto povas meti sur via komputilo 136 00:06:34,430 --> 00:06:38,592 kaj tre ofte, la servilo faras ĉi tiel kiel memori kiu vi estas. 137 00:06:38,592 --> 00:06:40,300 Tiel ekzemple, _odds_ ĉu vi estas probable 138 00:06:40,300 --> 00:06:42,982 ensalutinta en retejoj kiel Facebook, aŭ Gmail, aŭ aliaj antaŭe, 139 00:06:42,982 --> 00:06:44,940 kaj vi ensalutu per viaj uzantonomo kaj pasvorto, 140 00:06:44,940 --> 00:06:49,000 kaj tuj poste, por iu nombro de minutoj aŭ horoj aŭ eĉ tagoj, 141 00:06:49,000 --> 00:06:52,970 La servilo memoras ke vi estas, fakte, estas ensalutinta. 142 00:06:52,970 --> 00:06:54,600 Nun, kio estas ke efektive okazas? 143 00:06:54,600 --> 00:06:58,630 Ĉar vi certe ne retyping Via salutnomo kaj pasvorto ĉiufoje 144 00:06:58,630 --> 00:07:00,760 vi navigi al malsama paĝo en Facebook. 145 00:07:00,760 --> 00:07:02,570 Do rezultas la kuketoj estas la respondo. 146 00:07:02,570 --> 00:07:05,360 >> Kuketo povas pensi kiel, ia ŝatas, cifereca mano 147 00:07:05,360 --> 00:07:09,200 poŝtmarkon ke vi povus atingi altiroj parko aŭ klubon kiu esence 148 00:07:09,200 --> 00:07:11,740 indikas, ke ili estis tie antaŭe, kaj vi jam 149 00:07:11,740 --> 00:07:16,070 montrita via IRU al la pordisto, por Ekzemple, se la klubo aŭ la parko 150 00:07:16,070 --> 00:07:19,050 nun devus supozi ke vi esti aŭtentikigita jam. 151 00:07:19,050 --> 00:07:21,270 Vi jam identigita per ĝi. 152 00:07:21,270 --> 00:07:24,740 >> Do kun tio en menso, ni malfermu nombrilo tie. 153 00:07:24,740 --> 00:07:27,220 Lasu min, mi nur faris, kaj liberigi ĉiujn miajn kuketojn. 154 00:07:27,220 --> 00:07:29,970 Kaj nun kion mi tuj faros estas teni Shift, nur por bonan mezuron, 155 00:07:29,970 --> 00:07:31,740 kaj perforte reŝarĝi la paĝon. 156 00:07:31,740 --> 00:07:34,170 Shift simple certigi ke nenion akiras kaŝmemoro. 157 00:07:34,170 --> 00:07:36,850 Kaj jen la peton kiuj iris tien kaj reen. 158 00:07:36,850 --> 00:07:41,560 Do ĉi tie ni havas peton, kaj lasu min zomi malsupren tie, kaj multaj ĉi 159 00:07:41,560 --> 00:07:44,710 Estas ia neinteresa detaloj por nun ke la navegador havas aŭtomate 160 00:07:44,710 --> 00:07:47,800 sendis, sed ni klaku View Fonto vidi la krudan titolaj. 161 00:07:47,800 --> 00:07:51,700 >> Kaj se vi subakviĝis en pset6 jam, vi certe rekonas tion 162 00:07:51,700 --> 00:07:54,990 kiel tiu, kaj eble iuj de tiuj aliaj linioj tie, 163 00:07:54,990 --> 00:07:59,040 sed kio estas pli interesa por hodiaŭ se mi rulumu malsupren, ne al la peto 164 00:07:59,040 --> 00:08:02,870 sed al la tiel-nomata respondo, tiu linio probable aspektas familiaraj. 165 00:08:02,870 --> 00:08:04,977 Tio estas bona afero kiam vi vidas 200 OK. 166 00:08:04,977 --> 00:08:07,060 Ŝajne tio estas la Dato kaj tempo de la servilo 167 00:08:07,060 --> 00:08:08,268 kaj ekzistas aro da aĵoj. 168 00:08:08,268 --> 00:08:09,290 Ho, tio estas interesa. 169 00:08:09,290 --> 00:08:13,430 >> Rezultas kiam oni uzas PHP, almenaŭ en ĉi tiu servilo, 170 00:08:13,430 --> 00:08:16,360 La servilo sputas el kio versio de PHP vi uzas. 171 00:08:16,360 --> 00:08:18,962 Kiu, efektive, por sekureco celoj, ne estas bona afero. 172 00:08:18,962 --> 00:08:21,170 Sed, ni revenu al tiu alifoje eble. 173 00:08:21,170 --> 00:08:25,740 Sed jen estas la sukaj linio hodiaŭ, kaj ni vidis brevemente kelkaj el tiuj, 174 00:08:25,740 --> 00:08:29,240 Mi pensas kun Facebook kiam poked ĉirkaŭ la Inspektisto tiutempe, 175 00:08:29,240 --> 00:08:33,380 aro kuketo estas kio plantante ke peceton de informoj 176 00:08:33,380 --> 00:08:34,890 sur via komputilo. 177 00:08:34,890 --> 00:08:37,490 >> Tiu estas HTTP kaplinio tio estas efike 178 00:08:37,490 --> 00:08:39,970 dirante via retumilo, Chrome, IE, kio ajn, 179 00:08:39,970 --> 00:08:44,480 hey retumilo vendejo sur la uzanto malmola disko, aŭ en la uzanto RAM, 180 00:08:44,480 --> 00:08:49,680 ŝlosila nomis PHPSESSID, kio estas stenografio skribmaniero por kunsido ID, 181 00:08:49,680 --> 00:08:53,670 kaj donu valoron de 0vlk8t, dot, dot, punkto. 182 00:08:53,670 --> 00:08:56,480 Vere longa pseŭdo hazarda litercifera kordo. 183 00:08:56,480 --> 00:08:59,480 Estas nur vere granda nombro, sed ĝi estas kodita per literoj kaj ciferoj 184 00:08:59,480 --> 00:09:03,550 tiel ke la grandeco de ĝi povas esti eĉ pli granda ol nombroj sola. 185 00:09:03,550 --> 00:09:06,947 Kaj tiam, per la vojo, Path = /, ke simple signifas ke ĉi kuketo devus esti 186 00:09:06,947 --> 00:09:08,780 asociita kun la tuteco de la retejo, 187 00:09:08,780 --> 00:09:11,150 ne nur specifa paĝo de la tuta afero. 188 00:09:11,150 --> 00:09:12,930 Do jen tio virtuala mano poŝtmarkoj. 189 00:09:12,930 --> 00:09:16,330 Estas kvazaŭ la servilo, Facebook, aŭ en nia kazo la aparato, 190 00:09:16,330 --> 00:09:21,140 havas laŭvorte skribita 0vlk8t ks, en via mano. 191 00:09:21,140 --> 00:09:24,360 Rimarki kion la servilo, Ne faras estas ĝi estas ne 192 00:09:24,360 --> 00:09:27,730 stokante mian salutnomon, certe Ne stokante mian pasvorton. 193 00:09:27,730 --> 00:09:31,710 >> Anstataŭe, ĝi ŝajnas esti stokante pseŭdo hazarda informoj 194 00:09:31,710 --> 00:09:35,010 por ke neniu povu diveni kion mia mano poŝtmarkoj estas. 195 00:09:35,010 --> 00:09:37,590 Sur la flanko de la servanto, dume, la servilo 196 00:09:37,590 --> 00:09:40,370 tuj memoras, verŝajne en datumbazo aŭ ion, 197 00:09:40,370 --> 00:09:46,490 ke la uzanto, kiu en la estonteco prezentas mano poŝtmarkoj el 0vlk8t, ĝi pentras, 198 00:09:46,490 --> 00:09:51,440 dot, pentras, devus esti asociita kun ĉi aparta komerca ĉaro, por tiel diri. 199 00:09:51,440 --> 00:09:55,060 En aliaj vortoj, se mi nun iros tien kaj reŝarĝi la paĝon, 200 00:09:55,060 --> 00:09:58,020 Kiel la servilo scias ke mi vizitis unu horo? 201 00:09:58,020 --> 00:10:01,730 >> Aŭ ĉu mi tion denove, kiel faras la servilo scias, ke mi vizitis ĝin du fojojn? 202 00:10:01,730 --> 00:10:04,680 Nu, se mi iros en tiun plej freŝa peto, kiun 203 00:10:04,680 --> 00:10:09,150 Estas nun la tria ke mi sendis Entute rimarkos mian peton nun. 204 00:10:09,150 --> 00:10:11,300 Ekzistas ankoraŭ tiu peti ĝis tie, samaj 205 00:10:11,300 --> 00:10:15,040 kiel antaŭe, ne estas ankoraŭ tuta fasko de aĵoj kiujn ni ignorita kiel antaŭe, 206 00:10:15,040 --> 00:10:19,350 sed la lasta kaplinio, tio tempo, ĉar mi jam estis tie antaŭe, 207 00:10:19,350 --> 00:10:21,980 estas prezento de virtualeco mano poŝtmarkoj. 208 00:10:21,980 --> 00:10:28,957 >> Per tiu linio tie, ne starigu kuketo sed kuketo dupunkto PHPSESSI = 0vlk8t, 209 00:10:28,957 --> 00:10:32,040 tio estas nur mia retumilo aŭtomata prezento de tiu mano poŝtmarkon por ke 210 00:10:32,040 --> 00:10:37,910 Nun la servanto, tiel frue kiel ĝi realigas, ooh, tiu estas uzanto 0vlk8t streketo streketo streketo 211 00:10:37,910 --> 00:10:42,010 Mi nun povas memori kiu li aŭ ŝi estas kaj reassociate kun tiu uzanto ajn 212 00:10:42,010 --> 00:10:46,450 informo Mi volas, kaj ĉiuj ke informo povas esti stokita de vi, 213 00:10:46,450 --> 00:10:50,130 la programisto, en $ _SESSION. 214 00:10:50,130 --> 00:10:57,170 >> Do esti klara, se mi malfermas reala rapida en gedit ke fakta dosiero, counter.php, 215 00:10:57,170 --> 00:11:02,340 en mia loka gastiganto publika dosierujo kiel antaŭe, rimarki ke ja 216 00:11:02,340 --> 00:11:06,860 Mi finfine stokante en $ _SESSION Citaĵo unquote "nombrilo" 217 00:11:06,860 --> 00:11:10,110 la valoro de la antaŭa nombrilo kiu Mi prenos de tiuj linioj supren tie ke ni 218 00:11:10,110 --> 00:11:13,010 rigardis lasta fojo plus unu. 219 00:11:13,010 --> 00:11:14,980 Do sub la kapuĉo, jen ĉio kuketoj estas. 220 00:11:14,980 --> 00:11:17,563 Estas nur la speco de cifereca mano poŝtmarkoj iras tien kaj reen, 221 00:11:17,563 --> 00:11:20,450 kaj sincere, se vi malfermas Chrome La Inspektisto sur ajna retpaĝaro 222 00:11:20,450 --> 00:11:22,580 vi vizitos hodiaŭ, kun Super alta probablo, 223 00:11:22,580 --> 00:11:25,450 Vi tuj vidos eble unu, eble duono dekduo kuketojn 224 00:11:25,450 --> 00:11:26,650 estante memorita de vi. 225 00:11:26,650 --> 00:11:29,500 >> Kaj malbona ankoraŭ, se tiuj retejo vi vizitas 226 00:11:29,500 --> 00:11:32,640 ĉiuj havas reklamojn, kiuj certe estas sufiĉe komuna hodiaŭ, 227 00:11:32,640 --> 00:11:36,100 kaj se tiuj anoncoj estas venanta de iu centra partio, iu 228 00:11:36,100 --> 00:11:39,000 kiel Google aŭ AdWords kiel ili nomi unu el liaj produktoj 229 00:11:39,000 --> 00:11:42,880 aŭ aliaj tiaj vendistoj kiuj vendi anoncojn, kio estas interesa, 230 00:11:42,880 --> 00:11:46,510 kaj sincere kio estas iom preocupante, pri kiel HTTP funkcias, 231 00:11:46,510 --> 00:11:50,855 estas ke se vi havas anoncon enigita en Facebook.com kaj Google.com, 232 00:11:50,855 --> 00:11:54,240 kaj Harvard.edu, ajna nombro de retejoj, tial estas tia 233 00:11:54,240 --> 00:11:58,130 ke estas meza viro kiu servas supren anoncoj por ĉiuj tri el tiuj retejoj, 234 00:11:58,130 --> 00:12:02,110 Ĝi rezultas ke la kuketoj estas po havaĵo. 235 00:12:02,110 --> 00:12:05,910 >> Do se vi havas anoncon devenante la sama entrepreno en malsamaj retejoj, 236 00:12:05,910 --> 00:12:11,140 ke kompanio povas efike spuri kiuj Vi estas trans ĉiuj tiuj retejoj. 237 00:12:11,140 --> 00:12:13,140 Harvard eble ne konas vi vizitas Facebook. 238 00:12:13,140 --> 00:12:15,306 Facebook povus ne scias kaj vi vizitas Harvard. 239 00:12:15,306 --> 00:12:18,160 Sed kion ajn ad servo ili estas uzanta se tiu domajno estas 240 00:12:18,160 --> 00:12:21,710 ĉeestanta en ambaŭ Harvard.edu retejo paĝoj kaj Facebook.com retpaĝoj, 241 00:12:21,710 --> 00:12:26,850 tiu meza viro certe scias, kiu vi estas pro tiuj kuketoj estas dividita 242 00:12:26,850 --> 00:12:30,910 trans aux pli gxuste, ke tn intermediario. 243 00:12:30,910 --> 00:12:33,820 >> Do ni revenu al tiu en sekureco implikaĵoj gxiajn 244 00:12:33,820 --> 00:12:37,170 sed tie estas multa informo konserviĝos pri vi iam vi 245 00:12:37,170 --> 00:12:40,120 viziti plej ajna retpaĝo pri interreto kaj vere 246 00:12:40,120 --> 00:12:42,877 reduktas al ĉi tre simplan mekanismon. 247 00:12:42,877 --> 00:12:44,710 Kio okazas, tiam, se vi estas súper paranoja 248 00:12:44,710 --> 00:12:48,190 kaj vi decidas iri en Chrome aŭ IE aŭ kion ajn kaj elŝalti via kuketojn? 249 00:12:48,190 --> 00:12:49,365 Kio okazas? 250 00:12:49,365 --> 00:12:50,790 Yeah? 251 00:12:50,790 --> 00:12:53,170 Vi really-- vi faris tiun rajton? 252 00:12:53,170 --> 00:12:54,350 OK. 253 00:12:54,350 --> 00:12:55,994 Ne, iru antaŭen. 254 00:12:55,994 --> 00:12:59,645 >> Publiko: Iuj retejoj ne havas funkcio sen ĝi plaĉas Facebook. 255 00:12:59,645 --> 00:13:00,520 DAVID J. Malan: Jes! 256 00:13:00,520 --> 00:13:02,311 Tiel certaj retejoj simple ĉesi labori. 257 00:13:02,311 --> 00:13:05,520 Kaj en plej retejoj tiuj tagoj ke fundamente fidi kuketoj, 258 00:13:05,520 --> 00:13:08,360 speciale se vi havas ensaluti en, ili estas nur tuj rompos. 259 00:13:08,360 --> 00:13:10,360 Ĉar konsideri la alternativo, se la retejo 260 00:13:10,360 --> 00:13:14,480 havas neniun manieron de memorante, kiu vi estas, kaj tial via retumilo ne 261 00:13:14,480 --> 00:13:16,949 reprezenti kun cxiu HTTP peto de tiu mano poŝtmarkoj, 262 00:13:16,949 --> 00:13:18,740 efike retejo kiel Facebook irado 263 00:13:18,740 --> 00:13:22,050 havi suflori vin ensalutu ĉiufoje Darn tempo 264 00:13:22,050 --> 00:13:26,200 vi ŝanĝas paĝoj, aŭ alklaki ligon, kiun Certe ne aparte bona uzanto 265 00:13:26,200 --> 00:13:26,920 sperto. 266 00:13:26,920 --> 00:13:30,020 >> Tiel ke ankaŭ estas inter la komerco offs. 267 00:13:30,020 --> 00:13:34,140 Do sen pli enkonduko, ni preni por sidiĝita ke kun ttt programado, 268 00:13:34,140 --> 00:13:37,630 en lingvoj kiel PHP, vi povas memori informoj kiel tiu en problemo starigis 269 00:13:37,630 --> 00:13:41,550 sep kiam vi apliki vian propran E * Trade-simila paĝaro per kiu aĉeti 270 00:13:41,550 --> 00:13:45,710 kaj vendi akcioj, vi memoras ekzakte kion la uzanto vendantojn 271 00:13:45,710 --> 00:13:49,110 kaj kiu li aŭ ŝi estas tra ĉi tiu kunsido. 272 00:13:49,110 --> 00:13:51,110 Sed ni tuj bezonas oni amatoro maniero ol retpoŝto 273 00:13:51,110 --> 00:13:52,640 komenci subtenante informo ĉirkaŭ. 274 00:13:52,640 --> 00:13:53,140 Rajto? 275 00:13:53,140 --> 00:13:56,780 >> Lundon, ni parolis pri Frosh IMS kaj kiel en la versio de tiu retejo, 276 00:13:56,780 --> 00:14:00,250 jaroj, ĉiuj ni faris estis retmesaĝi la Proctor kiu estas 277 00:14:00,250 --> 00:14:04,250 zorge de la intramural sportoj programo, la nomon, kaj la sekso, 278 00:14:04,250 --> 00:14:07,330 kaj ĉu aŭ ne ili estas kapitano, kaj la dormejo de iu kiu estas 279 00:14:07,330 --> 00:14:10,136 registrante por intramural sporto. 280 00:14:10,136 --> 00:14:13,010 Do estas ne malbona, sed li aŭ ŝi tiam devis troll tra lia retpoŝto: 281 00:14:13,010 --> 00:14:16,010 fari tabelon aŭ io simila ke, por subteni ĉiu organizita. 282 00:14:16,010 --> 00:14:19,750 Do certe ni kiel programistoj povas fari tion por ke Proctor. 283 00:14:19,750 --> 00:14:22,970 Kaj tiel eniri en SQL, Strukturita Query Language, 284 00:14:22,970 --> 00:14:26,050 kiu tuj serĉos bela malsama al ambaŭ C kaj PHP, 285 00:14:26,050 --> 00:14:30,990 kaj vi plonĝi en multe pli manojn sur PHP kaj problemo starigis sep sed ankaŭ SQL, 286 00:14:30,990 --> 00:14:35,310 aŭ SQL, temas pri lingvo kiu oni uzas por paroli al datumbazo. 287 00:14:35,310 --> 00:14:36,480 >> Sed kio estas datumbazo? 288 00:14:36,480 --> 00:14:38,440 Nu vi pensas de datenbazo, almenaŭ nuntempe, 289 00:14:38,440 --> 00:14:41,750 kiel simple esti kiel Excel-dosiero, aŭ se estas Mac uzanto nombroj dosieron, 290 00:14:41,750 --> 00:14:44,400 aŭ se vi estas Google Apps uzanto Google kalkultabelo, 291 00:14:44,400 --> 00:14:49,120 ĝi estas efike datumbazo, aŭ vere specife rilata datumbazo. 292 00:14:49,120 --> 00:14:53,070 Rilata datumbazo estas nur iu kiu havas vicoj kaj kolumnoj, 293 00:14:53,070 --> 00:14:56,440 kaj vi povas stoki ajnan specon de informoj en tiuj vicoj aŭ kolumnoj. 294 00:14:56,440 --> 00:15:00,480 >> Sed kio estas agrabla pri SQL, kaj pri reala datumbazojn, ne nur 295 00:15:00,480 --> 00:15:04,910 kalkultabelojn aŭ Google kalkultabeloj, estas ke vi povas uzi lingvon 296 00:15:04,910 --> 00:15:09,000 efektive ekzekuti pridemandojn al enmeti datumojn, forigi datumojn, 297 00:15:09,000 --> 00:15:11,620 serĉi datumojn, eĉ plej grave, kaj vi 298 00:15:11,620 --> 00:15:16,110 ne devas uzi ĝin sufiĉe permane kiel vi eble tipe Google 299 00:15:16,110 --> 00:15:17,690 kalkultabelo ŝatas ĉi. 300 00:15:17,690 --> 00:15:22,217 >> Do en SQL, ekzistas aro da fundamentaj deklaroj aŭ pecoj 301 00:15:22,217 --> 00:15:23,300 de funcionalidad konstruita. 302 00:15:23,300 --> 00:15:26,450 Ekzistas multaj pli ol tiuj, sed vi povas iri grandega distanco 303 00:15:26,450 --> 00:15:28,620 nur sciante ke tiu lingvo nomata 304 00:15:28,620 --> 00:15:30,840 SQL havas almenaŭ kvar deklaroj vi povas utiligi. 305 00:15:30,840 --> 00:15:34,420 >> Forigi por forigi datumojn, Enigi, por aldoni vicoj, 306 00:15:34,420 --> 00:15:37,340 Update, por ŝanĝi vicoj, kaj selektante, 307 00:15:37,340 --> 00:15:39,860 por interesigi reen vicoj kaj tio estas ĝuste kion SQL faras. 308 00:15:39,860 --> 00:15:43,810 Ĝi operacias tute sur vicoj tiel ke kiam vi enmeti aŭ forigi, 309 00:15:43,810 --> 00:15:47,470 aŭ ĝisdatigo, aŭ elektu kion vi reatingas kiel tn rezulto aro, 310 00:15:47,470 --> 00:15:49,690 kiel tabelo de vicoj. 311 00:15:49,690 --> 00:15:51,700 Faskon da vicoj de tabelo. 312 00:15:51,700 --> 00:15:54,050 >> Do reen en la tago, kaj gxis la nuna tago, 313 00:15:54,050 --> 00:15:56,560 vi povas interagi kun la datumbaza uzanta komandlinio, 314 00:15:56,560 --> 00:15:59,691 sed ne estas aparte amuza uzi tiu nigra kaj blanka stilo fenestro 315 00:15:59,691 --> 00:16:02,190 kaj fakte ekzekuti comandos kaj poke ĉirkaŭ via datumbazo. 316 00:16:02,190 --> 00:16:06,054 Grafika uzantinterfaco, aŭ GUI, estas multe pli preferinda, eble, 317 00:16:06,054 --> 00:16:08,970 kaj tial la ilo ni rekomendas kaj preinstalados por vi sur la aparato 318 00:16:08,970 --> 00:16:10,580 nomas phpMyAdmin. 319 00:16:10,580 --> 00:16:14,060 Ĝi estas tuta koincido ke la nomo de tiu afero havas PHP en ĝi, 320 00:16:14,060 --> 00:16:17,430 Ĝi simple signifas ke la popolo kiu skribis tiun programon mem 321 00:16:17,430 --> 00:16:18,670 skribis tion en PHP. 322 00:16:18,670 --> 00:16:23,740 >> Sed estas finfine pri administri datumbazo servilo, kiel MySQL server 323 00:16:23,740 --> 00:16:26,589 ke vi povus havi, kiom vi do, en la CS50 aparaton. 324 00:16:26,589 --> 00:16:29,130 Do estas pli detale tie ol ni bezonas zorgi pri hodiaŭ, 325 00:16:29,130 --> 00:16:33,280 sed kio estas ŝlosilo estas ke sur la maldekstra flanko estas listo de la datumbazoj 326 00:16:33,280 --> 00:16:36,040 ke vi havas en via komputilo, sur via CS50 aparaton, 327 00:16:36,040 --> 00:16:40,090 eniradon fina projektoj kiuj vi eble havas sur tria partio, kompanio 328 00:16:40,090 --> 00:16:43,415 retejon aŭ retservilo, ke Vi povus pagi por spaco. 329 00:16:43,415 --> 00:16:45,290 Do maldekstre estas la datumbazojn, unu el kiuj 330 00:16:45,290 --> 00:16:48,750 Estas pset7 kiun mi pruntis de proksima semajnoj pset, kaj poste sur la supro 331 00:16:48,750 --> 00:16:51,570 tie rimarki tie estas faskon de pestañas, unu el kiuj 332 00:16:51,570 --> 00:16:55,150 Estas datumbazoj, SQL, statuso, uzantoj, eksporto ktp. 333 00:16:55,150 --> 00:16:56,900 Do vi povas iri longan vojo nur rimarki 334 00:16:56,900 --> 00:16:59,770 ke plejparto de la uzantinterfaco estas en la supra maldekstra kolumno 335 00:16:59,770 --> 00:17:02,650 kaj trans la supra dekstra supren tie. 336 00:17:02,650 --> 00:17:04,980 Do kion ni povas reale fari kun tio? 337 00:17:04,980 --> 00:17:08,609 Nu, ni komencu krei bito de informo kiel sekvas. 338 00:17:08,609 --> 00:17:11,760 >> Supozi la sekvaj estas la kazo, kiel estos en nur kelkaj tagoj, 339 00:17:11,760 --> 00:17:14,440 Vi volas implementar retejo, nomata CS50 Financoj, 340 00:17:14,440 --> 00:17:17,328 kaj ĉi paĝaro lasas vin aĉetas citi unquote kaj vendi akcioj. 341 00:17:17,328 --> 00:17:19,619 Kaj tuj elkompreni la prezo de tiuj akcioj, 342 00:17:19,619 --> 00:17:22,380 fine, kiel vi vidos, parolante al Yahoo Finance. 343 00:17:22,380 --> 00:17:26,250 Kiu, mirinde, ĝi havas senpagan servon per vi povas pasi en stoko Ticker 344 00:17:26,250 --> 00:17:29,830 kiel GOOG por Google, kaj estos doni vin reen Google aktuala stoko 345 00:17:29,830 --> 00:17:32,250 prezon ene de la pasinteco Kelkajn minutojn almenaŭ. 346 00:17:32,250 --> 00:17:35,080 >> Do vi devos uzi tiun, fine, ŝajnigi por la uzanto 347 00:17:35,080 --> 00:17:37,750 aĉeti kaj vendi fakta stokoj uzante virtualan monon, 348 00:17:37,750 --> 00:17:39,750 sed la tre unua afero la uzanto tuj vidos 349 00:17:39,750 --> 00:17:43,850 Estas ĉi salutekrano kiuj petas ilin por ilia salutnomo kaj pasvorto. 350 00:17:43,850 --> 00:17:46,540 Do, unu el la unuaj defioj por vi en pset7 351 00:17:46,540 --> 00:17:50,460 tuj estos implementar la malantaŭa fino datenbazo, la ŝtono, se vi volas, 352 00:17:50,460 --> 00:17:53,369 ke tuj stoki uzantoj nomoj kaj pasvortoj 353 00:17:53,369 --> 00:17:56,660 kaj finfine kio akcioj posedas, kaj kiom, kaj kiom mono ili havas, 354 00:17:56,660 --> 00:18:00,110 tiel faskon da aliaj aferoj en aliaj tabloj aux kalkultabelojn. 355 00:18:00,110 --> 00:18:05,020 >> Do ni rigardu kiel ĉi montrigxu unuavide. 356 00:18:05,020 --> 00:18:06,980 Mi tuj reiri al la aparaton kaj mi 357 00:18:06,980 --> 00:18:14,102 tuj iros al tiu URL tie phpMyAdmin localhost / phpMyAdmin 358 00:18:14,102 --> 00:18:16,060 kaj vi vidos ke ĝi prenas min interfaco 359 00:18:16,060 --> 00:18:18,520 ĝuste kiel ni vidis en la ekrankopio kaj tie mi 360 00:18:18,520 --> 00:18:21,560 havas aldonan datenbazo nomita prelego hodiaŭ 361 00:18:21,560 --> 00:18:24,280 kaj mi iros antaŭen unua kaj alklaku pset7. 362 00:18:24,280 --> 00:18:27,940 >> Mi ŝajnas havi paron de ebloj, por nova, por krei novan tablo 363 00:18:27,940 --> 00:18:30,770 kaj ligo al uzantoj, kiuj estas tabulo mi jam kreis. 364 00:18:30,770 --> 00:18:31,790 Do kio estas tablo? 365 00:18:31,790 --> 00:18:33,740 Do se vi uzas Excel antaŭe, kaj se vi havas 366 00:18:33,740 --> 00:18:37,110 uzita nombroj aŭ Google Kalkultabeloj, vi malfermas fenestron 367 00:18:37,110 --> 00:18:39,350 kaj vi ricevos tutan faskon de vicoj kaj kolumnoj, 368 00:18:39,350 --> 00:18:43,120 sed poste vi kutimas havi worksheets sur la fundo, aŭ apartajn langetoj. 369 00:18:43,120 --> 00:18:46,140 Vi povas pensi de ĉiu laborfolio kiel tablo 370 00:18:46,140 --> 00:18:51,150 tial datumbazo, finfine, estas kombinaĵo de unu aŭ pli da tabloj, Unu 371 00:18:51,150 --> 00:18:54,064 aŭ pli worksheets, en la mondo de normala kalkultabelo. 372 00:18:54,064 --> 00:18:55,980 Do lasu min iri antaŭen kaj klaku ĉi laborfolio 373 00:18:55,980 --> 00:18:59,420 ke mi premade, nomitaj uzantoj, a.k.a. 374 00:18:59,420 --> 00:19:00,700 Datumbaza tabelo. 375 00:19:00,700 --> 00:19:04,130 Kaj se mi rulumu malsupren tie, Lasu min malzomi iom, 376 00:19:04,130 --> 00:19:08,479 jen kion phpMyAdmin diras al Ni estas ene de tiu tablo nun. 377 00:19:08,479 --> 00:19:11,020 Ĝi estas iom konfuza unue rigardo pro la UI ne 378 00:19:11,020 --> 00:19:15,140 la plej bela objekto en la mondo, sed kio estas interesa estas ĉi tiu parto tie. 379 00:19:15,140 --> 00:19:17,970 ID, salutnomon, kaj hash. 380 00:19:17,970 --> 00:19:20,510 >> Anticipe, kaj vi estos Maldekstramana tiu en problemo starigis sep, 381 00:19:20,510 --> 00:19:25,050 ni donas al vi dosiero enhavanta la super malgranda datumbazo tabelo, prunteprenita reale 382 00:19:25,050 --> 00:19:27,070 de la hacker eldono de problemo starigis du: 383 00:19:27,070 --> 00:19:29,480 ene de kiuj estas ses vicoj. 384 00:19:29,480 --> 00:19:32,720 Unu por Belinda ĉiuj vojon malsupren al unu por Zamyla, 385 00:19:32,720 --> 00:19:35,980 kaj rimarki al la maldekstra de tiuj salutnomoj estas solaj IDs kiel unu, 386 00:19:35,980 --> 00:19:39,410 du, tri, kvar, kvin, ses, entjeroj, kaj tiam dekstren estas hashes. 387 00:19:39,410 --> 00:19:42,780 >> Kaj se, _odds_ estas, vi ne faris la hacker eldono problemo starigis du: 388 00:19:42,780 --> 00:19:46,560 sed kradon estas simple kiel ĉifrita Pasvorto kun kelkaj _caveats_. 389 00:19:46,560 --> 00:19:49,470 Kaj do, kion vi vidas tie estas la ĉifrita versiojn de ĉiuj ses 390 00:19:49,470 --> 00:19:52,950 niaj pasvortoj de problemo starigis du la hacker eldono. 391 00:19:52,950 --> 00:19:56,500 Nun maldekstren estas nur iuj GUI stuff, redakti ĉi vico, kopiante tiu vico, 392 00:19:56,500 --> 00:19:57,630 forigi ĉi vico. 393 00:19:57,630 --> 00:19:59,840 >> Sed kio estas interesa nun estas la jena. 394 00:19:59,840 --> 00:20:03,810 Mi povas reale komenci sperti kun ĉi tablo. 395 00:20:03,810 --> 00:20:07,330 Do se mi iros kaj alklaku la SQL langeto, mi ricevas tiun grandan tekstujon. 396 00:20:07,330 --> 00:20:10,190 Kaj tio ne estas kiel ni tuj fari ĝin kiam reale skribi kodon. 397 00:20:10,190 --> 00:20:12,700 Por esti klara, phpMyAdmin estas nur ilo tio 398 00:20:12,700 --> 00:20:16,450 tuj ni poke ĉirkaŭ la datumbazo kaj ni sperti kun mendoj. 399 00:20:16,450 --> 00:20:19,430 >> Tiel ekzemple, supozu Mi faros ĝuste tion. 400 00:20:19,430 --> 00:20:22,820 Elektu, kiu estas unu el tiuj, ŝlosilvortoj mi menciis antaŭe, stelo, 401 00:20:22,820 --> 00:20:25,900 kiu reprezentas ĉiuj la kolumnojn en tabelo. 402 00:20:25,900 --> 00:20:26,820 De kio tablo? 403 00:20:26,820 --> 00:20:27,990 Nu, la uzantoj. 404 00:20:27,990 --> 00:20:29,950 Kaj avizo tie estas tio weird konvencio en SQL 405 00:20:29,950 --> 00:20:32,140 kie vi vere uzas reen iksodojn, tipe, 406 00:20:32,140 --> 00:20:35,940 Ne sola citaĵoj kaj ne citiloj kiam vi parolas pri tabloj nomoj 407 00:20:35,940 --> 00:20:38,990 tiel la dorso citaĵo estas la afero pri la supro maldekstre de via klavaro plej 408 00:20:38,990 --> 00:20:39,720 verŝajna. 409 00:20:39,720 --> 00:20:41,850 >> Do lasu min iri antaŭen nun kaj simple lasu ke sole 410 00:20:41,850 --> 00:20:46,020 kaj rulumu malsupren kaj klaku Iru kaj ni fakte tuj vidas la saman aferon. 411 00:20:46,020 --> 00:20:52,410 Ni nur ekzekutis SQL query dirante select ĉiu stelo 412 00:20:52,410 --> 00:20:55,610 el tabelo nomis uzantoj, kaj kion vi reiri estas jena. 413 00:20:55,610 --> 00:20:58,400 Finfine, ni povos fari samon en kodo, 414 00:20:58,400 --> 00:21:02,109 sed nun ĉio mi volis Do estis vidi ĝin en mia retumilo. 415 00:21:02,109 --> 00:21:03,900 Nu ni faru ion iom malsama. 416 00:21:03,900 --> 00:21:08,330 Lasu min reiri al la SQL langeto, kaj ni simple diri ke kio? 417 00:21:08,330 --> 00:21:11,520 Zamyla perdis ĉiujn siajn mono, kaj tial ĝi estas 418 00:21:11,520 --> 00:21:13,190 tempo por ni forigi sxin kiel uzanto. 419 00:21:13,190 --> 00:21:14,630 Ŝi ne plu ensalutadon. 420 00:21:14,630 --> 00:21:18,870 >> Do mi intencis diri forviŝi from-- bone, subteni capitalización 421 00:21:18,870 --> 00:21:23,080 por consistencia, forigi de uzantoj kie. 422 00:21:23,080 --> 00:21:25,430 Kaj tiel, ni povas havi tiujn predikatoj, aŭ tiuj 423 00:21:25,430 --> 00:21:31,180 klasifikitaj, fine de mia aserto kie kaj kiel mi povus forviŝi Zamyla? 424 00:21:31,180 --> 00:21:34,190 Per sia nomo Zamyla, do la kolumno, unu el la kolumnoj 425 00:21:34,190 --> 00:21:37,950 estis nomata, tiel kie nomo = "Zamyla". 426 00:21:37,950 --> 00:21:40,000 Kaj tie mi uzas duobla citiloj aŭ apostrofoj, 427 00:21:40,000 --> 00:21:42,958 vi nur uzu la dorso iksodojn kiam parolas pri la nomoj, ekzemple, 428 00:21:42,958 --> 00:21:45,130 de tabloj aŭ kampoj. 429 00:21:45,130 --> 00:21:47,440 Kaj lasu min klaku Iru tien. 430 00:21:47,440 --> 00:21:50,400 Kaj nun, la retpaĝo estas estante iom Uptight. 431 00:21:50,400 --> 00:21:53,620 >> Aŭ, ĉu vi vere volas lanĉi forigu de uzantoj kie nomo egalas Zamyla? 432 00:21:53,620 --> 00:21:54,680 Jes. 433 00:21:54,680 --> 00:22:01,900 Do nun, se ni reiros al mia tablo klakante uzantoj, rimarki ke Hm. 434 00:22:01,900 --> 00:22:02,530 Mi goofed. 435 00:22:02,530 --> 00:22:04,070 Kaj fakte, mi ia clicked for tiel rapide 436 00:22:04,070 --> 00:22:06,195 Vi eĉ ne vidas la ruĝa erarmesaĝo, eble. 437 00:22:06,195 --> 00:22:07,649 Kion mi faru al vi? 438 00:22:07,649 --> 00:22:09,690 Publiko: Vi ne bezonas kapitaligi ŝia nomo. 439 00:22:09,690 --> 00:22:11,260 DAVID J. Malan: Jes mi majusklon ŝia nomo, 440 00:22:11,260 --> 00:22:13,770 sed ŝi username-- efektive mi faris paron erarojn, ĉu ne? 441 00:22:13,770 --> 00:22:16,720 Unu, ŝia uzantnomo estas zamyla, minuskla Z 442 00:22:16,720 --> 00:22:20,140 kaj la kolumno nomo estas uzantnomo, Ne mencii, do ni faru tion denove. 443 00:22:20,140 --> 00:22:25,750 Lasu min kaj forigi de uzantoj kie 444 00:22:25,750 --> 00:22:28,990 uzantonomo egalas citaĵo unquote "Zamyla". 445 00:22:28,990 --> 00:22:29,490 Bone? 446 00:22:29,490 --> 00:22:32,600 Do tio aspektas iom pli bona, lasu mi iros rulumu malsupren kaj klaku Iru. 447 00:22:32,600 --> 00:22:34,730 Ĝi estas ankoraŭ tuj krias al mi esti certa. 448 00:22:34,730 --> 00:22:37,500 Mi klaku Jes, kaj nun ni vidos, sincere tiu okazis, vere 449 00:22:37,500 --> 00:22:39,870 rapida, malpli ol unu dua certe, tiu 450 00:22:39,870 --> 00:22:41,720 Estas ekzakte la informpeto ke got ekzekutita. 451 00:22:41,720 --> 00:22:45,617 Konfirmi, lasu min klaku uzantoj kaj ja nun Zamyla malaperis. 452 00:22:45,617 --> 00:22:46,700 Nun ni faru la malon. 453 00:22:46,700 --> 00:22:49,320 Supozu ke Gabe volas registriĝu por la retejo. 454 00:22:49,320 --> 00:22:52,825 Kio estas la SQL query, kio estas la komando mi povis tajpi aldoni Gabe? 455 00:22:52,825 --> 00:22:54,200 Bone estas sufiĉe simpla. 456 00:22:54,200 --> 00:22:58,260 Enmetu en uzantoj, kaj nun ĝi akiras iom kamufla. 457 00:22:58,260 --> 00:23:03,190 Mi bezonas precizigi, al la servilo, kio kampoj mi volas atribui. 458 00:23:03,190 --> 00:23:06,630 Mi ne vere gravas kion Gabe la ID nombro estas, do mi tuj salti tio. 459 00:23:06,630 --> 00:23:11,360 Mi anstataŭe dironta uzantonomo, hash, kaj tiam 460 00:23:11,360 --> 00:23:14,960 valorojn mi volas meti tie tuj estos Gabe. 461 00:23:14,960 --> 00:23:16,800 Kaj tiam lia hash, mi ne scias. 462 00:23:16,800 --> 00:23:19,900 Do nun, mi tuj lasi ke kiel granda por fari. 463 00:23:19,900 --> 00:23:21,650 Ni revenos al ke en la problemo aro 464 00:23:21,650 --> 00:23:23,390 specifon pri kiel vi fakte faras tion. 465 00:23:23,390 --> 00:23:24,630 >> Do rimarki, denove, la sintakso. 466 00:23:24,630 --> 00:23:28,430 Enmetu en tabelo nomon, tiam oni interkrampa listo de la kampoj, 467 00:23:28,430 --> 00:23:30,980 la kolumnoj vi volas aldoni valorojn, kaj tiam simple 468 00:23:30,980 --> 00:23:34,495 la sama ĝusta ordo lasis al Dekstre de la valoroj vi volas aldoni, 469 00:23:34,495 --> 00:23:36,870 kaj ĝi estas nur ĉirkaŭvolvinte ĉar la teksto estas iom longa. 470 00:23:36,870 --> 00:23:38,520 Do nun mi povas klaki la Go. 471 00:23:38,520 --> 00:23:39,830 Unu vico enmetita. 472 00:23:39,830 --> 00:23:43,020 Kaj nun se mi reiros al uzantoj, kio estas interesa 473 00:23:43,020 --> 00:23:48,960 estas kiu ne nur estas Gabe nun en la datenbazo, kio estas ŝajne lia IRU? 474 00:23:48,960 --> 00:23:49,820 >> Bone estas sep. 475 00:23:49,820 --> 00:23:51,479 Kial sep kiam mi ne aldonis gxin? 476 00:23:51,479 --> 00:23:54,020 Tiel ĉi, ankaŭ, estas unu el la trajtojn vi ricevas el la datumaro. 477 00:23:54,020 --> 00:23:55,750 Multa konstruita en funcionalidad. 478 00:23:55,750 --> 00:23:57,950 Ĝi rezultas ke kiam kreis ĉi tablo 479 00:23:57,950 --> 00:24:01,390 Mi preconfigured estas aŭtomate atribui ID tiel 480 00:24:01,390 --> 00:24:02,480 ke pliigoj. 481 00:24:02,480 --> 00:24:05,470 Do se vi iam poked ĉirkaŭe, kaj rigardis, kion via Facebook ID 482 00:24:05,470 --> 00:24:09,292 nombro estas, ĉi tiuj tagoj estas ne vere ion fari, sed Facebook API, 483 00:24:09,292 --> 00:24:11,750 Apliko Programado Interface, per vi povas reiri 484 00:24:11,750 --> 00:24:14,430 tutan faskon da datumoj pri mem, pri viaj amikoj, 485 00:24:14,430 --> 00:24:15,347 kaj via rilatoj. 486 00:24:15,347 --> 00:24:17,430 Kaj kio kutimis esti speco de frideta reen en la tago, 487 00:24:17,430 --> 00:24:19,510 iris serĉi kion via Facebook ID nombro estis. 488 00:24:19,510 --> 00:24:22,390 Mark Zuckerberg, ekzemple, estas tri 489 00:24:22,390 --> 00:24:23,890 ĉar li estis la aŭtoro de la ejo. 490 00:24:23,890 --> 00:24:27,610 Kaj kiel la rakonto iras, li kreis du testo kontoj, uzantoj unu kaj du, 491 00:24:27,610 --> 00:24:28,690 kiun li tiam forigita. 492 00:24:28,690 --> 00:24:32,780 Kaj tiel, Zuck, kiel estas lia salutnomo en Facebook, estas ID nombro tri, 493 00:24:32,780 --> 00:24:36,110 kaj ni ĉiuj havas numerojn multe pli granda ol tri tiujn tagojn. 494 00:24:36,110 --> 00:24:37,980 Fakte, en iu punkto Facebook malproksimigis 495 00:24:37,980 --> 00:24:42,410 el eĉ uzante int, kiu estas 32-bita valoro, por uzi 496 00:24:42,410 --> 00:24:44,480 La sekva paŝo supren, esence longa longa tiel 497 00:24:44,480 --> 00:24:47,150 ke ili povus akomodi eĉ pli uzantoj registri. 498 00:24:47,150 --> 00:24:49,420 Tiel amuza iom historia fakto. 499 00:24:49,420 --> 00:24:51,660 >> Do tio estas nur la baza sintakso kun kiu 500 00:24:51,660 --> 00:24:54,470 ni povus ekzekuti kelkaj pridemandojn, sed ni povas reale 501 00:24:54,470 --> 00:24:56,744 fari faskon pli aĵoj kun SQL. 502 00:24:56,744 --> 00:24:58,910 Kaj vi vidos, finfine, en la problemo starigis sep 503 00:24:58,910 --> 00:25:01,034 ke vi devas fari numeron de dezajno decidoj, 504 00:25:01,034 --> 00:25:03,290 inter ili tuj estos kio datumtipoj uzi. 505 00:25:03,290 --> 00:25:08,240 Do ĝuste kiel en C, estas datumoj tipoj en datumbazo, kiel MySQL, 506 00:25:08,240 --> 00:25:12,640 kaj datumtipoj vi devas elekti el jenaj kampoj tie. 507 00:25:12,640 --> 00:25:17,287 Char, varchar, Mez, grandaj int, dekuma kaj dato tempo, kaj multaj aliaj. 508 00:25:17,287 --> 00:25:18,370 Do ni efektive faros. 509 00:25:18,370 --> 00:25:21,060 Ni asertas, ke ni ne mano vin ĉi uzanto tablo 510 00:25:21,060 --> 00:25:25,080 kaj mi iros antaŭen kaj krei, por mi mem, en la prelegoj database-- 511 00:25:25,080 --> 00:25:31,000 efektive mi iros antaŭen kaj delete la tablon mi havas ĉi tie jam 512 00:25:31,000 --> 00:25:32,940 tiel ke ni povas reale krei ĉi. 513 00:25:32,940 --> 00:25:33,550 Whoops. 514 00:25:33,550 --> 00:25:35,970 Mi tuj faligi ĉi tablo, kaj nun mi estas 515 00:25:35,970 --> 00:25:38,337 tuj reiru al la prelegi datumbazo tien, 516 00:25:38,337 --> 00:25:40,420 Mi iras al krei tablo nomita uzantoj kaj ni 517 00:25:40,420 --> 00:25:43,010 nur faru tri kolumnoj komence kaj klaki la Go. 518 00:25:43,010 --> 00:25:44,990 >> Nun, plejparte, denove, ĉi tiu estas nur 519 00:25:44,990 --> 00:25:48,570 uzante ĉi grafika ilo nomita phpMyAdmin, kaj kion ni faras nun 520 00:25:48,570 --> 00:25:49,600 kreas tabelon. 521 00:25:49,600 --> 00:25:53,170 Do ĉi tio estas kiel irante Dosiero: Nova, kaj kreante novaj Excel dosiero. 522 00:25:53,170 --> 00:25:55,440 Do ĝi estas demandi min kelkaj demandojn, de maldekstre al dekstre, 523 00:25:55,440 --> 00:25:58,620 kio estas la nomo de la unua kolumno, kaj tiam la nomo de la dua kolono, 524 00:25:58,620 --> 00:25:59,560 kaj la nomo de la tria. 525 00:25:59,560 --> 00:26:00,518 Do ni amuzi ĉi. 526 00:26:00,518 --> 00:26:05,460 ID, kaj tiam salutnomo estis unu, kaj tiam hash estis alia. 527 00:26:05,460 --> 00:26:08,970 Do kion devus la datumtipo estu nun kampon kiel ID? 528 00:26:08,970 --> 00:26:14,470 >> Jen la tuta listo de datumtipoj disponeblaj al vi en datumbazo, 529 00:26:14,470 --> 00:26:16,070 kaj nun ni nur iri kun int. 530 00:26:16,070 --> 00:26:18,160 32-iom valoron, mi ne pensas realisme min 531 00:26:18,160 --> 00:26:21,484 tuj havos pli ol 4 miliardoj uzantoj en mia konto, en servado 532 00:26:21,484 --> 00:26:23,650 tial Mi iras teni moviĝanta al la sekva demando. 533 00:26:23,650 --> 00:26:25,490 Mi ne tuj entajpi longitudon aŭ valoroj, 534 00:26:25,490 --> 00:26:28,540 ĝi ne estas aplikebla tie por int, per. 535 00:26:28,540 --> 00:26:30,740 Kaj nun mi povas specifi, ŝajne, default 536 00:26:30,740 --> 00:26:33,970 valoro, kiun mi ne tuj specifas. 537 00:26:33,970 --> 00:26:36,050 Kodoprezenton, mi ne scias kio estas tio. 538 00:26:36,050 --> 00:26:37,290 Atributo. 539 00:26:37,290 --> 00:26:39,455 Nun ni efektive fari havas dezajnon decido. 540 00:26:39,455 --> 00:26:42,580 Do tie estas kelkaj kampoj tie, ne ĉiuj el kiuj estas aplikeblaj, sed sensigna 541 00:26:42,580 --> 00:26:43,380 simple signifas kion? 542 00:26:43,380 --> 00:26:45,400 Ke la int devas esti? 543 00:26:45,400 --> 00:26:46,210 Nur nenegativaj. 544 00:26:46,210 --> 00:26:48,090 Do ĝi devas esti 0 supren. 545 00:26:48,090 --> 00:26:51,120 Ne, mi ne tuj kontrolu ĉar Mi deziras ĉiun uzanton havi ID, 546 00:26:51,120 --> 00:26:52,470 ĝi ne povas esti nula. 547 00:26:52,470 --> 00:26:55,949 Kaj poste, ni atingos iun pli interesa dezajno decidoj kiel ĉi. 548 00:26:55,949 --> 00:26:58,990 Ni revenos al tiu, momente, sed kio alia karakterizaĵo de datumbazo 549 00:26:58,990 --> 00:27:04,200 estas, estas, ke oni povas diri La datumbaza servilo iri antaŭen 550 00:27:04,200 --> 00:27:07,100 kaj optimizar sin, sian RAM kaj via malmola disko spaco, 551 00:27:07,100 --> 00:27:11,770 tial kiu selektas kaj inserta, kaj forigas kaj ĝisdatigoj estas vere rapida. 552 00:27:11,770 --> 00:27:13,250 Kontrasto ĉi kun pset5. 553 00:27:13,250 --> 00:27:16,259 >> Se vi volas serĉi ion en via hash tablo, kiu 554 00:27:16,259 --> 00:27:18,300 vi pensas pri kiel datumbazo, kiuj devis fari la tutan 555 00:27:18,300 --> 00:27:21,500 labori por fari vian hash tablo rapida. 556 00:27:21,500 --> 00:27:22,840 Ĝi estas kiel, evidente, vi. 557 00:27:22,840 --> 00:27:23,060 Rajto? 558 00:27:23,060 --> 00:27:26,080 Vi devis meti en la tuta tempo fajna agordi tion, prenanta hash funkcio 559 00:27:26,080 --> 00:27:27,820 Bone, elŝeligi kiom multaj siteloj havi. 560 00:27:27,820 --> 00:27:29,611 >> Sed kio estas bela, denove, pri datumbazo 561 00:27:29,611 --> 00:27:31,762 vi nur Punt ĉiuj tio al aliaj homoj 562 00:27:31,762 --> 00:27:33,720 kiuj pripensis tion tra por vi, kaj kion 563 00:27:33,720 --> 00:27:37,170 Mi tuj diros tie sub indico estas ke mia ID kampo 564 00:27:37,170 --> 00:27:41,149 tuj estos la ĉefa vojo de identigi uzantojn en tiu datumbazo. 565 00:27:41,149 --> 00:27:42,940 Mi ne tuj pensos de Zamyla kiel Zamyla, 566 00:27:42,940 --> 00:27:45,800 Mi tuj pensas pri ŝi kiel la numero 6. 567 00:27:45,800 --> 00:27:49,814 >> Kial estas, eble, pli intuicie pensi kaj modelo 568 00:27:49,814 --> 00:27:52,480 ĉiu de viaj individuaj vicoj uzanta nombro anstataŭ io 569 00:27:52,480 --> 00:27:56,480 kiel kordoj, kiel la Zamyla aŭ Gabe aŭ pli kordoj ankoraŭ? 570 00:27:56,480 --> 00:27:57,444 Yeah? 571 00:27:57,444 --> 00:28:00,117 >> Publiko: An ID estas solaj? 572 00:28:00,117 --> 00:28:01,200 DAVID J. Malan: Diru denove? 573 00:28:01,200 --> 00:28:02,283 Publiko: An ID estas solaj? 574 00:28:02,283 --> 00:28:04,400 DAVID J. Malan: An ID estas unika, sed suppose-- 575 00:28:04,400 --> 00:28:06,320 kiel la kazo ĝenerale kun salutnomoj, supozi 576 00:28:06,320 --> 00:28:10,110 Mi ankaŭ diris ke povas esti nur unu Zamyla en la mondo, kaj nur unu Gabe. 577 00:28:10,110 --> 00:28:13,730 Mi povis postuli la unikeco Constraint sur kordojn, tro, se mi volas. 578 00:28:13,730 --> 00:28:15,550 Do ne estas malbona penso. 579 00:28:15,550 --> 00:28:16,500 >> Publiko: Pli sekura. 580 00:28:16,500 --> 00:28:17,874 >> DAVID J. Malan: Pli sekura, kial? 581 00:28:17,874 --> 00:28:20,705 Publiko: Vi ne scias kion Estas kiu, kiel en la uzanto. 582 00:28:20,705 --> 00:28:22,580 DAVID J. Malan: Bone, vi ne povas diri kio uzanto 583 00:28:22,580 --> 00:28:24,380 Estas kio do estas Privateco aspekton al ĝi, 584 00:28:24,380 --> 00:28:27,810 precipe se la IDs eble aperante en la URL. 585 00:28:27,810 --> 00:28:29,960 Certas, ke povis speco de laboro, tro. 586 00:28:29,960 --> 00:28:30,640 Aliaj pensoj? 587 00:28:30,640 --> 00:28:31,383 Yeah? 588 00:28:31,383 --> 00:28:34,316 >> Publiko: Ĝi facilas realigi operaciojn sur int. 589 00:28:34,316 --> 00:28:35,940 DAVID J. Malan: Tio estas la veraj kicker. 590 00:28:35,940 --> 00:28:38,850 Estas nur pli eficiente, aŭ pli facile por la komputilo, 591 00:28:38,850 --> 00:28:40,431 plenumi operaciojn sur entjero. 592 00:28:40,431 --> 00:28:40,930 Rajto? 593 00:28:40,930 --> 00:28:43,905 An int estas garantiita esti 32 bitoj, dum Zamyla 594 00:28:43,905 --> 00:28:47,660 Estas malmultaj signoj longa, Gabriel Estas kelkaj pli signoj longa, 595 00:28:47,660 --> 00:28:51,930 Davenport estas vere longaj, kaj tiel ĝi estas ne aparte efika uzi 596 00:28:51,930 --> 00:28:55,860 kordoj kompari valorojn kaj rigardi por kampoj, kaj ĝisdatigo kampoj, 597 00:28:55,860 --> 00:28:57,790 se vi povas foriri kun nur unu entjero. 598 00:28:57,790 --> 00:28:59,090 Nur 32 bitoj. 599 00:28:59,090 --> 00:29:02,570 Do salutnomoj ankaŭ tiu vojo, ne devas esti sola, 600 00:29:02,570 --> 00:29:05,040 kvankam ili verŝajne devus esti, kaj eĉ en tiu ĉi formo tro 601 00:29:05,040 --> 00:29:07,520 uzanto povis permesi ŝanĝi sian uzantnomon. 602 00:29:07,520 --> 00:29:10,810 >> Do ni nun lasu tion kiel la primara Per identiganta la uzanto. 603 00:29:10,810 --> 00:29:13,510 Tiu diras la datumbazo bonvolu optimizar mem 604 00:29:13,510 --> 00:29:17,065 tial rigardon ups sur ID estas super rapida. 605 00:29:17,065 --> 00:29:19,620 IA, horore nomata, simple signifas Automata pliigo, 606 00:29:19,620 --> 00:29:21,500 kaj tio estas la ĉeko boksi ni bezonas kontroli 607 00:29:21,500 --> 00:29:24,614 specifi ke la ID kampo estos aŭtomate ĝisdatigita por mi 608 00:29:24,614 --> 00:29:26,530 kaj tiam mi iros al rulumu dekstren tie 609 00:29:26,530 --> 00:29:29,279 kaj sincere mi ne vere interesiĝas en ajna pli de tiuj kampoj. 610 00:29:29,279 --> 00:29:30,630 Certe ne hodiaŭ. 611 00:29:30,630 --> 00:29:33,770 >> Do mi tuj iros tien, la unua kolumno, kie 612 00:29:33,770 --> 00:29:35,830 Mi bezonas entajpi salutnomon kaj hash, kaj ni 613 00:29:35,830 --> 00:29:38,080 almenaŭ fokuso sur la dua nun. 614 00:29:38,080 --> 00:29:41,498 Int estas probable ne rajtas nomi, do kion faras pli senco eble? 615 00:29:41,498 --> 00:29:42,741 >> Publiko: Teksto. 616 00:29:42,741 --> 00:29:43,824 DAVID J. Malan: Diru denove? 617 00:29:43,824 --> 00:29:44,710 Publiko: Teksto. 618 00:29:44,710 --> 00:29:44,980 DAVID J. Malan: Teksto? 619 00:29:44,980 --> 00:29:45,590 OK, mi aŭdis tekston. 620 00:29:45,590 --> 00:29:46,090 Kion alian? 621 00:29:46,090 --> 00:29:50,520 622 00:29:50,520 --> 00:29:53,860 Ni ia havas faskon da elektoj ke estas teksta en naturo. 623 00:29:53,860 --> 00:29:55,990 Do kiam, kaj kial, do vi uzas iu el tiuj? 624 00:29:55,990 --> 00:29:59,560 Nu char, kontraŭe al kio vi povus pensas, ne estas sola karaktero. 625 00:29:59,560 --> 00:30:01,550 Estas specifa nombro de karakteroj. 626 00:30:01,550 --> 00:30:04,600 Do se ni scias, ke cxiuj salutnomoj Devas esti kiel ok karakterojn, 627 00:30:04,600 --> 00:30:08,490 kiel kutimis esti komuna en granda komputiloj, mi povus diri char 628 00:30:08,490 --> 00:30:09,830 kaj tiam mi povus diri 8 tie. 629 00:30:09,830 --> 00:30:12,930 Tio estas kiam la tria kolumno iĝas aplikebla kiam kreante tablo. 630 00:30:12,930 --> 00:30:15,450 >> Sed tio estas ia ĝena ĉar kelkaj homoj eble 631 00:30:15,450 --> 00:30:17,660 volas havi plu salutnomo ol ok karakterojn, 632 00:30:17,660 --> 00:30:19,743 iuj homoj povus deziri havas pli mallongan salutnomon, 633 00:30:19,743 --> 00:30:22,210 do kial fari mem al specifa kvanto? 634 00:30:22,210 --> 00:30:24,710 Kial ne havas ŝanĝiĝeman numeron de signojn kaj justa 635 00:30:24,710 --> 00:30:28,580 diri ke la maksimuma longo de nomo estas, mi ne scias, kiel 64 signojn. 636 00:30:28,580 --> 00:30:31,780 Mi ne povas pensi pri iu amikoj havas nomojn longa ol 64 karakteroj, 637 00:30:31,780 --> 00:30:34,810 kaj eĉ se tio estas tro mallonga vi povus certe pusxigxas ĝin arbitre. 638 00:30:34,810 --> 00:30:37,330 >> Do varchar estas variablo numeron de signojn. 639 00:30:37,330 --> 00:30:41,010 Teksto estas ne malbona instinkto, kaj sincere tian faras kion ĝi diras: 640 00:30:41,010 --> 00:30:45,460 sed teksta kampo povas esti kiel 65.000 bitokoj almenaŭ. 641 00:30:45,460 --> 00:30:50,790 Tio probable Overkill por kampo, kaj fakte, Yup, 65.535. 642 00:30:50,790 --> 00:30:53,740 Tio probable Overkill por nomon, do ni devos resti, tipe, 643 00:30:53,740 --> 00:30:56,910 kun varchars por teksta kampo kaj hash, tro. 644 00:30:56,910 --> 00:30:59,990 Hash, rezultas, ni povus fari varchar tiel aŭ iel simile, 645 00:30:59,990 --> 00:31:03,080 sed ni ne enfokusigi hodiaŭ sur la ĉifriko tie kaj la nombroj 646 00:31:03,080 --> 00:31:05,210 ke ni reale volas uzi por ĝia longo. 647 00:31:05,210 --> 00:31:07,430 >> Sed lasu min rulumi malsupren dekstren. 648 00:31:07,430 --> 00:31:11,280 Vi povas havi nur unu primara indico por tabeloj, 649 00:31:11,280 --> 00:31:16,380 sed mi volas apliki iun el tiuj, Nun al uzantonomo, vi dirus? 650 00:31:16,380 --> 00:31:21,980 Kio devus salutnomo baziĝi sur malprecizaj komprenon de tiuj kvar ebloj? 651 00:31:21,980 --> 00:31:23,340 Nur iliajn nomojn? 652 00:31:23,340 --> 00:31:24,140 >> Publiko: Sola. 653 00:31:24,140 --> 00:31:25,100 >> DAVID J. Malan: Do unika, dekstra? 654 00:31:25,100 --> 00:31:28,190 Do ĝi rezultas ke ne nur povis Vi rakontos datumbazo, anticipe, 655 00:31:28,190 --> 00:31:30,380 tio estas la ĉefa vojo identigi kampoj. 656 00:31:30,380 --> 00:31:32,990 Vi povas ankaŭ diri ĉi estas tuj estos unika kampo. 657 00:31:32,990 --> 00:31:34,700 Oni ne tuj estos la afero, kiun mi fidas, 658 00:31:34,700 --> 00:31:38,490 sed mi ŝatus ke la datumbazo por esence havi ke se kondiĉo, do 659 00:31:38,490 --> 00:31:42,340 ke se mi iam provis registri du uzantoj kun la sama nomo, 660 00:31:42,340 --> 00:31:44,360 la datumaron plata el ne tuj lasos min. 661 00:31:44,360 --> 00:31:47,490 Mi havu iom da aldona kodo en PHP kiu malhelpas tiel, 662 00:31:47,490 --> 00:31:50,640 sed la datumbazo ankaŭ povas sekurigi ke tio neniam okazos. 663 00:31:50,640 --> 00:31:53,370 >> Nun, kiel flanken, speciale vi opinias pri fina projektoj, 664 00:31:53,370 --> 00:31:57,030 teni en menso ke indico kaj plena teksto estas fakte sufiĉe utilaj. 665 00:31:57,030 --> 00:32:01,080 Se vi havas pli grandan datumbazon, ne per dekoj, sed kun centoj aŭ miloj 666 00:32:01,080 --> 00:32:05,270 aŭ eĉ milionojn da kampoj, vi povas ankaŭ diri la datumbazo anticipe 667 00:32:05,270 --> 00:32:07,980 tio estas kampo Mi iras esti serĉanta sur tereno. 668 00:32:07,980 --> 00:32:10,520 Eble lia salutnomo: eble estas Bio, se vi estas 669 00:32:10,520 --> 00:32:13,750 farante Facebook simila retejo kiu havas paragrafoj ke la uzanto permesita 670 00:32:13,750 --> 00:32:16,799 ŝpari, kaj se vi volas diru al la datumbazo anticipe 671 00:32:16,799 --> 00:32:20,090 Mi iras al esti serĉanta en tiu kampo multe, sed tio ne nepre unika, 672 00:32:20,090 --> 00:32:22,800 vi povas entajpi krei min indekso. 673 00:32:22,800 --> 00:32:27,990 Aŭ, vi povas diri ankaŭ permesas min fari ia arbitra serĉoj kiel Command 674 00:32:27,990 --> 00:32:30,420 aŭ Kontrolo F, kiel vi multobligita en Word Processor, 675 00:32:30,420 --> 00:32:34,184 tial vi povus rigardi arbitra kordoj aŭ Pitono en tiu kampo. 676 00:32:34,184 --> 00:32:36,600 En aliaj vortoj, ni ricevas al la punkto en la semestro 677 00:32:36,600 --> 00:32:40,720 kie vi ne devas maltrankviligi kiel implementar aferoj kompetente. 678 00:32:40,720 --> 00:32:44,540 Vi nur bezonas scii pri kio dezajno decidoj fari por ke vi 679 00:32:44,540 --> 00:32:48,470 uzanta la dekstra iloj por la komerca celo utiligi karakterizaĵoj 680 00:32:48,470 --> 00:32:50,380 ke aliaj homoj konstruis por vi. 681 00:32:50,380 --> 00:32:54,240 Do por recap, primaria devus nur havas unu, vi povas havi nur unu, 682 00:32:54,240 --> 00:32:59,630 Kaj ĝi estas la afero kiun vi faras al uzante por identigi kampoj unike. 683 00:32:59,630 --> 00:33:02,710 Unika estas ĝuste simila en spirito, sed vi eble nur foje uzas, 684 00:33:02,710 --> 00:33:04,530 sed vi volas la datumbazo por trudi ĝin. 685 00:33:04,530 --> 00:33:08,050 Indekso signifas nur preventa formo akceli aĵojn en la estonteco 686 00:33:08,050 --> 00:33:10,230 tiel ke mi povas serĉi aĵojn en tiu kampo. 687 00:33:10,230 --> 00:33:13,700 Kaj tiam plena teksto ĝenerale por paragrafojn, aŭ eseojn aŭ grandaj korpoj 688 00:33:13,700 --> 00:33:16,270 de teksto kie povus ankaŭ volas havi 689 00:33:16,270 --> 00:33:19,420 sovaĝaj kartoj kiel la ekvivalento de stelo. 690 00:33:19,420 --> 00:33:19,920 Dekstre. 691 00:33:19,920 --> 00:33:22,580 >> Tiel ke estis ia multe al ĉiuj samtempe. 692 00:33:22,580 --> 00:33:25,220 Vidu se ni ne povas distili paro de tiuj karakterizaĵoj 693 00:33:25,220 --> 00:33:29,540 kaj tiam konstrui ion sufiĉe simpla, sed potenca. 694 00:33:29,540 --> 00:33:31,380 Do inter la aliaj dezajno decidoj vi 695 00:33:31,380 --> 00:33:34,005 finfine tuj havos estas kune La linioj de stokado motorojn. 696 00:33:34,005 --> 00:33:37,370 Lasu min nur citu ĉi anticipante fina projektoj, 697 00:33:37,370 --> 00:33:42,020 kaj anticipante ni say-- neniu ni faros. 698 00:33:42,020 --> 00:33:43,820 Ni konstruu tiun iom aplikaĵo unue. 699 00:33:43,820 --> 00:33:48,070 Mi tuj iros en mian stacion fenestro, kaj en ĉi tie ne estas 700 00:33:48,070 --> 00:33:52,500 nur counter.php, kiun ni nun iras por forigi tiel ne plu germane, 701 00:33:52,500 --> 00:33:54,570 sed ni havas tutan faskon de dosierujoj kaj ĉi 702 00:33:54,570 --> 00:33:58,080 tuj estos tre simila en spirito kion vi vidos en problemo starigis sep. 703 00:33:58,080 --> 00:34:00,980 >> Do ni havas tri dosierujojn inkludas publikajn kaj ŝablonoj, kiuj 704 00:34:00,980 --> 00:34:05,040 Estas precize kie ni cxesis sur Lundo per niaj tutaj MVC paradigmo. 705 00:34:05,040 --> 00:34:09,290 Kaj recap, publike tuj iros ajna dosiero kiun mi volas uzantoj reale 706 00:34:09,290 --> 00:34:12,969 v povos viziti en ilia retumilo tra URL. 707 00:34:12,969 --> 00:34:13,502 Template. 708 00:34:13,502 --> 00:34:14,710 Kion ni metas en ŝablonoj? 709 00:34:14,710 --> 00:34:17,070 Kiajn aferojn? 710 00:34:17,070 --> 00:34:21,659 Ne estis multa sed paro dosierojn almenaŭ lundon. 711 00:34:21,659 --> 00:34:22,619 Yeah. 712 00:34:22,619 --> 00:34:23,100 >> Publiko: Header kaj Piedo? 713 00:34:23,100 --> 00:34:24,516 >> DAVID J. Malan: Header kaj Piedo. 714 00:34:24,516 --> 00:34:26,679 Do ni havos ion similan hodiaŭ, tro. 715 00:34:26,679 --> 00:34:30,330 Ni havas kelkajn pliajn dosierojn sed Footer mi vidas: Header mi vidas, 716 00:34:30,330 --> 00:34:31,909 kaj tiam faskon de aliaj dosieroj. 717 00:34:31,909 --> 00:34:35,482 Do tiu estas la ekvivalento de la V MVC vido, kiu, 718 00:34:35,482 --> 00:34:37,690 denove, estos iom pli klara en problemo starigis sep, 719 00:34:37,690 --> 00:34:40,380 sed ĉi tio estas nur dosierujo min metante multajn miajn estetiko. 720 00:34:40,380 --> 00:34:42,840 Multa mia HTML, multon de Miaj formoj. 721 00:34:42,840 --> 00:34:46,899 Dume, inkludas, estas alia dosierujo kiu havas tiujn tri dosierojn 722 00:34:46,899 --> 00:34:48,440 kaj ni prenos rapidan rigardon al tiuj. 723 00:34:48,440 --> 00:34:51,699 >> Mi tuj iros antaŭen kaj malfermu config.php. 724 00:34:51,699 --> 00:34:54,610 Kiel ĝi rezultas, multe kiel antaŭe en la limtempo, 725 00:34:54,610 --> 00:34:57,850 vi akraj inkludis CS50 dot h kun pset7. 726 00:34:57,850 --> 00:35:00,780 En hodiaŭa ekzemplo, vi tuj fari la ekvivalento de tio 727 00:35:00,780 --> 00:35:03,600 kun postulas deklaron efike 728 00:35:03,600 --> 00:35:05,340 inkluzivas tiujn pluraj linioj. 729 00:35:05,340 --> 00:35:08,225 Do esti klaraj, tio estas dosiero nomata config.php. 730 00:35:08,225 --> 00:35:09,350 Kaj rimarki kio ĝi estas faranta. 731 00:35:09,350 --> 00:35:11,970 Ĝi estas ŝajne faras ion kamufla, ŝaltante erarmesaĝojn 732 00:35:11,970 --> 00:35:13,680 por ke vi povas vidi ilin en la retumilo. 733 00:35:13,680 --> 00:35:15,860 Estas do ŝajne postulanta du aliaj dosieroj 734 00:35:15,860 --> 00:35:19,530 tial ĉi estas kiel #include en C, kaj tiam ĉi tiu ni ne vidas, 735 00:35:19,530 --> 00:35:22,720 kaj ni dependis, ĉi ŝaltas ke komerca veturilo kiel funcionalidad. 736 00:35:22,720 --> 00:35:25,610 >> Tio signifas biskviton volo sendita reen. 737 00:35:25,610 --> 00:35:27,290 Do kial estas tiu interesa? 738 00:35:27,290 --> 00:35:32,460 Nu, se ni reiros al tiu dosierujon kaj malfermu, ekzemple, 739 00:35:32,460 --> 00:35:33,741 constance.php. 740 00:35:33,741 --> 00:35:38,840 Rimarku ke PHP faras subteno konstantoj, tio tute ne ŝatas #define en C. 741 00:35:38,840 --> 00:35:41,290 Anstataŭe, vi laŭvorte diri difinita, kaj avizo 742 00:35:41,290 --> 00:35:44,110 ke mi stokis anticipe kvar konstantaj en tiu ĉi dosiero. 743 00:35:44,110 --> 00:35:47,020 Unu por la hodiaŭa datumbazo, por mian pasvorton, por mia salutnomo, 744 00:35:47,020 --> 00:35:48,690 kaj por la nomo de la servilo. 745 00:35:48,690 --> 00:35:51,644 Do tiuj estas vere tuj estos bela simila problemo starigis sep. 746 00:35:51,644 --> 00:35:54,560 Kaj laste, kaj ĉi tiu estas kie mi estas tuj akiri iom bela funcionalidad 747 00:35:54,560 --> 00:35:59,000 el la bastonon en functions.php Estas aro da kodo ni skribas, 748 00:35:59,000 --> 00:36:01,040 kaj mi sxtelis iun el ĉi el problemon starigis sep 749 00:36:01,040 --> 00:36:05,920 hodiaŭ, kiu faras faskon da aferoj kaj ni simple rigardi unu el ili 750 00:36:05,920 --> 00:36:07,270 aparte. 751 00:36:07,270 --> 00:36:09,720 Tiu funkcio ĉi tie, konsulto, tuj estos 752 00:36:09,720 --> 00:36:13,600 PHP funkcio ni nomas Por ekzekuti SQL. 753 00:36:13,600 --> 00:36:16,070 Momento antaŭ ni estis uzante phpMyAdmin, sed tio estas nur 754 00:36:16,070 --> 00:36:18,720 por ia lernado celoj kaj diagnoza celoj 755 00:36:18,720 --> 00:36:20,494 kaj forgesante vian datumbazon aro. 756 00:36:20,494 --> 00:36:22,660 Kiam vi vere uzas vian datenbazo, vi, la homo, 757 00:36:22,660 --> 00:36:24,100 evidente ne tuj esti tirante supren retejo 758 00:36:24,100 --> 00:36:25,740 paĝo ĉiufoje kiam iu registras. 759 00:36:25,740 --> 00:36:29,870 Vi tuj skribi kodon insertos kaj forigas uzantojn laŭpete, 760 00:36:29,870 --> 00:36:32,490 kaj ni faros ĉi tra la informpeto funkcio. 761 00:36:32,490 --> 00:36:35,360 Se mi nun rulumi malsupren, tie estas tuj estos kelkaj trajtoj. 762 00:36:35,360 --> 00:36:37,170 Alidirektado tuj esti funkcio ni skribis 763 00:36:37,170 --> 00:36:40,160 por vi, ke vi permesas sendu la uzanto al alia URL 764 00:36:40,160 --> 00:36:43,780 kaj redonu estas funkcio, tute kiel ni vidis lunde, ke reale bildigas 765 00:36:43,780 --> 00:36:48,000 ŝablono, sed pli en ĉi tiuj en la formo de pset7 propra promeno tra. 766 00:36:48,000 --> 00:36:50,500 Nuntempe, ni iru antaŭen kaj fari tion. 767 00:36:50,500 --> 00:36:54,860 >> Lasu min iri en mian prelegoj tablo kaj vidu ke ekzistas nuntempe nenio 768 00:36:54,860 --> 00:36:59,640 tien nur tamen, kaj mi ankaux iros en mia publika dosierujo, kie 769 00:36:59,640 --> 00:37:02,780 ekzistas nur unu dosieron, index.php. 770 00:37:02,780 --> 00:37:06,920 Ĉi tiu dosiero ŝajnas esti súper simpla Nuntempe, ĝi aspektas ĝuste tiel. 771 00:37:06,920 --> 00:37:09,110 Tre ŝatas kiel oni cxesis lundon. 772 00:37:09,110 --> 00:37:11,945 Mi postulas tiun dosieron: config.php, kio estas en 773 00:37:11,945 --> 00:37:15,160 ĝi inkludas dosierujon, kiun Estas en dot dot, miaj gepatroj, 774 00:37:15,160 --> 00:37:17,650 kaj tiam ĝi estas ĝuste la prunti tiun dosieron. 775 00:37:17,650 --> 00:37:18,960 Do kio estas la dosiero? 776 00:37:18,960 --> 00:37:24,700 >> Ni malfermas en mia ŝablonoj form.php, kaj ni vidos ĉi. 777 00:37:24,700 --> 00:37:28,500 Super simpla, ŝajne tiu formo estas tuj submetiĝi de $ _GET aŭ $ _POST. 778 00:37:28,500 --> 00:37:29,320 Rapida prudento ĉeko. 779 00:37:29,320 --> 00:37:33,760 780 00:37:33,760 --> 00:37:35,690 Laŭvorte vide serĉi la dosieron. 781 00:37:35,690 --> 00:37:36,610 Metodo egalas post. 782 00:37:36,610 --> 00:37:39,280 Do estas ne tuj uzos la URL, kiel Google faras, ĝi okazas al ia kaŝi 783 00:37:39,280 --> 00:37:41,030 la informo malantaŭ la scenoj kaj ĝi estas 784 00:37:41,030 --> 00:37:43,580 tuj submetiĝi al dosiero nomata register.php, 785 00:37:43,580 --> 00:37:45,660 kaj tio estas la dosiero ni ankoraŭ ne skribita 786 00:37:45,660 --> 00:37:47,610 sed kion tiu tuj rigardi kiel estas tiu. 787 00:37:47,610 --> 00:37:52,670 >> Se mi iras al aparta paĝo Jen kio localhost / index.php aspektas. 788 00:37:52,670 --> 00:37:56,930 Kaj denove, la servilo nur supozante index.php. 789 00:37:56,930 --> 00:37:57,910 Eniri. 790 00:37:57,910 --> 00:37:59,870 Do tie estas kie ni estas je, kaj kion mi volas fari 791 00:37:59,870 --> 00:38:02,450 ĝi povos tajpi tion kiel David, kaj tiam 792 00:38:02,450 --> 00:38:08,050 miaj telefonnumero, kiu diras 617-555-1212 nuntempe, registri 793 00:38:08,050 --> 00:38:09,910 kaj nun register.php ne trovigxis. 794 00:38:09,910 --> 00:38:11,440 Do mi bezonas implementar ĉi. 795 00:38:11,440 --> 00:38:13,320 Do ni rapide vipo iu kiel ĉi supre. 796 00:38:13,320 --> 00:38:18,640 Lasu min iri en mia publika dosierujo kaj fari gedit de register.php, 797 00:38:18,640 --> 00:38:22,300 kaj nun mi estas ironta antaŭeniras kaj komenci PHP mode, kiel ni faris lunde, 798 00:38:22,300 --> 00:38:25,430 kaj fermi PHP la etikedo, kaj ni faras paron de aĵoj. 799 00:38:25,430 --> 00:38:28,336 >> Do unu, mi scias, de li skribis ke formo, 800 00:38:28,336 --> 00:38:29,960 ke mi deziras kontroli la sekvan. 801 00:38:29,960 --> 00:38:35,670 Se ĝi estas malplena, kio ajn la uzanto tajpita en la nomo de kampo, tiam 802 00:38:35,670 --> 00:38:39,860 Mi intencis diri ion kiel pardonpeti mankas nomo. 803 00:38:39,860 --> 00:38:42,380 Senkulpigi, dume, estas ne korpigita en PHP afero 804 00:38:42,380 --> 00:38:45,970 estas funkcio ni skribis en functions.php por pset7 805 00:38:45,970 --> 00:38:47,940 por ke vi havas aliron al ĝi. 806 00:38:47,940 --> 00:38:53,830 Alie, se la alia kampo malplenas, numero, tiam mi estas 807 00:38:53,830 --> 00:38:58,370 tuj pardonpeti al la uzanto kaj diri mankantan numeron. 808 00:38:58,370 --> 00:38:59,320 Savu ĉi tiu dosiero. 809 00:38:59,320 --> 00:39:02,640 >> Nun ni reiru al mia retumilo, reiri al la forumo reprovu. 810 00:39:02,640 --> 00:39:04,070 Registri. 811 00:39:04,070 --> 00:39:05,090 OK. 812 00:39:05,090 --> 00:39:06,730 Nenio okazis, kio estas bona. 813 00:39:06,730 --> 00:39:08,120 Mi ne ricevas erarmesagxon. 814 00:39:08,120 --> 00:39:11,651 Sed se anstataŭe ni reŝarĝi ĉi paĝo, kaj ne provizas ion. 815 00:39:11,651 --> 00:39:12,150 Damn ĝin. 816 00:39:12,150 --> 00:39:15,350 817 00:39:15,350 --> 00:39:17,140 Fari tion. 818 00:39:17,140 --> 00:39:18,810 Registri. 819 00:39:18,810 --> 00:39:20,350 Kion mi faru al vi? 820 00:39:20,350 --> 00:39:24,860 Se malplena, $ _POST nomo. 821 00:39:24,860 --> 00:39:26,350 Diru denove? 822 00:39:26,350 --> 00:39:27,670 >> Ho, kompreneble. 823 00:39:27,670 --> 00:39:30,919 Mi forgesis la plej gravan parton, kiu estas postuli ("../ inkludas / config.php."). 824 00:39:30,919 --> 00:39:34,210 825 00:39:34,210 --> 00:39:36,460 Mi bezonas havi aliron al la senkulpigi funkcio, kiu 826 00:39:36,460 --> 00:39:37,770 Tial nenio okazis. 827 00:39:37,770 --> 00:39:39,460 La funkcio ne ekzistas vere. 828 00:39:39,460 --> 00:39:40,640 Do ni provu ĉi denove. 829 00:39:40,640 --> 00:39:42,350 Ni reŝarĝi la paĝon, klaku Register. 830 00:39:42,350 --> 00:39:43,060 OK. 831 00:39:43,060 --> 00:39:43,770 Tie estas tiel. 832 00:39:43,770 --> 00:39:45,700 Do, la eligo ni vidante jen la rezulto 833 00:39:45,700 --> 00:39:47,685 de vokanta al senkulpigi funkcio, súper simpla, 834 00:39:47,685 --> 00:39:50,060 kaj simple presas el ajn Mi donos gxin kiel argumento. 835 00:39:50,060 --> 00:39:51,370 >> Bone, do ni kunlaboru. 836 00:39:51,370 --> 00:39:54,240 Ni provizas mian nomon kiel David, aliĝu, 837 00:39:54,240 --> 00:39:56,890 mankas nombro OK Atendu havigi tio. 838 00:39:56,890 --> 00:39:58,650 617-555-1212. 839 00:39:58,650 --> 00:39:59,250 Registri. 840 00:39:59,250 --> 00:39:59,750 OK. 841 00:39:59,750 --> 00:40:02,760 Do ĉio bonas nun, nur nenio interesa okazas. 842 00:40:02,760 --> 00:40:06,000 Do nun ni faru ion pli interesa okazos kiel ĉi. 843 00:40:06,000 --> 00:40:09,980 Lasu min iri en phpMyAdmin, kaj ni efektive krei tabulon nomita uzantoj 844 00:40:09,980 --> 00:40:12,330 Mi tuj donos gxin tri kolumnoj, kaj mi rapide 845 00:40:12,330 --> 00:40:16,250 Krei ID, kaj tiam nomo, kaj tiam numeron, 846 00:40:16,250 --> 00:40:18,832 kaj la ID kampo Mi foriros kiel int. 847 00:40:18,832 --> 00:40:20,790 La nomo kampo Mi iras forlasi kiel varchar, 848 00:40:20,790 --> 00:40:23,257 kaj ni diru 64, iom arbitre. 849 00:40:23,257 --> 00:40:25,090 La nombro Mi iras fari, vi scias kion? 850 00:40:25,090 --> 00:40:27,350 Ni iras al Subtenu nin nombroj ĉi tie, 851 00:40:27,350 --> 00:40:31,510 tial Mi faros ion kiel char kaj tiam 10 karakteroj 852 00:40:31,510 --> 00:40:34,540 max por prefijo kaj tiam sep ciferoj. 853 00:40:34,540 --> 00:40:37,870 Kaj tiam ĉi tie, mi tuj entajpi auto pliigo tiu kampo, 854 00:40:37,870 --> 00:40:40,550 fari ĉi primara tonalo, kaj Mi tuj iros antaŭen kaj ne 855 00:40:40,550 --> 00:40:42,240 kontroli ajnan de tiuj aliaj kadroj. 856 00:40:42,240 --> 00:40:48,030 >> Do kiam mi nun fine alklakas Konservi, kaj mi iros al mia uzantoj tablo 857 00:40:48,030 --> 00:40:52,270 tio estas kio similas se mi Nun klaku New Tab strukturo. 858 00:40:52,270 --> 00:40:54,550 Do tio, esti klara, Estas ĝuste phpMyAdmin vojon 859 00:40:54,550 --> 00:40:58,570 diri via datumbaza tabelo havas ID, nomo kaj numero 860 00:40:58,570 --> 00:41:02,040 kun tiuj apartaj agordoj kaj ni ignoru la reston de la kampoj 861 00:41:02,040 --> 00:41:03,140 tie nun. 862 00:41:03,140 --> 00:41:04,810 >> Do nun kion mi volas fari? 863 00:41:04,810 --> 00:41:09,060 Do se mi foriras nun en miajn fontkodo, se ĉio estas bone 864 00:41:09,060 --> 00:41:11,190 Mi volas lanĉi la sekvan konsulto. 865 00:41:11,190 --> 00:41:14,970 Enmetu en, kaj mi povas nur diru uzantoj mi ne strikte 866 00:41:14,970 --> 00:41:18,620 bezonas tiujn reen iksodojn se estas ne danĝeran vorton kiel uzantoj. 867 00:41:18,620 --> 00:41:22,810 Mi intencis diri nomon nombro, kaj tiam ĉi tie min 868 00:41:22,810 --> 00:41:24,960 Ne tuj forte Kodo cifero de la valoroj ankoraŭ. 869 00:41:24,960 --> 00:41:26,760 Mi tuj metis du demandosignojn. 870 00:41:26,760 --> 00:41:29,320 Kaj tiu estas konvencio en multaj lingvoj 871 00:41:29,320 --> 00:41:31,730 per se vi volas havi oni lokokupilon por ŝnuro 872 00:41:31,730 --> 00:41:34,105 vi tuj uzos la demando markoj, por kialoj ni 873 00:41:34,105 --> 00:41:36,370 revenu babili pri sekureco kaj tie 874 00:41:36,370 --> 00:41:39,420 Mi iras en tiuj du kampoj sendi nomon 875 00:41:39,420 --> 00:41:44,850 kaj afisxu numeron, nun savu la dosieron. 876 00:41:44,850 --> 00:41:47,090 >> Kaj nun mi iras al iri malsupren tie estas súper 877 00:41:47,090 --> 00:41:55,690 simple diri rendersuccess.php, kiu tuj estos alia ŝablono. 878 00:41:55,690 --> 00:41:57,380 Mi iras al krei vere rapida. 879 00:41:57,380 --> 00:42:06,270 Geditsuccess.php kaj mi simple iri diri H1 sukceso en tiu dosiero. 880 00:42:06,270 --> 00:42:06,990 Bone. 881 00:42:06,990 --> 00:42:11,312 Do nun, ni reiru al la navegador, kie mi vizitis antaŭe. 882 00:42:11,312 --> 00:42:14,270 Ni iru antaŭen kaj konfirmi mi skribis David, mi skribis en telefonnumero, 883 00:42:14,270 --> 00:42:15,390 registri. 884 00:42:15,390 --> 00:42:16,100 Damn ĝin. 885 00:42:16,100 --> 00:42:17,420 Kion mi faru al vi? 886 00:42:17,420 --> 00:42:20,850 Do mi vidas eraron tie, vi havas eraron en via SQL sintakso. 887 00:42:20,850 --> 00:42:24,900 Lasu min salti reen al gedit, lasu Mi reiros al register.php, 888 00:42:24,900 --> 00:42:28,830 Kaj kion mi preterlasas ke Estis grava lastan tempon? 889 00:42:28,830 --> 00:42:29,722 Mi bezonas tiun. 890 00:42:29,722 --> 00:42:32,930 Vi ŝatus scii, ke aliaj ol el havante rimarkis antaŭe, sed mi bezonas tion. 891 00:42:32,930 --> 00:42:35,596 >> Do nun ni iru returne kaj ĉi estis helpemaj vidi en la retumilo 892 00:42:35,596 --> 00:42:37,680 kaj tio estas kial en config.php ni kraĉis eraroj. 893 00:42:37,680 --> 00:42:41,770 Ni iru antaŭen kaj reŝarĝi, klaki Daŭrigu, sukceso. 894 00:42:41,770 --> 00:42:47,060 Do nun permesu al mi iri al mia datenbazo tie kaj alklaku Uzantoj, 895 00:42:47,060 --> 00:42:51,680 kaj foliumi, kaj rimarki min nun havi Davidon en mia datumbazo tie. 896 00:42:51,680 --> 00:42:55,810 Nun teknike ĉi paĝaro estas ne en la publika Interreto, 897 00:42:55,810 --> 00:42:57,890 do mi ne havas aliajn homoj en meti tien, 898 00:42:57,890 --> 00:43:01,120 sed se mi nun volis, por Ekzemple, sendu min mesaĝon de teksto. 899 00:43:01,120 --> 00:43:03,920 Ni eliru sur branĉo tie kaj vidi se tiu vere funkcias. 900 00:43:03,920 --> 00:43:07,331 Mi tuj iros antaŭen kaj forviŝi ĉi vico 901 00:43:07,331 --> 00:43:09,080 kaj ni malklarigi ĉi en la vídeo poste 902 00:43:09,080 --> 00:43:11,900 do ni ne havas la tuta interreto tekstmesaĝi min, 903 00:43:11,900 --> 00:43:17,270 kaj ni nun iru al la browser kaj ni transiru al prelegi 904 00:43:17,270 --> 00:43:22,040 kaj ni entajpu malsamajn numero ĉi tie, registri, sukceso. 905 00:43:22,040 --> 00:43:25,550 >> Do nun, mia propra nombro estas supozeble en la datumbazo, kaj nun la amuza parto. 906 00:43:25,550 --> 00:43:28,774 Ni vere uzas PHP fari io programmatically, 907 00:43:28,774 --> 00:43:30,940 ĉu el la komandon linio aŭ de ie ajn 908 00:43:30,940 --> 00:43:32,773 kaj nun mi estas nur tuj konservi ĝin simpla 909 00:43:32,773 --> 00:43:36,230 kaj mi tuj irus en mian dosierujo tie kaj fari la sekvan. 910 00:43:36,230 --> 00:43:44,920 Gedit skripto diru, ke ni nomas ĝin teksto, #! / uzanto / bin / Koverto PHP, 911 00:43:44,920 --> 00:43:46,700 kiel ni vidis lastan fojon. 912 00:43:46,700 --> 00:43:47,950 PHP. 913 00:43:47,950 --> 00:43:55,055 >> Nun mi iros al vi postuli inkluzivas config.php, 914 00:43:55,055 --> 00:43:57,360 kvankam tiu potenco induktas eta eraro. 915 00:43:57,360 --> 00:44:03,960 Kaj nun mi iras al bonvolu diri vicoj, konsulto, elektu stelon de uzantoj 916 00:44:03,960 --> 00:44:08,149 kaj nun jen mi faros tekniko de lasta tempo por ĉiu vicoj kiel vico. 917 00:44:08,149 --> 00:44:09,690 Kaj mi faros ion simplan. 918 00:44:09,690 --> 00:44:19,090 Printf diru nomo estas tiu, kaj nombro estas tiu, backslash n. 919 00:44:19,090 --> 00:44:23,320 Kaj nun mi iras al pasi en vico citu unquote nomon 920 00:44:23,320 --> 00:44:28,140 kaj vico citaĵo unquote numeron, kaj nun ni iru antaŭen 921 00:44:28,140 --> 00:44:31,430 kaj mia fina fenestro chmod tiu a + x fari 922 00:44:31,430 --> 00:44:33,970 tiu skripto nomita teksto plenumebla. 923 00:44:33,970 --> 00:44:36,080 Kaj nun ni kuros tekston. 924 00:44:36,080 --> 00:44:37,590 >> OK, do progresi. 925 00:44:37,590 --> 00:44:39,960 Do mi nun skribis komandlinio skripto, 926 00:44:39,960 --> 00:44:43,300 en lingvo nomita PHP, ke, ĉar tio postulus linio, 927 00:44:43,300 --> 00:44:46,380 havas aliron al ĉiuj tiuj agordo konstantaj kiu mi precizigita. 928 00:44:46,380 --> 00:44:48,177 La nomo de la datumbazo kaj saluton. 929 00:44:48,177 --> 00:44:50,260 Fakte, nur por esti klara ke tio ne bonŝancaĵo, 930 00:44:50,260 --> 00:44:54,730 lasu min iri antaŭen kaj enskribi, vere rapida, iu alia kiel Rob 931 00:44:54,730 --> 00:44:58,890 kaj transdonos lin al la 555-1212 nombro. 932 00:44:58,890 --> 00:45:01,557 >> Kaj nun se mi kuros al la skripto denove, rimarki la potencon 933 00:45:01,557 --> 00:45:03,140 kion ni faras kun la datumbazo. 934 00:45:03,140 --> 00:45:07,680 Nun mi tuj vidas, kion la aliaj du vicoj estas en mia datumbazo. 935 00:45:07,680 --> 00:45:10,699 Do nun ni provas fari ion eĉ amatoro interne, 936 00:45:10,699 --> 00:45:12,740 kaj tio estas la parto ni ne provitaj anticipe, 937 00:45:12,740 --> 00:45:15,910 do la lasta tempo mi faris tion io terure malbone, 938 00:45:15,910 --> 00:45:17,120 ni havos vídeo al tiu efiko. 939 00:45:17,120 --> 00:45:18,286 >> Efektive, jes, amuza flanko. 940 00:45:18,286 --> 00:45:20,480 Do la lasta fojo, en prelegi kiel du jaroj antaŭe, 941 00:45:20,480 --> 00:45:23,230 Ni decidis, mi decidis, ke ĉio ĉi estus granda ideo 942 00:45:23,230 --> 00:45:28,150 al dinamike generas mesaĝojn klaso, uzante la tuta datumbazo CS50 943 00:45:28,150 --> 00:45:33,390 studentoj, kiuj estis donitaj al ni siajn numerojn kaj ilia poŝtelefono portantoj kiuj vi 944 00:45:33,390 --> 00:45:36,290 eble memoras de pset0, kiel rezoni, rezultas 945 00:45:36,290 --> 00:45:40,650 Mi havis malgrandan eraron en mia programo kaj faris paron erarojn en 2012, mi pensas. 946 00:45:40,650 --> 00:45:43,997 >> Per unu mi havis por buklo ke faris ĝuste tiu speco de afero, 947 00:45:43,997 --> 00:45:46,580 ripetanta super la datumbazo, prenanta nomo de la datumbazo, 948 00:45:46,580 --> 00:45:49,940 nomo de la datumbazo, kaj tiam ĉiu ripeto de tiu buklo Mi sendis retmesaĝon. 949 00:45:49,940 --> 00:45:54,130 Sed anstatau sendi unu retpoŝto, mi sendis unu retpoŝto la unua ripeto, 950 00:45:54,130 --> 00:45:58,200 kaj du retmesaĝoj dua ripeto, sendis tri retpoŝtojn dua ripeto, kiu 951 00:45:58,200 --> 00:46:01,230 kiel vi eble memoras de niaj diskuto de asimptota skribmaniero 952 00:46:01,230 --> 00:46:06,400 tiu granda a de malbonaj, kiel n kvadratoj estas kiom mesaĝojn mi sendis, 953 00:46:06,400 --> 00:46:08,560 sed ne estis eĉ retpoŝtojn estis teksto mesaĝojn. 954 00:46:08,560 --> 00:46:12,070 >> Kaj kiel vi scias, asistencia ne Super alta al la fino la semestro 955 00:46:12,070 --> 00:46:15,360 kaj tial mi pensis ke estus beleta je la tempo diri, "Kial vi ne klaso?" 956 00:46:15,360 --> 00:46:17,880 En la teksto mesaĝo mi sendis al la tuta klaso, 957 00:46:17,880 --> 00:46:22,140 kaj estis amuze kiel 50% de la klaso, sed la aliaj 50%, el kiuj 958 00:46:22,140 --> 00:46:26,102 freaked ekstere, i sendis nekredeble pardonpetan dolĉa notoj 959 00:46:26,102 --> 00:46:28,560 al la personaro senkulpigante por li perdis la prelego simple 960 00:46:28,560 --> 00:46:29,530 tiun fojon, dekstra? 961 00:46:29,530 --> 00:46:32,790 962 00:46:32,790 --> 00:46:34,030 >> Por ke farus terure malbone. 963 00:46:34,030 --> 00:46:37,030 Do en tiu spirito, ni provu ĉi denove sed nur per mia nombro. 964 00:46:37,030 --> 00:46:41,940 Anticipe, en functions.php, Mi verkis tiun funkcion tie. 965 00:46:41,940 --> 00:46:44,250 Ĝi estas nomita teksto, kaj ĝi prenas en tri argumentojn. 966 00:46:44,250 --> 00:46:46,360 Kelkaj, portanto, kaj mesaĝo. 967 00:46:46,360 --> 00:46:50,390 >> Mi uzas ŝaltilo deklaro, kiu mirinde PHP preni kordoj, ne nur 968 00:46:50,390 --> 00:46:53,350 entjeroj, kaj mi ne implementar tuta apogo por tio ankoraux, 969 00:46:53,350 --> 00:46:55,370 Mi ĵus faris AT & T kaj Verizon. 970 00:46:55,370 --> 00:46:57,610 Ĉar ĝi rezultas ke kun tiuj portantoj 971 00:46:57,610 --> 00:47:00,570 ili havas retpoŝton al SMS enirejoj, per vi povas reale 972 00:47:00,570 --> 00:47:05,529 sendu retmesaĝon al direkto kiel telefonnumero ĉe vtext.com 973 00:47:05,529 --> 00:47:08,070 kaj se la uzanto ne blokita la mesaĝoj, ĝi iros per 974 00:47:08,070 --> 00:47:09,340 estas teksta mesaĝo. 975 00:47:09,340 --> 00:47:13,270 >> Nun fari tion, mi tuj devos aldoni unu kampo vere rapida mian datumbazon. 976 00:47:13,270 --> 00:47:15,470 Mi tuj iros en mian strukturon, kaj mi 977 00:47:15,470 --> 00:47:21,880 tuj iros antaŭen kaj aldoni kampo ĉe la fino de la tablo. 978 00:47:21,880 --> 00:47:25,227 Ni klaku Iru, kaj mi irante voki ĉi portanto 979 00:47:25,227 --> 00:47:27,310 kaj nun mi iras al forlasi tiun kiel trinkejo teksto, 980 00:47:27,310 --> 00:47:29,320 sed povas esti amatoro en la estonteco. 981 00:47:29,320 --> 00:47:31,961 Mi tuj rapide iri en mia tablo, kaj mi 982 00:47:31,961 --> 00:47:34,210 tuj forigi Rob, ĉar tio estas falsa numeron, 983 00:47:34,210 --> 00:47:38,540 Mi tuj iros en redakto tie kaj mi vestos min portanto permane 984 00:47:38,540 --> 00:47:43,410 esti Verizon, kiu estas, kaj nun super tie. 985 00:47:43,410 --> 00:47:44,980 >> Ni faru rapidan prudento ĉeko. 986 00:47:44,980 --> 00:47:52,730 Ni malfermu niajn teksto skripto, kiu aspektas kiel tiu, portanto estas% s. 987 00:47:52,730 --> 00:47:58,230 Ni faras multajn pli eraro kontrolanta ol mi faris en 2012, portanto. 988 00:47:58,230 --> 00:48:01,160 Kaj nun, mi estas ironta antaŭeniras kaj re-ruli la skripton. 989 00:48:01,160 --> 00:48:01,660 OK. 990 00:48:01,660 --> 00:48:06,100 Portanto estas Verizon, kiu signifas nun espereble mi povas fari ĝuste tion. 991 00:48:06,100 --> 00:48:08,360 Ĝuste tiu jaro, espereble, ĉi tie ni iras. 992 00:48:08,360 --> 00:48:12,200 >> Do ene de ĉi por buklo, mi estas tuj ne nur havas ĉi printf, 993 00:48:12,200 --> 00:48:15,990 Mi ankaŭ tuj nomos tekston kaj La uzado de tiu funkcio Recall 994 00:48:15,990 --> 00:48:19,670 Estis prenas numero, portanto, kaj mesaĝo. 995 00:48:19,670 --> 00:48:23,310 Do ni vidas, nombro tuj estu vico citaĵo unquote "numero" 996 00:48:23,310 --> 00:48:31,660 vico citaĵo unquote "portanto" kaj la lasta estis mesaĝo. 997 00:48:31,660 --> 00:48:36,250 Ne firmigu tiun jaron, punktokomo. 998 00:48:36,250 --> 00:48:36,780 >> OK. 999 00:48:36,780 --> 00:48:38,280 Fingroj transiris. 1000 00:48:38,280 --> 00:48:39,970 Vidu se tio funkcias. 1001 00:48:39,970 --> 00:48:41,720 Bone, do. 1002 00:48:41,720 --> 00:48:43,000 Tie ni iras. 1003 00:48:43,000 --> 00:48:47,380 Ni malŝlosi la telefonon, transiras la fingrojn, malbenita ĝi. 1004 00:48:47,380 --> 00:48:50,300 Nedifinita variablo may-- ho atendu, atendu, atendu, reala rapida. 1005 00:48:50,300 --> 00:48:51,340 Reala fasto reala rapida. 1006 00:48:51,340 --> 00:48:53,380 Tio estas tute valoras ĝin. 1007 00:48:53,380 --> 00:48:57,710 Lasu min kaptu, lasu min kaptu, uh-oh. 1008 00:48:57,710 --> 00:48:59,965 Dankon, la tekstoj havas komencis de iu alia. 1009 00:48:59,965 --> 00:49:04,770 1010 00:49:04,770 --> 00:49:11,650 Lasu min kaj malfermu reala rapida, dropbox.php / poŝto en ĉi tie. 1011 00:49:11,650 --> 00:49:12,660 Standby. 1012 00:49:12,660 --> 00:49:14,455 Plene valoras ĝin. 1013 00:49:14,455 --> 00:49:17,430 Elŝutoj. 1014 00:49:17,430 --> 00:49:18,560 OK, fonto src8m. 1015 00:49:18,560 --> 00:49:19,700 OK. 1016 00:49:19,700 --> 00:49:21,380 >> Bezonas pli linion tie. 1017 00:49:21,380 --> 00:49:24,530 Ho tie ĝi estas, ĝi estas en Frosh IMS, ĝi estas en la registro ĉe tri. 1018 00:49:24,530 --> 00:49:28,820 Ho saluton, Margo, grandan dankon. 1019 00:49:28,820 --> 00:49:31,130 OK, mi mankis tiu lineo tie. 1020 00:49:31,130 --> 00:49:33,010 Do lasu min rapide ekpreni tiu linio de kodo, 1021 00:49:33,010 --> 00:49:36,200 kiu inkluzivas la poŝto aŭ biblioteko ke mi vere volas uzi, 1022 00:49:36,200 --> 00:49:38,300 Mi tuj rapide reiru en funkcioj 1023 00:49:38,300 --> 00:49:42,337 Mi tuj iros al la supro de tiu Arkivo kaj postulas tiun dosieron tiel, 1024 00:49:42,337 --> 00:49:45,420 kaj nun mi iras al vere transiras fingroj kiam mi reiros al la komando 1025 00:49:45,420 --> 00:49:49,530 linio skripto, kiu estas interne de hodiaŭa loka gastiganto dosierujo. 1026 00:49:49,530 --> 00:49:50,610 Kuri tekston. 1027 00:49:50,610 --> 00:49:52,720 Eniri. 1028 00:49:52,720 --> 00:49:53,220 Poŝto. 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 Poŝto. 1033 00:50:01,680 --> 00:50:02,290 Ho, OK. 1034 00:50:02,290 --> 00:50:03,870 Tie ni iras. 1035 00:50:03,870 --> 00:50:06,880 >> Poŝto ricevas novan PHP Mailer. 1036 00:50:06,880 --> 00:50:09,970 Ĉu mi faros tiun rajton? 1037 00:50:09,970 --> 00:50:11,067 Damn ĝin. 1038 00:50:11,067 --> 00:50:12,150 To-- Ho, atendu, atendu, atendu. 1039 00:50:12,150 --> 00:50:12,649 Staras. 1040 00:50:12,649 --> 00:50:15,820 1041 00:50:15,820 --> 00:50:18,630 Mi promesas, tiu estas tuj estos tiel valoras ĝin. 1042 00:50:18,630 --> 00:50:20,340 Adreson. 1043 00:50:20,340 --> 00:50:24,390 Jen kial mi ne faru la ekzemploj ĝuste antaŭ klaso. 1044 00:50:24,390 --> 00:50:26,350 Uf. 1045 00:50:26,350 --> 00:50:27,910 La jenaj ricevintoj malsukcesis. 1046 00:50:27,910 --> 00:50:31,500 1047 00:50:31,500 --> 00:50:33,040 Ni provu unu lasta afero. 1048 00:50:33,040 --> 00:50:40,660 SMTP metita de, aldoni adreson, la adreso estas ĝuste tiu. 1049 00:50:40,660 --> 00:50:43,980 Ni provu ĉi lasta parto en adreson. 1050 00:50:43,980 --> 00:50:47,210 Aw, mi estas vere malĝoja nun. 1051 00:50:47,210 --> 00:50:47,854 Dankon. 1052 00:50:47,854 --> 00:50:50,270 Sed mi vere dankas ĉiuj la tekstojn vi estis sendo. 1053 00:50:50,270 --> 00:50:53,130 1054 00:50:53,130 --> 00:50:56,320 Vi havas tiu David. 1055 00:50:56,320 --> 00:50:59,310 Vi blovis ĝin. 1056 00:50:59,310 --> 00:51:01,720 Ni lasu ĝin tie kaj ni fiksos lundon. 1057 00:51:01,720 --> 00:51:04,290 Vidi vin tiam. 1058 00:51:04,290 --> 00:51:08,090 >> DAVEN Farnham: Nun Deep Pensoj de Daven Farnham. 1059 00:51:08,090 --> 00:51:11,340 1060 00:51:11,340 --> 00:51:17,590 Se duuma arbo falas en arbaro kaj neniu ĉirkaŭe al C it-- [ridante]. 1061 00:51:17,590 --> 00:51:18,998