>> [Tónlist spila]
DAVID J. MALAN: Allt í lagi.
Velkominn aftur.
Þetta er CS50.
Þetta er endir viku 8.
Og eins og þú veist, höfum við nokkuð venjulegan vinnutíma í nokkrar
af veitingastöðum sölum, þ.mt Annenberg.
Og sumir af the lið vinsamlega tók nokkrar myndir undanfarið.
Og til heiðurs Halloween, þá héldum við myndum
deila einn sem fremur náði okkur með óvart hér í Annenberg Hall bara
um daginn.
Bekkjarfélaga þinn Jakob stafar fyrir Þessi mynd, en var miklu skemmtilegra
var á Facebook, í kjölfarið Samtalið sem gerðist síðar.
>> Fyrsta færslan hans í svari Ljósmyndir hans var þetta.
Nokkrum mínútum síðar, ákvað hann einni upp sig þetta.
Það fór þá að fara í þetta, og þá, jafnvel meira skemmtilega
er þegar mamma hans chimed í.
Og svo að lokum, það virðist þetta var bara
yndislegt Ruse fyrir spila það er að fara á.
>> Svo, ef þú vilt að sjá Jakob og aðra,
meðal þeirra Cynthia Meng, sem er bak við tjöldin í CS50 zone starfsfólk,
höfuð á þessa slóð og þessa leika hér.
Svo án frekari fjaðrafok, í dag við halda áfram þessari líta á forritun vefur,
og í raun sköpun forrit sem keyri ekki á stjórn línu,
en í staðinn að keyra inni í vafranum.
>> Væntanlega nú, eða mjög skömmu, ætlar þú að fara
að vera í miðri framkvæmd eigin vefþjón þinn, sem
er frábrugðin vefur forritun.
Vefþjónninn í pset6 er allur óður skrifa hugbúnað sem veit hvernig á að taka
HTTP beiðnir frá vafra, eða jafnvel frá þér, mannlega,
með forriti sem kallast Telnet og þá svara þeim beiðnum annað hvort
með spúandi HTML skrá, eða JPEG eða GIF, eða jafnvel .php skrá.
>> En með a vefur framreiðslumaður, það er ekki ætlast til bara að opna PHP skrá,
eitthvað endar í .php og þá spýta út innihald.
Það er ætlast til að gera hvað á að að skrá fyrst?
Svo að segja.
Ekki þýða það, sagði að við á mánudag, en rather-- Svo túlka það.
>> PHP er túlkað tungumál, og svo einn af the lykill lögun á vefnum
miðlara, að vísu framkvæmd af okkur, er þessi eiginleiki fyrir vefþjóninum þínum
að taka eftir, ó.
Þetta er skrá sem endar á .php.
Leyfðu mér bara að senda það til notandi eins og það er fast efni,
heldur láta mig lesa hann línu lína, vinstri til hægri, og túlka það.
>> Og til að gera, að þú krakkar vilja fyrst og fremst
Punt til forrit í tækið, og á fullt af tölvukerfum,
hringdi PHP.
Það er nafn PHP eigin túlkur tungumáls.
Svo, að stykki við innleiða fyrir þú, og hvað er eftir fyrir þig,
lokum, er tala stykki, þar á meðal
er að innleiða stuðning fyrir truflanir efni.
>> En nú, og með Heimadæmi sjö, þú ert
fara að byrja að umskipti til raun skrifa PHP kóða
sem fær túlka í að tala við bak endir
gagnagrunni sem geymir upplýsingar.
Svo skulum skilja betur fyrst a par af þessum superglobals
og bara hversu mikið vald sem þú fá út af the kassi fyrir frjáls
með tungumál eins og PHP.
Hlutur Þú þarft ekki að framkvæma sjálfur.
>> Svo sáum við á mánudaginn $ _GET, sem er a superglobal,
sem er bara PHP tala alþjóðlegt breytu sem þú getur fengið aðgang að hvar sem er.
Og hvað er inni á $ _GET?
Hvað er inni í þessu superglobal sem við sjáum?
Víst tölfræðilega á kosti einn einstaklingur veit.
Hvað er inni á $ _GET?
Já?
>> Áhorfendur: Það er breytur þú setur í fyrirspurn band.
>> DAVID J. MALAN: Perfect.
Það er breytur þú setja í fyrirspurn band.
Svo, í eldri dæmi okkar reimplementing Google þegar við höfðum
a URL, og þá spurningarmerki, sem aðskilur upphaf HTTP
breytur og síðan þurftu q jafnan eitthvað, eins q jafngildir ketti,
hvað myndi sjálfkrafa fara inn af því $ _GET Super heimsvísu fyrir þig,
vegna PHP, er lykill Q, og verðmæti hennar sem ketti.
>> Með öðrum orðum, $ _GET og öll þessir hlutir eru tengin fylki,
kjötkássa matskeið af tegund, að geyma lykla og gildi.
Nú, aftur í pset5, kjötkássa Tafla þú might hafa innleitt,
eða reynir þú kannski hafa innleitt, virkilega
var í raun að tengin array, gögn uppbygging
þar sem þú getur tengt lykla með gildum.
>> En í pset5, gildin voru léttvæg.
Verðmæti var í raun satt eða ósatt.
Er orðið í orðabókinni?
Svo, þegar þú tætt orð eins og Apple til að sjá hvort epli er í orðabókinni,
athuga Virka væntanlega skilað satt eða ósatt.
Svo, það er í raun að gildi við erum að fá til baka.
>> En við sáum á mánudag í stuttu máli, getur þú vissulega
tengja fleiri áhugaverður gildi en bara satt eða ósatt
með tökkum, eins og Apple.
Þú getur í raun skila handahófskennt band, og reyndar
það er það sem $ _GET og þessir aðrar breytur láta þig gera.
>> Svo $ _POST er svipuð í anda, en ef þú sendir inn mynd í gegnum staða,
mismunandi HTTP aðferð sem er notaður fyrir hluti eins og kreditkort,
og persónulegur upplýsingar, og jafnvel tvöfaldur upplýsingar eins og myndir,
þessir hlutir endað inni $ _POST.
Og reyndar að skrám eins JPEG og whatnot,
það er jafnvel annar sem er ekki upp hér kallað $ _FILES eins og heilbrigður.
>> Svo, framreiðslumaður við munum ekki búa á of mikið, en það gefur þér aðgang
að raða á lægra styrkleikastigi upplýsingar um þjóninum sjálfum sem þú ert að nota.
Cookie og fundur, þó, við munum í raun sjá núna.
Síðasta er það sem við notum til að innleiða hugmyndin af innkaupakörfu.
A frábær einföld, en muna að við höfðum þetta dæmi hér,
telja hversu oft þú hafði heimsótt þessa síðu áður.
>> En í dag, frekar en bara að líta á Áhrif þessa, skulum opna
Króm Inspector, sem þú getur venjulega
gera með því að hægri smella eða Control smella hvar sem er á vefsíðu,
og þá velja skoða frumefni.
Eða þú getur farið í gegnum valmyndir að við lýsa í sérstakur pset6 er.
Og ég ætla að á flipann Network hér, og við skulum horfa um stund
HTTP umferð sem er fara fram og til baka.
>> Leyfðu mér fyrst að fara á undan og skyndiminni CLEAR Króm '.
Svo sumir af þú might vera kunnuglegur með þessari tækni nú þegar,
og við erum að fara að nota það fyrir kembiforrit tilgangi hér.
Nú erum við eins og tölva vísindamenn eru að fara að byrja
gera þetta fyrir kembiforrit tilgangi, þar
munum hreinsa skyndiminni, Venjulega, svo að við
geta fá losa af hlutum sem kallast kökur.
Svo þú ert líklega almennt þekki með hvaða kökur eru, eða að minnsta kosti
að þær eru til, en það er skilningur þinn þeim,
sem bara notandi tölvur, hvað er kex?
Já.
>> Áhorfendur: Það er dálítið of-- vel, ekki bita í senn tölvunarfræði.
Það er a stykki af gögn sem website sendir til þín í röð
að vera fær um að taka tölfræði á þig.
DAVID J. MALAN: OK, gott.
Svo það er stykki af gögn sem miðlara, setur á tölvunni þinni,
og við skulum alhæfa það jafnvel meira, það er lykillinn value-- vel,
sem er að fá nákvæmari.
Það er a stykki af upplýsingar, a stykki af gögn,
að framreiðslumaður er fær að setja upp á tölvunni þinni
og mjög oft, the framreiðslumaður er þetta svo sem að muna hver þú ert.
Svo til dæmis, líkur ert þú ert sennilega
skráður inn síður eins og Facebook, eða Gmail eða aðrir áður,
og þú skráir þig inn með notandanafn og lykilorð,
og síðan eftir það um nokkurt númer mínútur eða klukkustundir eða jafnvel daga,
þjóninn man að þú ert í raun innskráður.
Nú, hvernig er það í raun og veru að gerast?
Þar sem þú ert örugglega ekki retyping notendanafnið þitt og lykilorð í hvert skipti
þú ferð til a aðra síðu á Facebook.
Svo kemur í ljós að Fótspor eru svarið.
>> Fótspor þú getur hugsað sem, Raða af eins og, á stafræna hönd
stimpill sem þú gætir fengið á skemmtunar garðinum eða klúbbur sem í raun
gefur til kynna að þú hefur verið hér áður, og þú hefur nú þegar
sýnt kenni að bouncer, fyrir dæmi, og að félagið eða garðinum
ætti nú ráð fyrir að þú hafa staðfest nú þegar.
Þú hefur nú þegar greinst af henni.
>> Svo með það í huga, skulum opna counter hér.
Leyfðu mér að fara á undan, ég gerði bara, og hreinsa allar kökum.
Og nú það sem ég ætla að gera er halda vakt, bara fyrir gott mál,
og valdi endurhlaða síðunni.
Shift réttlátur tryggja sem ekkert fær afrit.
Og hér er beiðnin sem fór fram og til baka.
Svo hérna erum við með beiðni, og láta mig súmma inn hérna, og mikið af þessu
er tegund af uninteresting upplýsingar fyrir Nú þegar vafrinn hefur sjálfkrafa
sent, en við skulum smella á Skoða Heimild til að sjá hrár haus.
>> Og ef þú hefur kafa í pset6 þegar, þú munt örugglega þekkja hlutina
eins og þetta, og kannski sumir af þessum línum hér,
en hvað er meira áhugavert í dag ef ég skruna niður, ekki við beiðni
en að svokölluðu svar, þessi lína lítur líklega kunnugt.
Það er gott þegar þú sérð 200 lagi.
Apparently er þetta dagsetning og tími á vefþjóninum
og það er fullt af efni.
Ó, þetta er áhugavert.
>> Skrúfjárn út þegar þú notar PHP, amk miðlaranum
þjóninum spits út hvað útgáfa af PHP þú ert að nota.
Sem reyndar, til öryggis tilgangi, er ekki góður hlutur.
En, munum við koma aftur til að einhverjum öðrum tíma kannski.
En nú er þetta safaríkur lína í dag, og við sáum stuttlega nokkrum þessara
Ég held að með Facebook þegar við pota kringum Eftirlitsmaður á þeim tíma,
setja kex er það sem er gróðursetningu að lítill stykki af upplýsingar
á tölvunni þinni.
>> Þetta er HTTP haus það er í raun
segja vafrann, Króm, IE, hvað,
hey vafranum verslun á notanda disknum, eða RAM notandans,
a lykill sem kallast PHPSESSID, sem er a shorthand merki fyrir setu ID,
og gefa það a gildi af 0vlk8t, punktur, punktur, punktur.
Virkilega lengi gervi handahófi tölustafi string.
Það er bara mjög stór tala, en það er umrita í dulmál með bókstöfum og númerum
þannig að stærð af það getur verið jafnvel stærri en tölur eingöngu.
Og svo, við the vegur, Path = /, að þýðir bara að þetta kex ætti að vera
í tengslum við að heild á heimasíðu,
ekki bara sérstakur síðu heild hlutur.
Svo er þetta sem raunverulegur hönd stimpil.
Það sem þó þjóninum, Facebook, eða í okkar tilviki tæki,
hefur bókstaflega skrifað 0vlk8t og svo framvegis, á hendi þinni.
Taka eftir hvað þjóns, ekki að gera er að það er ekki
geyma notandanafnið mitt, vissulega ekki geyma lykilorðið mitt.
>> Staðinn, þá virðist það vera geyma gervi handahófi upplýsingar
svo að enginn getur giska hvaða hönd stimpill minn er.
Á miðlara megin, Á meðan, the framreiðslumaður
er að fara að muna, sennilega í gagnagrunni eða eitthvað,
að notandi, sem í framtíðinni kynnir hendi stimpill 0vlk8t, punktur,
punktur, punktur, skal vera í tengslum við þessa einkum innkaupakörfu, svo að segja.
Með öðrum orðum, ef ég fer nú aftur hingað og endurhlaða þessa síðu,
hvernig virkar miðlara vita að ég er í heimsókn?
>> Eða ef ég gera það aftur, hvernig virkar þjóninn veit að ég hef heimsótt það tvisvar sinnum?
Jæja ef ég fer niður að þessu nýjustu beiðni, sem
er nú þriðja sem ég hef sent Alls taka beiðni mína núna.
Það er samt þetta óska hér, sama
eins og áður, það er samt allt fullt af efni sem við höfum hunsuð eins og áður,
en mjög síðasta haus, þetta tíma, vegna þess að ég hef verið hér áður,
er kynning á This raunverulegur hönd stimpil.
>> Þar þessi lína hér, ekki sett kex en kex ristill PHPSESSI = 0vlk8t,
það er bara vafrinn minn er sjálfvirk Framsetning þessara hendi stimpil svo að
nú þjóninn, um leið og það áttar, ooh, þetta er notandi 0vlk8t punktur, punktur, punktur,
Ég get nú munað hver hann eða hún er og reassociate með þessi notandi hvað
upplýsingar sem ég vil, og allt að upplýsingar geta verið geymd af þér,
forritari, í $ _SESSION.
>> Svo til að vera ljóst, ef ég opna raunverulegur fljótur í gedit að raunveruleg skrá, counter.php,
í heimamaður gestgjafi opinbera skrá minn eins og áður, taka eftir því, örugglega,
Ég ætla að lokum að geyma í $ _SESSION Vitna unquote "gegn,"
gildi fyrri teljari sem Ég fá frá þessum línum upp hér að við
horfði á síðasta tíma plús einn.
Svo undir hetta, það er allt fótspor eru.
Það er bara svoleiðis Digital hönd Stimpill fara fram og til baka,
og hreinskilnislega ef þú opnar Króm Eftirlitsmaður á hvaða vefsíðu
þú heimsækir í dag, með frábær hár líkur,
þú ert að fara að sjá kannski einn, kannski hálfa tylft smákökur
að muna eftir þér.
>> Og verri enn, ef þeim website þú ert að heimsækja
hafa allar auglýsingar sem er vissulega mjög algengt í dag,
og ef þessir auglýsingar koma úr sumum Mið aðila, einhver
eins og Google eða AdWords sem þeir hringt í einn af vörum þeirra
eða öðrum slíkum söluaðilum sem selja auglýsingar, hvað er áhugavert,
og hreinskilnislega er það lítið áhyggjuefni, um hvernig HTTP virkar,
er að ef þú ert auglýsing embed í Facebook.com og Google.com,
og Harvard.edu, allir tala vefsíður, svo það er svo
að það er mannanna sem er að þjóna upp auglýsingar fyrir öllum þremur af þessum vefsíðum,
það kemur í ljós að Fótspor eru á léni.
>> Svo ef þú ert auglýsing kemur frá sama fyrirtæki á mismunandi vefsíður,
sem fyrirtæki geta í raun fylgjast með hver þú ert yfir öllum þeim vefsíðum.
Harvard might ekki vita þú ert að skoða Facebook.
Facebook vill ekki vita og þú ert að skoða Harvard.
En hvað auglýsing þjónusta þeir eru að nota ef að ríki er
staðar í báðum Harvard.edu vefnum síður og Facebook.com vefsíður,
þetta mannanna vafalaust veit hver þú ert vegna þessara smákökur að deila
yfir, eða öllu heldur til, sem svokölluð milliliður.
>> Þannig að við munum koma aftur til þetta í áhrif öryggi þeirra,
en það er a einhver fjöldi af upplýsingar séu geymdar um þig hvenær þú
heimsækja flest allir vefsíðu á internetið og það raunverulega
dregur að þessu mjög einföldu kerfi.
Hvað gerist, þá, ef þú ert frábær ofsóknaræði
og þú ákveður að fara inn í Króm eða IE eða hvað og slökkva fótspor þitt?
Hvað gerist?
Já?
Þú really-- þú hefur gert þetta rétt?
OK.
Nei, fara á undan.
>> Áhorfendur: Ákveðnar vefsíður hafa ekki fall án þess eins og Facebook.
DAVID J. MALAN: Já!
Svo ákveðnar vefsíður verður bara að hætta að virka.
Og í flestum vefsíður þessa dagana sem í grundvallaratriðum treysta á smákökur,
sérstaklega ef þeir hafa þú skráir þig inn í, þeir eru bara að fara að brjóta.
Vegna íhuga val, ef website
hefur enga leið til að muna hver þú ert, og því er vefur flettitæki þinn ekki
fulltrúi með hverjum HTTP beiðni þessari hönd stimpil,
raun a website eins og að fara Facebook
að þurfa að hvetja þig til að skráðu þig inn í hvert fjári skipti
þú breytir síðum, eða smella á tengilinn, sem er örugglega ekki sérlega góð notandi
reynslu.
>> Svo að það, of, er meðal viðskipti offs.
Svo án frekari fjaðrafok, við skulum taka sjálfsögðum hlut að við forritun vefur,
í tungumálum eins og PHP, getur þú manst Upplýsingar eins og að í Heimadæmi
sjö þegar þú innleiða eigin E * Trade-eins website sem að kaupa
og selja hlutabréf, munt þú muna nákvæmlega það sem notandinn hefur keypt og selt
og sem hann eða hún er með því að þessum fundi.
En við erum að fara að þurfa áhugamaður leið en email
að byrja að halda upplýsingum um.
Hægri?
>> Á mánudaginn, við ræddum um Frosh Spjallboð og hvernig í útgáfu eitt af vefsvæðinu
árum síðan, allt sem við gerðum var email the Proctor sem er
í umsjá intramural íþróttum program, nafnið og kyn,
og hvort eða ekki þeir eru skipstjóri, og dorm um einhvern sem er
skráningu fyrir intramural íþrótt.
Svo það er ekki slæmt, en hann eða hún þá þurfti að tröll í gegnum tölvupóst þeirra,
gera töflu eða eitthvað svoleiðis að til að halda öllu skipulagt.
Svo er víst við sem forritari getur gert þetta fyrir þeim Proctor.
Og svo inn í SQL, Structured Query Language,
sem er að fara að líta nokkuð frábrugðið bæði C og PHP,
og þú munt kafa í mun fleiri hendur á PHP og Heimadæmi sjö en einnig SQL,
eða SQL, þetta er tungumál sem þú notar til að tala við gagnagrunn.
>> En hvað er gagnagrunnur?
Jæja finnst þér a gagnagrunnur, amk í bili,
eins og bara að vera eins og Excel skrá, eða Ef þú ert a Mac notanda númer skrá,
eða ef þú ert með Google Apps notandi a Google töflureikni,
það er í raun gagnagrunnur, eða í raun sérstaklega Venslagagnagrunnur.
A Venslagagnagrunnur er bara eitthvað sem hefur raðir og dálka,
og þú getur geymt hvers konar upplýsingar í þessum röðum eða dálkum.
>> En hvað er gott um SQL, og um raunverulegt gagnagrunna, ekki bara
tafla eða Google töflureiknum er að þú getur notað tungumál
að í raun framkvæma fyrirspurnir til setja inn gögn, til að fjarlægja gögn,
að leita að gögnum, jafnvel mest um vert, og þér
þarft ekki að nota það nokkuð handvirkt Eins og þú gætir venjulega Google
töflureikni eins og þetta.
>> Svo í SQL, það er fullt af grundvallaratriði yfirlýsingar eða stykki
af virkni innbyggður í.
There er margt meira en þessir, en þú getur farið mikið fjarlægð
bara með því að vita að þetta tungumál kallast
SQL hefur að minnsta kosti fjórar yfirlýsingar sem þú getur skiptimynt.
>> Eyða til að fjarlægja gögn, Settu, til að bæta við línum,
Update, til að breyta raðir, og Val,
fyrir að fá aftur raðir og það er örugglega það sem SQL gerir.
Það rekur alfarið á röðum þannig að þegar þú setur, eða fjarlægja,
eða uppfæra, eða velja það sem þú ert komast aftur sem svokölluðu vegna setja,
eins fjölda lína.
A fullt af línum í töflu.
>> Svo aftur í dag, og enn í dag,
þú getur samskipti við gagnasafn með stjórn lína,
en það er ekki sérlega gaman að nota þetta svart og hvítt stíl glugga
og í raun framkvæma skipanir og pota í kringum gagnagrunninn.
A grafísku notendaviðmóti, eða GUI, er miklu meira æskilegt, að öllum líkindum,
og svo tól sem við mælum og innihalda fyrir þig á tækið
heitir phpMyAdmin.
Þetta er alger tilviljun að Heiti þessa hlutur hefur PHP í það,
það þýðir bara að fólk sem skrifaði þetta forrit sig
skrifaði það í PHP.
>> En það er á endanum um að gefa gagnasafn framreiðslumaður, eins og MYSQL miðlara
að þú gætir hafa, eins og þú gera, í CS50 tæki.
Þannig að það er nánar hér en þurfum að hugsa um í dag,
en hvað er lykillinn er að á vinstri hönd er listi yfir gagnagrunna
að þú ert með á tölvunni þinni, á CS50 tæki þínu,
eða koma lokaverkefni sem þú gætir hafa á þriðja aðila, fyrirtækisins
website eða vefur framreiðslumaður, sem þú gætir verið að borga fyrir rúm.
Svo á er vinstri sem gagnagrunna, einn sem
er pset7 sem ég fékk að láni frá næsta vikur pset, og þá á toppinn
það eftir því að það er a fullt af tabs, einn sem
er gagnagrunna, SQL, stöðu, notendur, útflutningur og svo framvegis.
Svo þú getur farið fyrir leið bara með átta
að flestir af the notandi tengi er í efst í vinstra dálki
og yfir the toppur réttur upp there.
Og hvað getum við gert í raun með þetta?
Jæja, við skulum byrja að búa a hluti af upplýsingum sem hér segir.
>> Gerum ráð fyrir að eftirfarandi er að ræða, sem mun vera í aðeins nokkra daga,
þú vilt að framkvæma a website, heitir CS50 Finance,
og þessi vefsíða gerir þér kleift að kaupa vitna unquote og selja hlutabréf.
Og það er að fara að reikna út verð á þeim stofnum,
endanum og þú munt sjá, því að tala við Yahoo Finance.
Sem frábærlega, hefur a frjáls þjónusta þar sem þú getur fara í hlutabréfa Ticker
eins GOOG fyrir Google, og það mun gefa þér aftur núverandi lager Google
verð innan fortíðinni nokkrar mínútur að minnsta kosti.
>> Svo þú munt nota það, að lokum, að þykjast fyrir notandann
að kaupa og selja raunverulegt birgðir með raunverulegur peningar,
en mjög fyrstur hlutur notandinn er að fara að sjá
er þetta tenging skjár sem biður þá fyrir notandanafni og lykilorði.
Og svo, einn af þeim fyrstu viðfangsefni fyrir þig í pset7
er að fara að vera að innleiða aftur enda gagnasafn, Töflunni ef þú vilt,
það er að fara að geyma notendur og lykilorð
og að lokum hvað birgðir þeir eiga, og hversu margir, og hversu mikið fé þeir hafa,
svo fullt af öðrum hlutum í aðrar töflur eða töflureikna.
>> Svo skulum taka a líta á hvernig þessi mætti ​​við fyrstu sýn.
Ég ætla að fara aftur í tækið og ég er
að fara að fara á þessa slóð hérna phpMyAdmin localhost / phpmyadmin
og þú munt sjá að það tekur mig að skilum
nákvæmlega eins og við sáum á skjámyndina og hér ég
hafa frekari gagnagrunn kallast fyrirlestur í dag
og láta mig fara á undan fyrst og smelltu á pset7.
>> Ég virðist hafa a par af valkostur, eitt fyrir nýja, til að búa til nýja töflu,
og tengil til notenda, sem er borð sem ég skapa þegar.
Svo er það borð?
Þannig að ef þú notaðir Excel áður, og ef þú hefur
Notað tölur eða Google Tafla, þú opnar glugga
og þú fá a heild búnt raða og dálka,
en þá ertu yfirleitt verkefnablöð neðarlega, eða aðskildum flipum.
Þú getur hugsað um hver verkstæði sem borð
þannig að gagnagrunni, lokum, er Sambland af einni eða fleiri töflur, einn
eða fleiri verkefnablöð, í heimur eðlilegu töflureikni.
Svo láta mig fara á undan og smella á þennan verkstæði
að ég premade, kallast notendur, gengur einnig undir nafninu
Gagnagrunninum töflunni.
Og ef ég skruna niður hér, láta mig súmma út hluti,
þetta er það sem phpMyAdmin er að segja okkur er inni þessa töflu núna.
Það er a lítill ruglingslegt í fyrstu litið vegna þess að UI er ekki
prettiest hlutur í heimi, en hvað er áhugavert er þetta hluti hér.
ID, notandanafn, og kjötkássa.
>> Fyrirfram, og þú munt vera hönd þetta í Heimadæmi sjö,
við gefum þér skrá sem inniheldur a frábær lítið gagnasafn borð, láni raun
frá spjallþráð útgáfa af Heimadæmi tveir,
inni þar af eru sex raðir.
Einn fyrir Belinda allt í leið niður í einn fyrir Zamyla,
og taka til vinstri af þeim notendanöfn eru einstök auðkenni eins og einn,
tveir, þrír, fjórir, fimm, sex, heiltölur, og síðan til hægri eru kjötkássa.
>> Og ef, líkurnar eru, þú hefur ekki gert spjallþráð útgáfa Heimadæmi tveir,
en a kjötkássa er bara eins örugg lykilorð með nokkrum hellir.
Og svo, hvað þú sérð hér eru dulrituðu útgáfur af öllum sex
lykilorða okkar frá vandamál setja TVÖ er spjallþráð útgáfa.
Nú til vinstri er bara einhver GUI efni, breyta þessari röð, afrita þessa röð,
eyða þessari línu.
>> En hvað er áhugavert er nú eftirfarandi.
Ég get í raun byrjað tilraunir með þessari töflu.
Svo ef ég fer og smelltu á SQL flipann, fæ ég þetta stóra textareitinn.
Og þetta er ekki hvernig við erum að fara að gera það þegar í raun að skrifa kóðann.
Til að vera skýr, phpMyAdmin er bara tól sem er
að fara að láta okkur pota í kring gagnagrunninum og láta okkur tilraunir með fyrirspurnir.
>> Svo til dæmis, gera ráð Ég framkvæma nákvæmlega þetta.
Select, sem er eitt af þeim Leitarorðin sem ég nefndi áðan, stjarna,
sem táknar allt dálkarnir í töflunni.
Frá hvaða borð?
Jæja notendur.
Og eftir því að það er þetta undarlegt samningur í SQL
þar sem þú notar í raun og veru aftur ticks, yfirleitt,
ekki einn vitna og ekki gæsalöppum þegar þú talar um töflur nöfn,
svo aftur vitna er hlutur á efst til vinstri hönd lyklaborðinu mest
líklegt.
>> Svo láta mig fara á undan núna og bara láta það eitt
og fletta niður og smella á Áfram og við erum í raun að fara að sjá það sama.
Við höfum bara framkvæma SQL fyrirspurn segja velja öllu stjörnu
úr töflu heitir notendur og það sem þú færð til baka er þetta.
Á endanum munum við vera fær um að gera það sama í kóða,
en nú er allt sem ég vildi gera var að sjá það í vafranum mínum.
Jæja við skulum gera eitthvað svolítið öðruvísi.
Leyfðu mér að fara aftur á SQL flipi, og við skulum bara segja að það sem?
Zamyla hefur tapað öllum af henni peninga, og því er það
tími fyrir okkur til að eyða henni sem notanda.
Hún er ekki lengur að skrá sig inn.
>> Þannig að ég ætla að segja eyða from-- vel, viðhalda fjármögnun
fyrir samkvæmni, eyða frá notendum þar.
Og svo getum við haft þetta predicates eða þessir
undankeppni, í lok yfirlýsingu mína hvar og hvernig gæti ég eytt Zamyla?
Að nafni Zamyla hennar, þannig að súla, einn af dálkum
hét, svo þar sem nafn = "Zamyla".
Og hér er ég að nota tvöfaldur vitna eða einn vitna,
þú notar aðeins bak ticks þegar tala um nöfn, til dæmis,
af borðum eða sviðum.
Og láta mig smella Go hér.
Og nú, vefsíðan er vera svolítið uptight.
>> Eða viltu virkilega að framkvæma eyða frá notendum þar sem nafn jafngildir Zamyla?
Já.
Svo nú, ef við förum aftur til mitt borð Með því að smella notendur taka eftir að Hm.
Ég goofed.
Og í raun, ég konar smellt burt svo hratt
þú ekki einu sinni séð rauður villuboð, kannski.
Hvað gerði ég rangt?
Áhorfendur: Þú þarf ekki að nýta nafn hennar.
DAVID J. MALAN: Já ég eignfærður nafnið hennar,
en hana notandanafn raun I gerði nokkra mistök, ekki satt?
Einn, notandanafn hennar er zamyla, lágstafir Z,
og súlan nafn er notandanafn, ekki nafn, þannig að við skulum gera þetta aftur.
Leyfðu mér að fara á undan og eyða frá notendum þar
notandanafn jafnt vitna unquote "Zamyla".
Allt í lagi?
Þannig að þetta lítur svolítið betur, láta mér að fara fletta niður og smella á Áfram.
Það er samt að fara að æpa á mig til að vera viss.
Ég smelli Já, og nú sjáum við, hreinskilnislega þetta gerðist, virkilega
hratt, minna en eitt annað vissulega, þetta
er einmitt fyrirspurn sem keyrð fékk.
Til að staðfesta, láta mig smella notendur og raunar nú Zamyla er farinn.
Nú skulum gera hið gagnstæða.
Gerum ráð fyrir að Gabe vill skrá fyrir heimasíðu.
Hvað er SQL fyrirspurn, hvað er skipa ég gæti slegið til að bæta Gabe?
Jæja það er nokkuð augljóst.
Settu inn notendur, og nú það fær lítið dulinn.
Ég þarf að tilgreina, á þjóninum, hvaða sviðum ég á að úthluta.
Ég er ekki alveg sama hvað Gabe er ID tala er, þannig að ég ætla að sleppa því.
Ég ætla í staðinn að fara að segja notandanafn, kjötkássa, og þá
gildin sem ég vil setja það er að fara til vera Gabe.
Og þá kjötkássa hans, ég veit ekki.
Svo nú er ég að fara til fara að eins stór til að gera.
Við munum koma aftur til að í Heimadæmi
sérstakur um hvernig þú gerir í raun það.
>> Svo taka eftir, aftur, setningafræði.
Settu inn nafn borð, þá svigaður listi sviðum,
dálkarnir þú vilt bæta gildi til, og þá bara
sama nákvæmlega Röðun vinstri til réttur þeim gildum sem þú vilt bæta við,
og það er bara umbúðir af því textinn er svolítið langur.
Svo nú láta mig smelltu á Áfram.
One röð sett.
Og nú ef ég fer aftur til notendur, hvað er áhugavert
er að ekki aðeins er Gabe nú í gagnasafn, hvað er greinilega auðkenni hans?
>> Jæja það er sjö.
Hvers vegna er það sjö þegar ég hef ekki bætt það?
Þannig að þetta er það einnig einn af the lögun þú færð úr gagnagrunninum.
A einhver fjöldi af innbyggður í virkni.
Það kemur í ljós að þegar búið til þessa töflu,
Ég forstillt það sjálfkrafa úthluta kenni á þann hátt
að það þrepum.
Þannig að ef þú hefur einhvern tíma pota í kring, og horfði á Facebook ID hvað þitt
tala er, þessa dagana það er ekki í raun hlutur til að gera, en Facebook sem API,
Umsókn Forritun Interface, þar sem þú getur fengið til baka
a heild búnt af gögnum um sjálfur, um vini þína,
og sambönd þín.
Og hvað er notað til að vera góður af kaldur, aftur í dag,
var að líta upp hvað þitt Facebook ID númer var.
Mark Zuckerberg er, til dæmis, er þrír
þar sem hann var höfundur af the staður.
Og eins og sagan fer, hann skapaði tvö próf reikninga, notendur eitt og tvö,
sem hann eytt þá.
Og svo, Zuck eins er notendanafnið hans á Facebook, er ID númer þrjú,
og allir með tölur miklu stærri en þrír þessa dagana.
Í raun, á einhverjum tímapunkti Facebook flutti burtu
frá jafnvel með því að nota int sem er a 32-bita gildi, til að nota
næsta skref upp, fyrst og fremst á lengi lengi svo
að þeir gæti móts jafnvel fleiri notendur sem skrá.
Svo skemmtilegur lítill söguleg staðreynd.
>> Svo er það bara undirstöðu setningafræði sem
við gætum keyrt a par af leitirnar, en við getum í raun
gera fullt fleiri hluti með SQL.
Og þú munt sjá, að lokum, í Heimadæmi sjö
að þú þarft að gera a Fjöldi hönnun ákvarðanir,
meðal þeirra er að fara að vera hvaða gögn gerðir til nota.
Svo bara eins og í C, það eru gögn tegundir í gagnagrunni, eins og MySQL,
og gögn tegundir sem þú þarft að velja frá eru þessir sviðum hér.
Char, varchar, Int, stór INT, aukastaf og Dags, og margir aðrir.
Svo skulum gera í raun þetta.
Skulum láta sem við gerðum ekki hönd þú borð notanda
og láta mig fara á undan og búa til, fyrir sjálfur, í fyrirlestrum database--
reyndar láta mig fara á undan og eyða Taflan sem ég hef hér þegar
svo að við getum í raun að búa þetta.
Úpps.
Ég ætla að falla þetta borð, og nú er ég
að fara að fara aftur til fyrirlestur gagnagrunn hérna,
Ég ætla að búa til töflu kallast notendur og skulum
bara gera þrjá dálka upphafi og smelltu á Áfram.
>> Nú, að mestu leyti, aftur, þetta er bara
nota þetta myndrænt tól sem heitir phpMyAdmin, og hvað við erum að gera núna
er að búa til töflu.
Þannig að þetta er eins og að fara File, New, og skapa nýja Excel skrá.
Svo það er að biðja mig nokkrar spurningar, frá vinstri til hægri,
hvað er nafnið á fyrsta dálki, og þá nafn öðrum dálki,
og nafn þriðja.
Svo skulum endurskapa þetta.
ID, og ​​þá notandanafn var einn, og þá kjötkássa var annar.
Svo hvað ætti gögn gerð vera nú að reit eins ID?
>> Hér er allt listi af gagnatög í boði fyrir þig í gagnagrunni,
og nú skulum fara bara með int.
32-bita gildi, ég er ekki hugsa raunhæft ég
fara að hafa meira en 4 milljarða notendur í reikningnum mínum í þjónustu mína,
þannig að ég ætla að halda áfram í næstu spurningu.
Ég ætla ekki að fara að tilgreina a lengd eða gildi,
það er ekki við hér fyrir int, í sjálfu sér.
Og nú get ég tilgreint, virðist, sjálfgefið
gildi, sem ég ætla ekki að tilgreina.
A samanburði, ég veit ekki hvað það er.
An eiginleiki.
Nú gerum við í raun hafa hönnun ákvörðun.
Þannig að það er nokkur sviðum hér, ekki allir sem gilda, en óundirritaður
bara þýðir hvað?
Að INT verður?
Bara ekki neikvæð.
Svo það þarf að vera 0 á allt.
Nei, ég ætla ekki að fara að athuga því Ég vil öllum notendum að hafa auðkenni,
það getur ekki verið tómt.
Og þá fáum við að sumir fleiri áhugaverðar hönnun ákvarðanir líkar þetta.
Við munum koma aftur til þetta í smá stund, en hvað annar lögun af gagnagrunni
er, er að þú getur sagt gagnasafn framreiðslumaður fara undan
og hagræða sjálfur, þinn RAM og harður diskur rúm,
svo sem velur, og sett inn, og eyðir og uppfærslur eru mjög hratt.
Andstæður þetta með pset5.
>> Ef þú vildir líta upp eitthvað í kjötkássa töflunni sem
þið álítið gagnagrunni, sem þurfti að gera allt
vinna fyrir gerð kjötkássa borð hratt.
Það er eins og, augljóslega, þú.
Hægri?
Þú þurfti að setja í alla tíma fínn Tuning hlutum, fá kjötkássa virka
rétt, vangaveltur út hvernig margir fötunum til að hafa.
>> En hvað er gott, aftur, um a gagnagrunnur er
þú Punt bara allar þetta til annars fólks
sem hafa hugsað þetta í gegnum fyrir þig, og hvað
Ég ætla að segja hér undir vísitalan er að ID sviði minn
er að fara að vera aðal leið skilgreina notendur í þessum gagnagrunni.
Ég ætla ekki að fara að hugsa af Zamyla sem Zamyla,
Ég ætla að hugsa um hana sem fjölda 6.
>> Hvers vegna er það, ef til vill, betur innsæi til að hugsa um og líkan
hvert einstakra röðum með því að nota a tala í stað þess að eitthvað
eins streng, eins og Zamyla eða Gabe eða lengri streng enn?
Já?
>> Áhorfendur: An ID er einstakt?
DAVID J. MALAN: Segjum aftur?
Áhorfendur: An ID er einstakt?
DAVID J. MALAN: An ID er einstakt, en suppose--
eins og um er að ræða almennt með notendanöfnum, gera ráð
Ég sagði einnig að það getur aðeins verið ein Zamyla í heiminum, og aðeins einn Gabe.
Ég gæti leggja sérstöðu hindrunin strengi, líka, ef ég vildi.
Svo ekki slæmt hugsun.
>> Áhorfendur: öruggari.
>> DAVID J. MALAN: öruggari, hvers vegna?
Áhorfendur: Þú getur ekki sagt hver er sem, eins og í notanda.
DAVID J. MALAN: OK, þú get ekki sagt sem notandi
er sem svo er það næði þáttur við það,
sérstaklega ef IDS kannski birtast í slóðir.
Svo viss um að gæti konar vinnu, líka.
Aðrar hugsanir?
Já?
>> Áhorfendur: Það er auðveldara að framkvæma aðgerðir á int.
DAVID J. MALAN: Það er alvöru kicker.
Það er bara skilvirkari, eða auðveldara fyrir tölvuna,
að framkvæma aðgerðir á heila tölu.
Hægri?
Int er tryggt að vera 32-bita, en Zamyla
er fáeinir stafir að lengd, Gabriel er nokkur fleiri stafir að lengd,
Davenport er mjög langur, og svo er það ekki sérlega duglegur að nota
strengir til að bera saman gildi og útlit fyrir reiti og uppfæra sviðum,
Ef þú getur fengið í burtu með aðeins einni tölu.
Bara 32 bitar.
Svo notandanöfn líka, Þannig þurfa ekki að vera einstakt,
enda þótt þeir ættu sennilega vera, og jafnvel á þennan hátt of
notandi gæti leyft að breytt notandanafninu hans eða hennar.
>> Svo skulum nú hafa þetta eins og helsta leið til að bera kennsl á notanda.
Þetta er að segja gagnagrunninn fara á undan og bjartsýni sjálfur
þannig að útlit ups á ID eru frábær fljótur.
AI, hryllilegur hét, bara þýðir Auto Hækkun,
og þetta er ávísun kassi þurfum við að athuga
að tilgreina að ID sviði til sjálfkrafa uppfærð fyrir mig,
og þá er ég að fara til fletta til hægri hér
og vildi ég er ekki mjög áhuga í einhverju meira af þessum sviðum.
Vissulega ekki í dag.
>> Þannig að ég ætla að fara aftur hingað, til fyrsta dálki, þar
Ég þarf að tilgreina notandanafn og kjötkássa, og við skulum
minnsta kosti leggja áherslu á annað einn fyrir nú.
Int er sennilega ekki rétt að hringja, hvað gerir meira vit kannski?
>> Áhorfendur: Texti.
DAVID J. MALAN: Segjum aftur?
Áhorfendur: Texti.
DAVID J. MALAN: Texti?
OK, heyrði ég texta.
Hvað annað?
Við höfum konar fullt af val sem eru texta í náttúrunni.
Svo hvenær og hvers vegna, gera þú nota sumir af þessum?
Jæja bleikju, þvert á það sem þú gætir hugsa, er ekki einn staf.
Það er sérstök tala af stöfum.
Þannig að ef við vitum að öll notendanöfn verða að vera eins átta stafir,
eins og notuð til að vera algengari hjá eldra tölvukerfi, átti ég að segja bleikju
og þá átti ég að segja 8 hér.
Það er þegar þriðja dálki verður við þegar þú býrð til töflu.
>> En það er góður af pirrandi því sumir fólk gæti
vilja hafa lengri notandanafn en átta stafir,
Sumir might vilja til styttri notandanafn,
svo hvers vegna fremja sjálfur við ákveðinn fjölda?
Hvers vegna ekki að hafa breytu Fjöldi stafir og bara
segja að hámarkslengd nafni er, ég veit ekki, eins og 64 stafi.
Ég get ekki hugsað um neina sem hafa nöfn lengri en 64 stafir,
og jafnvel ef það er of stutt þú gætir vissulega högg það upp geðþótta.
>> Svo varchar breytilegt Fjöldi stafir.
Texti er ekki slæmur eðlishvöt, og hreinskilnislega að konar er það sem það segir,
en textareitinn má eins 65.000 bytes minnsta kosti.
Það er líklega kappnógur herstyrkur fyrir sviði, og í raun, jamm, 65535.
Það er líklega kappnógur herstyrkur fyrir nafn, þannig að við munum halda, yfirleitt,
með varchars fyrir texta sviði og kjötkássa líka.
Hash, snýr það út, við gætum gert a varchar eins vel eða eitthvað svoleiðis,
en við munum ekki einbeita dag á dulmál þar og tölurnar
til þess að vera í raun vilt nota til lengd þess.
>> En láta mig fletta niður til hægri.
Þú getur aðeins haft einn Aðal Vísitala fyrir borð,
en ég vil að sækja eitthvað af þessu, nú, að notandanafn, myndir þú segja?
Hvað ætti username að byggjast á óljós skilningur á þessum fjórum valkostum?
Bara eftir nöfnum þeirra?
>> Áhorfendur: Unique.
>> DAVID J. MALAN: svo einstakt, ekki satt?
Svo kemur í ljós að ekki aðeins gæti þú segir í gagnagrunn, fyrirfram,
þetta er aðal leiðin skilgreina sviðum.
Þú getur einnig sagt að þetta er fara að vera einstakt sviði.
Það er ekki að fara að vera The hlutur ÉG treysta á,
en ég vildi eins og gagnagrunninn til meginatriðum hafa að ef ástand, svo
að ef ég reyndi alltaf að skrá tveir notendur með sama nafni,
gagnagrunninum flatt út er ekki að fara að láta mig.
Ég gæti fengið fleiri kóða í PHP sem kemur í veg eins mikið,
en gagnagrunnurinn líka, er hægt að tryggja að það er aldrei að fara að gerast.
>> Nú, eins og innskot, sérstaklega þar sem þú hugsa um lokaverkefnum,
hafðu í huga það vísitölu og fullur texti eru reyndar alveg gagnlegur.
Ef þú hafa a stór gagnagrunnur, ekki með tugir, en með hundruð eða þúsundir
eða jafnvel milljónir sviðum, þú getur líka segja gagnagrunninum í fyrirfram
þetta er sviði sem ég er að fara að vera að leita á fullt.
Kannski notandanafn, kannski er það líf, ef þú ert
gera Facebook-eins website þessi hefur mgr sem notandinn er leyft
að spara, og ef þú vilt að segja gagnagrunninum í fyrirfram
Ég ætla að vera að leita á þessu sviði a einhver fjöldi, en það er ekki endilega einstök,
þú getur tilgreint búið mér vísitölu.
Eða, getur þú líka segja að leyfa mér að gera Raða af handahófi leit eins Command
eða Control F, eins og þú gæti í ritvinnsluforrit,
svo þú gæti litið handahófskennt strengi eða substrings á þessu sviði.
Með öðrum orðum, við erum að fá til að benda á önn
þar sem þú þarft ekki að hafa áhyggjur af hvernig á að framkvæma hlutina á skilvirkan hátt.
Þú þarft bara að vita um hvað hönnunarákvarðanir að gera svo að þú ert
nota rétt verkfæri fyrir verslun í því skyni að nýta eiginleika
sem aðrir hafa byggt fyrir þig.
Svo að ágrip, aðal ætti einungis hafa einn, getur þú aðeins hafa einn,
og það er hlutur sem þú ert að fremja til nota til að bera kennsl sviðum einstaklega.
Unique er bara svipað í anda, en þú gætir bara stundum að nota það,
en þú vilt að gagnagrunninum til að leggja hana.
Index þýðir bara preemptively hraða hlutum upp í framtíðinni
þannig að ég er að leita að hlutir í þessu sviði.
Og þá er heildartexta almennt fyrir málsgreinar, eða ritgerðir, eða stór stofnanir
texta þar sem þú gætir einnig viljað hafa
villt spil eins jafnvirði stjörnu.
Hægri.
>> Svo það var eins konar mikið að allt í einu.
Við skulum sjá hvort við getum ekki distill a par af þessum eiginleika
og þá byggja eitthvað nokkuð einfalt, en öflugur.
Svo meðal hinn hönnun ákvarðanir sem þú ert
endanum að fara að hafa er meðfram Línurnar sem geymsla vél.
Og láta mig gera bara minnst á þetta í aðdraganda lokaverkefna,
og aðdraganda skulum say-- nei við skulum gera þetta.
Við skulum byggja þetta litla umsókn fyrst.
Ég ætla að fara í flugstöðinni minn glugga, og hér er ekki
aðeins counter.php, sem við erum nú að fara til að losna við eins og enginn lengur germane,
en við hafa a heild búnt framkvæmdarstjóra og þetta
er að fara að vera mjög svipuð í anda við hvað þú munt sjá í Heimadæmi sjö.
>> Þannig að við höfum þrjá framkvæmdarstjóra nær almenningi og sniðmát, sem
er einmitt þar sem við var horfið á Mánudagur með okkar öllu MVC fyrirmynd.
Og ágrip, á almannafæri er að fara að fara hvaða skrá sem ég vilt að notendur raunverulega
V vera fær til að heimsækja í vafra þeirra gegnum vefslóð.
Sniðmát.
Hvað gerði við að setja í sniðmát?
Hvers konar efni?
Það var ekki mikið en a par skrár að minnsta kosti á mánudag.
Já.
>> Áhorfendur: Haus og fótur?
>> DAVID J. MALAN: Haus og fótur.
Þannig að við höfum eitthvað svipað í dag líka.
Við höfum fengið nokkrar fleiri skrár en Footer Ég sé, haus sem ég skoða,
og þá fullt af öðrum skrám.
Þannig að þetta er jafngilt af V MVC augum, sem,
aftur, verður aðeins meira ljóst í Heimadæmi sjö,
en þetta er bara mappa ég að leggja mikið af fagurfræði mínum.
A einhver fjöldi af HTML mínum, fullt af myndum mínum.
Meðan, felur í sér, er annar möppu sem hefur þessar þrjár skrár
og við skulum taka a fljótur líta á þetta.
>> Ég ætla að fara á undan og opna config.php.
Eins og það kemur í ljós, mikið eins fyrr í tíma,
þú fylgir skarpur CS50 punktur H með pset7.
Í dæmi í dag, ert þú að fara að gera jafngildi þeirrar
með þurfa yfirlýsingu sem í raun
inniheldur eftirfarandi nokkrar línur.
Svo til að vera skýr, þetta er a skrá sem heitir config.php.
Og taka eftir hvað það er að gera.
Það er greinilega að gera eitthvað Cryptic, beygja á villuskilaboð
þannig að þú getur séð þær í vafranum.
Það er, þá virðist þurfa tvær aðrar skrár
þannig að þetta er eins og #include í C, og þá er þetta eina sem við gerðum sjá,
og við höfum treyst á, þetta snýr á sem innkaupakörfu eins virkni.
>> Þetta þýðir smákakan að senda til baka og fram.
Svo hvers vegna er þetta áhugavert?
Jæja, ef við förum aftur til þessa skrá og opna upp, til dæmis,
constance.php.
Takið eftir að PHP hjartarskinn styðja fastar, það er ekki alveg eins #define í C.
Staðinn, þú bókstaflega segja skilgreind, og tilkynning
sem ég hef geymt í fyrirfram fjórir fastar í þessari skrá.
Einn fyrir gagnasafn í dag, fyrir lykilorðið mitt fyrir notendanafnið mitt,
og um heiti miðlarans.
Svo þetta eru í raun að fara að vera nokkuð svipað í Heimadæmi sjö.
Og loks, og þetta er þar sem ég er fara að fá sumir ágætur virkni
frá starfsfólki í functions.php er fullt af kóða sem við höfum skrifað,
og ég stal nokkrum af þessu frá Heimadæmi sjö
í dag, sem gerir fullt af hlutum og við skulum líta aðeins á einn af þeim
sérstaklega.
Þessi aðgerð hér, fyrirspurn, er að fara til vera
PHP virka við köllum í því skyni að framkvæma SQL.
A augnabliki síðan við vorum með phpMyAdmin, en það er bara
fyrir konar nám tilgangi og sjúkdómsgreiningar
og gleyma gagnasafn þitt.
Þegar þú notar í raun þinn gagnasafn, þú, manna,
eru augljóslega ekki að fara að draga upp á vefnum
síðu í hvert skipti sem einhver skráir.
Þú ert að fara að skrifa kóða sem sett inn og eytt notendum á eftirspurn,
og við erum að fara að gera þetta með því fyrirspurn virka.
Ef ég skruna nú niður, það er fara að vera nokkrar fleiri lögun.
Beina er að fara að vera fall við skrifuðum
fyrir þig sem gerir þér kleift að senda notanda til annars vefslóð,
og láta er fall, alveg eins við sáum á mánudag, sem raunverulega gerir
sniðmát, en meira um þetta í formi eigin göngu pset7 er gegnum.
Fyrir nú, við skulum fara á undan og gera þetta.
>> Leyfðu mér að fara inn í fyrirlestra mitt borð og sjá að það er nú ekkert
hér bara enn, og láta mig fara líka í opinbera skrá minn, þar
það er bara ein skrá, index.php.
Þessi skrá virðist vera frábær einfalt í augnablikinu, það lítur bara eins og þetta.
Mjög mikið eins og hvernig við horfið á mánudag.
Ég ætla að krefjast þessa skrá, config.php, sem er í
sem inniheldur skrá, sem er í punktur punktur, foreldrar mínir,
og þá er það bara að flutningur þessa skrá.
Og hvað er þetta skrá?
>> Skulum opna í sniðmát mínum form.php, og við munum sjá þetta.
Super einfalt, virðist þetta form er að fara að leggja af a $ _GET eða $ _POST.
Quick andleg heilbrigði stöðva.
Bókstaflega sjónrænt leita skrána.
Aðferð jafngildir færslu.
Svo það er ekki að fara að nota slóðina, eins Google gerir, það er að fara að raða í fela
Upplýsingarnar bak við tjöldin og það er
að fara að leggja til a skrá sem kallast register.php,
og það er skráin við höfum ekki enn skrifað
en hvað þetta er að fara að líta út eins er þetta.
>> Ef ég fer á sérstaka síðu Þetta er hvaða localhost / index.php lítur út.
Og aftur, þjóns bara miðað index.php.
Enter.
Svo er það þar sem við erum á, og það sem ég vil gera
er að vera fær um að slá það eins og Davíð, og þá
Símanúmerið mitt, sem mun segja 617-555-1212 fyrir nú, skrá
og nú register.php fannst ekki.
Þannig að ég þarf að framkvæma þetta.
Svo skulum svipa fljótt eitthvað eins og þetta upp.
Leyfðu mér að fara inn í almenn skrá minn og gera gedit af register.php,
og nú er ég að fara að fara á undan og byrja PHP háttur, eins og við gerðum á mánudaginn,
og tag CLOSE PHP er, og skulum gera a par af hlutum.
>> Svo eitt, ég veit, af hafa skrifað þessi mynd,
að ég vil að stöðva fyrir eftirfarandi.
Ef hann er tómur, hvað notandi slegið inn á reitinn Heiti þá
Ég ætla að segja eitthvað eins afsökunar vantar nafn.
Afsökunar, á meðan, er ekki innbyggður í PHP hlutur,
það er fall sem við skrifaði í functions.php fyrir pset7
þannig að þú hefur aðgang að henni.
Annars ef hinn sviði er tóm, tala, þá er ég
fara að afsaka við notandi og segja vantar númer.
Vista þessa skrá.
>> Nú skulum fara aftur til vafranum mínum, fara aftur á vettvang reyndu aftur.
Register.
OK.
Ekkert gerðist, sem er gott.
Ég vissi ekki að fá villu skilaboð.
En ef í stað, skulum endurhlaða þetta síðu, og ekki veita neitt.
Fjandinn það.
Gerðu það.
Register.
Hvað gerði ég rangt?
Ef tómt, $ _POST nafn.
Segja aftur?
>> Oh, auðvitað.
Ég gleymdi mikilvægasti hlutinn, sem er krafist ("../ nær / config.php.").
Ég þarf að hafa aðgang að afsökunar virka sem
er ástæðan ekkert var að gerast.
Fallið er reyndar ekki til.
Svo skulum reyna þetta aftur.
Skulum endurhlaða síðunni, smelltu Register.
OK.
Þarna er hún.
Svo, að framleiðsla sem við erum sjá hér er niðurstaðan
að hringja í afsökunar virka, frábær einfalt,
og það prentar bara út hvað Ég gef það sem rök.
>> Allt í lagi, þannig að við skulum vinna.
Skulum veita nafn mitt eins og Davíð, skrá,
vantar númer OK skulum kveða á um, líka.
617-555-1212.
Register.
OK.
Svo er allt vel núna, bara ekkert áhugavert er að gerast.
Svo nú skulum gera eitthvað meira áhugavert gerast svona.
Leyfðu mér að fara inn í phpMyAdmin, og skulum reyndar búa til töflu sem heitir notendur,
Ég ætla að gefa henni þrjú dálka, og ég munt fljótt
búa auðkennið og síðan nafn, og þá tala,
og ID sviði ég fara á brott sem heiltala.
Nafnið sviði ég ætla að fara sem varchar,
og við munum segja 64, nokkuð geðþótta.
Talan sem ég ætla að gera, þú veist hvað?
Við erum að fara inn í styðja US tölur hér,
svo ég ætla að gera eitthvað eins bleikju og þá 10 stafir
max fyrir svæðisnúmer og síðan sjö tölustafir.
Og þá hérna, ég ætla að tilgreina farartæki vöxtur þessu sviði,
gera þetta að aðal lykill, og Ég ætla að fara á undan og ekki
athuga eitthvað af þessum reitum.
>> Svo þegar ég nú loksins smellir á Vista, og ég fer aftur til notenda mitt borð,
þetta er það sem það lítur út eins og ef ég Nú smellur á New Tab uppbyggingu.
Svo þetta, að vera skýr, er bara leið phpMyAdmin er
segja gagnasafn borðið hefur kenni, heiti og númer
með þeim tilteknu stillingar og við munum hunsa restina reita
þar fyrir nú.
>> Svo nú hvað vil ég gera?
Svo ef ég fer nú í minn Kóðinn, ef allt er vel
Ég vil að framkvæma eftirfarandi fyrirspurn.
Settu inn í, og ég get bara segja notendur ég ekki stranglega
þarf þeim aftur ticks ef það er ekki hættulegt orð eins og notendur.
Ég ætla að segja nafn, númer og þá er hér er ég
ekki að fara á harða Code stafa af gildum enn.
Ég ætla að setja tvö spurningarmerki.
Og þetta er samningur á mörgum tungumálum
þar ef þú vilt hafa staðgengill fyrir streng
þú ert að fara að nota spurninguna merki, af ástæðum við munum
koma aftur til að spjalla um öryggi, og hér
Ég ætla að fara í þeim tveir reitir eftir nafn,
og þá eftir fjölda, og nú vista skrána.
>> Og nú ætla ég að fara niður hér er frábær
einfaldlega segja rendersuccess.php sem er að fara að vera annar sniðmát.
Ég ætla að búa til mjög hratt.
Geditsuccess.php og ég ætla bara að fara að segja H1 árangri í þeirri skrá.
Allt í lagi.
Svo nú, við skulum fara aftur til vafra, þar sem ég heimsótti áður.
Skulum fara á undan og staðfesta að ég skrifaði í Davíð, skrifaði ég í símanúmer,
skrá.
Fjandinn það.
Hvað gerði ég rangt?
Þannig að ég ætla að sjá villu hér, þú Það er villa í SQL setningafræði þinni.
Leyfðu mér að hoppa til baka gedit, láta mig fara aftur til register.php,
og hvað gerði ég sleppt að var mikilvægt síðast?
Ég þarf þetta.
Þú vilt vita að aðrir en frá hafa tekið eftir áður, en ég þarf þetta.
>> Svo nú skulum við fara aftur, og þetta var gagnlegt að sjá í vafranum
og það er hvers vegna í config.php við spýta út villur.
Skulum fara á undan og endurhlaða, smelltu á Halda áfram, velgengni.
Svo nú láta mig fara yfir til mín gagnasafn hér og smelltu á notendur,
og skoða og taka ég nú hafa Davíð í gagnagrunn minn hér.
Nú tæknilega þessi vefsíða er ekki enn á internetið,
svo ég get ekki haft annað fólk í að setja hér,
en ef ég vildi nú til, að dæmi, senda mér textaskilaboð.
Við skulum fara út á útlimum hér og sjá hvort þetta virkar.
Ég ætla að fara á undan og eyða þessari línu
og við munum þoka þessu út í the vídeó síðar
svo við höfum ekki allt internetið vefnaður mig,
og við munum nú fara upp til vafra og við munum fara yfir til fyrirlestur
og við munum slá í mismunandi tala hér, skrá, velgengni.
>> Svo nú, eigin númerið mitt er væntanlega í gagnagrunninum, og nú gaman hluti.
Notum raun PHP til að gera eitthvað kerfisbundið,
annaðhvort frá stjórn lína eða frá einhvers staðar annars,
og nú er ég bara fara að halda það einfalt
og ég ætla að fara inn í minn skrá hér og gera eftirfarandi.
Gedit handrit skulum segja, við munum kalla það texta, #! / notandi / bin / ENV PHP,
eins og við sáum síðast.
PHP.
>> Nú ætla ég að þurfa nær config.php,
Jafnvel þó að þessi gæti valdið lítilsháttar villa.
Og nú ætla ég að fara á undan og segja raðir, fyrirspurn, velja stjörnu frá notendum,
og nú hér ég ætla að gera tækni frá síðasta sinn fyrir hvert raðir sem röð.
Og ég ætla að gera eitthvað einfalt.
Printf segjum nafn er þetta, og númer er þetta, Sviga n.
Og nú ætla ég að fara í röð vitna unquote nafn,
og róður vitna unquote númer og nú skulum fara á undan
og endastöðvar minn chmod þetta + X til að gera
þetta handrit sem heitir texti executable.
Og nú skulum hlaupa texta.
>> OK, svo framfarir.
Þannig að ég hef nú skrifað stjórn lína handrit,
á tungumáli sem heitir PHP, að af því þurfa línu,
hefur aðgang að öllum þeim stillingar Fastar sem ég tilgreind.
Nafnið á gagnagrunninum og svo framvegis.
Í raun, bara til að vera skýr að þetta er ekki a fluke,
láta mig fara á undan og skrá sig, mjög hratt, einhver annar eins Rob
og mun gefa honum 555-1212 númer.
>> Og nú, ef ég keyra handriti aftur, eftir vald
af því sem við erum að gera við gagnagrunninn.
Nú er ég hef strax séð hvað aðrar tvær raðir eru í gagnagrunn minn.
Svo nú skulum reyna að gera eitthvað jafnvel áhugamaður inni,
og þetta er hluti sem við höfum ekki prófað fyrirfram,
svo í síðasta skipti sem ég gerði þetta hlutir fór hryllilegur skakkur,
við höfum vídeó þess efnis.
>> Reyndar, já, fyndið hliðar.
Svo í síðasta sinn, í fyrirlestur eins tveimur árum síðan,
ákváðum, ég ákvað að vera allt þetta væri frábær hugmynd
við breytilega búa tölvupóst í flokki, með því að nota allt gagnasafn CS50
nemendur, sem höfðu gefið okkur tölur þeirra og cellphone flytjenda þeirra sem þér
gæti muna frá pset0, hvernig til ástæðu, það kemur í ljós
Ég hafði minniháttar galla í forritinu mínu og gerði nokkra mistök árið 2012, held ég.
>> Þar, sem ég hafði fyrir lykkju sem gerði einmitt þessa tegund af hlutur,
iterating yfir gagnagrunninum, fá nafn úr gagnagrunninum,
nafn úr gagnagrunninum, og síðan á hverjum endurtekning þeirrar lykkju ég sendi tölvupóst.
En í stað þess að senda einn tölvupóst, ég sendi tölvupóst í fyrsta endurtekning,
og tveir tölvupósta annað endurtekning, sendi þrjú bréf annað endurtekning, sem
eins og þú might muna úr okkar umfjöllun um asymptotic tákn
þetta stór O í slæmt, eins N veldi er hversu mörg skilaboð ég sendi,
en það var ekki einu sinni tölvupóst það var textaskilaboð.
>> Og eins og þú veist, aðsókn er ekki frábær hár undir lok misseris
og svo ég hélt að það væri sætur á kominn tími til að segja: "Af hverju ert þú ekki bekknum?"
Í texta skilaboð I send til bekkjarins í heild,
og það var fyndið að eins 50% af flokki, en hinn 50%, sumir hverjir
freaked út, ég sendi ótrúlega apologetic sweet Skýringar
við starfsfólk afsökunar fyrir hafa misst af fyrirlestur bara
þetta sinn, ekki satt?
>> Svo sem myndi hryllilegur skakkur.
Þannig að í þeim anda, skulum reyna þetta aftur en bara með númerið mitt.
Fyrir fram, functions.php, Ég hef skrifað þetta virka hér.
Það heitir texta, og það tekur í þremur rökum.
Ýmis, burðarefni og skilaboð.
>> Ég er að nota skipta yfirlýsingu sem frábærlega PHP taka strengi, ekki bara
heiltölur, og ég vissi ekki að framkvæma allan þann stuðning fyrir þessu enn,
Ég hef bara gert AT & T og Verizon.
Vegna þess að það kemur í ljós að með þessum flugfélögum
þeir hafa tölvupóst til SMS hlið, þar sem þú getur raunverulega
senda tölvupóst á heimilisfangi eins símanúmer á vtext.com
og ef notandinn hefur ekki lokað skilaboðin, verður það að fara í gegnum
er texti skilaboð.
>> Nú til að gera þetta, ég ætla að hafa til að bæta einu sviði mjög hratt til gagnagrunn minn.
Ég ætla að fara inn í uppbyggingu minn, og ég er
að fara á undan og bæta reit í lok töflunnar.
Skulum smelltu fara og ég er fara að kalla þessa flytjanda
og núna er ég að fara til láta þetta sem bar texta,
en við getum verið áhugamaður í framtíðinni.
Ég ætla að fljótt fara í mitt borð, og ég er
fara að losna við Rob, því það er a falsa númer
Ég ætla að fara inn í breyta hér og ég er fara að breyta flytjanda mitt handvirkt
vera Verizon, sem það er, og nú hérna.
>> Skulum gera a fljótur geðheilsu athuga.
Skulum opna texta handrit okkar, sem lítur út eins og þetta, flytjandi er% s.
Við erum að gera mikið meira villa haka en ég gerði árið 2012, burðarefni.
Og nú ætla ég að fara að fara undan og aftur hlaupa handritið.
OK.
Carrier er Regin, sem þýðir nú vonandi get ég gert bara þetta.
Réttur á þessu ári, vonandi, hér við fara.
>> Svo inni þetta fyrir lykkju, ég er fara að ekki aðeins hafa þetta printf,
Ég ætla líka að fara að hringja í texta og notkun af þessari virka muna
var það tekur númer, a flytjandi, og skilaboð.
Svo skulum sjá, tala er að fara að vera róður vitna unquote "númer"
róður vitna unquote "flytjandi", og það síðasta var skilaboð.
Ekki skrúfa ekki upp á þessu ári, semíkommu.
>> OK.
Krossleggja fingur.
Skulum sjá hvort þetta virkar.
Allt í lagi, svo.
Hér förum.
Skulum opna símann, yfir fingurna, fjandinn það.
Undefined breytilegum may-- ó bíddu, bíddu, bíddu, alvöru hratt.
Alvöru hratt, alvöru hratt.
Þetta er algjörlega þess virði.
Leyfðu mér grípa, láttu mig grípa, uh-ó.
Þakka þér, textarnir hafa byrjaði frá einhverjum öðrum.
Leyfðu mér að fara á undan og opna upp alvöru hratt, dropbox.php / mail hérna.
Standby.
Algjörlega þess virði.
Niðurhal.
OK, uppspretta src8m.
OK.
>> Vantar eitt lína hér.
Ó það er það, það er í Frosh Spjallboð, það er í skrá á þremur.
Ó halló, Margo, þakka þér kærlega.
OK, og ég var að vantar þessa línu hér.
Svo láta mig grípa fljótt Þessi lína af kóða,
sem felur í sér póst eða bókasafn að ég vil í raun að nota,
Ég ætla að fljótt fara aftur í aðgerðir,
Ég ætla að fara til the toppur af þessu skrá og þurfa þessa skrá eins og heilbrigður,
og nú er ég að fara að virkilega yfir minn fingur þegar ég fer aftur til stjórn
lína handriti, sem er inni heimamaður gestgjafi skrá dag.
Keyra texta.
Enter.
Mail.
Standby.
Mail.
Oh, OK.
Hér förum.
>> Mail fær nýja PHP póst.
Gerði ég þetta rétt?
Fjandinn það.
To-- ó, bíddu, bíddu, bíddu.
Standa við.
Ég lofa, þetta er að fara að vera vel þess virði.
Address.
Þetta er ástæða þess að ég gera ekki dæmi rétt áður bekknum.
Ugh.
Eftirfarandi viðtakendur mistókst.
Skulum reyna eitt síðasta hlutur.
SMTP sett frá, bæta tölu, heimilisfangið er örugglega það.
Við skulum reyna þetta síðasta þátt í heimilisfang.
Aw, ég er virkilega sorglegt núna.
Þakka þér.
En ég þakka raunverulega allur textarnir sem þú hefur verið að senda.
Þú hefur fengið þetta Davíð.
Þú ert blása það.
Skulum láta það þar og Þetta verður lagað á mánudag.
Sjáumst þá.
>> DAVEN FARNHAM: Og nú Deep Hugsun eftir Daven Farnham.
Ef tvöfaldur tré fellur í skógi og enginn er í kring til C it-- [chuckling].