1 00:00:00,000 --> 00:00:02,000 [Powered by Google Translate] [Ġimgħa 8, Ikompli] 2 00:00:02,000 --> 00:00:04,000 [David J. Malan] [Università ta 'Harvard] 3 00:00:04,000 --> 00:00:08,000 [Dan huwa CS50.] [CS50.TV] 4 00:00:08,000 --> 00:00:13,000 >> Dan huwa CS50, għalhekk dan huwa l-aħħar ta 'Ġimgħa 8 hawn. 5 00:00:13,000 --> 00:00:16,000 Aħna ta 'kors kellhom daqsxejn ta' uragan aktar kmieni din il-ġimgħa, 6 00:00:16,000 --> 00:00:19,000 hekk dritt issa huwa verament biss int u lili f'din sala lecture, 7 00:00:19,000 --> 00:00:22,000 iżda llum aħna nkomplu konverżazzjoni tagħna dwar PHP 8 00:00:22,000 --> 00:00:25,000 u dwar l-ipprogrammar tal-web aktar ġenerali, u aħna wkoll jintroduċu l-idea 9 00:00:25,000 --> 00:00:29,000 ta 'databases, partikolarment wieħed imsejjaħ MySQL, li huwa pjuttost popolari dawn il-jiem, 10 00:00:29,000 --> 00:00:34,000 fil-parti kbira minħabba l-modularità tagħha kif ukoll minħabba tagħha huwa liberu u open source. 11 00:00:34,000 --> 00:00:37,000 >> Iżda l-ewwel, ħarsa lejn fejn aħna jitħalla 'off-aħħar darba. 12 00:00:37,000 --> 00:00:40,000 Ifakkar li konna tħares lejn l-eżempji diversi IMs Frosh, 13 00:00:40,000 --> 00:00:44,000 u dan kien il-forma hideous li I ħarāet bil + snin madwar 15 ilu 14 00:00:44,000 --> 00:00:49,000 sabiex ikollhom l-istudenti fuq il-kampus reġistru għall-isports Freshman intramurali 15 00:00:49,000 --> 00:00:52,000 mingħajr ma attwalment jkollhom trek aktar madwar l-tarzna biex Wigglesworth 16 00:00:52,000 --> 00:00:56,000 li tiżżerżaq biċċa fiżiku ta 'karti minn taħt bieb xi Procter s. 17 00:00:56,000 --> 00:00:59,000 Minflok aħna mċaqalqa online kollox, iżda biex tagħmel dan aħna meħtieġa biex jagħmlu użu 18 00:00:59,000 --> 00:01:03,000 ta 'ftit teknoloġiji, għalhekk wieħed, għandna bżonn HTML, lingwa markup Portugues, 19 00:01:03,000 --> 00:01:07,000 li għal darb'oħra huwa dan tal-lingwa markup li magħhom inti tagħmel paġni web strutturalment. 20 00:01:07,000 --> 00:01:10,000 >> Bl-użu daqsxejn ta 'CSS dawn il-ġranet, cascading folji stil, 21 00:01:10,000 --> 00:01:16,000 fejn nużaw stylizations tal-paġna web bl-użu ta sintassi kemmxejn differenti, 22 00:01:16,000 --> 00:01:19,000 billi l-HTML kienet kollha dwar l-istruttura tiegħu. 23 00:01:19,000 --> 00:01:21,000 Għandna bżonn ukoll li jintroduċu lingwa ta 'programmar web. 24 00:01:21,000 --> 00:01:25,000 F'dan il-każ, aħna ser tuża PHP, PHP u se jħallina naħsdu 25 00:01:25,000 --> 00:01:28,000 Kontenut output dinamikament kif ukoll tagħmel affarijiet programmatiċi simili 26 00:01:28,000 --> 00:01:33,000 jibgħat emails, kif kien il-każ fuq in-nota aħna xellug ġimgħa li għaddiet. 27 00:01:33,000 --> 00:01:35,000 >> Ifakkar li l-kodiċi għal dan kienet fi 2 partijiet. 28 00:01:35,000 --> 00:01:38,000 Wieħed, kellna froshims3.php, 29 00:01:38,000 --> 00:01:42,000 u dan kien ġeneralment markup ma 'forma HTML ġewwa ta' dan, 30 00:01:42,000 --> 00:01:45,000 ftit żgħira ta 'CSS up hawn fl-attributi istil 31 00:01:45,000 --> 00:01:48,000 sabiex il-formola innifsu tkun iċċentrata fuq il-paġna, iżda lil hinn minn dik 32 00:01:48,000 --> 00:01:51,000 kellna xi inputs forma rappreżentattivi, qasam test, a Checkbox, 33 00:01:51,000 --> 00:01:55,000 xi radju buttuni, menu tagħżel, u buttuna issottometti. 34 00:01:55,000 --> 00:02:01,000 U permezz ta 'din il-formola, aħna sottomessi għal fajl li kien apparentament imsejħa register3.php, 35 00:02:01,000 --> 00:02:04,000 li fih innifsu ħares ftit xi ħaġa bħal din. 36 00:02:04,000 --> 00:02:08,000 Issa, ħafna mill-kodiċi fl-register3.php, lura, kienet kollha dwar email. 37 00:02:08,000 --> 00:02:11,000 Hija għamlet xi ftit ta 'validazzjoni tal-formola li ġiet sottomessa biex tiżgura 38 00:02:11,000 --> 00:02:14,000 li l-oqsma kienu attwalment sakemm kienu mistennija. 39 00:02:14,000 --> 00:02:18,000 Imbagħad aħna msejħa xi funzjonijiet PHP jużaw ftit sintassi ġdida, 40 00:02:18,000 --> 00:02:20,000 anki jekk huwa mislufa mill C. 41 00:02:20,000 --> 00:02:24,000 >> Dan operatur vleġġa jippermetti li jagħmlu użu ta 'xi ħaġa imsejħa oġġett orjentati lejn programmazzjoni. 42 00:02:24,000 --> 00:02:27,000 Aħna mhux se tidħol fis li fi kwalunkwe dettall hawnhekk, imma jafu għal issa 43 00:02:27,000 --> 00:02:31,000 huwa mod ta 'li jkollhom funzjonijiet assoċjati ma' oġġetti, 44 00:02:31,000 --> 00:02:34,000 li huma tip speċjali ta 'struttura, kif rajna fil C. 45 00:02:34,000 --> 00:02:37,000 Iżda għal issa, ħu fuq fidi li dan huwa l-sintassi korretta għall-użu 46 00:02:37,000 --> 00:02:41,000 meta jintuża librerija bħal din il-librerija PHPMailer. 47 00:02:41,000 --> 00:02:44,000 U allura l-aħħar ta 'dan il-fajl kellna dinamikament iġġenerat email 48 00:02:44,000 --> 00:02:47,000 li ltqajna mibgħuta lill-kont jharvard@cs50.net tiegħi 49 00:02:47,000 --> 00:02:50,000 mill-kont jharvard@cs50.net tiegħi, 50 00:02:50,000 --> 00:02:54,000 u aħna infurmat lill-utent b'dan li kienu ġew reġistrati għal dan l-isport. 51 00:02:54,000 --> 00:02:57,000 Dan huwa pretty ħafna dak is-sit IMs Frosh ma dawk kollha snin ilu 52 00:02:57,000 --> 00:03:00,000 meta I implimentata din, mogħtija, b'lingwa differenti, 53 00:03:00,000 --> 00:03:02,000 iżda turi li inti forsi l-qawwa li għandek 54 00:03:02,000 --> 00:03:05,000 Issa li inti tista 'tesprimi lilek innifsek mhux biss programmatically 55 00:03:05,000 --> 00:03:08,000 f'livell baxx b'lingwa bħal C iżda fuq livell ħafna ogħla 56 00:03:08,000 --> 00:03:11,000 ma 'dawn l-applikazzjonijiet fid-dinja reali ħafna bħall-email li attwalment isolvu 57 00:03:11,000 --> 00:03:13,000 xi problemi fid-dinja reali. 58 00:03:13,000 --> 00:03:16,000 >> Issa, naturalment, anki jekk I jużaw din l-iskrittura biex jiġġeneraw xi 59 00:03:16,000 --> 00:03:20,000 emails dinamiku minn jharvard@cs50.net, li huwa tabilħaqq kont 60 00:03:20,000 --> 00:03:23,000 li jien jkollhom aċċess għal, do jkun pjuttost attenta li tibgħat 61 00:03:23,000 --> 00:03:26,000 mail biss mill-kontijiet li huma attwalment tiegħek, 62 00:03:26,000 --> 00:03:30,000 lest affarijiet nikseb inti fil-daqsxejn ta 'ilma sħun fil-ħajja. 63 00:03:30,000 --> 00:03:35,000 Ma 'dak imsemmi, ejja issa tranżizzjoni isolvi problema differenti għal kollox, 64 00:03:35,000 --> 00:03:37,000 dak ta 'stati jżommu. 65 00:03:37,000 --> 00:03:39,000 Issa, dak ma dan fil-fatt jfisser? 66 00:03:39,000 --> 00:03:42,000 HTTP, dan il-protokoll ta 'trasferiment Portugues, 67 00:03:42,000 --> 00:03:45,000 huwa attwalment protokoll mingħajr stat, u dak li dan ifisser huwa li 68 00:03:45,000 --> 00:03:48,000 meta inti pull up xi ħaġa simili Google.com u mbagħad hit jidħol 69 00:03:48,000 --> 00:03:51,000 normalment browser tiegħek għandu xi tip ta 'ikona għażil li mbagħad 70 00:03:51,000 --> 00:03:54,000 jwassal għal xi paġna tal-web qed jitniżżel, 71 00:03:54,000 --> 00:03:57,000 u mbagħad li icon żgħir jieqaf għażil, u li fil-fatt tissuġġerixxi 72 00:03:57,000 --> 00:04:02,000 li HTTP lestiet xi tip ta 'konnessjoni għall-server u li hu. 73 00:04:02,000 --> 00:04:05,000 HTTP hija mingħajr Stat fis-sens li hija ma ssostnix 74 00:04:05,000 --> 00:04:08,000 konnessjoni persistenti lis-server fil-Skype istess mod ma 75 00:04:08,000 --> 00:04:11,000 jew Gchat ma għaliex ma HTTP 76 00:04:11,000 --> 00:04:15,000 is-suppożizzjoni hi li ladarba inti ħadthom fetched web page thats it. 77 00:04:15,000 --> 00:04:18,000 >> Issa, fir-realtà dawn il-jiem fuq siti bħal Facebook u Google Maps 78 00:04:18,000 --> 00:04:21,000 u Twitter u simili hemm dinamiżmu ħafna aktar fejn 79 00:04:21,000 --> 00:04:25,000 anki wara li icon jieqaf għażil inti tista 'fil-fatt tikseb aktar aġġornamenti 80 00:04:25,000 --> 00:04:29,000 mis-server, tweets aktar, aktar aġġornamenti istatus fuq Facebook u simili. 81 00:04:29,000 --> 00:04:33,000 Iżda anke li qed permezz ta 'teknika li aħna ser nitkellmu dwar fil-ġimgħa jew tnejn 82 00:04:33,000 --> 00:04:36,000 magħrufa bħala Ajax jużaw lingwa imsejjaħ JavaScript, 83 00:04:36,000 --> 00:04:38,000 iżda fl-aħħar tal-ġurnata, HTTP għadu mingħajr stat. 84 00:04:38,000 --> 00:04:42,000 And yet, jekk inti tixtieq li b'xi mod tiftakar affarijiet dwar l-utent 85 00:04:42,000 --> 00:04:44,000 anki wara li ħadthom skonnettjat minn server tiegħek 86 00:04:44,000 --> 00:04:47,000 PHP ma jaffordjaw inti mezz ta 'kif isir dan 87 00:04:47,000 --> 00:04:52,000 għaliex, kif rajna aħħar darba, PHP għandha numru ta 'superglobals, 88 00:04:52,000 --> 00:04:55,000 u superglobal hija, għal darb'oħra, varjabbli globali speċjali 89 00:04:55,000 --> 00:04:59,000 li l-mogħtija lilek mill-web server u mill PHP innifsu. 90 00:04:59,000 --> 00:05:02,000 >> Inti ma għandekx tagħmel xejn biex tqiegħed il-valuri fiha, 91 00:05:02,000 --> 00:05:05,000 u fost l-superglobals aħna stajt tidher s'issa huma jiksbu u post, 92 00:05:05,000 --> 00:05:08,000 li huwa fejn oqsma forma jitqiegħdu awtomatikament għalik, 93 00:05:08,000 --> 00:05:11,000 kif ukoll bħala koppja ta 'oħrajn li aħna ma bbenefikawx s'issa. 94 00:05:11,000 --> 00:05:17,000 Ġewwa ta '$ _SERVER huma xi fatturi varjabbli speċjali relatati mal-server innifsu. 95 00:05:17,000 --> 00:05:22,000 X'hemm l-indirizz IP, liema protokoll, HTTP HTTPS jew ma tuża, 96 00:05:22,000 --> 00:05:25,000 liema metodu talba ma tuża u simili, sabiex hemm xi interessanti, 97 00:05:25,000 --> 00:05:29,000 dettalji mmerraq dwar il-server, u fil-fatt, l-utent fil hemm ukoll. 98 00:05:29,000 --> 00:05:33,000 Hemm $ _cookie, li huwa fejn dawn l-affarijiet imsejħa cookies huma maħżuna. 99 00:05:33,000 --> 00:05:36,000 Aħna mhux se jqattgħu ħin fuq cookies infushom llum, 100 00:05:36,000 --> 00:05:40,000 iżda jaf għal issa li cookie hija biss biċċa żgħira ta 'informazzjoni 101 00:05:40,000 --> 00:05:43,000 li web server tista 'pjanti fuq web browser 102 00:05:43,000 --> 00:05:46,000 u min-naħa RAM tagħha jew hard drive tal-kompjuter tagħha ta 103 00:05:46,000 --> 00:05:49,000 biex jaħżnu informazzjoni dwar l-utent, per eżempju, isem l-utent tagħhom 104 00:05:49,000 --> 00:05:52,000 sabiex dawn ma jkollhom tip li kull darba li login jew xi 105 00:05:52,000 --> 00:05:55,000 numru uniku jew identifikatur għall-utent 106 00:05:55,000 --> 00:05:58,000 sabiex inti ma għandekx jiffittaw bis bl-istess tipi ta 'mistoqsijiet dwar 107 00:05:58,000 --> 00:06:00,000 preferenzi fil-futur, iżda ħafna ta 'interess 108 00:06:00,000 --> 00:06:02,000 dritt issa huwa $ _session. 109 00:06:02,000 --> 00:06:07,000 >> Dan superglobal, li, bħall-oħrajn, hija mogħtija lilek awtomatikament mill PHP 110 00:06:07,000 --> 00:06:10,000 meta int bil-miktub PHP bbażati fuq websajts 111 00:06:10,000 --> 00:06:13,000 jista 'jaħżen xi ħaġa li trid, kordi, interi, 112 00:06:13,000 --> 00:06:16,000 punti f'wiċċ l-ilma, valuri, arrays, oġġetti, 113 00:06:16,000 --> 00:06:20,000 verament xi ħaġa li trid, u li jippermettilek li jaħżnu b'mod 114 00:06:20,000 --> 00:06:23,000 li anki jekk l-utent żjarat inti issa u mbagħad 115 00:06:23,000 --> 00:06:26,000 taqa 'lura minuta minn issa jew 5 minuti minn issa għaliex 116 00:06:26,000 --> 00:06:28,000 huma jieħdu l-ħin tagħhom qabel ma tikklikkja xi rabta oħra 117 00:06:28,000 --> 00:06:32,000 PHP se tiżgura li tkun xi tkun inti tpoġġi fil dak superglobal sessjoni 118 00:06:32,000 --> 00:06:37,000 minuti minuta jew 5 ilu xorta se jkun hemm meta l-prospetti utent. 119 00:06:37,000 --> 00:06:40,000 U taħt il-barnuża dan superglobal tiġi implimentata permezz ta ' 120 00:06:40,000 --> 00:06:44,000 dawk l-affarijiet imsejħa cookies, iżda għal issa, huwa biss astrazzjoni 121 00:06:44,000 --> 00:06:47,000 fejn huwa tip ta 'l-ekwivalenti programmatiku ta' shopping cart. 122 00:06:47,000 --> 00:06:50,000 Tkun xi tkun inti, il-programmer, jistabbilixxu li l- 123 00:06:50,000 --> 00:06:53,000 firxa assoċjattiva superglobal se jkun hemm xi numru ta 'minuti wara 124 00:06:53,000 --> 00:06:59,000 sakemm inti iħassarha jew sakemm l-utent quits browser tiegħu jew tagħha għal kollox. 125 00:06:59,000 --> 00:07:02,000 >> Ejja tagħti ħarsa lejn eżempju ta 'kif dan il-ħaġa hija attwalment użati. 126 00:07:02,000 --> 00:07:07,000 Fil counter.php fost biċċiet tal-lum ta 'kodiċi 127 00:07:07,000 --> 00:07:09,000 aħna għandna l-linja li ġejja. 128 00:07:09,000 --> 00:07:13,000 Fil-bidu ta 'dan il-fajl għandna mazz ta' kummenti blu, li huma uninteresting għal issa. 129 00:07:13,000 --> 00:07:15,000 Iżda fil-linja 13 għandna linja ġdida, 130 00:07:15,000 --> 00:07:18,000 session_start, u li attwalment ma eżattament dak li jgħid. 131 00:07:18,000 --> 00:07:20,000 Huwa jibda sessjonijiet. 132 00:07:20,000 --> 00:07:25,000 Dan jippermetti li inti tuża dik kbar superglobal $ _session, u huwa sempliċi bħal dik. 133 00:07:25,000 --> 00:07:30,000 Issa, jekk aħna tipproċedi biex tħares lejn linja 16, ejja jippruvaw ċifra barra dak din il-paġna web huwa se jagħmlu. 134 00:07:30,000 --> 00:07:35,000 Jekk (isset ($ _SESSION ["counter"]) imbagħad imorru quddiem 135 00:07:35,000 --> 00:07:39,000 u jaħżen fil-varjabbli counter, kontro zghar, 136 00:07:39,000 --> 00:07:42,000 $ _SESSION ["Counter"]. 137 00:07:42,000 --> 00:07:45,000 Dan jidher li tiddikjara varjabbli lokali imsejjaħ counter 138 00:07:45,000 --> 00:07:48,000 minn ġewwa illi huwa tqegħid kopja ta 'dak kollu li huwa ġewwa tal-superglobal 139 00:07:48,000 --> 00:07:52,000 imsejjaħ sessjoni fil-post "counter". 140 00:07:52,000 --> 00:07:56,000 Inkella, apparentement, din il-kontro ftit varjabbli lokali, huwa initialized għal 0. 141 00:07:56,000 --> 00:08:01,000 >> Imma mbagħad ftit linji aktar tard fil 26 notifika dik il-kopja s-sessjoni ta 'kontro- 142 00:08:01,000 --> 00:08:06,000 ewlenin tagħha, għandha assenjata valur il-ġdid li huwa valur attwali tagħha flimkien ma '1. 143 00:08:06,000 --> 00:08:09,000 Fil-qosor, dan il-fajl jidher li l-aġġornament 144 00:08:09,000 --> 00:08:13,000 kontro li l-maħżuna ġewwa tal-superglobal sessjoni 145 00:08:13,000 --> 00:08:16,000 billi inkrementazzjoni sa l-1, iżda l-ewwel żżomm kopja tal-valur ta 'qabel 146 00:08:16,000 --> 00:08:20,000 billi maħżuna fil-varjabbli lokali imsejjaħ $ counter, 147 00:08:20,000 --> 00:08:22,000 u mbagħad stabbiliti hawn ejja ara dak li jibqa. 148 00:08:22,000 --> 00:08:24,000 Jirriżulta huwa pjuttost ħafna biss HTML. 149 00:08:24,000 --> 00:08:29,000 Fil-qiegħ ta 'din il-paġna naraw fil-linja 37 li Żort dan is-sit 150 00:08:29,000 --> 00:08:33,000 Numru counter ta 'drabi, b'hekk m'hemm l-koppja ta' karatteristiċi interessanti hawnhekk. 151 00:08:33,000 --> 00:08:36,000 Wieħed, dan huwa manifestament varjabbli, imma mhuwiex biżżejjed li biss jitqiegħed 152 00:08:36,000 --> 00:08:39,000 $ Kontro fil-korp ta 'HTML tiegħek minħabba l-kors 153 00:08:39,000 --> 00:08:43,000 jekk huwa biss hemm fost PHP HTML tiegħek se tassumi li jinsab biss HTML. 154 00:08:43,000 --> 00:08:48,000 Inti litteralment tixtieq $ counter li għandhom jiġu stampati fuq l-iskrin. 155 00:08:48,000 --> 00:08:51,000 >> Iżda minflok billi twaqqa fil-modalità PHP 156 00:08:51,000 --> 00:08:55,000 ma 'din il-biċċa ta' sintassi nistgħu dinamikament daħħal valur hawn 157 00:08:55,000 --> 00:08:58,000 simili ħafna fl-ispirtu għal dak li għamilna aħħar darba ma 158 00:08:58,000 --> 00:09:00,000 ddaħħal valuri fil-kordi. 159 00:09:00,000 --> 00:09:04,000 Fil-fatt, din hija biss notazzjoni shorthand biex tgħid xi ħaġa bħal din litteralment, 160 00:09:04,000 --> 00:09:12,000 print ($ counter) jew saħansitra xi ħaġa simili printf (% s, kontro), 161 00:09:12,000 --> 00:09:14,000 jew saħansitra, kif inti tista raw online jew fil-kotba, 162 00:09:14,000 --> 00:09:17,000 hemm funzjoni fil-PHP eku imsejħa 163 00:09:17,000 --> 00:09:20,000 li ma l-istess ħaġa, u kollha ta 'dawn huma modi biss itwal xejn b'xejn 164 00:09:20,000 --> 00:09:25,000 ta 'tgħid 00:09:28,000 F'dan il-każ waħda inti m'għandekx bżonn biex 166 00:09:28,000 --> 00:09:30,000 l-PHP kelma wara l-kwistjoni mark. 167 00:09:30,000 --> 00:09:34,000 Dan huwa notazzjoni shorthand għal, għal darb'oħra, dak li aħna biss raw mument ilu 168 00:09:34,000 --> 00:09:37,000 li huwa b'repetizzjoni xi valur. 169 00:09:37,000 --> 00:09:39,000 >> Ejja naraw dak li l-riżultat aħħari ta 'dan fil-fatt hu. 170 00:09:39,000 --> 00:09:43,000 Let me go fuq fil-fajl counter.php tagħna, 171 00:09:43,000 --> 00:09:47,000 u aħna ser tara li David biss għamel żball bil-logħob bil-kodiċi hemmhekk. 172 00:09:47,000 --> 00:09:50,000 Ejja ħa mmorru jiffissaw xi hu invitat up, 173 00:09:50,000 --> 00:09:54,000 u l-iżball jidher li jkun hemm, marret, fuq il-linja 37. 174 00:09:54,000 --> 00:09:59,000 Skond il-quċċata ta 'din il-paġna Żort dan is-sit 0 darbiet. 175 00:09:59,000 --> 00:10:02,000 Ukoll, ejja imorru quddiem issa, u fil-quċċata tal-browser ikklikkja fuq il- 176 00:10:02,000 --> 00:10:05,000 rikarigu ikona, u I ikklikkja rikarigu, 177 00:10:05,000 --> 00:10:12,000 u issa stajt żar is-sit 1 ħin, 2, 3, 4, 5, 6, 7, 8. 178 00:10:12,000 --> 00:10:16,000 U fil-fatt, jekk inħarsu lejn is-sors ta 'din il-paġna tas-source code attwali qed tinbidel, 179 00:10:16,000 --> 00:10:19,000 u avviż-nuqqas totali ta 'kwalunkwe PHP, u dan għaliex 180 00:10:19,000 --> 00:10:23,000 Kodiċi PHP huwa evalwat jew interpretata server sekondarji, 181 00:10:23,000 --> 00:10:27,000 u sabiex dan ifisser li l-produzzjoni ta 'l-iskrittura PHP huwa dak li finalment mibgħuta lill-browser, 182 00:10:27,000 --> 00:10:31,000 li f'dan il-każ hija xi HTML prima u xi test prima. 183 00:10:31,000 --> 00:10:33,000 X'qed jiġri hawn? 184 00:10:33,000 --> 00:10:37,000 >> Ukoll, mal-linji relattivament ftit tal-kodiċi I am kapaċi li jaħżen 185 00:10:37,000 --> 00:10:40,000 persistenti matul il-kors ta 'diversi sekondi, jew jekk aħna stenniet twil biżżejjed, 186 00:10:40,000 --> 00:10:44,000 minuti, saħansitra siegħa, xi valur b'mod li jagħmel HTTP 187 00:10:44,000 --> 00:10:47,000 jidher bħala għalkemm stateful konna tinżamm 188 00:10:47,000 --> 00:10:51,000 F'dan ir-rigward lis-server, u huwa biss ftakar dak I told aħħar darba, 189 00:10:51,000 --> 00:10:55,000 iżda fir-realtà hemm mazz sħiħ ta 'kumplessità għaddej minn taħt il-barnuża 190 00:10:55,000 --> 00:10:59,000 jinvolvu cookies li l-li jippermettu PHP li tagħti me dan illużjoni 191 00:10:59,000 --> 00:11:02,000 ta 'dan shopping cart simili karatteristika. 192 00:11:02,000 --> 00:11:05,000 Għal issa, eżempju wieħed trivjali fejn aħna qed biss ħażna numru sħiħ, 193 00:11:05,000 --> 00:11:08,000 iżda li karatteristika se terga 'lura tkun ta' valur kbir 194 00:11:08,000 --> 00:11:10,000 meta nibdew nitkellmu dwar proġetti aktar kumplessi, 195 00:11:10,000 --> 00:11:12,000 fosthom il-problema stabbilita 7. 196 00:11:12,000 --> 00:11:16,000 Din hija problema ħafna aħħar tiegħek stabbiliti fil-CS50. 197 00:11:16,000 --> 00:11:19,000 Naf, huwa hekk imdejjaq, imma dak li inti ser issib hija li aħna qed tmur biex jikkonkludu 198 00:11:19,000 --> 00:11:22,000 din il-parti tas-semestru mill-fatt transizzjonijiet 199 00:11:22,000 --> 00:11:25,000 mill-kuntest ta 'C ċertament għall-kuntest tal-PHP 200 00:11:25,000 --> 00:11:27,000 iżda waqt li jużaw xi wħud mill-prinċipji fundamentali ħafna istess 201 00:11:27,000 --> 00:11:29,000 konna tkellimna dwar għal xi żmien. 202 00:11:29,000 --> 00:11:33,000 >> L-għan ma pset 7 huwa li timplimenta CS50 Finanzi, 203 00:11:33,000 --> 00:11:37,000 li hija l-verżjoni tiegħek ta 'Yahoo Finanzi jew Google Finanzi 204 00:11:37,000 --> 00:11:40,000 jew anke Etrade.com fejn għandek il-ħila biex 205 00:11:40,000 --> 00:11:43,000 tfittex up prezzijiet istokk għall simboli mogħtija, iżda anke aktar minn dak 206 00:11:43,000 --> 00:11:48,000 għandek il-ħila li "jixtru" u "biegħ" ħażniet 207 00:11:48,000 --> 00:11:51,000 li huma nnegozjati fuq boroż varji għaliex kif din il-paġna home 208 00:11:51,000 --> 00:11:55,000 hawn jissuġġerixxi, li huwa verament il-punt sa fejn konna beda 209 00:11:55,000 --> 00:11:59,000 is-sett problema għalik, inti għandek forma login li titlob għall-user name u password. 210 00:11:59,000 --> 00:12:03,000 Hija għandha buttuna issottometti, iżda wara dan, kif aħna ser eventwalment tara, 211 00:12:03,000 --> 00:12:06,000 m'hemm xejn verament għaddejjin taħt il-barnuża iżda għaliex 212 00:12:06,000 --> 00:12:09,000 jibqa għalik biex jimplimentaw il-ħila biex jirreġistra utenti ġodda, 213 00:12:09,000 --> 00:12:12,000 l-abbiltà li jixtru ħażniet, ibigħu l-istokk, 214 00:12:12,000 --> 00:12:14,000 li fil-fatt tfittex up prezzijiet istokk kurrenti. 215 00:12:14,000 --> 00:12:17,000 >> U fil-fatt, dan se jkun dinja reali kemm jista 'jkun għaliex għamilna 216 00:12:17,000 --> 00:12:20,000 jinkludu daqsxejn ta 'kodiċi li inti se tippermetti b'funzjoni waħda 217 00:12:20,000 --> 00:12:25,000 li jsaqsu Yahoo Finanzi, li wonderfully jagħmel data b'xejn disponibbli 218 00:12:25,000 --> 00:12:31,000 biex wieħed ifittex l-prezzijiet istokk ibbażati fuq il-simbolu istokk jew simbolu ticker, 219 00:12:31,000 --> 00:12:34,000 u inti tikseb lura l-prezz istokk kurrenti tal-ġurnata. 220 00:12:34,000 --> 00:12:37,000 Id-data li int attwalment tara f'dan pset partikolari se tkun 221 00:12:37,000 --> 00:12:40,000 dwar kif fid-dinja reali kif tista 'tikseb hekk li int attwalment interfacing 222 00:12:40,000 --> 00:12:43,000 mal-ħażniet dinjija reali, il-prezzijiet fid-dinja reali, 223 00:12:43,000 --> 00:12:47,000 u ser naraw kemm flus inti tista 'tagħmel forsi 224 00:12:47,000 --> 00:12:51,000 matul il-jiem diversi li jmiss ta 'playing ma' sett tiegħek problema stess. 225 00:12:51,000 --> 00:12:55,000 >> Iżda l ejja 1 stabbilit l-istadju għall kif disinn xi ħaġa li ċertament aktar ikkumplikat 226 00:12:55,000 --> 00:12:59,000 minn counter.php, li l-aktar ikkumplikat minn kwalunkwe waħda mill-eżempji IMs Frosh s'issa, 227 00:12:59,000 --> 00:13:02,000 u ejja jippruvaw li tintroduċi xi mudelli ftit hawn li jippermettu magħna 228 00:13:02,000 --> 00:13:06,000 kemm għall pset 7 u forsi għall-proġett finali tiegħek jekk inti tagħmel web ħaġa ibbażata 229 00:13:06,000 --> 00:13:11,000 li jżomm il-kodiċi tiegħek organizzata sew, li żżomm ruħek Sane, 230 00:13:11,000 --> 00:13:15,000 u li tieħu pass lejn jikkollaboraw, kemm jekk fil-proġett finali CS50 s 231 00:13:15,000 --> 00:13:18,000 jew lil hinn jekk inti tkompli program xi ħaġa fil-futur. 232 00:13:18,000 --> 00:13:21,000 Hemm din paradigma disinn ġenerali 233 00:13:21,000 --> 00:13:24,000 fix-xjenza tal-kompjuter u fl-iżvilupp tas-softwer b'mod aktar ġenerali 234 00:13:24,000 --> 00:13:27,000 magħrufa bħala MVC, mudell kontrollur fehma, 235 00:13:27,000 --> 00:13:30,000 u dan huwa akronimu iblah li jiddeskrivi idea sbieħ ħafna, 236 00:13:30,000 --> 00:13:34,000 li hija l-separazzjoni ta 'l-aspetti differenti tal-programm, 237 00:13:34,000 --> 00:13:39,000 speċifikament żamma separata tal-loġika jew il-loġika tan-negozju ta 'websajt 238 00:13:39,000 --> 00:13:42,000 b'tali mod li kull ħaġa li tinvolvi affarijiet simili 239 00:13:42,000 --> 00:13:45,000 sejħa funzjonijiet u juri dubji databases u simili 240 00:13:45,000 --> 00:13:48,000 jiġri mhux fost HTML tiegħek 241 00:13:48,000 --> 00:13:51,000 iżda fil-fajls separati, u tabilħaqq, hemm dan il-fajl 1 242 00:13:51,000 --> 00:13:54,000 tipikament li inti għandek imsejjaħ il-kontrollur 243 00:13:54,000 --> 00:13:56,000 li tassew l-imħuħ wara l-operazzjoni, u aħna ser tara eżempju 244 00:13:56,000 --> 00:13:58,000 ta 'dan fi ftit mument. 245 00:13:58,000 --> 00:14:01,000 >> Hemm mudell li huwa l-ipprogrammar kodiċi 246 00:14:01,000 --> 00:14:05,000 li ma l-jitkellem għal databases tiegħek, li taħdidiet biex Yahoo Finanzi u simili, 247 00:14:05,000 --> 00:14:08,000 u allura hemm il-V fil MVC, il-fehmiet, 248 00:14:08,000 --> 00:14:11,000 kollha ta 'l-għalf li l-relatata mal-estetika, l-fajls li attwalment fihom 249 00:14:11,000 --> 00:14:14,000 HTML tiegħek, forsi CSS tiegħek u simili. 250 00:14:14,000 --> 00:14:17,000 L-idea hawnhekk, kif din l-istampa jissuġġerixxi, huwa li l-kontrollur 251 00:14:17,000 --> 00:14:21,000 huwa l-fajl, kif aħna ser malajr tara u kif tkun taf partikolarment tara fil pset 7, 252 00:14:21,000 --> 00:14:24,000 li d-dinja taħdidiet permezz web browsers tagħhom. 253 00:14:24,000 --> 00:14:27,000 Dan huwa l-fajl li gets miżjura fuq l-internet pubbliku, 254 00:14:27,000 --> 00:14:30,000 imma l-kontrollur taħdidiet li potenzjalment mudell, 255 00:14:30,000 --> 00:14:34,000 li huwa wieħed jew aktar fajls oħra li fihom il-kodiċi relatat għad-data, 256 00:14:34,000 --> 00:14:37,000 kodiċi relatat mal databases u simili, u allura taħdidiet biex 257 00:14:37,000 --> 00:14:40,000 il-kontrollur wieħed jew aktar fajls oħra magħrufa bħala opinjonijiet, 258 00:14:40,000 --> 00:14:43,000 li huma l-estetika ta 'paġna web, mudelli ta' tip, 259 00:14:43,000 --> 00:14:47,000 li jista 'jieħu xi data bħala input, iżda fl-aħħar tal-ġurnata 260 00:14:47,000 --> 00:14:50,000 il-loġika biss ġewwa ta 'opinjoni għandha tkun il-forniment ta' dik id-data, 261 00:14:50,000 --> 00:14:53,000 iterazzjoni fuq linja u fil-fatt jobżoq xi 262 00:14:53,000 --> 00:14:56,000 HTML bbażata fuq konsenja tiegħu jew saħansitra xi ħaġa bħal PDF. 263 00:14:56,000 --> 00:14:59,000 >> X'hemm sbieħ dwar MVC hija li inti jista 'jkollhom fehmiet differenti 264 00:14:59,000 --> 00:15:02,000 ibbażat fuq it-tip ta 'mezz, ibbażati fuq it-tip ta' format tal-fajl li inti fil-fatt 265 00:15:02,000 --> 00:15:04,000 jridu juru lill-utent. 266 00:15:04,000 --> 00:15:10,000 Ejja tagħti ħarsa lejn xi ftit eżempji progressivament aktar kumplessi u mfassla tajjeb 267 00:15:10,000 --> 00:15:13,000 billi jibdew bl-ewwel verżjoni 0 hawn. 268 00:15:13,000 --> 00:15:16,000 Let me imorru quddiem u tiftaħ fl-direttorju MVC tagħna llum 269 00:15:16,000 --> 00:15:21,000 fajl imsejjaħ index.php fl-direttorju 0. 270 00:15:21,000 --> 00:15:26,000 Avviż dan huwa sit super sempliċi ħafna u underwhelming 271 00:15:26,000 --> 00:15:29,000 dan huwa tip ta 'verżjoni ta' 0 homepage għal CS50, 272 00:15:29,000 --> 00:15:32,000 u avviż kif għandna link għal Lectures, għandna link għal Sillabu, 273 00:15:32,000 --> 00:15:35,000 u jekk I segwi l-link għall Lectures avviż li l-URL 274 00:15:35,000 --> 00:15:39,000 top up huwa se jibdlu l lectures.php. 275 00:15:39,000 --> 00:15:44,000 Jekk I imbagħad segwi l-link għall-1 Ġimgħa avviż li l-bidliet URL għall week1.php. 276 00:15:44,000 --> 00:15:46,000 Jidher li hemm struttura ġerarkika pjuttost sempliċi hawn. 277 00:15:46,000 --> 00:15:49,000 >> Ejja tagħti ħarsa taħt il-barnuża lejn kif dan hija stabbilita, 278 00:15:49,000 --> 00:15:53,000 u fil-fatt, jekk I tħares lejn index.php huwa pjuttost sempliċi. 279 00:15:53,000 --> 00:15:57,000 Fil-fatt, anki jekk I sejjaħ dan il-fajl PHP hemm ebda kodiċi ta 'programmazzjoni attwali. 280 00:15:57,000 --> 00:16:01,000 Hemm xi kumment li I kiteb hawn fil-PHP biss sabiex l-utent ma jispiċċawx iqisuh. 281 00:16:01,000 --> 00:16:05,000 Of course, bħal qabel, xi ħaġa li bejniethom tags PHP 282 00:16:05,000 --> 00:16:08,000 gets interpretata, anki jekk huwa kumment, u sabiex tinterpreta kumment 283 00:16:08,000 --> 00:16:11,000 ifisser biss li tarmi l bogħod fl-aħħar tal-ġurnata u mhux attwalment 284 00:16:11,000 --> 00:16:15,000 jibagħtu lill-browser, hekk kollox hawnhekk huwa biss estetika. 285 00:16:15,000 --> 00:16:20,000 Jekk I jiftħu simili lectures.php din ukoll hija biss fajl kodifikat iebsa. 286 00:16:20,000 --> 00:16:23,000 Dan jiġri li għandu jissejjaħ xi ħaġa. PHP, 287 00:16:23,000 --> 00:16:27,000 imma huwa verament ftit. html, u week1.php, week2.php 288 00:16:27,000 --> 00:16:31,000 bl-istess mod huma biss Markup, hekk hemm mazz ta 'nuqqasijiet ta' dan id-disinn. 289 00:16:31,000 --> 00:16:33,000 Wieħed, huwa ammont kbir ta 'kopja / paste. 290 00:16:33,000 --> 00:16:37,000 Anki jekk l-unika ħaġa li l-bdil bejn dawn il-fajls hija l-lista unordered, 291 00:16:37,000 --> 00:16:41,000 l-tags LI, jien xorta jkollhom tip doc, HTML, ras, 292 00:16:41,000 --> 00:16:44,000 titolu, korp stretta, qrib HTML u aktar 293 00:16:44,000 --> 00:16:47,000 f'kull fajl waħdieni, li jfisser li jekk jien qatt trid biex jirristrutturaw 294 00:16:47,000 --> 00:16:50,000 din il-paġna web jew restylize dan I ikollhom imorru fi u bidla 295 00:16:50,000 --> 00:16:54,000 dawn il-fajls manwalment jew ma 'xi massiva isibu u tissostitwixxi. 296 00:16:54,000 --> 00:17:01,000 >> Ejja tieħu pass lejn disinn intelliġenti, aktar ħsieb fil-verżjoni 1 hawn 297 00:17:01,000 --> 00:17:04,000 fejn kif fis-jaqra me li konna inklużi sabiex inti tista 'tilgħab flimkien ma' 298 00:17:04,000 --> 00:17:07,000 dawn aktar komda fuq avviż dar li għandna hawn 299 00:17:07,000 --> 00:17:10,000 sommarju tal-fajls fil-verżjoni 1 ta 'dan is-sit, 300 00:17:10,000 --> 00:17:13,000 u jidher li stajt meħuda fuq ruħi li fattur out 301 00:17:13,000 --> 00:17:17,000 xi kodiċi komuni, header.php u footer.php. 302 00:17:17,000 --> 00:17:20,000 Ukoll, ejja tagħti ħarsa lejn x'hemm ġewwa l-ewwel waħda minn dawn. 303 00:17:20,000 --> 00:17:23,000 Header.php jistenna familjari, 304 00:17:23,000 --> 00:17:26,000 iżda avviż fejn ma nikseb maqtugħa? 305 00:17:26,000 --> 00:17:30,000 Dritt wara linja 19, b'tali mod li dak kollu li kienet komuni 306 00:17:30,000 --> 00:17:33,000 mill-index.php fajls, lectures.php, 307 00:17:33,000 --> 00:17:36,000 week1 u week2.php mill-eżempju preċedenti. 308 00:17:36,000 --> 00:17:40,000 What I ma kien kopja u kollox maqtugħin li kien komuni għal dawk kollha fajls, 309 00:17:40,000 --> 00:17:44,000 poġġih fil-fajl tal-header separat, u bl-istess mod fil footer.php 310 00:17:44,000 --> 00:17:48,000 ma napplika l-istess prinċipju li bih il-linji uniċi interessanti 311 00:17:48,000 --> 00:17:52,000 fil footer.php huma dawn iż-żewġ, korp stretta u HTML qrib. 312 00:17:52,000 --> 00:17:55,000 >> Imma dak li dan ifisser issa hija li fil-verżjoni l-ġdida 313 00:17:55,000 --> 00:17:59,000 ta 'avviż index.php kemm sempliċi li jistgħu jiksbu. 314 00:17:59,000 --> 00:18:02,000 Mogħtija, xi ftit aktar cryptic tfittex, ftit inqas intuwittivi 315 00:18:02,000 --> 00:18:06,000 biex isegwu fuq għal isfel, imma Alla tiegħi, li kollha li tkeċċija hija issa marret. 316 00:18:06,000 --> 00:18:10,000 Aħna jeħtieġu użu ta 'funzjoni PHP litteralment imsejħa jeħtieġu top up, 317 00:18:10,000 --> 00:18:15,000 li hija ħafna reminixxenti, tfakkar, ta 'C # Jinkludu mekkaniżmu. 318 00:18:15,000 --> 00:18:17,000 Aħna jeħtieġu header.php fil-quċċata. 319 00:18:17,000 --> 00:18:20,000 Aħna jeħtieġu footer.php fil-qiegħ, u l-unika ħaġa li hija differenti 320 00:18:20,000 --> 00:18:25,000 jew speċjali dwar dan il-fajl huwa l-kontenut li kien ifisser li jkun uniku lilha. 321 00:18:25,000 --> 00:18:29,000 Jekk I imbagħad tmur fis, jiġifieri, lectures.php, l-istess prinċipju japplika. 322 00:18:29,000 --> 00:18:32,000 Għal darb'oħra, xi kummenti up quċċata, iżda mbagħad I jeħtieġu header, footer jeħtieġu, 323 00:18:32,000 --> 00:18:35,000 u fl bejn dan huwa biss il-kontenut li l-fatt inbidlet. 324 00:18:35,000 --> 00:18:38,000 U jekk ħarisna fis Ġimgħa 1 u Ġimgħa 2 aħna'd tara 325 00:18:38,000 --> 00:18:42,000 li l-istess prinċipju ġie applikat hemmhekk. 326 00:18:42,000 --> 00:18:44,000 Well, aħna mhux qed pjuttost isir hemmhekk. 327 00:18:44,000 --> 00:18:48,000 >> Ejja tagħti ħarsa lejn verżjoni 2, li għandha struttura simili, 328 00:18:48,000 --> 00:18:50,000 iżda avviż issa stajt introduċa xi ħaġa oħra. 329 00:18:50,000 --> 00:18:53,000 F'konformità 10 stajt introduċa helpers.php, 330 00:18:53,000 --> 00:18:55,000 li apparentement fih funzjonijiet helper. 331 00:18:55,000 --> 00:18:58,000 Funzjoni helper huwa ġeneralment funzjoni relattivament qasir 332 00:18:58,000 --> 00:19:01,000 li tikteb biex jgħinuk f'diversi postijiet, 333 00:19:01,000 --> 00:19:04,000 u ejja ara x'hemm ġewwa tal helpers.php. 334 00:19:04,000 --> 00:19:07,000 F'dan il-każ, jidher qisu għandu 2 funzjonijiet. 335 00:19:07,000 --> 00:19:10,000 Recall mill-jum ieħor ma eżempju kubu tagħna 336 00:19:10,000 --> 00:19:13,000 inti tista 'tiddefinixxi l-funzjonijiet tiegħek fil-PHP, u dak I ghamilt issa huwa stajt 337 00:19:13,000 --> 00:19:17,000 funzjonijiet iddefiniti imsejħa jirrendu footer u jirrendi header, 338 00:19:17,000 --> 00:19:21,000 l-ewwel wieħed jieħu parametru imsejjaħ data, 339 00:19:21,000 --> 00:19:25,000 li default valur huwa firxa vojta, kif issuġġerit hemm, 340 00:19:25,000 --> 00:19:29,000 u nistgħu ngħidu tikteb din saħansitra aktar qosor fl-aħħar verżjoni ta 'PHP 341 00:19:29,000 --> 00:19:32,000 billi qal parentesi kwadri miftuħa, magħluqa parentesi kwadri. 342 00:19:32,000 --> 00:19:35,000 Dan ifisser firxa vojta ta 'daqs 0 iżda madankollu firxa. 343 00:19:35,000 --> 00:19:38,000 >> Din il-funzjoni estratt huwa xi ftit speċjali li 344 00:19:38,000 --> 00:19:41,000 dak li ma huwa jieħu bħala argument tagħha firxa assoċjattiva 345 00:19:41,000 --> 00:19:45,000 li għandha 0 jew aktar pari valur ewlenin, u jekk ikollok ewlieni ta 'foo 346 00:19:45,000 --> 00:19:48,000 u valur ta 'bar-funzjoni estratt 347 00:19:48,000 --> 00:19:51,000 joħloq sitwazzjoni li fiha issa, mill-linja 11, 348 00:19:51,000 --> 00:19:57,000 ikollok varjabbli lokali imsejjaħ $ foo li l-valur huwa bar. 349 00:19:57,000 --> 00:19:59,000 U jekk kellek ċwievet aktar u l-valuri fil-firxa tad-data, 350 00:19:59,000 --> 00:20:03,000 bl-istess mod kieku huma jkunu estratti fl-ambitu lokali 351 00:20:03,000 --> 00:20:06,000 ispazju isem jew b'tali mod li footer.php u 352 00:20:06,000 --> 00:20:09,000 l-istess idea stabbiliti hawn hekk li header.php 353 00:20:09,000 --> 00:20:12,000 jkollhom aċċess għal dawk il-varjabbli. 354 00:20:12,000 --> 00:20:15,000 Fil-fatt, let me tiftaħ mill-ġdid header.php 355 00:20:15,000 --> 00:20:18,000 u jiġbed l-attenzjoni li issa dak li jidher qisu f'dan il-verżjoni. 356 00:20:18,000 --> 00:20:22,000 >> Pjuttost milli hard kodifika CS50 bħala t-titolu għal kull paġna waħda 357 00:20:22,000 --> 00:20:24,000 Avviż l-dinamiżmu li huwa possibbli issa. 358 00:20:24,000 --> 00:20:29,000 B'mod konformi 5 jien b'repetizzjoni varjabbli titolu, 359 00:20:29,000 --> 00:20:34,000 imma l-ewwel jien tgħaddi dan varjabbli titolu għal funzjoni msejħa htmlspecialchars. 360 00:20:34,000 --> 00:20:38,000 Isem stupid għal funzjoni, sakemm huwa, iżda huwa verament ma dak li jgħid. 361 00:20:38,000 --> 00:20:41,000 Hija tiżgura li kwalunkwe karattri speċjali 362 00:20:41,000 --> 00:20:46,000 fis-sekwenza li kien għadda fi huma kif suppost maħruba HTML. 363 00:20:46,000 --> 00:20:49,000 Dan huwa fil-fatt mod li jiġi evitat xi ħaġa imsejħa cross sit attakk scripting 364 00:20:49,000 --> 00:20:52,000 jista 'xi ħadd li biha b'mod malizzjuż jew aċċidentalment 365 00:20:52,000 --> 00:20:55,000 injetta HTML tagħhom stess fis-website tiegħek 366 00:20:55,000 --> 00:20:59,000 billi pasta fis xi forma, per eżempju, 367 00:20:59,000 --> 00:21:02,000 xi ħaġa li inti ma kinux pjuttost jistennew, speċjalment il-kodiċi JavaScript, 368 00:21:02,000 --> 00:21:05,000 kif aħna ser nitkellmu dwar fil-ġimgħa jew darba 2 ta. 369 00:21:05,000 --> 00:21:08,000 >> Dan header.php issa, huwa ħsieb 370 00:21:08,000 --> 00:21:12,000 fis-sens li tippermetti li tara estetikament l-kontenuti ta 'ċerti sett tad-dejta. 371 00:21:12,000 --> 00:21:14,000 Iżda aktar speċifiku, huwa template. 372 00:21:14,000 --> 00:21:19,000 Din hija tip ta 'pjan issa' dak li aħna rridu l-header ta 'kull paġna biex look like, 373 00:21:19,000 --> 00:21:23,000 imma hemm xi dinamiżmu li aħna rridu t-titolu li għandu jiddaħħal dinamiku 374 00:21:23,000 --> 00:21:26,000 ibbażata fuq il-varjabbli titolu 375 00:21:26,000 --> 00:21:30,000 li kien estratt meta aħna imsejjaħ, għal darb'oħra, 376 00:21:30,000 --> 00:21:33,000 il-funzjoni header jirrendi. 377 00:21:33,000 --> 00:21:36,000 Issa, jekk aħna ħares lejn footer jirrendu, hemm attwalment mhuwiex ħafna użu ta 'dak id-dritt issa 378 00:21:36,000 --> 00:21:40,000 għaliex fil footer.php hemm ebda dinamiżmu tkun xi tkun. 379 00:21:40,000 --> 00:21:43,000 Jista 'jkun hemm, iżda fil-mument huwa lista kodifikata iebsa ta' 2 tikketti, 380 00:21:43,000 --> 00:21:46,000 imma l-idea istess japplika, b'tali mod li fil-fatt tissuġġerixxi għaliex 381 00:21:46,000 --> 00:21:49,000 aħna ma jaħlux ħin li jkollhom header jirrendi u funzjoni jirrendi footer? 382 00:21:49,000 --> 00:21:52,000 Let me go minflok issa fil-verżjoni 3, 383 00:21:52,000 --> 00:21:56,000 u fil-verżjoni 3 fil helpers I iddeċieda li jissimplifika dan saħansitra aktar. 384 00:21:56,000 --> 00:21:58,000 >> Let me jkollhom il-funzjoni jirrendi 1. 385 00:21:58,000 --> 00:22:02,000 Let me jkollhom jieħdu argument ieħor, din id-darba sejjaħ template, 386 00:22:02,000 --> 00:22:05,000 li huwa maħsub li jkun l-isem ta 'mudell, 387 00:22:05,000 --> 00:22:11,000 u mbagħad I se concatenate presumptuously. PHP għall-valur li varjabbli, il- 388 00:22:11,000 --> 00:22:17,000 u mbagħad jekk teżisti foo.php, bar.php jew header.php u footer.php, 389 00:22:17,000 --> 00:22:20,000 allura jien ser jimxi 'l quddiem u estratt tad-data varjabbli 390 00:22:20,000 --> 00:22:23,000 u mbagħad jeħtieġu li triq. 391 00:22:23,000 --> 00:22:29,000 Fi kliem ieħor, sabiex tuża din issa, jekk I jiftħu index.php 392 00:22:29,000 --> 00:22:32,000 avviż li jien ma sejħa header jirrendi aktar. 393 00:22:32,000 --> 00:22:36,000 I biss sejħa tirrendi, iżda I jgħaddu fil-valur kwotat ta header 394 00:22:36,000 --> 00:22:39,000 biex ikun ċar liema template I attwalment tixtieq li tagħbija. 395 00:22:39,000 --> 00:22:41,000 >> Imbagħad hawn fuq avviż dak li qed nagħmel. 396 00:22:41,000 --> 00:22:44,000 Jien tgħaddi b'mod dinamiku ewlieni ta 'titolu, 397 00:22:44,000 --> 00:22:47,000 valur ta 'CS50, u dan ukoll, kif rajna qabel, 398 00:22:47,000 --> 00:22:51,000 tista 'ssir aktar imqassra fl-aħħar verżjoni ta' PHP 399 00:22:51,000 --> 00:22:54,000 fejn nista 'tissostitwixxi l-funzjoni firxa bil-parentesi kwadri, 400 00:22:54,000 --> 00:22:57,000 li nipproponi hija saħansitra aktar leġġibbli u ċertament 401 00:22:57,000 --> 00:22:59,000 ftit aktar faċli għat-tip. 402 00:22:59,000 --> 00:23:02,000 U naturalment, mas-sejħa jirrendi footer fil-qiegħ, 403 00:23:02,000 --> 00:23:05,000 aħna ma jolqot li tgħaddi minn tieni argument fil-livelli kollha, l-ebda array assoċjattiva, 404 00:23:05,000 --> 00:23:07,000 għaliex hemm ġewwa xejn dinamika ta 'dak footer. 405 00:23:07,000 --> 00:23:10,000 Huwa biss xi tags mill-qrib għal HTML. 406 00:23:10,000 --> 00:23:14,000 Tajba, aħna qed tieħu passi lejn verament tindif affarijiet up hawn, 407 00:23:14,000 --> 00:23:17,000 iżda let me jiftħu 2 eżempji finali. 408 00:23:17,000 --> 00:23:21,000 Dan wieħed, numru 4, avviż li stajt għamel deċiżjoni konxja issa 409 00:23:21,000 --> 00:23:26,000 li jtejbu fuq l-eżempju preċedenti billi finalment tuża xi ġerarkija għall-fajls tiegħi. 410 00:23:26,000 --> 00:23:29,000 >> Avviż li fil dan is-sommarju, f'dan taqra lili, stajt introduċa 411 00:23:29,000 --> 00:23:32,000 l tinkludi direttorju u direttorju templates 412 00:23:32,000 --> 00:23:35,000 kontenut li ser ikunu l-affarijiet nixtieq li tinkludi 413 00:23:35,000 --> 00:23:38,000 u l-mudelli li nixtieq li tirrendi, rispettivament. 414 00:23:38,000 --> 00:23:42,000 Dan huwa verament lili jkun anali u jippruvaw iżommu l-affarijiet puliti, 415 00:23:42,000 --> 00:23:45,000 jżommu fajls relatati flimkien, imma r-riżultat finali 416 00:23:45,000 --> 00:23:48,000 hija li issa għandna setup ftit tidier, imma rridu niftakru issa 417 00:23:48,000 --> 00:23:51,000 fil, per eżempju, index.php 418 00:23:51,000 --> 00:23:55,000 meta aħna jeħtieġu l-helpers.php fajl 419 00:23:55,000 --> 00:24:01,000 irridu issa jeħtieġu dan permezz jinkludi / helpers.php 420 00:24:01,000 --> 00:24:06,000 aktar milli sempliċiment tgħid helpers.php għaliex issa huwa attwalment fil-direttorju sub. 421 00:24:06,000 --> 00:24:09,000 Issa, bħala twarrib, tkun taf tara f'dawn l-eżempji u xi oħrajn 422 00:24:09,000 --> 00:24:11,000 funzjonijiet bħall jeħtieġu, jeħtieġu darba. 423 00:24:11,000 --> 00:24:15,000 Hemm fil-fatt funzjoni hija stess imsejħa jinkludu, u dawn kollha għandhom imġieba kemmxejn differenti. 424 00:24:15,000 --> 00:24:18,000 Hawnhekk I say jeħtieġu darba li tagħmel super ċara li jien biss jixtiequ dawk 425 00:24:18,000 --> 00:24:20,000 helpers inklużi fil-proġett tiegħi darba. 426 00:24:20,000 --> 00:24:24,000 Imma jekk jien bir-reqqa u jekk jien attwalment ħsieb permezz loġika tiegħi kif suppost 427 00:24:24,000 --> 00:24:27,000 għandu jkun biżżejjed wisq biss biex jgħidu jeħtieġu top up 428 00:24:27,000 --> 00:24:31,000 sakemm I myself ma aċċidentalment jeħtieġu li fajl istess x'imkien ieħor. 429 00:24:31,000 --> 00:24:34,000 Fil-fatt, dan huwa mod kemmxejn aktar effiċjenti ta 'nagħmlu l-affarijiet imbagħad bl-użu 430 00:24:34,000 --> 00:24:38,000 jeħtieġu darba, so I ser trim l-isfel għal ftit jeħtieġu. 431 00:24:38,000 --> 00:24:40,000 >> Ejja tieħu pass ulterjuri. 432 00:24:40,000 --> 00:24:46,000 Dan l-eżempju l-aħħar issa, verżjoni 5, għandha ġerarkija folder saħansitra aktar nodfa. 433 00:24:46,000 --> 00:24:50,000 Avviż dak I ghamilt hawn kull l-taqra lili f'dan il-verżjoni finali 434 00:24:50,000 --> 00:24:54,000 huwa issa għandi direttorju HTML tiegħi, li I kellna dan il-ħin, 435 00:24:54,000 --> 00:24:58,000 imma ġewwa ta 'hemm issa huwa biss index.php, lectures.php, 436 00:24:58,000 --> 00:25:01,000 week1.php u week2.php. 437 00:25:01,000 --> 00:25:05,000 Il jinkludi direttorju issa jgħix flimkien tad-direttorju HTML, 438 00:25:05,000 --> 00:25:08,000 hekk fl-istess livell bħala aħwa, biex ngħidu hekk. 439 00:25:08,000 --> 00:25:10,000 Allura ma l-folder templates. 440 00:25:10,000 --> 00:25:14,000 Il-takeaway prinċipali hawnhekk hija li stajt introduċa istruttura ftit aktar, 441 00:25:14,000 --> 00:25:17,000 iżda l-karatteristika ewlenija issa hija li biss il-fajls 442 00:25:17,000 --> 00:25:21,000 li jeħtieġ li jiġu web aċċessibbli, pubblikament indirizzabbli 443 00:25:21,000 --> 00:25:25,000 minn URL fuq l-internet pubbliku huma fl-direttorju HTML tiegħi. 444 00:25:25,000 --> 00:25:28,000 >> Fajls Sadanittant, oħrajn, helpers.php, footer.php, 445 00:25:28,000 --> 00:25:32,000 header.php, li huma forsi forsi aktar sensittivi, 446 00:25:32,000 --> 00:25:35,000 forsi helpers fil-fatt għandha xi ismijiet utent u passwords jew xi intellettwali 447 00:25:35,000 --> 00:25:39,000 proprjetà ta 'mini, funzjonijiet I really ma jridux id-dinja biex tara, anki jekk aċċidentalment. 448 00:25:39,000 --> 00:25:45,000 Huwa prattika tajba li jżomm mill-direttorju HTML pubbliku 449 00:25:45,000 --> 00:25:48,000 xi fajls li m'għandhomx bżonn lilhom infushom bħala pubbliku. 450 00:25:48,000 --> 00:25:51,000 Kulma għandek tagħmel f'dan il-każ meta wieħed iħares lejn, per eżempju, 451 00:25:51,000 --> 00:25:55,000 fajl index.php-direttorju HTML, l- 452 00:25:55,000 --> 00:25:58,000 Avviż aħna biss għandhom ikunu ftit aktar attenti meta jeħtieġu 453 00:25:58,000 --> 00:26:00,000 jew jeħtieġu ladarba dan il-fajl. 454 00:26:00,000 --> 00:26:03,000 I bżonn l-ewwel tagħmel .. biex tmur fil-direttorju ġenitur, 455 00:26:03,000 --> 00:26:06,000 mela / jinkludi / helpers.php 456 00:26:06,000 --> 00:26:12,000 li adsa lura fl biex jiksbu l-fajl li I care about. 457 00:26:12,000 --> 00:26:16,000 >> Kwalunkwe mistoqsijiet imbagħad fuq MVC 458 00:26:16,000 --> 00:26:20,000 jew dan Inkarnazzjoni relattivament sempliċi tiegħu? 459 00:26:20,000 --> 00:26:23,000 U let me jagħmluha ċara li aħna iffukat pjuttost ftit fuq il- 460 00:26:23,000 --> 00:26:27,000 V hawn, l-opinjonijiet u l-fatturar barra ta 'dawn il-mudelli. 461 00:26:27,000 --> 00:26:30,000 Imxejna ma verament distint M minn C għadha biss. 462 00:26:30,000 --> 00:26:33,000 Fil-fatt, jeżisti l-ebda M hawnhekk, u anki C tagħna, 463 00:26:33,000 --> 00:26:36,000 kontrollur, mhuwiex verament tagħmel kollha li ħafna, imma int ser tingħata ħafna aktar 464 00:26:36,000 --> 00:26:39,000 familjari ma 'dawn iż-żewġ ittri 2 minn MVC, 465 00:26:39,000 --> 00:26:43,000 jew pjuttost, int ser tingħata ħafna aktar familjari mal-C 466 00:26:43,000 --> 00:26:49,000 fil-MVC għal sett problema 7, b'hekk m'hemm l-aktar ta 'dak fuq l-orizzont. 467 00:26:49,000 --> 00:26:51,000 Mistoqsijiet? 468 00:26:51,000 --> 00:26:53,000 Hemm fil-fatt ebda wieħed hawn. 469 00:26:53,000 --> 00:26:57,000 >> Okay, ejja issa jimxu fuq is-suġġett tat-tieni u finali għal-lum. 470 00:26:57,000 --> 00:27:00,000 Dan huwa l-introduzzjoni ta 'database. 471 00:27:00,000 --> 00:27:03,000 Sa dan il-punt aħna kellna ftit modi ta 'jaħżen id-data. 472 00:27:03,000 --> 00:27:05,000 Imxejna użati varjabbli. 473 00:27:05,000 --> 00:27:08,000 Lura fil-fajl C tagħna, I / O diskussjoni bdejna nużaw fajls test 474 00:27:08,000 --> 00:27:11,000 u l-użu fajls simili fprintf, u allura aħna saħansitra bdew 475 00:27:11,000 --> 00:27:14,000 jitkellem dwar CSV fajls ftit, il-valuri comma separati, 476 00:27:14,000 --> 00:27:17,000 sabiex kollha ta 'dawn ħallietna nsiru li jkun hemm data maħżuna 477 00:27:17,000 --> 00:27:19,000 jew mhux persistenti jew persistenti. 478 00:27:19,000 --> 00:27:23,000 Iżda anki CSVs ma humiex verament jwasslu għall-tiftix 479 00:27:23,000 --> 00:27:25,000 u l-inseriment u t-tħassir. 480 00:27:25,000 --> 00:27:28,000 Huwa tassew biss fajl test stupid separati mill-virgoli 481 00:27:28,000 --> 00:27:30,000 ringiela minn ringiela minn ringiela minn ringiela, jekk hekk tixtieq li 482 00:27:30,000 --> 00:27:32,000 tfittxija dan il-fajl l-aħjar li tista 'tagħmel huwa verament tfittxija lineari. 483 00:27:32,000 --> 00:27:34,000 Int għandek tibda fil-quċċata tal-fajl, aqra l-ħaġa sħiħa fil- 484 00:27:34,000 --> 00:27:36,000 u jfittxu għal xi valur ta 'interess. 485 00:27:36,000 --> 00:27:39,000 Jekk inti tixtieq li daħħal fis hija ma għandek tagħmel l-istess ħaġa, 486 00:27:39,000 --> 00:27:41,000 iterazzjoni fuqha u ddaħħal f'post partikolari, 487 00:27:41,000 --> 00:27:45,000 u fil-fatt, inti għandek tagħmel kollha ta 'l loġika tiftix yourself. 488 00:27:45,000 --> 00:27:49,000 >> Inti ma tistax tagħmel mudell għaqlija tqabbil fuq fajl CSV sakemm inti stess jikteb il-kodiċi. 489 00:27:49,000 --> 00:27:51,000 Inti ma tistax tagħmel filtrazzjoni ta 'fajl CSV 490 00:27:51,000 --> 00:27:53,000 sakemm inti stess jikteb il-kodiċi. 491 00:27:53,000 --> 00:27:56,000 Ma Ikun sbieħ jekk xi ħadd ieħor jitqiegħdu fil kollha ta 'l-isforz 492 00:27:56,000 --> 00:27:59,000 li fil-fatt jagħmlu tiftix faċli u inserzjoni faċli 493 00:27:59,000 --> 00:28:01,000 u t-tħassir u l-aġġornament u oħrajn? 494 00:28:01,000 --> 00:28:04,000 Dan huwa eżattament dak li database huwa. 495 00:28:04,000 --> 00:28:07,000 SQL, lingwa mistoqsija strutturat, huwa pass ieħor lingwa 496 00:28:07,000 --> 00:28:10,000 li aħna qed jintroduċu hawn illum, iżda dan ukoll huwa pjuttost aċċessibbli, 497 00:28:10,000 --> 00:28:13,000 u dak li aħna qed verament se tagħmel huwa biss ġewwieni minnha wħud mill-aktar saljenti 498 00:28:13,000 --> 00:28:16,000 Karatteristiċi hekk li għal pset 7, u jekk inti tagħmel web ħaġa ibbażat, 499 00:28:16,000 --> 00:28:19,000 proġett finali tiegħek, inti għandek il-ħila biex tesprimi ruħek 500 00:28:19,000 --> 00:28:22,000 f'termini ta 'mistoqsijiet tad-data. 501 00:28:22,000 --> 00:28:25,000 Inti għandek l-abbiltà li jaħżen ftit jew ħafna ta 'data 502 00:28:25,000 --> 00:28:28,000 b'mod ħafna aktar strutturat li se fl-aħħar tal-ġurnata 503 00:28:28,000 --> 00:28:32,000 jagħmlu l-ħajja tiegħek aktar faċli għaliex ma SQL inti tista 'tesprimi ruħek 504 00:28:32,000 --> 00:28:35,000 ħafna iktar preċiż, ħafna aktar metodiku sabiex 505 00:28:35,000 --> 00:28:40,000 nikseb lura xi sottosett ta 'data minn korp ikbar ta' dejta. 506 00:28:40,000 --> 00:28:45,000 >> Inti tista 'taħseb ta' database, f'dan il-każ, ta 'database SQL, verament bħal Excel 507 00:28:45,000 --> 00:28:48,000 jew Numri fejn huwa spreadsheet, 508 00:28:48,000 --> 00:28:50,000 jew forsi spreadsheets multipli, u spreadsheet, naturalment, 509 00:28:50,000 --> 00:28:53,000 għandha ringieli u kolonni, u dan għaliex 510 00:28:53,000 --> 00:28:56,000 Databases SQL huma relazzjonali, relazzjonali fis-sens 511 00:28:56,000 --> 00:28:59,000 li jaħżen id-data f'termini ta 'dawn it-tabelli, 512 00:28:59,000 --> 00:29:01,000 ringieli u kolonni. 513 00:29:01,000 --> 00:29:03,000 Dawn huma ogħla kapaċi daqs xi ħaġa bħal spreadsheet, 514 00:29:03,000 --> 00:29:05,000 u spreadsheet huwa maħsub biex jintuża mill-bniedem. 515 00:29:05,000 --> 00:29:08,000 A database huwa maħsub biex jintuża minn programmer 516 00:29:08,000 --> 00:29:12,000 kitba kodiċi kontra dan, hekk l-Inkarnazzjoni ta 'database 517 00:29:12,000 --> 00:29:14,000 se jkun jew linja ta 'kmand. 518 00:29:14,000 --> 00:29:18,000 >> Wieħed mill-databases relazzjonali aktar popolari hemmhekk hija, għal darb'oħra, MySQL, 519 00:29:18,000 --> 00:29:22,000 li huwa wonderfully b'xejn, prestazzjoni għolja ħafna, u dan huwa dak 520 00:29:22,000 --> 00:29:24,000 Facebook użat fi stadju bikri u sa ċertu punt għadhom llum 521 00:29:24,000 --> 00:29:27,000 li jaħżen lott ta 'data tagħha, u aħna ser tara fil-mument 522 00:29:27,000 --> 00:29:30,000 li l-użu jikkmanda relattivament sempliċi 523 00:29:30,000 --> 00:29:33,000 nistgħu tagħżel id-data, data daħħal, data ta 'aġġornament, 524 00:29:33,000 --> 00:29:37,000 tħassar data u simili, iżda Thankfully, hemm aktar user-friendly interface 525 00:29:37,000 --> 00:29:39,000 minn sempliċiment ittajpjar fuq pront iswed u abjad hawn. 526 00:29:39,000 --> 00:29:43,000 Aħna ser tuża għal pset 7 u lil hinn għodda libera msejħa phpMyAdmin. 527 00:29:43,000 --> 00:29:45,000 L-isem hija koinċidenza. 528 00:29:45,000 --> 00:29:47,000 L-għodda jiġri li għandhom jiġu implimentati fil-PHP, 529 00:29:47,000 --> 00:29:49,000 iżda li fundamentalment irrilevanti. 530 00:29:49,000 --> 00:29:53,000 X'hemm utli dwar phpMyAdmin hija li huwa utilità web-based. 531 00:29:53,000 --> 00:29:55,000 Imxejna installat minn qabel fil-appliance għalik, 532 00:29:55,000 --> 00:29:58,000 u magħha inti tista 'toħloq tabelli f' database, 533 00:29:58,000 --> 00:30:01,000 inti tista 'daħħal data, iħassru data, u ġeneralment tara 534 00:30:01,000 --> 00:30:04,000 data tiegħek fl pjuttost faċli għall-utent ambjent. 535 00:30:04,000 --> 00:30:07,000 Utenti tiegħek mhumiex ser tuża phpMyAdmin. 536 00:30:07,000 --> 00:30:09,000 >> Dan huwa verament ftit għodda amministrattiva jew iżviluppatur 537 00:30:09,000 --> 00:30:12,000 magħhom biex tara u poke madwar data tiegħek u figura kif għandhom jistrutturaw dan, 538 00:30:12,000 --> 00:30:15,000 ferm simili inti stess tista 'tuża Excel jew Numri, 539 00:30:15,000 --> 00:30:19,000 iżda li għaddej biex tkun mod tajjeb ħafna ta 'viżwalizzazzjoni x'inhu għaddej taħt il-barnuża 540 00:30:19,000 --> 00:30:22,000 sabiex inti tista 'tiffoka fuq il-problema interessanti soluzzjoni u mhux daqstant 541 00:30:22,000 --> 00:30:25,000 fuq il-kmandi arcane. 542 00:30:25,000 --> 00:30:28,000 Ejja tagħti ħarsa lejn eżempju ta 'dejta li tista' tkun maħżuna tabularly 543 00:30:28,000 --> 00:30:30,000 f 'database relazzjonali. 544 00:30:30,000 --> 00:30:32,000 Hawn eżempju ta 'dan. 545 00:30:32,000 --> 00:30:35,000 Issa, sfortunatament, phpMyAdmin żbaljat fuq in-naħa ta 'mod jitfg wisq ħafna kliem 546 00:30:35,000 --> 00:30:38,000 u grafika fi inti, imma jekk inti hone fil biss fuq il- 547 00:30:38,000 --> 00:30:42,000 Kolonna ID, il-kolonna isem l-utent, u l-kolonna hash, 548 00:30:42,000 --> 00:30:45,000 dan huwa effettivament spreadsheet, iżda dan jiġri jkun snippet 549 00:30:45,000 --> 00:30:49,000 ta 'ġewwa tabella ta' l-appliance 550 00:30:49,000 --> 00:30:53,000 użu ta 'fajl li aħna nipprovdulek fil-sett problema 7. 551 00:30:53,000 --> 00:30:57,000 >> B'mod partikolari, aħna nagħtuk fajl li jirrappreżenta 552 00:30:57,000 --> 00:31:01,000 tabella ta 'utent, hekk spreadsheet li jkun fih l-utenti bi 3 kolonni, 553 00:31:01,000 --> 00:31:05,000 waħda minnhom huwa ID unika li jibda fl-1 u jiġu inkrementati wara. 554 00:31:05,000 --> 00:31:08,000 It-tieni kolonna huwa l-isem l-utent, u dawk fostkom li ma Hacker, 555 00:31:08,000 --> 00:31:12,000 l-edizzjoni Hacker għall pset 2, jistgħu jirrikonoxxu uħud minn dawn l-ismijiet utent mill-inqas. 556 00:31:12,000 --> 00:31:16,000 Fuq in-naħa tal-lemin huma passwords, iżda dawn mhux qed passwords litterali. 557 00:31:16,000 --> 00:31:19,000 Huma qed hashes tiegħu, u għalhekk jirriżulta 558 00:31:19,000 --> 00:31:22,000 li jaħżen passwords fid-database hija idea tassew ħżiena. 559 00:31:22,000 --> 00:31:25,000 You ħadthom probabbilment taqra kollha f'xi punt ta 'xi websajt 560 00:31:25,000 --> 00:31:28,000 jew database xi kumpanija qiegħda tiġi kompromessa, u imbagħad inti għandek 561 00:31:28,000 --> 00:31:31,000 bidla password tiegħek, inti għandek bżonn tikseb rifużjonijiet fuq affarijiet 562 00:31:31,000 --> 00:31:34,000 għaliex xi Guy ħażina fil-fatt kissru fil-kont tiegħek bħala riżultat. 563 00:31:34,000 --> 00:31:38,000 >> Kif taħżen passwords fil test ċar, unencrypted fid-database 564 00:31:38,000 --> 00:31:41,000 huwa kompletament asinine, u għadhom huwa ferm divertenti 565 00:31:41,000 --> 00:31:44,000 imbagħad biex taqra dwar xi kumpaniji ħafna magħrufa sew 566 00:31:44,000 --> 00:31:47,000 kultant fl-istampa databases li jiġu preġudikati, 567 00:31:47,000 --> 00:31:50,000 u dik il-parti mhix umoristiċi, iżda l-fatt li d-databases fihom unencrypted 568 00:31:50,000 --> 00:31:53,000 passwords huwa ħaġa redikola għaliex litteralment ma 'linja tal-kodiċi 569 00:31:53,000 --> 00:31:57,000 inti tista 'tipproteġi kontra din it-theddida partikolari, u dan huwa dak li aħna ghamilt hawn. 570 00:31:57,000 --> 00:32:00,000 Anke għal foloz verżjoni tagħna ftit Finanzi CS50 571 00:32:00,000 --> 00:32:03,000 aħna encrypting passwords biss għal miżura tajba, u l-fatt li l- 572 00:32:03,000 --> 00:32:07,000 kollha ta 'dawn passwords jibdew mal $ 1 $ huwa biss konvenzjoni. 573 00:32:07,000 --> 00:32:10,000 Dan ifisser biss li qed encrypted jew verament hashed, 574 00:32:10,000 --> 00:32:13,000 li huwa bħal funzjoni encryption one-way 575 00:32:13,000 --> 00:32:17,000 fejn inti ma tistax taqleb l-effetti tagħha ma 'xi ħaġa imsejħa MD5. 576 00:32:17,000 --> 00:32:21,000 >> Il-fatt li 50 hu wara li jfisser li valur melħ 577 00:32:21,000 --> 00:32:24,000 ta '50 kien użat għall hashing kollha ta' dawn passwords ħlief għal wieħed. 578 00:32:24,000 --> 00:32:27,000 Mine, naturalment, kif tistgħu taraw hemm, HA, 579 00:32:27,000 --> 00:32:30,000 Kien bl-użu ta 'melħ differenti, sabiex dawk minnkom li ltqajna ftit tripped 580 00:32:30,000 --> 00:32:33,000 forsi fil-Hacker 2, li seta 'kien ir-riżultat li tkun użat tagħna 581 00:32:33,000 --> 00:32:36,000 a hash differenti mill-oħrajn minħabba password tiegħi huwa attwalment l-istess 582 00:32:36,000 --> 00:32:38,000 bħala xi utent ieħor up hemm. 583 00:32:38,000 --> 00:32:41,000 Fil-fatt, jekk inti kont qed tistenna kollha dawn il-ġimgħat biex issir taf 584 00:32:41,000 --> 00:32:44,000 x'inhuma dawn passwords kienu hawn kienu l-passwords li inti kienu kkontestati 585 00:32:44,000 --> 00:32:48,000 biex jitwaqqaf fl-edizzjoni Hacker ta 'sett problema 2, hekk xejn wisq delikata. 586 00:32:48,000 --> 00:32:50,000 Fil-fatt, l-Malan kienet l-istess bħal jharvard, 587 00:32:50,000 --> 00:32:54,000 imma jekk immorru lura ħarsu differenti. 588 00:32:54,000 --> 00:32:58,000 >> Iffoka fuq jharvard fil krimżi għaliex kienu immellaħ differenti. 589 00:32:58,000 --> 00:33:01,000 L-algoritmu kienet imfixkla b'mod li l- 590 00:33:01,000 --> 00:33:05,000 hash valur, il-valur encrypted jistenna xi ftit differenti 591 00:33:05,000 --> 00:33:08,000 minħabba li l-inputs kienu kemmxejn differenti, iżda l-password taħt il-barnuża 592 00:33:08,000 --> 00:33:10,000 kien għadu finalment krimżi. 593 00:33:10,000 --> 00:33:12,000 Issa, quién dwar dan? 594 00:33:12,000 --> 00:33:15,000 Ukoll, aħna qed jipprovdu inti ma 'l-utenti tal-kampjun, l-ismijiet l-utent tal-kampjun 595 00:33:15,000 --> 00:33:18,000 u hashes ta passwords tagħhom hekk li inti fil-fatt ikollhom xi 596 00:33:18,000 --> 00:33:23,000 klijenti għall-CS50 Finanzi meta inti l-ewwel tikseb barra mill-art bil-kodiċi tiegħek. 597 00:33:23,000 --> 00:33:27,000 Int ser ikollok biex jimplimentaw tabelli aktar 'ġewwa tal MySQL, ġewwa tad-database. 598 00:33:27,000 --> 00:33:30,000 Int ser ikollok biex joħolqu spreadsheets aktar, b'mod effettiv, iżda aħna iddeċieda li jtik dan wieħed 599 00:33:30,000 --> 00:33:33,000 biex tibda, u tkun taf tara li l-ispeċifikazzjoni sett problema 600 00:33:33,000 --> 00:33:37,000 mixjiet inti permezz tal-proċess ta 'importazzjoni din it-tabella 601 00:33:37,000 --> 00:33:39,000 u wkoll tispjega dak li xi wħud mill-karatteristiċi huma, 602 00:33:39,000 --> 00:33:41,000 u tkun taf tara wkoll li aħna jagħtuk il-kodiċi 603 00:33:41,000 --> 00:33:44,000 biex jimmaniġġaw il hashing jew l-encryption ta 'dawn passwords, 604 00:33:44,000 --> 00:33:49,000 sabiex inti m'għandekx bżonn ninkwetaw wisq dwar dak MD5 jew simili huwa attwalment madwar kollha. 605 00:33:49,000 --> 00:33:53,000 >> Għalhekk, SQL, lingwa query strutturat. 606 00:33:53,000 --> 00:33:56,000 Dan huwa, pjuttost sempliċi, il-lingwa aħna waslu biex jibdew jużaw fil pset 7 607 00:33:56,000 --> 00:34:01,000 u forsi lil hinn jitolbu data minn xi database. 608 00:34:01,000 --> 00:34:06,000 Id-data hija, għal darb'oħra, maħżuna tabularly f'dawn it-tabelli relazzjonali, kolonni, u ringieli, 609 00:34:06,000 --> 00:34:09,000 iżda bl-użu xi sintassi relattivament sempliċi bħal tħassar, 610 00:34:09,000 --> 00:34:12,000 daħħal, jaġġornaw u jagħżlu nistgħu nagħmlu eżattament dan. 611 00:34:12,000 --> 00:34:15,000 Nistgħu tħassar mid-database, daħħal, 612 00:34:15,000 --> 00:34:19,000 jaġġornaw id-dejta, kif ukoll jagħżlu, li huwa, jirkupraw data mid-database. 613 00:34:19,000 --> 00:34:21,000 Kif immorru dwar kif isir dan? 614 00:34:21,000 --> 00:34:23,000 Let me imorru quddiem fil-appliance. 615 00:34:23,000 --> 00:34:28,000 Let me pull up http://localhost, 616 00:34:28,000 --> 00:34:30,000 li, għal darb'oħra, hija l-appliance lokali innifsu. 617 00:34:30,000 --> 00:34:32,000 Li nickname default tagħha. 618 00:34:32,000 --> 00:34:35,000 U let me go għal / phpmyadmin. 619 00:34:35,000 --> 00:34:39,000 Dan jiġri li jkun URL speċjali li l-appliance ikun preconfigured li wieħed jifhem 620 00:34:39,000 --> 00:34:42,000 li immedjatament twassalni għal user name u password. 621 00:34:42,000 --> 00:34:46,000 >> Bħas-soltu, jien ser tip jharvard u krimżi, 622 00:34:46,000 --> 00:34:48,000 imma tirrealizza li l-kont amministratur fuq il-kompjuter. 623 00:34:48,000 --> 00:34:53,000 Huwa biss koinċidenza li hemm ukoll jharvard irreġistrata għal CS50 Finanzi. 624 00:34:53,000 --> 00:34:56,000 Jharvard, krimżi, jidħol il tagħti me l-user interface li rajna 625 00:34:56,000 --> 00:34:59,000 idea ta 'mument ilu, u huwa ftit kbira fl-ewwel, 626 00:34:59,000 --> 00:35:02,000 iżda mistrieħ assigurat, int qatt ser ikollok ikklikkja ħafna mill-rabtiet fil din l-għodda. 627 00:35:02,000 --> 00:35:05,000 Int ser ikollok jispiċċaw jużaw subsett żgħir li huma super utli, 628 00:35:05,000 --> 00:35:08,000 l-ewwel waħda minnhom hija databases up here. 629 00:35:08,000 --> 00:35:11,000 Jekk immur sal databases, avviż li jien imħeġġa biex tinħoloq database. 630 00:35:11,000 --> 00:35:14,000 Dan huwa simili li joħloq fajl Excel ġdid, b'mod effettiv. 631 00:35:14,000 --> 00:35:18,000 Jien ser jimxi 'l quddiem u sejħa dan lecture, u jien biss ser jinjora l-qasam hemmhekk, il-kollazzjoni. 632 00:35:18,000 --> 00:35:20,000 Hija għandha tagħmel il-rappreżentazzjoni ta 'data fiha, 633 00:35:20,000 --> 00:35:24,000 u jien ser ikklikkja joħolqu, u issa avviż kif I let go ta toħloq 634 00:35:24,000 --> 00:35:27,000 fuq in-naħa tax-xellug fejn jgħid l-ebda databases 635 00:35:27,000 --> 00:35:30,000 I għandha malajr tara d-database lecture. 636 00:35:30,000 --> 00:35:32,000 >> Jekk I issa ikklikkja fuq in-naħa tax-xellug, id-database lecture, 637 00:35:32,000 --> 00:35:34,000 Avviż tabs tiegħi bidla ftit. 638 00:35:34,000 --> 00:35:38,000 Stajt ltqajna, l-istruttura SQL, esportazzjoni, importazzjoni u xi affarijiet oħra. 639 00:35:38,000 --> 00:35:40,000 Struttura hija pjuttost vojta. 640 00:35:40,000 --> 00:35:43,000 L-ebda tabelli misjuba fid-database, kif jgħid hawnhekk, 641 00:35:43,000 --> 00:35:47,000 hekk ejja toħloq tabella, u ejja imorru quddiem u toħloq tabella 642 00:35:47,000 --> 00:35:53,000 bħal studenti, u kemm kolonni rridu? 643 00:35:53,000 --> 00:35:55,000 Ejja żżomm dan sempliċi, u ejja rekord għal kull student 644 00:35:55,000 --> 00:35:58,000 numru ta 'identifikazzjoni, l-isem, u l-indirizz email. 645 00:35:58,000 --> 00:36:02,000 >> Aħna ser jżommha sempliċi bħal dik, hekk 3 kolonni, mur. 646 00:36:02,000 --> 00:36:05,000 Il-formola li tara hawnhekk huwa issa ftit messy u assoluta, 647 00:36:05,000 --> 00:36:08,000 imma aħna biss għandhom jgħaddu minnha ringiela minn ringiela, sabiex verament malajr ejja tagħti 648 00:36:08,000 --> 00:36:14,000 l-ewwel kolonna f'din id-database ta 'isem ta' ID ta 'l-identifikatur uniku. 649 00:36:14,000 --> 00:36:17,000 Din se tkun numru sħiħ. I jistgħu attwalment jinjora t-tul u l-valuri. 650 00:36:17,000 --> 00:36:21,000 L int se tkun 32 bit x'ikun inti tip fil hemm, so ejja ħalliha vojta. 651 00:36:21,000 --> 00:36:24,000 Valur Default, I jista 'jagħmilha null, kif definit. 652 00:36:24,000 --> 00:36:27,000 Jien ser jitlaq minn dak waħdu. Ejja ma joqogħdu jinkwetaw dwar valuri awtomatiċi. 653 00:36:27,000 --> 00:36:29,000 Ejja iscroll minn hawn il-dritt, l-attributi. 654 00:36:29,000 --> 00:36:31,000 Dan huwa interessanti. 655 00:36:31,000 --> 00:36:33,000 Ejja imorru quddiem u kemmxejn arbitrarju jgħidu li IDs għandhom ikunu iffirmati. 656 00:36:33,000 --> 00:36:35,000 Ejja ma jaħlux kull numri negattivi. 657 00:36:35,000 --> 00:36:37,000 >> Ejja ħa mmorru 0-4000000000, jagħtu jew jieħu, 658 00:36:37,000 --> 00:36:40,000 u mbagħad ejja ma tmiss xi wieħed minn dawn l-oqsma għadha biss hemmhekk, 659 00:36:40,000 --> 00:36:43,000 iżda mbagħad let me tip fl-isem stabbiliti hawn, 660 00:36:43,000 --> 00:36:46,000 u mbagħad l-oħra kienet email, sabiex il-qabda email 661 00:36:46,000 --> 00:36:50,000 u l-isem, ovvjament mhux interi, so ejja bidla dawn għal qasam differenti. 662 00:36:50,000 --> 00:36:53,000 Jirriżulta varchar, it-tul char varjabbli, 663 00:36:53,000 --> 00:36:56,000 huwa bħal string fi database SQL 664 00:36:56,000 --> 00:36:59,000 iżda ta 'tul varjabbli, u inti fil-fatt għandek tgħid bil-quddiem tal- 665 00:36:59,000 --> 00:37:02,000 tul massimu tas-sekwenza, hekk jien ser kemmxejn arbitrarju 666 00:37:02,000 --> 00:37:05,000 skond it-tip konvenzjoni 255 karattri. 667 00:37:05,000 --> 00:37:08,000 I jistgħu totalment say 32. Nista 'ngħid 1000. 668 00:37:08,000 --> 00:37:11,000 Inti tip ta 'bżonn biex tiddeċiedi għalik innifsek ibbażati fuq id-demografija tiegħek liema hu 669 00:37:11,000 --> 00:37:14,000 Isem l-istudent itwal u jmorru ma 'dak in-numru jew ftit akbar, 670 00:37:14,000 --> 00:37:17,000 imma x'hemm sbieħ dwar varchar huwa mhuwiex ser għall-iskart 671 00:37:17,000 --> 00:37:19,000 255 bytes fuq isem kull student. 672 00:37:19,000 --> 00:37:23,000 Jekk huwa DAVID mhuwiex ser tuża sħaħ 255 bytes, 673 00:37:23,000 --> 00:37:26,000 iżda li l-bound fuq, so I ser imorru ma '255 biss mill-konvenzjoni, 674 00:37:26,000 --> 00:37:30,000 imma nistgħu dibattitu li jkun xi valur iktar baxx, u għall-indirizz elettroniku 675 00:37:30,000 --> 00:37:34,000 biss sabiex ikunu konsistenti 255, iżda għal darb'oħra, jista 'jkollna l-istess dibattitu. 676 00:37:34,000 --> 00:37:36,000 Imma jien ser tagħmel ħaġa waħda oħra minn hawn fuq in-naħa tal-lemin. 677 00:37:36,000 --> 00:37:40,000 >> X'hemm qawwija dwar database huwa li tista 'tagħmel ħafna ta' irfigħ 678 00:37:40,000 --> 00:37:42,000 jew xogħol kumpless għalik. 679 00:37:42,000 --> 00:37:46,000 B'mod partikolari, I really ma 'kura dak ID numri studenti tiegħi huma. 680 00:37:46,000 --> 00:37:49,000 Huwa biss maħsub li jkun identifikatur uniku fid-database 681 00:37:49,000 --> 00:37:52,000 so I jkollhom rappreżentazzjoni konċiża 32-daqsxejn ta 'dan l-istudent 682 00:37:52,000 --> 00:37:55,000 hekk li għandi xi mod li jidentifika b'mod uniku tagħhom 683 00:37:55,000 --> 00:37:58,000 lest ikun hemm 2 Davids, per eżempju, fi klassi. 684 00:37:58,000 --> 00:38:01,000 Fil-fatt, jien ser jiċċekkja din il-kaxxa AI, żieda auto, 685 00:38:01,000 --> 00:38:04,000 b'tali mod li d-database, MySQL, figuri barra 686 00:38:04,000 --> 00:38:08,000 dak ID kull student li għadhom kif idaħħlu huwa se tkun. 687 00:38:08,000 --> 00:38:11,000 I ma jkollhomx biex jimpurtahom li fil-kodiċi tiegħi, 688 00:38:11,000 --> 00:38:13,000 u jien ukoll ser jagħżlu xi ħaġa taħt il-menu indiċi. 689 00:38:13,000 --> 00:38:17,000 L-indiċi drop down hawn jkun primarja, uniku, 690 00:38:17,000 --> 00:38:19,000 indiċi u test sħiħ. 691 00:38:19,000 --> 00:38:21,000 Tista 'forsi raden liema koppja ta' dawn l-affarijiet huma, 692 00:38:21,000 --> 00:38:24,000 iżda jirriżulta fid-databases relazzjonali 693 00:38:24,000 --> 00:38:28,000 inti l-programmer jew l-amministratur database tikseb preemptively 694 00:38:28,000 --> 00:38:32,000 jagħtu ħjiel għad-database dwar liema oqsma 695 00:38:32,000 --> 00:38:34,000 f'tabella huma speċjali ftit. 696 00:38:34,000 --> 00:38:37,000 >> Per eżempju, f'dan il-każ jien ser ngħid li ID 697 00:38:37,000 --> 00:38:42,000 se tkun indiċi primarja, inkella magħruf bħala kodiċi primarju. 698 00:38:42,000 --> 00:38:44,000 X'inhu dan ifisser huwa li b'definizzjoni ID issa 699 00:38:44,000 --> 00:38:48,000 se jidentifika unikament l-istudenti f'din it-tabella. 700 00:38:48,000 --> 00:38:53,000 Nru student se jkollhom l-ID istess għaliex jien jimponu din ir-restrizzjoni jew dan l-indiċi. 701 00:38:53,000 --> 00:38:55,000 Barra minn hekk, dak li dan se tagħmel għalija huwa għaddej biex tgħid 702 00:38:55,000 --> 00:38:58,000 MySQL li ID huwa speċjali. 703 00:38:58,000 --> 00:39:03,000 I kura partikolarment dwar ID, sabiex jimxi 'l quddiem u tagħmel magic fancy data tiegħek istruttura, 704 00:39:03,000 --> 00:39:05,000 jibnu xi tip ta 'siġra. 705 00:39:05,000 --> 00:39:08,000 Tipikament huwa xi ħaġa imsejjaħ il-B-siġra, li aħna ma nħarsu lejn ġimgħat ilu, 706 00:39:08,000 --> 00:39:11,000 imma hija ieħor istruttura tad-data bħal simili fl-ispirtu għal-siġar binarji 707 00:39:11,000 --> 00:39:15,000 u jipprova li ħarisna lejn, iżda li għaddej biex ngħid 708 00:39:15,000 --> 00:39:18,000 għad-database dan il-qasam huwa tant importanti li jien probabbilment 709 00:39:18,000 --> 00:39:22,000 jridu jkunu kapaċi li jfittxu fuqha, imorru quddiem u jibnu xi fancy 710 00:39:22,000 --> 00:39:25,000 struttura tad-data fil-memorja biex iħaffu tfittxijiet sabiex idealment 711 00:39:25,000 --> 00:39:28,000 dawn qed ħin kostanti jew għall-inqas bħala qrib kemm jista 'jkun li 712 00:39:28,000 --> 00:39:32,000 b'tali mod li ma jaqgħu fis-tfittxija lineari, li mhux se tkun 713 00:39:32,000 --> 00:39:34,000 l-aktar għolja li jwettqu l-approċċ. 714 00:39:34,000 --> 00:39:37,000 B'kuntrast, l-indirizz email setgħet kienet kodiċi primarju. 715 00:39:37,000 --> 00:39:41,000 >> Fit-teorija, indirizz elettroniku ta 'kulħadd hija unika, sakemm int qsim ta' xi kont, 716 00:39:41,000 --> 00:39:45,000 iżda ġeneralment mhux tajba għall-użu xi ħaġa bħal string 717 00:39:45,000 --> 00:39:49,000 bħala kodiċi primarju għaliex jekk l-għan tagħha fil-ħajja huwa li jidentifika unikament 718 00:39:49,000 --> 00:39:55,000 ringieli fit-tabella tiegħek hemm ebda raġuni biex jużaw 255 bytes maximally 719 00:39:55,000 --> 00:39:58,000 biex jidentifika unikament xi ħadd jekk inti tista 'tikseb bogħod ma biss 4 bytes 720 00:39:58,000 --> 00:40:00,000 jew int 32-bit. 721 00:40:00,000 --> 00:40:03,000 B'mod ġenerali, kodiċi primarju għandu jkun qasir u konċiż 722 00:40:03,000 --> 00:40:07,000 u idealment xi ħaġa simili integer jew int kbir, li jiġri li jkun 64 bits. 723 00:40:07,000 --> 00:40:11,000 Iżda l-indirizz email għandu jkun uniku, u waħda mill-karatteristiċi ta 'database wisq 724 00:40:11,000 --> 00:40:14,000 huwa li tinforza uniċità għalija. 725 00:40:14,000 --> 00:40:18,000 Billi tagħżel unika hawn jmiss għall-email, anki jekk email innifsu 726 00:40:18,000 --> 00:40:21,000 huwa impress barra l-iskrin, li jien tgħid għad-database 727 00:40:21,000 --> 00:40:23,000 ma trust me. 728 00:40:23,000 --> 00:40:26,000 M'għandekx let me daħħal fid-database 729 00:40:26,000 --> 00:40:29,000 l-indirizz email istess darbtejn, anki jekk jien idjota u am not 730 00:40:29,000 --> 00:40:32,000 tajba ħafna ma 'IFs tiegħi u IFs inkella u kodiċi PHP attwali 731 00:40:32,000 --> 00:40:37,000 u I aċċidentalment ħalli l-utent jirreġistra b'indirizz email eżistenti 732 00:40:37,000 --> 00:40:40,000 id-database huwa pass ieħor livell ta 'difiża għall-korrettezza 733 00:40:40,000 --> 00:40:44,000 biex jiġi żgurat li l-indirizz email duplikat ma jispiċċaw fit-tabella. 734 00:40:44,000 --> 00:40:49,000 >> Issa, għall-kuntrarju, għall-isem inti probabilment ma jridux jagħmlu dan uniku 735 00:40:49,000 --> 00:40:51,000 għaliex imbagħad hemm qatt ma jista 'jkun ta' 2 Davids jew 2 Smiths Mike, per eżempju, 736 00:40:51,000 --> 00:40:55,000 fid-database tiegħek, hekk li wieħed aħna ser biss leave waħdu. 737 00:40:55,000 --> 00:40:58,000 Jien ser jimxi 'l quddiem u kklikkja jiffrankaw fuq id-dritt tal-qiegħ, 738 00:40:58,000 --> 00:41:02,000 u kollox jidher tajjeb, imma avviż up here 739 00:41:02,000 --> 00:41:04,000 din hija parti li għal issa aħna mhux se jqattgħu ħin wisq fuq 740 00:41:04,000 --> 00:41:07,000 minħabba li l-sintassi hija kumplessa ftit, u aħna ma jkollhomx biex toħloq tabelli 741 00:41:07,000 --> 00:41:10,000 kollha li ta 'spiss, imma SQL innifsu huwa lingwa, 742 00:41:10,000 --> 00:41:13,000 -sintassi li għalih huwa dritt hawn li stajt enfasizzati. 743 00:41:13,000 --> 00:41:18,000 Dak phpMyAdmin verament ma huwa joħloq GUI web-based għalik 744 00:41:18,000 --> 00:41:23,000 li magħhom inti tista 'jiffranka ħin u ma jkollhom manwalment tip out 745 00:41:23,000 --> 00:41:26,000 mistoqsija SQL pjuttost twil bħal dik. 746 00:41:26,000 --> 00:41:29,000 >> Fi kliem ieħor, jekk inti riedu li manwalment joħolqu din it-tabella, 747 00:41:29,000 --> 00:41:32,000 jew f'dak phpMyAdmin iswed u abjad fil-pront jew saħansitra 748 00:41:32,000 --> 00:41:35,000 billi jużaw din tab oħra, dan tab SQL fejn inti tista 'tip fil xi mistoqsijiet SQL 749 00:41:35,000 --> 00:41:38,000 tixtieq, franchement, dan kien jieħu me minuta 750 00:41:38,000 --> 00:41:41,000 li attwalment tiftakar il-sintassi kollu, u anki imbagħad I probabbilment kien ikollu 751 00:41:41,000 --> 00:41:45,000 għamel xi typos, u għalhekk din l-għodda huwa utli għal affarijiet bħal dik, u huwa wkoll istruttivi. 752 00:41:45,000 --> 00:41:49,000 Tista 'tibda biex jiddeduċu dak l-sintassi hija 753 00:41:49,000 --> 00:41:52,000 biss mill-kulur sbieħ kodifikazzjoni li phpMyAdmin qed iżżid 754 00:41:52,000 --> 00:41:54,000 għall-konvenjenza viżwali tagħna. 755 00:41:54,000 --> 00:41:56,000 Imma issa ejja tagħmel dan minflok. 756 00:41:56,000 --> 00:42:00,000 Let me mur l-tab daħħal fil-quċċata, u let me jimxi 'l quddiem u daħħal per eżempju 757 00:42:00,000 --> 00:42:04,000 ID tal ejja ngħidu-fatt jien ma 'kura. 758 00:42:04,000 --> 00:42:07,000 Huwa ser inkrement auto. Jien ser let-jittrattaw database ma 'dan. 759 00:42:07,000 --> 00:42:11,000 Imma I għandhom ikunu David, u l-email tiegħi għandu jkun malan@harvard.edu. 760 00:42:11,000 --> 00:42:16,000 >> Ejja jimxi 'l quddiem hawn u mqiegħda fil Mike Smith bħala ieħor. 761 00:42:16,000 --> 00:42:18,000 I ser jagħti lili nnifsi isem l-aħħar kif ukoll, 762 00:42:18,000 --> 00:42:22,000 u aħna ser jkollhom lilu tkun smith@example.com, 763 00:42:22,000 --> 00:42:24,000 u mbagħad fejn ma mmur li jmiss? 764 00:42:24,000 --> 00:42:27,000 Ukoll, jidher qisu go hija l-buttuna biex ikklikkja, u voila. 765 00:42:27,000 --> 00:42:30,000 Avviż fuq il-top 2 fillieri mdaħħla. 766 00:42:30,000 --> 00:42:32,000 Dan huwa l-mistoqsija SQL attwali. 767 00:42:32,000 --> 00:42:36,000 Dik hija l-għodda phpMyAdmin esegwiti għalija, 768 00:42:36,000 --> 00:42:40,000 imma r-riżultat finali, avviż, jekk I issa mur l-tab jibbrawżjaw, 769 00:42:40,000 --> 00:42:43,000 huwa biex tara 2 fillieri f'din it-tabella, ħafna estetikament reminixxenti 770 00:42:43,000 --> 00:42:46,000 tat-tabella rajna qabel għall-utenti tagħna mill pset 7, 771 00:42:46,000 --> 00:42:51,000 li wieħed minnhom huwa David Malan, li wieħed minnhom issa huwa Mike Smith. 772 00:42:51,000 --> 00:42:54,000 Iżda biss li jkun ċar, I m'għandhomx bżonn biex jużaw phpMyAdmin, 773 00:42:54,000 --> 00:42:56,000 u fil-fatt, int ser dalwaqt tkun bil-miktub kodiċi għall pset 7 774 00:42:56,000 --> 00:43:01,000 li automates-proċess ta 'żżid ringieli, tħassir ringieli, aġġornament ringieli u simili, 775 00:43:01,000 --> 00:43:04,000 so let me minflok tmur għall-tab SQL up here 776 00:43:04,000 --> 00:43:14,000 u t-tip fil-* agħżel mill-istudenti fejn 777 00:43:14,000 --> 00:43:18,000 email = "malan@harvard.edu." 778 00:43:18,000 --> 00:43:21,000 >> Fi kliem ieħor jissoponi issa għandek 779 00:43:21,000 --> 00:43:26,000 xi forma HTML, u t-tipi utent fil-indirizz email tagħhom, fost oqsma oħra, 780 00:43:26,000 --> 00:43:29,000 u l-għan issa huwa fil-PHP dwar il-kodiċi aħħar lura 781 00:43:29,000 --> 00:43:31,000 li fil-fatt tfittex up dettalji oħra li utent. 782 00:43:31,000 --> 00:43:34,000 X'inhu l-isem sħiħ tiegħek? X'inhu numru ta 'ID tiegħek? 783 00:43:34,000 --> 00:43:37,000 Inti tista 'tikteb mistoqsija SQL bħal dan, tagħżel * minn studenti 784 00:43:37,000 --> 00:43:40,000 fejn email = "malan@harvard.edu." 785 00:43:40,000 --> 00:43:46,000 U jekk I imbagħad ikklikkja go, avviż li għandi, u tabilħaqq I do, nikseb lura wieħed biss ringiela. 786 00:43:46,000 --> 00:43:50,000 Mike jitħalla barra minn dan sett riżultat, billi l-ġbir ta 'ringieli 787 00:43:50,000 --> 00:43:53,000 huwa ġeneralment imsejjaħ, minħabba li huwa ma jkollu l-indirizz email istess kif me. 788 00:43:53,000 --> 00:43:57,000 >> Issa, għal darb'oħra, hawn pset 7 inti ser tuża phpMyAdmin bħala għodda amministrattiva 789 00:43:57,000 --> 00:44:00,000 u għodda pedagoġika biex jitgħallmu tiegħek mod 790 00:44:00,000 --> 00:44:03,000 madwar id-dinja ta 'SQL, iżda fl-aħħar tal-ġurnata 791 00:44:03,000 --> 00:44:08,000 int ser tkun bil-miktub dawn il-mistoqsijiet ta 'ġewwa tal PHP kodiċi attwali, 792 00:44:08,000 --> 00:44:11,000 u hekk waqfa sintonizzat fil walkthrough Zamyla fil partikulari 793 00:44:11,000 --> 00:44:14,000 fejn int ser tingħata tour tal-kodiċi ta 'distribuzzjoni għall dan is-sett il-problema 794 00:44:14,000 --> 00:44:18,000 fejn konna tak mhux biss l-estetika għall-paġna login 795 00:44:18,000 --> 00:44:21,000 u l-logo sexy sbieħ li tgħid CS50 Finanzi, imma konna wkoll tak 796 00:44:21,000 --> 00:44:24,000 mazz ta 'funzjonijiet li se jagħmlu l-ħajja tiegħek daqsxejn aktar faċli. 797 00:44:24,000 --> 00:44:27,000 Imxejna wkoll bil-miktub parti mill-pset għalik, 798 00:44:27,000 --> 00:44:32,000 il-porzjon login minnu b'mod partikolari, li jtik sens ta 'disinn rappreżentant 799 00:44:32,000 --> 00:44:36,000 li effettivament juża kontrollur, per eżempju, index.php, 800 00:44:36,000 --> 00:44:40,000 login.php u simili, u allura inti ser tara l-pset wkoll direttorju templates 801 00:44:40,000 --> 00:44:43,000 li tkun kollha ta 'fehmiet tiegħek, kollha ta' l-estetika. 802 00:44:43,000 --> 00:44:46,000 U għalhekk il-fluss tax-xogħol ġenerali fil pset 7 se tkun dik 803 00:44:46,000 --> 00:44:49,000 utenti tiegħek żjara kontrollur permezz ta 'URL fil-browser. 804 00:44:49,000 --> 00:44:53,000 Li kontrollur fih kodiċi PHP li inti kiteb, u ġewwa ta 'kodiċi PHP tiegħek 805 00:44:53,000 --> 00:44:57,000 jista 'jkun xi linji ta' SQL nested fl bejn kwotazzjonijiet doppja 806 00:44:57,000 --> 00:45:00,000 u mgħoddi għal funzjoni aħna kiteb mistoqsija imsejħa 807 00:45:00,000 --> 00:45:03,000 li ser jgħinek tkellem lill-database mingħajr l-użu xi ħaġa bħal 808 00:45:03,000 --> 00:45:05,000 għodda amministrattiva bħal phpMyAdmin. 809 00:45:05,000 --> 00:45:08,000 >> Int ser tkun tista 'tikteb dikjarazzjonijiet SQL fil-PHP Kodiċi 810 00:45:08,000 --> 00:45:11,000 u terġa 'lura firxa PHP tas-sett riżultat, 811 00:45:11,000 --> 00:45:14,000 ta 'l-ringieli li attwalment jaqblu li query. 812 00:45:14,000 --> 00:45:18,000 U bl-istess mod inti se tkun tista 'tagħmel inserts jew tħassar 813 00:45:18,000 --> 00:45:22,000 jew aġġornamenti jew simili, l-sintassi li huwa pjuttost simili, 814 00:45:22,000 --> 00:45:25,000 u tkun taf tara minn xi referenzi internet, mill-kodiċi ta 'distribuzzjoni 815 00:45:25,000 --> 00:45:29,000 u mill-pset pakkett innifsu eżattament kif imorru dwar kif isir dan. 816 00:45:29,000 --> 00:45:33,000 Jirrealizzaw finalment aħna qed verament ftit grif tal-wiċċ ta 'SQL 817 00:45:33,000 --> 00:45:36,000 u ta 'MySQL, iżda l-qawwa ta' dan verament huwa li jillibera inti 818 00:45:36,000 --> 00:45:40,000 li tiffoka fuq il-problemi li inti tixtieq li ssolvi, il-każijiet ta 'użu li inti tixtieq li jimplimentaw 819 00:45:40,000 --> 00:45:43,000 mingħajr ma joqogħdu jinkwetaw pjuttost kemm, għall-inqas minn kmieni, 820 00:45:43,000 --> 00:45:47,000 dwar fejn u kif jaħżnu u tfittxija database tiegħek, 821 00:45:47,000 --> 00:45:50,000 u dan huwa pjuttost litteralment fejn Facebook nnifisha ltqajna bidu tiegħu 822 00:45:50,000 --> 00:45:53,000 użu MySQL u mbagħad tuża servers aktar MySQL u mbagħad servers aktar MySQL 823 00:45:53,000 --> 00:45:57,000 qabel twil sakemm imbagħad kellhom verament tibda taħseb diffiċli dwar kif 824 00:45:57,000 --> 00:46:00,000 taħżen data, kif jaħżnu l-affarijiet aktar effiċjenti, 825 00:46:00,000 --> 00:46:04,000 hekk anke jekk aħna ser jieħdu għal mogħtija l-fatt li l-indiċi u l-limitazzjonijiet uniku 826 00:46:04,000 --> 00:46:08,000 u oħrajn biss xogħol hemm konverżazzjoni interessanti ħafna 827 00:46:08,000 --> 00:46:12,000 li dan kollu jista 'jwassal eventwalment għal, hekk tirrealizza li aħna qed biss grif tal-wiċċ 828 00:46:12,000 --> 00:46:17,000 ta 'dak li jista' eventwalment għalik jew proġetti tiegħek issir pjuttost ftit ta 'data kbar. 829 00:46:17,000 --> 00:46:22,000 >> Ma 'dak imsemmi, ejja jieqafx hawn, u aħna ser tara inti ġimgħa d-dieħla. 830 00:46:28,000 --> 00:46:30,000 [CS50.TV]