[Musika jotzen] DAVID J. MALAN: Guztiak eskubidea. Ongi etorri berriro. Hau da CS50. Honek aste 8 bukaera da. Eta ezagutzen duzun bezala, nahiko daukagu gutxi barru ohiko bulegora ordu jangela areto, Annenberg barne. Eta talde batzuk, atsegin handiz Argazki batzuk hartu azkenaldian. Eta omenez Halloween, pentsatu genuen genuke Bat baizik harrapatu guk partekatu Hemen sorpresa Annenberg Hall besterik gaueko beste. Zure ikaskide Jacob posatu zuen argazki honetan, baina ez zen gehiago dibertigarria Facebook-en zuen, horrek zekarren guero hori gertatu da elkarrizketa. Erantzuna bere lehen post Bere argazki hau izan zen. Minutu batzuk geroago, erabaki zuen berak sortu bat honekin. Joan zen, ondoren, hau joan, eta, ondoren, are gehiago amusingly denean, bere ama baietsi. Eta gero, azken finean, badirudi hau ez da txarra izan baterako ruse zoragarri bat jokatuko duten ari den gertatzen. Beraz, nahi izanez gero Jacob eta beste batzuk ikusteko, horien artean Cynthia Meng, nor CS50 zona langileen atzealdean, URL hau eta antzezlan hau hemen buru. Beraz ADO gehiagorik gabe, gaur web programazioa begirada hau jarraitzen dute, eta benetako programak sortzea Hori ez da zure komando lerroko exekutatu dute, baina horren ordez nabigatzaile baten barruan exekutatu. Ustezko, edo, Hemendik gutxira, bazoazela ezartzeko erdian izan Zeure web zerbitzari, da web programazioa desberdinak. Web pset6 zerbitzaria guztiei buruz idazten daki software nola hartu Nabigatzaile batetik HTTP eskaerak, edo are batetik, giza, programa bat Telnet izenekoa, eta ondoren, eskaerak horiek erantzuteko bai HTML fitxategi bat tu arabera, edo bat jpeg edo gif, edo are php fitxategia. Baina web-zerbitzari batekin, ez da ustezko ireki PHP fitxategi bat, php bukatzen den zerbait, eta ondoren, txu edukia. Honez ustezko egin zer fitxategi hori lehen nahi? Nolabait esateko. Ez konpilatu, astelehenean esan dugu, baina baizik Beraz, interpretatzeko. PHP lengoaia interpretatu bat da, eta, beraz, Zure web funtsezko ezaugarrietako bat zerbitzaria, gurekin bidez bideratzen bada ere, Zure web zerbitzariak gaitasuna hau da: , nabarituko oh. Hau php bukatzen fitxategi bat da. Utzidazu ez soilik bidali behar Gustatu erabiltzaileak eduki estatikoa da, baizik utzi lerro irakurri me by lerroan, ezkerretik eskuinera, eta interpretatu. Eta egin, duzun guys izango funtsean programa bat punt aparatuaren, eta sistema informatikoak asko, besterik ez PHP izeneko. PHP izenean dagoen hizkuntzaren interprete izena. Beraz, pieza hori ezartzeko dugu duzu, eta zer duzu utzi, azken finean, zenbaki bat da pieza, eta horien artean euskarria garatzea da eduki estatikoa da. Baina orain, eta ekin arazo multzo zazpi, zaren trantsizioa hasteko joan benetan PHP kodea idazten lortzen interpretatu back end bat hizketan hasi datu-baseko informazioa biltzen duen. Hargatik hobeto ulertzeko lehen, superglobals horiek pare bat eta, besterik gabe, zenbat botere duzu get out koadroan doan PHP bezalako hizkuntza batekin. Things ez duzu zeure burua ezartzeko. Beraz, ikusi astelehenetik $ _GET dugu, bertan superglobal bat da, hau da, besterik PHP global bat hitz aldagai edozein lekutan sar zaitezke. Eta zer da $ _GET barruan? Zer da hau barrutik superglobal ikusten dugun? Ziur naiz at estatistikoki Gutxienez pertsona bat daki. Zer da $ _GET barruan? Bai? Ikusleak: aldagaiak da kontsulta-katea jarri. DAVID J. MALAN: Perfect. Aldagaiak duzun da kontsulta-katea jarri. Beraz, gure adibide zaharragoak reimplementing Google izan dugu, URL bat, eta ondoren galdera-marka, zein HTTP Irteeran demarcates parametroak, orduan q berdinak izan genuen zerbait, q berdinen bezala katuak, zer automatikoki joango litzateke barruan duten _GET $ super duzu global, PHP delako, Q gako bat da eta katuak haren balioa. Beste era batera esanda, $ _GET eta guztietan Gauza horiek elkartze-array dira, era askotako taulak hash, hori denda gakoak eta balioak. Orain, atzera pset5 ere, hash taulan zuk inplementatu liteke, edo saiatu liteke ezarri dituzte, benetan zen eraginkortasunez asoziazioa array, datu-egitura Horren bidez erlazionatu ditzakezula balio gakoak. Baina pset5 ere, balioak trivial ziren. Balioa, funtsean egia edo gezurra zen. Hiztegian hitzari da? Beraz, sagarra bezala, hitz bat hashed duzu sagar hiztegian dagoen jakiteko, Zure kontrol funtzioa ustez egia edo gezurra itzuli. Beraz, modu eraginkorrean balio atzera ari gara. Baina ikusi astelehena laburki, zalantzarik gabe, ahal duzun erlazionatuko interesgarriagoa besterik ez da egia edo gezurra baino balioak gakoak, sagarra bezala. Benetan ezin duzu itzultzeko bat kate arbitrarioak, eta, hain zuzen, hori da $ _GET eta horiek Beste aldagai duzu egin dezagun. Beraz $ Bi_dali espiritua antzekoa da, baina post bidez buletina aurkeztu izanez gero, hori da bat desberdina HTTP metodoa kreditu-txartelak bezalako gauzak erabiltzen, eta informazio pribatua, eta are argazkiak bezalako informazio bitarra, Gauza horiek, azkenean, $ Bi_dali barruan. Eta benetan fitxategientzako jpegs eta halakoak sartzen, ez dago, nahiz eta beste hori ez da Hemen gehienez $ _FILES deitzen baita. Beraz, zerbitzariak ez dugu dwell ere asko, baina ematen dizu sartu da beherako maila buruzko xehetasunak ordenatzeko zerbitzari bera erabiltzen ari zarela. Cookie eta saio, ordea, eraginkortasunez egingo dugu orain ikusten. Azken hauxe da: zer ezartzea erabiltzen dugu erosketa saskia baten ideia. A bat super simple, baina gogoratzen Adibide honetan izan dugun hemen, zenbat aldiz zuk kontatuta bisitatu orrialdea lehenago zegoen. Baina gaur egun, eta ez bakarrik begiratu baino honen eragina, dezagun bat ireki Chrome Inspector, hau da, normalean, ahal duzun eskubidea klik edo Control egin edonon web orri batean klik eginez, eta, ondoren, aukeratu ikuskatu elementutzat. Edo menuak bidez joan ahal izango duzu pset6 zehaztapenak deskribatzeko dugula. Eta Sarea fitxa noa hemen, eta dezagun ikusten une batez HTTP trafikoa hori atzera eta aurrera joan. Dezagun lehen me aurrera eta Chrome argi cache. Beraz, batzuk ezagunak izan liteke teknika hau dagoeneko, eta horretan ari gara erabiliko normala da helburu arazteko hemen. Orain ordenagailuan zientzialariak dira hasteko Hau egiten arazteko helburuetarako, zeinaren cachea garbitu egingo dugu, normalean, beraz, guk cookies izeneko gauza kentzeko dezakezu. Beraz, seguruenik, oro har, ezagunak zer cookies dira, edo, gutxienez, , existitzen dutela, baina zer da Zure horiek ulertzeko, besterik erabiltzaile gisa ordenagailuak, zer cookie bat? Bai. Ikusleak: pixka bat da of-- ondo, ez informatikako termino bat ere bit. Datu bat da hori a web bidaltzen ordena duzu estatistikak grabatu ahal izateko. DAVID J. MALAN: Ados, ona da. Beraz, datu bat da hori a zerbitzaria, zure ordenagailuan gainean jartzen, eta dezagun orokortu are gehiago, gako bat da balioa ondo, hori zehatzagoak lortzeko. Pieza bat da Informazio, datu-pieza bat, zerbitzari bat gai da zure ordenagailuan jarri eta askotan, zerbitzariak ez du hau, beraz, gogoratu nor zaren. Horrela, esate baterako, odds dira Ziurrenera Facebook bezalako guneak sartu, edo Gmail, edo beste batzuk, lehenago eta saioa hasi duzu zure izena eta pasahitza, eta, ondoren, zenbaki batzuk minutu edo ordu edo are egunetan ere, zerbitzariak gogoratzen zaudela, hain zuzen ere, oraindik sartu. Orain, nola esan benetan gertatzen ari da? Zu, zalantzarik ez retyping delako Erabiltzailea eta pasahitza idatzi aldi bakoitzean nabigatzeko bat duzu Facebook-orri desberdinetan. Beraz, izarrekin bihurtzen da cookies erantzuna dira. Cookie bat bezala uste dezakezu, ordenatzeko bezala, eskuko digital bat zigilu hori jolas bat dezakezu lortu parke edo elkarte bat, funtsean adierazten hemen egon zaren aurretik, eta dagoeneko duzun Zure bouncer izateko ID agerian, for Esate baterako, eta hori klubaren edo parkean behar orain bere gain hartzen duten Dagoeneko autentifikatutako dute. Duzu dagoeneko identifikatu behar direnean. Beraz, hau jakinda, dezagun bat ireki counter hemen. Dezagun aurrera, besterik ez nuen, eta garbitu nire cookies guztiak. Eta orain zer egin behar dut da Shift eutsi, neurri ona, eta indarrez orria berriz kargatzea. Shift ziurtatu ezer lortzen katxean. Eta hemen eskaera atzera eta aurrera joan zen. Beraz, hemen baino gehiago, eskaera bat egin behar dugu, eta utzi gerturatzeko me behera hemen, eta hau asko xehetasunak ordenatzeko uninteresting orain nabigatzaileak automatikoki ditu bidali, baina utzi egin klik View Iturria goiburuak gordinak ikusteko. Eta pset6 sartu duzun dagoeneko atean sartu bada, zalantzarik gabe duzu gauza aitortu Hau atsegin, eta agian batzuk beste lerro hauek hemen, baina zer gehiago gaur egun interesgarria Behera joan nintzen, ez eskaerari bada baina erantzuna deiturikoak, Lerro hau seguruenik itxura ezagutzen. Hori gauza ona da 200 OK bat ikusiko duzu. Antza denez, hau da, data eta ordua zerbitzarian eta, stuff sorta bat da. Oh, hau interesgarria da. Turns direnean erabili duzu PHP, gutxienez zerbitzari honetan, zerbitzariak spits zer erabiltzen ari zaren PHP bertsio. Zein da, benetan, segurtasunerako helburuetarako, ez da gauza ona. Baina, itzuli dugu hori beste batzuetan agian. Baina orain hau gaur mamitsuena lerroa da, eta labur ikusi dugu horietako batzuk, Uste Facebook ekin nion eta poked dugu Garai hartan Inspector inguruan, set-cookie da, zer da landatzen Informazio zati hori apur zure ordenagailuan gainean. Hau HTTP goiburua da hori eraginkortasunez Zure nabigatzailean kontatzea, Chrome, IE, edozein dela ere, hey nabigatzailean Erabiltzaile dauden denda disko gogorra, edo erabiltzailearen RAM, PHPSESSID izeneko gako bat, hau da, saioaren izena idazkera azkarra, eta balioa ematen diote 0vlk8t, dot, dot, dot. Sasi benetan luze A alfanumeriko katea ausazko. Benetan big zenbaki bat besterik ez da, baina, nik letrak eta zenbakiak kodetuta beraz, tamaina hori izan daiteke nahiz eta zenbakiak bakarrik baino handiagoa den. Eta gero, bide batez, Path = /, hori besterik gabe esan nahi cookie hori izan beharko luke lotutako Webgunearen osotasunean, ez soilik zehatz bat orria gauza osoa. Beraz, hau eskuz zigilua birtuala da. Da zerbitzariak, Facebook bagina bezala da, edo gure kasuan aparatuaren, literalki, idatzizko 0vlk8t ditu eta abar, eskua. Iragarki zerbitzariak zer en, ez egiten da, ez da Nire erabiltzaile izena gehiagorik, zalantzarik gabe, Ez da pasahitza gordetzeko. Horren ordez, izan dirudielako pseudo ausazko informazioa gordetzeko inork ez duela asma dezan Nire eskua zigilua zer den. Zerbitzari aldean, Bien bitartean, zerbitzariak da gogoratu, ziurrenik joan datu-base bat edo zerbait, duten erabiltzaileak, etorkizunean, nork eskuko 0vlk8t zigilua aurkezten du, dot, dot, dot, behar da honekin lotutako bereziki erosketa saskia, nolabait esateko. Bestela esanda, gaur egun joaten naiz back hemen eta kargatu berriro orri hau, zerbitzariari nola daki Garai batean bisitatzen dut hori? Edo berriro egin dut bada, nola zerbitzari egiten du ditudan bisitatu birritan ezagutzen? Beno behera joan I honetarako bada Eskaera berriena gehienetan, eta horrek orain hirugarren dudala bidali guztira, konturatu nire eskaera orain. Oraindik ez dago honi Hemen, gauza bera eskatu sortu lehen bezala, ez da oraindik osoa sorta lehen bezala dugu ez ikusi gauza, baina azken goiburua, hau Denbora, izan dut aurretik hemen egon direlako, aurkezpena egin da eskuko zigilua birtual honetan. Horren bidez, lerro hau hemen, ez ezarri cookiea baina cookie colon PHPSESSI = 0vlk8t, hori da, nire nabigatzailearen automatikoa eskuan zigilu honek, beraz, aurkezpen orain zerbitzariak, konturatuko bezain laster, ooh, erabiltzaile 0vlk8t dot, dot, dot, Dut orain gogoratzen nork zuen da eta erabiltzaile horrekin reassociate whatever informazioa nahi dut, eta guztia Informazio zuk gorde daiteke, programatzailea, $ _saioa da. Beraz, argi izan, ireki dut bada benetako azkar gedit benetako fitxategia, counter.php, nire ostalari lokalean direktorioa publikoetan lehen bezala, nabarituko, hain zuzen ere, Naiz, azken finean gordetzeko $ _saioa Aurrekontua unquote "kontra" aurreko counter balioa zein Lortuko dut lerro hauen bitartez sortu hemen dugun Azken aldiz plus bat begiratu. Beraz kanpaia azpian, hori da, cookie guztiak dira. Besterik digitalen sailkatu da eskuko zigilua atzera eta aurrera joan, eta Egia irekitzean Chrome bada Inspector duen webgunean bisitatu gaur egun, batez super probabilitate handia, agian bat ikustera joan zaren, agian dozena erdi cookies ari zaren gogoratu. Eta okerragoa oraindik, horiek bada webgune bisitatzen ari zaren guztiek dute iragarkiak, gaur egun, zalantzarik gabe, oso ohikoa, eta iragarki horiek dira datozen bada batzuk party zentrala, norbait Google edo AdWords bezalako ahala deitu euren produktu bat edo beste saltzaileek iragarkiak saltzeko, zer da interesgarria, eta Egia zer da apur bat worrisome, nola HTTP funtzionamendua, dela baldin baduzu ad bat barneratua Facebook.com, eta Google.com in, eta Harvard.edu, edozein zenbaki webguneen eta, beraz, hala nola da ez dagoela erdi gizon bat nor da zerbitzatu guztiak web horietako hiru iragarkiak sortu, bihurtzen da hori egin cookies domeinu bakoitzeko dira. Beraz baldin baduzu ad bat datozen webgune ezberdinetan enpresa bereko, enpresaren modu eraginkorrean duten jarraipena webgune horiek guztietan zara. Harvard agian ez daki Facebook bisitatzen ari zaren. Facebook agian ez daki eta Harvard bisitatzen ari zaren. Baina edozein dela ere ad zerbitzua domeinu hori bada ari dira erabiltzen bai Harvard.edu web presente orriak eta Facebook.com webguneak, erdiko gizon honek ziur aski badaki nor zaren partekatutako ari cookie horiek delako zeharkatuz, edo hobe da, duen middleman deiturikoak. Beraz, itzuli dugu hau egiteko segurtasun inplikazio horien, baina ez dago informazio asko edonoiz duzu buruz gordetzen ari zaren bisitatu gehienak edozein web orrian internet eta benetan Mekanismo oso erraz honetara murrizten. Zer gertatzen da, orduan, bada Oraindik super paranoid eta Chrome edo IE sartzen joan erabakitzen duzu edo dena eta itzali cookieak? Zer gertatzen da? Bai? Egin duzun eskubide hori really-- duzu? OK. No, aurrera. Ikusleak: Zenbait webguneek ez dute hori gabe, funtzio bat gustatzen Facebook. DAVID J. MALAN: Bai! Beraz, zenbait webgune izango da besterik ez dute funtzionatuko. Eta webgune gehienak egun hauetan funtsean cookies oinarritzea, zure saioa badute, bereziki ere, ari dira hondatu. Kontuan hartu delako alternatiboak, web bada ez gogoratzeko modu nor zaren ditu, eta, beraz, zure web nabigatzailea ez da HTTP bakoitzarekin ordezkari eskuan zigilu honek eskatuta, eraginkortasunez web bat Facebook en going bezala duzun galdetuko behar dute eman eman darn aldi bakoitzean orriak aldatzerakoan, edo egin klik lotura, da ziur aski ez erabiltzaileak bereziki ona esperientzia. Beraz, ez dagoela, ere, merkataritza offak artean. Beraz ADO gehiagorik gabe, dezagun Emandako web programazioa, horretarako, PHP bezalako hizkuntza gogoratzeko dezakezu Horrelako informazioa arazo ezarri zazpi zeure ezartzeko Horrekin erosi E * Trade-bezalako webgune eta stock saltzen, zehazki gogoratzen dituzu erabiltzaileak zer erosi ditu eta saltzen eta nor zuen da Saio honen bidez. Baina ari gara behar joan email baino modu dotore bat inguruan informazioa mantenduz hasteko. Eskuin? Astelehenean, hitz egin dugu Frosh Berehal buruz eta nola bertsioan web hori bat, Duela urte Guztiok egin zen email Proctor nor the intramural kirol arduratzen programa, izena, eta genero, eta ala ez kapitaina ari dira, eta norbaitek gela nor intramural kirol bat erregistratzeagatik. Beraz, ez da txarra, baina berak orduan beren email bidez troll izan, kalkulu orri bat edo antzeko zerbait egiteko horretan, guztia antolatu mantentzeko. Beraz, ziur aski dugu programatzaile gisa egin dezakezu PROCTOR horretarako. Eta horrela SQL sartu, Query egituratuak hizkuntza, hau da, nahiko itxura joan bai C eta PHP ezberdinak, eta murgiltze dituzu eskuak askoz gehiago PHP eta arazo multzo zazpi baina baita SQL, edo SQL, honek hizkuntza bat dela Datu-base bateko hitz erabili duzu. Baina zer gertatzen da datu-base bat? Beno bat dela uste duzu datu-basea, gutxienez orain, gisa besterik Excel fitxategi bat bezala, edo Oraindik Mac zenbakiak erabiltzaileak irudiak izanez gero, edo Oraindik Google Apps bat bada Erabiltzaileak Google kalkulu orri bat, eraginkortasunez da datu-base bat du, edo benetan zehazki, datu-base erlazional bat. Base erlazional bat besterik ez da errenkadak eta zutabeak ditu zerbait, eta edozein motatako gorde dezakezu Errenkada edo zutabe hauetan jasotako informazioa. Baina zer da SQL buruz nice, eta datu-base benetako buruz, eta ez bakarrik kalkulu edo Google kalkulu-orriak, dela hizkuntza bat erabili ahal izango dituzu benetan exekutatu kontsultei sartu datuak, datuak kentzeko, bidaltzen diren datuak bilatzeko, nahiz eta garrantzitsuena, eta zu ez dute nahiko eskuz erabili normalean agian, Google gisa Hau bezalako kalkulu-orria. Beraz, SQL, badago sorta bat da oinarrizko adierazpenak edo piezak funtzionalitate eraikia. Ez dago horiek baino askoz gehiago, baina distantzia handi bat joan ahal izango duzu besterik ez dela jakitea izeneko hizkuntza honetan SQL gutxienez lau ditu adierazpenak leverage dezakezu. Ezabatu, datuak ezabatzeko, Txertatu, ilarak gehitzeko, Update, aldatzekoa errenkadak, eta hautatzea, atzeko ilaretan lortzean eta hori da, hain zuzen ere, SQL duenaren. Osorik funtzionatzen Hain errenkadak denean, txertatu edo kendu duzula, edo eguneratzeko edo hautatu zer ari zaren atzera lortzean emaitza multzo deiturikoak bezala, Lerro array bat bezalakoa. Ilaratan mordo bat mahai batetik. Beraz, egun atzera, eta are gehiago, egun honetan, elkarreragin dezakezu datu-baseko komando-lerroa erabiliz, baina ez da bereziki fun erabili Zuri-beltza eta estilo leiho hau eta benetan exekutatu komandoak eta zure datu-base ikutu. Erabiltzaile interfaze grafikoa, edo GUI, da askoz hobe da, dudarik gabe, eta, beraz, tresna gomendatzen dugu eta, zuretzat bitartekarien tresnaren da phpMyAdmin izeneko. Guztira kasualitatea da dela da gauza honen izena PHP du bertan, esan nahi du, besterik gabe, jendea Programa horretaz idatzi zuen bere burua idatzi PHP. Baina, azken finean, administratzen buruz datu-base zerbitzaria, MySQL zerbitzari bat bezala duzula agian, ahala do, CS50 tresnan. Beraz, ez dago xehetasun gehiago hemen baino gaur buruzko zaintzeko behar dugu, baina, zer da garrantzitsua da, ezker Atzelari datu-base guztien zerrenda bat da zure ordenagailuan duzula, Zure CS50 tresnaren gainean, edo amaierako proiektuak zaudela agian hirugarren batek, enpresaren batean dute webgune edo web zerbitzariak eta, espazioa izango duzu ordaindu daiteke. Beraz, ezkerretik da datu baseak, eta horietako batek pset7 bertan maileguan hurrengo kopiatu nuen aste pset, eta, ondoren, goiko aldeko Han konturatu ez da bat fitxak mordo, eta horietako batek datu-baseak, SQL, egoera da, erabiltzaileek, esportazio eta abar. Beraz luzea joan ahal izango duzu modu besterik ez konturatu Erabiltzailearen interfazea gehiena goiko ezkerreko zutabean da eta goialdean eskubidea han zehar. Beraz, zer egin dezakegu benetan honekin? Beno, dezagun hasteko bat sortzeko informazio-bit gisa jarraitzen du. Demagun honako kasua, hala izango da egun gutxi barru izango da, bat ezartzeko nahi duzun web, CS50 Ogasun izenekoa, eta kokatzeko aukera ematen du erosten duzunean aipatu unquote eta stock saltzeko. Eta hori irudikatu joan duten stock prezioa, azken finean, ikusiko duzun bezala, Yahoo Ogasun hitz eginez. Zein, wonderfully, doako zerbitzua eskaintzen du Horren bidez, duzu stock ticker batean gainditu ahal GOOG Google, eta atsegin izango Google egungo stock eman duzu atzera Iraganean barruan prezioa Minutu batzuk behintzat. Beraz, hori erabili ahal izango duzu, azken batean, to erabiltzailearentzat itxurak erosi eta saldu benetako diru birtuala erabiliz stock, baizik eta lehen gauza erabiltzailea da ikusteko dut bertan eskatu die hasierako pantaila hau da bere erabiltzaile-izena eta pasahitza. Eta horrela, lehenengo bat zuretzat erronka pset7 da atzera amaieran martxan jarri ahal izango da datu-basea, izango bada kalkulu-orria, hori gordetzeko joan erabiltzaile-izenak eta pasahitzak eta, azken finean zer izakinen jabe, eta Zenbat, eta zenbat cash dute, beraz, beste gauza mordo bat beste mahai, edo kalkulu-orriak. Beraz, dezagun nola begirada bat Baliteke hasiera batean agertzen dira. Atzera joan nahi dut aparatuaren eta ez naiz URL honetara joan hemen joan phpMyAdmin localhost / phpmyadmin eta ikusiko duzu dela hartzen me interfaze bat zehazki ikusi bezala dugu pantaila jaurtiketa, eta hemen I datu-base berri bat erantsi hitzaldia gaur eskatu du eta utzi aurrera Lehenengo eta klikatu pset7 on. Aukera pare bat izan badirudi I, berriekin bat, taula berri bat sortzeko, eta erabiltzaileei lotura, Dagoeneko sortu dut taula bat da. Beraz, zer da taula bat? Beraz Excel erabiltzen baduzu aurretik, eta dut baduzu zenbakiak erabili edo Google Kalkulu-orriak, ireki leiho bat eta sorta oso bat lortuko duzu errenkada eta zutabe, baina, ondoren, normalean lan-orriak behean, edo fitxa desberdinetan zehar. You bakoitzak pentsa dezakezu worksheet taula gisa beraz, datu-base hori, azken finean, da a bat edo gehiago taulak konbinazioa, bata edo lan-orriak gehiago, in the kalkulu-normal bat munduan. Hargatik aurrera me eta Ezkutatu worksheet hau premade dudala, erabiltzaile izeneko, a.k.a. Datu-basearen taula. Eta behera joan I izanez gero, utzi gerturatzeko me out apur bat, hau da phpMyAdmin zer kontatzea da Taula honen barruan dago digu oraintxe. Pixka bat nahasgarria da hasiera batean Begirada UI ez delako munduko gauzarik politena da, baina zer interesgarria da zati honetan hemen. NAN, izena, eta hash. Aldez aurretik, eta eskuarekin izango zara hau arazo girotuta zazpi, super bat duen fitxategi bat ematen dugu datu-baseko taula txiki, maileguan benetan hacker edizioan batetik arazoa bi multzo, horietatik barruan sei ilaratan daude. Belinda guztiak bata modu Zamyla bat behera, eta horiek ezkerreko du nabarituko Erabiltzaile izen bat bezala identifikazioak bakarrak dira, bi, hiru, lau, bost, sei, osoko zenbakiak eta, ondoren, eskubidea egiaztapenekin dira. Eta, baldin eta aurka daude, ez duzu egin hacker edizioa arazoa bi multzo, baina hash bat besterik ez da segurua behar bezala ohar gutxi batzuekin pasahitza. Eta beraz, hemen zer ikusten duzun enkriptatuta sei guztien bertsioak Arazoa gure pasahitzak ezarri bi edizioan hacker. Orain ezkerreko besterik GUI stuff batzuk, Lerro honetan editatzen, ilara hau kopiatzea, Lerro honetan ezabatzen. Baina zer da interesgarria gaur egun honako hau da. I actually has daiteke Taula honetan esperimentatzen. Beraz, joan nintzen, eta egin klik SQL bada fitxa, testu kutxa handi hau lortu dut. Eta hori ez da nola goaz egin ezazu benetan idaztean kodea. Argi izan, phpMyAdmin Hori besterik ez da tresna bat da Poke digu datu-basearen inguruan utzi du eta utzi esperimentu galdera egiteko gurekin. Horrela, esate baterako, eman dezagun Zehazki hau exekutatu dut. Aukeratu, hau da horietako bat keywords lehenago, star aipatu dut, horrek suposatzen guztiak mahai baten zutabeak. Zer taula From? Beno, erabiltzaileei. Eta, adi, ez da hau SQL hitzarmena bitxi non benetan erabiltzen duzun Atzera akainak, normalean, Komatxorik ez bakar eta ez komatxo bikoitzak taulak izenak aipatzean, beraz, atzera aurrekontua buruzko gauza da Goiko ezkerreko zure teklatua eskutik gehien litekeena. Hargatik aurrera me now eta besterik ez dela bakarrik utzi eta joan behera eta sakatu Joan, eta ez gara benetan gauza bera ikusteko. Besterik ez dute SQL kontsulta bat exekutatu dugu hautatu dena izar esaten erabiltzaile izeneko taula, eta atzera lortuko duzu, hau da. Azken finean, gai izango garen gauza bera egin kodean, baina orain guztientzat nahi dut ez zen ikusten nire nabigatzailean. Beno, egin dezagun zerbait utzi apur bat desberdina. Dezagun atzera me SQL fitxa, eta demagun besterik gabe, zer da hori? Zamyla bere guztiak galdu ditu dirua, eta, beraz, da Gurekin denbora bere erabiltzaile gisa ezabatzeko. She dagoeneko ez eta saioa hasi. Beraz, ez dut ezabatu from-- esanen ondo, kapitalizazioa mantentzea koherentzia, ezabatu erabiltzaileen bertan. Eta, beraz, hauek izan dezakegu predikatu, edo horiek sailkatze, nire adierazpen amaieran non eta nola izan dut Zamyla ezabatu? Bere izena Zamyla historikoetan, beraz, zutabe, zutabe bat izendatu zuten, beraz, non name = "Zamyla". Eta hemen bikoitza erabiltzen dut komatxo edo komatxo bakar, atzeko ticks denean bakarrik erabiltzen dituzu izenei buruz hitz egiten, esate baterako, taulak edo eremuetako. Eta utzi Joan hemen sakatu me. Eta orain, web orrialdea da Apur bat uptight izateaz. Edo, ez duzu benetan exekutatu ezabatu nahi erabiltzaile izen berdinen Zamyla from? Bai. Beraz, orain, atzera joan bada nire mahai dugu klikatzen erabiltzaileek, Hm nabarituko. Goofed dut. Eta hain zuzen ere, mota I klik egindakoan kanpoan hain azkar zuen, nahiz eta ikusi ez duzun error gorriz mezua, agian. Zer oker egin dut? IKUSLEEN: ez duzu behar bere izena larriz. DAVID J. MALAN: Bai I bere izena kapitalizatzen, baina benetan username-- bere I pare akats bat egin, ezta? One, bere erabiltzaile-izena da Zamyla, minuskulaz Z, eta zutabe-izena erabiltzaile-izena da, ez aipatzearren, beraz Berriro egin dezagun. Dezagun aurrera eta erabiltzaileei nondik ezabatu username aurrekontua unquote "Zamyla" berdin. Guztiak eskubidea? Beraz, itxura apur bat hobeto, utzi behera joan, joan eta sakatu Joan. Oraindik joan me at Yell ziur izan. Ezkutatu I Bai, eta orain ikusiko dugu, Egia hau gertatu zen, benetan azkar, bat baino gutxiago Bigarren zalantzarik, honi got exekutatu kontsulta da, zehazki. Baieztatzeko, erabiltzaileei sakatu me eta hain zuzen ere, gaur egun Zamyla desagertuko da. Orain egin dezagun kontrakoa utzi. Demagun Gabe duten nahi du Webgunean izena emateko. Zer da SQL kontsulta, zer da Komando Gabe gehitzeko idatz nezakeen? Beno nahiko erraza da. Erabiltzaile txertatzeko, eta orain apur bat críptica xelebrea. Zehaztu behar dut, zerbitzaria, zer esleitu nahi ditut eremu. Ez benetan axola zer Gabe ikastetxerako ID zenbakia da, beraz, albo batera noa. Naiz ordez esateko joan izena, hash, eta gero balioekin jarri nahi dut ez da Gabe izango. Eta gero, bere hash, ez dakit. Beraz, oraingoz, noa uzten duten handi bat egin zuen. Itzuli dugu nahi arazo multzoa zehaztapenak nola benetan egiten duzun bezala. Beraz, berriro ere, sintaxia. Taula izena txertatzeko, orduan a eremuen zerrenda parenthesized, zutabeak gehitu nahi duzun balioak, eta, ondoren, antolamendu zehatza bera ezkerrean gehitu nahi dituzun balioak eskuinean, eta besterik ez delako itzulbiratzeko Testua apur bat luzea da. Beraz, orain utzi egin klik me Go. Lerro bat sartuta. Eta orain joan I itzuli bada erabiltzaileak, zer da interesgarria dela ez Gabe bakarra da, gaur egun dauden datu-basea, zer da itxuraz bere izena? Beno zazpi da. Zergatik da zazpi denean ez nuen gehitu? Beraz, ere, da bat Ezaugarri basearen lortuko duzu. Asko funtzionalitate eraikia. Bihurtzen denean, dela sortutako mahai hau, Aurrez I automatikoki da ID bat esleituko dira, kasuan it-gehikuntzak. Beraz duzun inoiz inguruan poked bada, eta zein den zure Facebook ID begira geratu zenbakia da, egun hauetan ez da benetan , baina Facebook gauza bat egin API gisa, Aplikazio-programen interfazea, Horren bidez lortu dezakezu Datu sorta osoa buruz zeure burua, zure lagun inguru, eta zure konexioak. Eta zer ziren halako izateko cool, egun atzera, zen bilatuko behar duzu zure Facebook NAN zenbakia izan zen. Mark Zuckerberg, adibidez, hiru da gunearen egileak hartu duelako. Eta istorioa doa, sortu zuen bi proba kontuak, erabiltzaile bat eta bi, zein ondoren ezabatu egiten zuen. Eta, beraz, Zuck, bere erabiltzaile-izena da gisa Facebook-en, NAN kopurua hiru da, eta guztiok askoz zenbakiak egun horiek hiru baino handiagoa da. Izan ere, uneren batean Facebook urrundu egin zen nahiz eta int bat, erabiltzen ez uztea bertan 32-bit balio bat da erabiliz hurrengo urratsa egin dute, funtsean, luze bat, beraz, duten lekua izan dute nahiz eta erabiltzaile gehiago erregistratzeko. Beraz, pixka bat Izan historiko fun. Beraz, besterik gabe, oinarrizko sintaxia horrekin pare bat exekutatu genuke kontsultak, baina ezin dugu benetan Gauza mordo bat gehiago egin SQL batekin. Eta ikusiko duzu, azken batean, arazo girotuta zazpi bat egin behar duzula diseinu erabakiak zenbakia, horien artean izango da joan zer datu-mota erabili. Beraz, besterik C bezala, ez dira datuak base batean mota, MySQL bezalako, eta datu-mota aukeratu behar duzu Halaber, eremu horiek hemen. Char, varchar, Int, int big, hamartar eta data ordu, eta beste asko. Beraz, ez benetan dezagun. Dezagun asmoa ez ote genuen erabiltzaile honen eskua mahai eta utzi aurrera me eta sortu, for neure burua, hitzaldietan, eta datu-basea benetan utzi aurrera me eta ezabatu Mahaian hemen dut dagoeneko beraz, benetan sor dezake honek. Whoops. Hau askatu nahi dut mahaia, eta orain naiz berriro joan joatea hemen baino gehiago hitzaldia datu-basea, Mahai bat sortu nahi dut erabiltzaile izeneko eta dezagun besterik ez egin hiru zutabeak Hasieran eta sakatu Joan. Orain, zati handiena, berriro, hau da, besterik izeneko tresna grafiko hau erabiliz phpMyAdmin, eta orain zer egiten ari garen Taula bat sortzeko da. Beraz, hau da joan File bezalakoa da, New, eta Excel fitxategi berri bat sortzeko. Beraz, niri galdetuz du pare bat galderak, ezkerretik eskuinera, zer da lehen zutabean izena, eta, ondoren, bigarren zutabean izena, eta hirugarren baten izena. Hargatik birsortzeko honetan. ID, eta, ondoren, erabiltzaile izen bat izan zen, eta gero hash beste izan zen. Beraz, datu-mota da zer egin beharko lukete izan orain IDa bezalako eremu batean? Hona hemen datu moten zerrenda osoa da zure eskura base batean, eta orain dezagun int joan besterik ez. 32 biteko balioa, ez dut Uste errealistan naiz 4 milioi baino gehiago izan da joan Nire kontua lankideei, nire zerbitzuan, beraz, ez naiz mugitzen jarraitzea hurrengo galderara on. Ez dut zehaztu joan luzera edo baloreak, Ez da aplikagarria da Hemen int bat, per se. Eta orain zehaztu dezaket, itxuraz, lehenetsi balioa, eta hori ez dut zehaztu joan. Kolazioa A, ez dakit zer dela. Atributu bat. Orain benetan egiten dugu diseinua erabaki dute. Beraz, ez da eremu batzuk hemen, ez guztiak horietatik dira aplikagarri, baina sinatu gabe besterik gabe esan nahi du zer? Hau int izan behar? Just ez negatiboa. Beraz, 0 gora egon behar du. Ez, ez dut nahi duelako egiaztatu joan Erabiltzaile bakoitzak ID bat izan nahi dut, ezin da nulua. Eta, ondoren, get batzuk gehiago behar ditugu hau bezalako diseinu erabakiak interesgarria. Itzuli dugu honen une batean, baina zer datu-basea beste ezaugarri bat da dela esan dezakezu Datu-base zerbitzaria aurrera eta optimizatzeko zeure burua, zure RAM eta zure disko gogorrean, beraz, hautatzen eta txertatzen, eta ezabatzen, eta eguneratzerik benetan azkar. Kontrastatu hau pset5 batekin. Zerbait begiratu nahi baduzu hash taula, eta horrek datu-base gisa uste duzu, duten guztia egin behar izan hash taula azkar egiten lan. Da bezala, jakina, duzu. Eskuin? Denbora fina guztietan jarri izan duzu gauza findu, hash funtzio bat lortzean eskubidea, out nola kalkulatzen kuboak asko behar. Baina zer polita, berriro ere, buruzko datu-basea da punt besterik ez duzu guztia honek beste pertsona dutenek ez dute pentsatu zuretzat bidez, eta jarraitu Hemen esan pean noa indizea da identifikatuta eremu horretan da modu nagusia izango da erabiltzaile identifikatuz datu-base honetan. Ez dut uste joan Zamyla Zamyla gisa, Uste noa Bere kopurua 6 baita. Zergatik da, agian, hobeto intuizioa eta eredua pentsatzea Zure ilaratan banakako erabiliz bakoitzak zerbait ordez zenbaki bat kate bat, Zamyla bezala bezalako edo Gabe edo gehiago kate oraindik? Bai? IKUSLEEN: ID bat berezia da? DAVID J. MALAN: Esan berriro? IKUSLEEN: ID bat berezia da? DAVID J. MALAN: ID An bakarra da, baina suppose-- oro har, hala Erabiltzaile izen batekin, demagun Era berean, esan nuen, ez bakarrik ikusi ahal izango da, inork Zamyla munduan, eta inork Gabe bakarrik. Berezitasuna inposatu nezakeen kateak murriztapen ere, nahi nuen. Beraz, ez pentsamendu txarra. Ikusleak: More segurua. DAVID J. MALAN: gehiago seguru, zergatik? IKUSLEEN: Ezin duzu esan zein hau da, erabiltzaileak legez. DAVID J. MALAN: Ados, ezin ditugu, erabiltzaileak kontatu da eta horrek, beraz, ez da bat pribatutasun alderdi, batez ere, identifikazioak agian URL agertzen. Beraz, ziur, hori esango nuke lan mota, too. Beste pentsamenduak? Bai? Ikusleak: errazagoa da bertan eragiteko int on. DAVID J. MALAN: Hori da benetako kicker da. Besterik eraginkorragoa, edo ordenagailua errazagoa, zenbaki oso bat eragiketak egiteko. Eskuin? Int bat dago bermatuta izan 32-bit, Zamyla berriz da gutxi karaktere luzea, Gabriel dagoen karaktere batzuk gehiago luze, Davenport benetan luzea da, eta, beraz, handia da ez bereziki eraginkorra da erabiltzeko kateak balioak konparatzeko eta begiratu eremuak, eta egunera-zelaietan, zuk kanpoan bazara osokoa bakarrarekin. Just 32 bit. Beraz, erabiltzaile izenak, ere, modu horretan, ez dute berezia izan da, ziurrenik behar zuten arren izan, eta nahiz eta modu honetan gehiegi Erabiltzaile bat behar da onartzen liteke bere izena aldatu. Beraz, utz dezagun orain hau bezalako Erabiltzaileak identifikatzeko modu lehen. Hau da, datu-basearen kontatzea aurrera eta zeuk optimizatzeko beraz up look hori IDa super azkarrak dira. AI, horribly izendatu, besterik Auto gehikuntza esan nahi du, eta hau da Kutxa egiaztatu behar dugu Identifikazio-eremua zehaztu automatikoki niretzat eguneratuko da, eta ondoren, naiz joan eskubidea hemen jaon eta Egia ez naiz benetan interesatzen zait Edozein arlo hauek gehiago. Zalantzarik ez baitago. Beraz, ez dut hemen itzuli egingo, Lehen zutabean, nora Erabiltzaile-izena zehaztu behar dut eta hash, eta dezagun an gutxienez foku at oraingoz inork bigarren. Int Seguru asko ez da eskubidea deia, beraz, zer gehiago zentzuzkoa agian? Ikusleak: Testua. DAVID J. MALAN: Esan berriro? Ikusleak: Testua. DAVID J. MALAN: Idatzi? OK, testua entzun nuen. Zer gehiago? Motatako daukagu ​​aukera mordo bat Naturan testualak dira. Beraz, noiz, eta zergatik, do horietako batzuk erabili duzu? Beno char, aurkakoa duzuna gerta uste, ez da pertsonaia bat bakarra. Karaktere kopuru jakin bat da. Beraz, bada, badakigu-izen guztiak direla Zortzi karaktere bezalakoa izan behar du, erabiliko zaharragoak ohikoa izan den bezala sistema informatikoak, char esan izan dut eta, ondoren, esan izan dut 8 hemen. Hori da, hirugarren zutabeak bihurtzen denean dagokio taula bat sortuz. Baina hori da gogaikarriak mota pertsona batzuek agian delako Erabiltzaile izen luzeagoa izan nahi Zortzi karaktere baino, Baliteke pertsona batzuek nahi Erabiltzaile izen laburragoa dute, beraz, zergatik konpromisoa neuk kopuru jakin bati? Zergatik ez aldagai bat karaktere eta besterik esan duten gehieneko izen baten luzera da, ez dakit, 64 pertsonaiak bezala. Ezin dut lagunik uste dutenek 64 karaktere baino izen luzeagoa izan, eta hori oso motza bada ere, ezin duzu zalantzarik erliebe sortu arbitrarioki. Beraz varchar aldagai bat da chars kopurua. Testua ez da sena txarra, eta Egia sort hori ez du esaten, baina testu-eremu bat izan daiteke 65.000 byte gutxienez bezala. Hori da, ziurrenik bat Overkill eremua, eta hain zuzen ere, yup, 65,535. Hori da, ziurrenik bat Overkill izendatzeko, beraz, makila dugu, normalean, textual for varchars ekin eremu eta hash, gehiegi. Hash, bihurtzen da, bat egin genezake varchar baita edo horrelako zerbait, baina ez dugu gaur dutelakoan on Kriptografia han eta zenbakiak egia esan dezakegu dela bere luzera erabili nahi. Baina utzi behera joan me eskuinera. Bat bakarrik izan dezakezu indizea lehen mahai bat, baina ez horiek edozein aplikatu nahi dut, orain, erabiltzaile izena da, esan nahi duzu? Zer erabiltzaile-izena behar da vague batean oinarritzen lau aukera horiek ulertzeko? Just bere izenez? Ikusleak: Unique. DAVID J. MALAN: Beraz, berezia da, ezta? Eta gertatu da, ez bakarrik dela gai datu base bat esango dizu, aldez aurretik, hau lehen modu bat da esparruetan identifikatuz. Ere esan dezakezu hau da eremu berezia izango da. Ez da izango gauza konfiantza dut, baina datu-basean nahi nuke funtsean, hori bada baldintza, beraz, dela inoiz erregistratzen saiatu badut izen bereko beste bi erabiltzaile, datu-base out lauak ez dit utzi du. Baliteke kodea gehigarri batzuk ditut PHP askoz eragozten ere, baina datu-basean, ere, bermatu ahal dela inoiz gertatuko. Orain, bat alde batera utzita, batez ere, gisa azken proiektu uste duzu, mind da indizea eta osorik mantentzeko Testua oso erabilgarria egia esan. Datu-base handiago bat, ez badaukazu dozenaka, baina ehunka edo milaka edo are eremuak milioika, egin dezakezu halaber, aldez aurretik, datu-basean kontatuko hau eremu bat noa da asko behar da bilatzen. Agian bere izena, agian bio da, ez bazaude Facebook-antzeko webgune bat egiten duten Erabiltzaile ahalbidetu paragrafoetan ditu gordetzen du, eta, nahi izanez gero aldez aurretik, datu-basean kontatuko Eremu honetan beharreko bila noa asko, baina ez da zertan bakarra, sortu me indize bat zehaztu dezakezu. Edo, esan dezakezu ere baimendu egin dit Komando bezalako bilaketak arbitrarioa mota edo Kontrol F, zu bezalako Word Processor batean gerta daiteke, beraz kateak arbitrarioa dela ikusten da edo arlo horretan azpikateak. Bestela esanda, ari gara seihilekoan puntua non ez duzu kezkatu eraginkortasunez gauzak nola ezartzeko. Besterik ez duzu buruz jakin zer diseinu erabakiak beraz zarela egiteko tresna eskubidea erabiliz Ordena ezaugarri onura ateratzeko ere merkataritza beste pertsona duzu eraiki. Beraz, laburpena, lehen egin beharko lukete bakarrik dute bat, duzun bakarra izan dezakete, eta gauza duzun konpromisoa ari da Eremu bakarrean identifikatzeko erabiliz. Berezi besterik espiritua antzekoa da, baina noizean behin bakarrik gerta daitekeen erabili, baina datu-basea da inposatu nahi izatea. Index besterik esan preemptively Azkartu etorkizunean dudala bilatu dezakezu, beraz, arlo horretan gauzak. Eta gero, testu osoa, oro har, aldeko paragrafo, edo saiakerak, edo organo handiak Testuaren bertan duzu baliteke ere izan nahi izar baliokidea bezala basa-txartelak. Eskuin. Beraz, mota izan zen guztiori aldi berean. Ea ez badugu distill Let Ezaugarri horiek pare bat eta, ondoren, zerbait eraikitzeko nahiko erraza da, baina indartsua. Beraz, beste artean diseinu erabakiak Oraindik azken finean, behar da batera joan biltegiratze motorren lerroetan. Eta utzi egin me besterik honetan aipamen azken proiektu aurrea hartzeko, eta aurrea dezagun esan gabe, egin dezagun. Dezagun eraikitzeko txiki honetan Aplikazio lehen. Nire terminal joan noa leiho, eta hemen ere ez dago bakarrik counter.php, oraintxe goaz gisa jada ez germane kentzeko, baina sorta oso bat daukagu guneak eta honen da izpiritua oso antzekoa izango da zer arazo ikusiko dituzu zazpi ezarri. Beraz, hiru guneak daukagu Biltzen publiko eta txantiloiak, eta horrek zehazki non dagoen utzi dugu Gure osoan MVC paradigma batera astelehenean. Eta laburpena, jendaurrean dago joan duten erabiltzaileek nahi dut edozein agiria orain v izan ere bisitatu ahal bere nabigatzailea URL bidez. Txantiloi. Zer egin templates jarri dugu? Nolako stuff? Ez zegoen askoz baina pare bat fitxategiak behintzat astelehenean. Bai. Ikusleak: goiburua eta orri-oina? DAVID J. MALAN: goiburua eta orri-oina. Gaur egun, beraz, antzeko zerbait egin behar dugu, gehiegi. Nik fitxategi batzuk gehiago lortu dugu, baina , Orri-oina ikusten dut Header ikusten dut, eta, ondoren, beste fitxategi mordo bat. Beraz, honen baliokidea da horrek V MVC ikuspegia, eta, berriro, izango da, pixka bat gehiago Arazoa argi multzo zazpi, baina hori besterik ez da karpeta bat naiz da nire estetika asko jarriz. Nire HTML, nire forma asko asko. Bitartean, eta proiektuaren baitan, beste duten hiru fitxategi hauek ditu direktorioa eta dezagun begirada azkar bat horietan. Aurretik joan noa eta ireki config.php. Out, askoz Bihurtzen da terminoa lehenago bezala, zorrotz sartzen duzu CS50 dot h pset7 batekin. Gaurko adibidean, bazoazela horren baliokidea egin eskatzen adierazpen bat eraginkortasunez Hainbat lerro hauek dira. Beraz, argi izan, hau da, fitxategi batean config.php izeneko. Eta nabarituko zer egiten ari da. Honez itxuraz zerbait egiten críptica, inflexio akats mezuak haiek ere ikusi ahal izango duzu nabigatzailean. Da, ondoren, itxuraz beste bi fitxategi eskatzen beraz, C # include bezalakoa da, eta ondoren, hau ikusi genuen, eta haiekin bermea dugu, hau aktibatu erosketa funtzionalitate bezala saskia dela. Hau cookie borondate esan nahi du atzera eta aurrera bidaliko dira. Beraz, zergatik da hau interesgarria? Ba, joaten gara itzuliz gero hau dugu direktorioa eta ireki, adibidez, constance.php. Iragarki PHP egiten duen laguntza-konstanteak, ez da nahiko C. define bezala Horren ordez, literalki duzu definitu esan, eta oharra dudan aldez aurretik gordeta fitxategi honetako lau konstanteak. Gaur egungo datu-base bat, baterako Nire pasahitza, nire erabiltzaile izena, eta zerbitzari baten izena da. Beraz, horiek dira benetan izango da Nahiko arazo bertsua multzo zazpi. Azkenik, eta hau da, non nago nice funtzionalitate batzuk lortzeko langileen, functions.php idatzi dugu kodea sorta bat da, eta horren zati batek lapurtu I arazo multzo zazpi Gaurko, gauza mordo bat egiten du eta dezagun horietako bat begiratu besterik ez bereziki. Funtzio hau hemen, kontsulta, izango da PHP funtzioa deitzen dugu Ordena SQL exekutatu. Duela une bat erabiliz ginen phpMyAdmin, baina hori besterik ez Ikaskuntzan moduko for eta diagnostikoak egiteko eta zure datu-base multzo ahaztu. Noiz benetan erabili dituzu zure datu-basea, zuk, giza, dira, jakina, ez da joan egingo dio sortu den web bat orria aldi bakoitzean norbait erregistratzen du. Kodea idatzi behar duzu duten txertaketak eta eskariaren erabiltzaile ezabatzen, eta horretan ari gara hori egin ahal izateko joan Kontsulta funtzioa bidez. Orain joan I behera bada, ez da Ezaugarri batzuk gehiago izango. Redirect da joan idatzi dugu funtzio bat izango zuretzat egiteko aukera ematen duena erabiltzaileari bidali URL bestera, eta errendatu funtzio bat da, nahiko bezala ikusi Astelehena, benetan errendatzen txantiloi bat, baina gehiago ere horiei buruzko pset7 ibilaldia propioen bidez forma. Oraingoz, dezagun aurrera eta hau egin. Dezagun joan nire hitzaldiak taulan sartu eta Ikusten ez dagoela da gaur egun ezer Hemen, besterik gabe, eta utzi ere joan me nire direktorioa publikoak, non sartu fitxategi bat besterik ez da, index.php. Fitxategi honek agertzen super simple izateko une honetan, itxura besterik ez hau atsegin du. Oso zenbat atsegin dugu utzi off astelehenean. Fitxategi hau eskatzen dut, config.php, eta bertan dago bat direktorioa, biltzen dituen dot dot da, nire gurasoak, eta, ondoren, besterik ez da fitxategi hau bihurtzean. Beraz, zer fitxategia hau? Dezagun ireki nire txantiloietan form.php, eta hau ikusiko dugu. Super simple, itxuraz datu-orri hau to _GET bat $ edo $ Bi_dali ek aurkeztu zuen joan. Behatu check azkar. Literalki ikusmen bilatu fitxategia. Metodoa post berdin. Beraz, ez da URL erabili behar dituzten bezala, Google ez, nik ezkutatu ordenatzeko Informazio atzean eszenak, eta hori da to bat aurkeztu joan fitxategia erregistroa deitzen, eta fitxategia da oraindik ez dugu idatzizko baina zer da hori joan da itxura hau dute. Joaten naiz aparteko orri bat baduzu Hori zer localhost / index.php itxura. Eta berriz, zerbitzari besterik index.php suposatuz. Sartu. Beraz, non gaude , eta zer egin nahi dut da izango gauzak idatzi ahal David bezala, eta, ondoren, Nire telefono zenbakia, eta horrek esan egingo 617-555-1212, oraingoz, izena eman eta, orain, erregistroa ez da topatu. Beraz, hau martxan jarri ahal izateko behar dut. Hargatik Látigo bizkor en up honen antzeko zerbait. Dezagun joan nire direktorioa publikoan sartu eta egiten erregistroa gedit, eta, orain, aurrera noa, eta joan hasteko PHP moduan, egin genuen bezala, astelehenean, eta itxi PHP etiketa eta Egin gauza pare bat utzi. Beraz, inork, jakin dut inprimaki hori idatzi zuenik, honako hau egiaztatu nahi nuela. Hutsik badago, edozein erabiltzailea idatzi sartu izena eremuan, eta gero Zerbait esan nahi dut atsegin barkatu izena falta da. Barkatu, bere aldetik, ez da PHP gauza eraikia, idatzi dugu funtzio bat da pset7 functions.php horrela sartzeko aukera izango duzu. Bestela, beste arlo bada hutsik dago, zenbakia da, orduan naiz nahi duela, barkamena eskatzea Erabiltzaileak eta esan kopurua falta diren. Gorde fitxategi hau. Orain goazen atzera nire nabigatzailea, go foroa atzera saiatu berriro. Izena eman. OK. Ez da ezer gertatu, eta hori ona da. Ez nuen errore-mezu bat jaso. Baina horren ordez, utzi freskatuz honetan orria, eta ez da ezer ematen. Malditos. Hori egiteko. Izena eman. Zer oker egin dut? Hutsik badago, $ Bi_dali izena. Esan berriro? Oh, jakina. Garrantzitsuena, ahaztu dut bertan da eskatzen ("../ includes / config.php."). Sarbidea izan behar dut Barkatu funtzioa, Horregatik ez da ezer gertatzen ari zen. Funtzioa ez da benetan existitzen. Hargatik saiatu berriro. Dezagun berriro orria, sakatu Erregistratu. OK. Hor dago. Beraz, irteera gaude Hemen ikusten emaitza da hots Barkatu bat funtzioa, super simple, eta besterik ez bistaratzen da edozein dela ere Argumentu gisa ematen dut. Ondo da, beraz dezagun lankidetzan aritzeko. Dezagun ematen nire izena David bezala, erregistroa, zenbakia OK dezagun falta direla ematen, gehiegi. 617-555-1212. Izena eman. OK. Beraz, guztiak ondo orain, besterik ezer interesgarria gertatzen ari da. Beraz, gaur egun dezagun zerbait gehiago egiteko en Hau atsegin gertatuko interesgarria. Me phpMyAdmin sartu, eta dezagun benetan erabiltzaile izeneko taula bat sortu, Emateko hiru noa zutabe, eta azkar egingo dut ID sortu eta gero izendatzeko, eta gero zenbakia, eta NAN eremuan naiz int bat bezala uzten joan. Izena eremua noa to varchar gisa utzi, eta esan dugu 64, zertxobait arbitrarioki. Kopuruak noa egiteko, zer dakizu? Sartu gara US zenbakiak hemen onartzen, beraz, naiz zerbait egin nahi dut char bezala eta, ondoren, 10 karaktere Gehienez area kodea batentzat eta, ondoren, zazpi digituak. Eta gero, hemen baino gehiago, ez naiz joan zehaztu auto gehikuntza arlo horretan, hau lehen mailako gako bat izan dadin, eta Animatu eta ez joan nahi dut egiaztatu beste kaxak horiek edozein. Beraz, orain, azkenik, I klik Save, eta atzera egin dut nire erabiltzaile taula, hau da, zer looks balitz bezala dut orain egin klik fitxa berrian egitura bat. Beraz, argi izan, besterik phpMyAdmin-en modu da Zure datu-basearen esaten ID bat, izen bat eta zenbaki bat dauka konfigurazioak partikular horiekin eta eremu gainerako ez ikusi beharko dugu oraingoz ez dago. Beraz, orain zer egin nahi dut? Beraz, orain banoa hartuz gero nire Iturri-kodeak, dena ondo badago Honako kontsulta exekutatu nahi dut. Txertatzeko, eta besterik ezin dut Esan erabiltzaileek egiten dut zorrozki ez Behar horietan ticks bada Ez erabiltzaile bezalako hitz arriskutsua. Izen esatera noa, zenbakia, eta, ondoren, hemen nago ez gogorra kodea joan balioen digitu oraindik. Bi galdera ikurrak jarri dut. Eta hitzarmen bat da hizkuntza askotan Horren bidez, izan nahi baduzu Kate bat leku-marka Galdera erabili joan zaren markak, arrazoiengatik zaitugu itzuli berriketan segurtasuna, eta hemen To horiek gainditu noa bi eremu bidaltzeko izena, eta, ondoren, post-zenbakia, eta, orain, gorde fitxategia. Eta orain ez dut joan joan behera hemen super bat da Besterik gabe rendersuccess.php, esan zein txantiloi beste izango. Oso azkar sortu nahi dut. Geditsuccess.php eta besterik ez naiz joan H1 fitxategi hori arrakasta esan nahi. Guztiak eskubidea. Beraz, orain, goazen atzera nabigatzaileak, non lehenago bisitatu dut. Dezagun aurrera eta berretsi idatzi nuen David ere, idatzi telefono zenbaki bat eman dut, erregistratu. Malditos. Zer oker egin dut? Beraz, errore bat ikusten dut hemen, Zure SQL sintaxi errore bat izan. Salto me gedit itzuli dezagun, utzi atzera me to erregistroa, eta zer ez ezikusia dudala Azken denbora garrantzitsua izan zen? Hau behar dut. Batetik baino beste jakin nahi duzu aurretik nabaritu, baina behar dut hau. Beraz, orain, goazen atzera, eta hau lagungarria nabigatzailean ikusi zen eta hori config.php zergatik akatsak txu dugu. Dezagun aurrera, eta berritu, Jarraitu botoia, arrakasta. Beraz, gaur egun baino gehiago joan me to my datu basea hemen eta sakatu Erabiltzaileak eta, eta arakatu eta konturatu naiz orain David nire datu-basean aurkitu. Orain teknikoki webgune honetan dagoen oraindik ez du internet publikoan, beraz, ezin dut beste eduki Hemen jarriz pertsonak, baina nik, orain nahi, zeren Esate baterako, bidali neuk testu-mezuetan. Goazen gorputz bat hemen eta ikusten dugu benetan lan egiten bada. Aurretik joan noa eta errenkada hau ezabatu eta lausotzen dugu hau bideoa geroago beraz, ez dugu egin internet osoan me Texting, eta orain joango gara up to nabigatzailea eta joan gara hitzaldia eta desberdina izango dugula idatzi zenbakia Hemen, erregistroa, arrakasta. Beraz, gaur egun, nire zenbakia propioa da zentzuzkoa ere datu-basea, eta orain fun zatia. Dezagun PHP benetan erabili egin Zerbait programazioaren, bai komandoa bertatik lerroan edo beste nonbait, eta orain, besterik ez naiz simple mantentzeko joan eta sartu noa nire hemen eta honako hau. Gedit script demagun, zaitugu testua, #! / user / bin / env PHP deitu, atsegin azken aldiz ikusi genuen. PHP. Orain ez dut egin behar da joan config.php barne hartzen ditu, nahiz eta agian hau izan arren error apur bat bultzatu. Eta orain aurrera noa eta esan ilaratan, kontsulta, hautatu erabiltzaile batzuen izarra, orain eta hemen ari naiz teknika bat egin da joan ilaratan bakoitzak ilara gisa denbora azken from. Eta ez dut zerbait simple egin. Printf demagun izena da hori, eta kopuru hau, backslash n dago. Eta orain ez dut pasatzen joatea errenkadan unquote izena aipatu, eta ilara aurrekontua unquote zenbakia, eta, gaur egun dezagun aurrera eta nire terminal leihoa chmod a esta + x egiteko testu exekutagarria izeneko script hau. Eta dezagun exekutatu testua. Ados, beraz, aurrera egiteko. Beraz, orain idatzi dut bat komando lerroko script, PHP izeneko, hizkuntza batean, horregatik eskatzen line, konfigurazio horiek guztiak sartzeko konstanteak dudala zehaztu. Datu-base eta abarren izena. Izan ere, argi izan behar hau ez dela kasualitate bat, utzi aurretik, joan eta izena emateko oso azkar, beste norbaitek Rob bezalako eta berarekin emango 555-1212 zenbakira. Eta orain, script exekutatu bada berriro, konturatu boterea zer datu-base batera ari gara egiten. Orain berehala ikusi nuen zer egin beste bi lerrotan nire datu base batean daude. Beraz, gaur egun dezagun saiatu zerbait egin behar nahiz dotore barruan, eta honen zatia dugu da Ez da aldez aurretik probatu, beraz, azken aldiz Hau nik egin gauzak joan horribly awry, Bideo dugun efektu hori. Egia esan, bai, dibertigarria alde batera utzita. A Beraz, azken aldiz, in Duela bi urte bezala hitzaldia, erabaki genuen, erabaki nuen, nahi izan hori guztia ideia handi bat izango litzateke emailak dinamikoki sortzen klase, datu-base CS50 osoa erabiliz ikasleak, zuten eman digu bere zenbakiak eta euren mugikorrean eramaile eta zuk pset0 tik liteke, , nola arrazoia bihurtzen da Bug txikiak izan nuen nire programa eta pare akats bat egin zuten 2012an, eta uste dut. Horren bidez, bat begizta niela zehazki gauza mota hau egin, datu-basea baino gehiago errepikatzean, basetik Izen bat eskuratzerakoan, basetik izendatzeko, eta ondoren bakoitzari buruzko begizta-iterazio email bat bidali nuen. Baina horren ordez, email bat bidaliz, I email bat lehen iterazio bidaliko, eta bi emailak bigarren iterazio bat bidali Hiru emailak bigarren iterazio da, eta horrek gogoratzen dezakezu gisa gure asintotiko idazkera eztabaida txarra O big honetan, bezalako n karratu I bidalitako zenbat mezu da baina ez zen, nahiz eta emailak Testu mezuak izan zen. Eta ezagutzen duzun bezala, asistentzia ez dago super altua amaieran seihileko aldera eta beraz, cute izango litzateke pentsatu nuen ordua, esan "Zergatik ez zara klasean?" Testu-mezu I klase osoa bidaliko da, eta dibertigarria izan zen% 50a gustatzen klase, baina beste% 50, eta horietatik batzuk freaked, izugarri igorri i ohar gozoa apologetico langileek barkamena eskatzeko ondoren hitzaldia galduak besterik ez Hau behin, ezta? Beraz zela horribly awry. Beraz, espiritu hori, dezagun saiatu hau berriro, baina nire zenbakiarekin besterik ez. Aldez aurretik, functions.php, Idatzi dut funtzio hau hemen. Honez testu izenekoa, eta horrekin hiru argumentu hartzen. Kopuru bat, garraiolari, eta mezua. Switch adierazpen bat erabiltzen dut bertan wonderfully PHP hartu kateak, eta ez bakarrik osokoak, eta ez nuen ezartzeko oraindik horretarako laguntza guztia, Besterik ez dut egin & T eta Verizon. Bihurtzen da delako eramaile hauekin email dute SMS pasarelak, Horren bidez, benetan ahal duzun bidali mezu bat helbide bat Telefono vtext.com zenbaki bezala eta, erabiltzaileak ez du blokeatu mezuak, joan egingo Bidez Testu-mezu bat da. Orain hori egin ahal izateko, gehitu dute noa eremu bat benetan nire datu basea azkarrean. Joan sartu noa Nire egitura, eta ez naiz Aurrera joan eta gehitu bat joan mahaiaren amaieran eremu. Dezagun egin klik Joan, eta ez naiz garraiolari hau deitu noa eta oraingoz ez naiz joan utzi bar testu gisa, baina etorkizunean fancier izan dezakegu. Azkar joan naiz nire taula sartu, eta ez naiz Rob kentzeko joan, hori delako zenbaki faltsu bat da, Hemen, editatu sartu naiz eta ez naiz Nire garraiolari eskuz aldatuko Verizon, izan behar da eta orain hemen baino gehiago da. Egin dezagun behatu check azkar bat. Dezagun ireki gure testu gidoia, eta horrek itxura hau, garraiolari% s da. Error asko gehiago egiten ari gara egin nuen, 2012an baino, garraiolari egiaztapena. Eta orain, naiz joan nintzen Animatu eta gidoia re-exekutatu. OK. Carrier Verizon, eta horrek esan nahi du orain, zorionez, besterik ez dut hau egin dezake. Aurten bezala, zorionez, hemen dugu. Beraz, hau loop, barruan nago to printf hau ez besterik ez joan, Ere dut testu deitu eta Funtzio abisuaren honen erabilera zen kopuru bat hartzen du, bat garraiolari, eta mezua. Beraz, ikus dezagun, zenbakia da joan izan ilara aurrekontua unquote "kopurua" Ilara aurrekontua unquote "garraiolari" eta azkena mezua izan zen. Ez hondatzeko aurten, koma. OK. Fingers zeharkatu. Ikus dezagun honetan lan egiten bada. Ondo da, beraz. Hemen gara. Let desblokeatzeko en telefonoa, hatzekin zeharkatu, madarikatua. Undefined may-- aldagai oh itxaron, itxaron, itxaron, benetako azkar. Real azkar, azkar benetako. Hau da, erabat merezi du. Let me hartzen, utzi grab me, uh-oh. Eskerrik asko, eduki beste norbaitek hasi zen. Dezagun aurrera eta ireki errealean azkar, dropbox.php / mail hemen. Egonean. Totally merezi. Deskargak. OK, iturri src8m. OK. Lerro bat gehiago hemen behar. Oh ez da, izan Frosh da Berehal, da erregistroan, hiru at. Oh kaixo, Margo, eskerrik asko. Ados, eta lerro hau hemen falta nintzen. Hargatik azkar hartu me kode-lerro hau, bertan mail edo liburutegia barne hartzen dut hori benetan erabili nahi, Azkar noa to Joan atzera funtzio sartu, To honen hasierara joan noa artxibatzen eta fitxategi hori behar baita, eta orain ez dut benetan zeharkatu nire behatzak atzera egin dut, komandoaren lerroko script, zein da barruan Gaur egungo ostalari lokalean direktorioa. Run testua. Sartu. Mail. Egonean. Egonean. Mail. Oh, OK. Hemen gara. Mail PHP Mailer berria lortzen. Ba eskubide hori egin dut? Malditos. Zaie oh, itxaron, itxaron, itxaron. Stand by. , Agintzen dut, hau da beraz, merezi izango. Helbidea. Horregatik ez dut egin Adibide eskubidea klase aurretik. Ugh. Ondorengo hartzaileek kale egin. Dezagun saiatu azken gauza bat utzi. SMTP, batetik gehitu helbide ezarri, helbidea, hain zuzen ere. Dezagun saiatu helbidea azken zatia dezagun. Aw, benetan triste naiz oraintxe. Eskerrik asko. Baina benetan eskertzen dut guztiak testuak daramat bidaltzen duzunean. Lortu duzu David honetan. Herrigintza ari zara. Dezagun utzi han eta astelehenean konpondu dugu. Ikusi duzu ondoren. DAVEN FARNHAM: Eta orain Deep Daven Farnham arabera pentsamenduak. Zuhaitz bitar bat baso batean erortzen bada, eta inor ez egon C hobeto esanda [chuckling] behar.