>> [Muusika mängib]
>> ROB BOWDEN: Hi.
Olen Rob ja ma loodan, et sa oled valmis panna laos seda lahendust.
Esiteks, võtame pilk register.
Seega pidage meeles, et siin me kontrollime kas vorm oli
postitatud sellele lehele.
>> Nii et esimene asi, mida me ei kavatse teha, on minna mujale.
Ja me ei kavatse muuta Registri vorm.
Nii register vorm läheb postitada register.PHP.
Ja mida ta kavatseb saata?
See saab saata kasutajanimi, et kasutaja saab täita, parool,
ja kinnitus -
UUS tipitud uuesti.
>> Nüüd, kui see vorm on lähetatud register.PHP me täita seda kui.
Vaadates seda, kui me oleme esimene läheb valideerida sisendi.
Me tahame veenduda, et kasutajanimi ja parool ei ole tühi ja et
kinnituse tegelikult sobib salasõna.
Kui oleme kontrollinud, et suudame tegelikult registreerib kasutaja.
>> Mida see tähendab?
Noh, me tahame, et sisestada kasutaja meie andmebaasist.
Ja see on see, kuidas me teeme seda.
Nii et me ei kavatse lisada kasutajaid tabeli väljad kasutajanimi
hash ja sularaha.
>> Vaikimisi väärtus raha saab olema 10000.
Ja me läheme edasi, nagu kasutajanimi, kasutajanimi kaudu POST super
ülemaailmne, mis on esitatud alates vormi.
Ja me ei kavatse varjata parool.
>> Nii et kui see õnnestus, siis tulemuseks on mitte-vale.
Kui see ei õnnestunud, siis me tahan vabandada.
Midagi läks valesti.
Ja mis võiks olla valesti läinud?
>> Noh, seal peab olema unikaalne kasutajanimi.
Ja nii päringu oleks suutnud kui kasutajanimi on juba
olemas laud.
Seega eeldades, et see oli ainulaadne kasutajanime siis me päringuid haarata
ID selle kasutaja.
Pea meeles, et ID on auto-incrementing.
>> Ja kui see juhtub, ei suuda mingil põhjusel, siis tahan vabandada
et me ei suutnud haarata ID.
Kuid kui eeldada, et see ei õnnestu, siis me haarata ID, mida päringu
tagastata, salvestada, et meie istungi - nii et me tahame, et logida selle kasutaja poolt
ladustamiseks ID istungil super globaalne, ja lõpuks
suunata meie portfelli.
Ja see on see register.
>> Nüüd me liikuda edasi tsiteerida.
Nii quote läheb on tegelikult sarnane ülesehitus.
Me näeme siin, et see on kood, mis me ellu kui vorm on
postitatud sellele lehele.
Aga kõigepealt me ​​tegelikult muuta, et vorm.
Nii võttes pilk quote kujul, millistes valdkondades on olemas?
>> Me näeme, et kõik quote on üksik tekstikasti nime sümbol.
Ja kui päring on postitatud et quote.PHP me nüüd läheb
täita seda koodi.
Ja ainus muutuja meie POST super ülemaailmne saab olema sümbol.
>> Me kinnitada, et veenduda, et nad tegelikult postitatud sümbol.
Ja kui nad seda ei teinud, siis ütled, tuleb ette sümbol.
Eeldades, nad tegid pakkuda sümbol, me vaatame üles, et sümbol.
>> Nüüd pidage meeles, et vaadata up võib olla ebaõnnestus, sest, noh, võib-olla see ei olnud
kehtiv sümbol alustada.
Nii et kui see üles otsima tagasi false, tahame vabandada, et
sümbol ei leitud.
Kui oleme leidnud sümbol, nüüd võib muuta quote.PHP malli.
>> Mida see välja näeb?
See on lihtsalt trükkimineku et osa olenemata varudest nimi oli
Tasub iganes aktsia hind.
Nüüd miks me kasutame seda htmlspecialchars toimida?
Ongi, sest aktsia nimi ja sümbol võib tegelikult sisaldavad erilisi
märgid, mis ei tohiks tõlgendada kui HTML.
>> Olgu, see on seda tsiteerida.
Nüüd tahame vaadata index.php ja portfelli.
Aga kõigepealt me ​​tegelikult vaja ehitada portfellide tabelis.
Siin on, kuidas me seda teeme.
>> Võtame pilk struktuuri.
Ja me näeme, et portfellid tabel läheb on ID.
Nii et see saab olema kasutaja ID, mis on paigaldamisel aktsiatest.
Meil on sümbol, mis saab olema sümbol firma, et me oleme
sisestades aktsiaid.
Ja siis on aktsiate arv aktsiaid, mis on sisestatud.
>> Seega pidage meeles, et iga pset spec, me täpsustada, et ID ja sümbol -
me kontrollida indeksid, ID ja sümbol on primaarvõti.
Nii kasutajatunnus ja sümbol sidumist ilmub ainult ühe
aega selles tabelis.
Nüüd vaatame koodi.
>> Nüüd index.php läheb haarata kõik Meie portfell info ja
näitab seda, et kasutaja.
Nii et esimene, me haarata raha et kasutaja on praegu alates
raha lauale.
Pea meeles, et päring on alati saab tagasi array massiivid.
Nii et kuigi me ainult valitud raha ühest reas, meil on vaja veel
haarata, et sularaha indekseerimine zeroth indeksi rida ja haarates
raha indeks.
>> Nüüd tahame, et valida kõik teavet portfellide tabel
see on asjakohane, et praegu sisse loginud kasutaja.
Me muidugi vaja kinnitada, et et tegelikult õnnestus, mis me
peaksid alati tegema, kui me päringuid.
Kui meil on kõik see info, pset spec teatab meile, et me
peaks seda tegema, et ilusti talletada kõik andmed selles
seisukohti massiivi.
>> Nii et me silmusega üle kõik portfelli informatsiooni, soojaks
aktsia, mis on seotud iga rea portfelli teavet ja seejärel
salvestamine positsioon array nimi, hind, aktsiate ja sümbol kõik
seotud selle aktsia.
Ja lõpuks, me ei kavatse muuta portfolio.PHP, mis kulgeb summas
raha meil on praegu, seisukohti massiivi, et me lihtsalt
ehitatud ja pealkiri see leht, mis on portfelli.
>> Võtame pilk portfolio.PHP.
Ja me näeme, et suur huvitav osa on see ahel.
Nii et me silmusega üle positsioone massiiv, luues
tabel, kus see tabel -
me rahvastamises iga rida teavet, et me sinna sisse panna
seisukohti massiivi.
>> Jällegi peame kasutama htmlspecialchars juhul kui see sümbol või nimi
sisaldavad HTML tähemärki.
Ja siin me korrutame hinna ja aktsiate kogus, mis meil on
selleks, et saada, kui palju see on praegu tasub kasutaja.
Ja see on seda portfelli.
>> Nüüd võtame pilk müüa.
Nii sell läheb tagasi minna formaat, mis meil oli register.PHP.
Me näeme, et vorm läheb postitatakse sellele lehele.
Aga esiteks, kui me koormus lehele me teeme seda.
>> Niisiis, mida see teeb?
Noh, me võiksime lihtsalt sell lehele on ühte teksti kasti et kasutaja
kannab seda sümbolit tahame müüa.
Aga me ei kavatse olla natuke targem ja me lähed on drop
alla, mis võimaldab kasutajal valida tegelik sümbolid, mis neil juba on.
>> Nii et me lähme alla portfellis.
Me valida portfellide kõik sümbolid, mis kasutaja
Praegu on, praegu sisse loginud kasutaja.
Veenduge, et õnnestus.
Ja nüüd me läheme silmus üle tagastatakse teave, lihtsalt haarata
Iga sümbol, ja säilitamist Selles sümbolid massiivi.
>> Ja nüüd me läheme muuta sell vormi.
Nii sell vorm läheb lihtsalt olema rippmenüüst valige.
Ja iga võimalust müüa vorm läheb lihtsalt välja printida sümbol
et me haarasid portfellide tabelis.
>> Nii sell vorm läheb esitama tagasi sell.PHP.
Vaadates sell.PHP, on see kood et läheb täide, kui me esitama
sellele lehele.
Me tahame kinnitada, et kasutaja tegelikult kantud sümbol.
>> Nüüd eeldatakse, et nad on teinud -
Nüüd me tahame, et määrata kindlaks, kui palju jagab kasutaja on tegelikult müüvad
ja kui palju raha peaks kasutaja saama müüa, et paljud aktsiad.
Nii et me haarata aktsiate arv, mida kasutaja on selle sümbol.
Otsime üles portfellid antud kasutaja ja antud sümbol.
>> Nüüd veenduge, et tegelikult tagasi rida.
Sest kui see ei ole, kasutaja ei tegelikult on see sümbol müüa.
Eeldades, et nad on selle sümbol, tahame haarata arvu
aktsiaid, mis neil on.
Ja nüüd me tahame otsida kuidas palju iga osa on väärt.
>> Nii me kasutasime otsida funktsiooni.
Otsime üles väärtus sümboli.
Eeldades, et vaadata up õnnestus nüüd me tegelikult uuenda
teavet.
Nii et me tahame kustutada portfellid aktsiad, mida me müüa.
Me tahame, et uuendada kasutaja summa raha.
>> Ja me selle ajakohastamine aktsiatega korda aktsia hind -
nii see on, kui palju raha kasutaja lihtsalt tehtud.
Ja nüüd me tahame uuendada meie ajalugu.
Nii et me ei ole võtnud ilme ajaloost tabelis veel.
Nii et me tuleme selle juurde tagasi.
>> Nüüd lõpuks me ümber Tagasi portfelli.
Nüüd vaatleme osta.
Niisiis, osta peaks olema üsna sarnane müüa.
>> Me näeme, et me jälle läheb vaadata, kui me oleme
esitades sellele lehele.
Eeldades, et me ei ole, me oleme läheb laadida buy vormi.
Mis siis buy vorm välja näeb?
>> Me näeme siin, et see on lihtsalt tavaline moodustada, mis läheb
esitama tagasi buy.PHP.
Ja ta läheb on sümbol, mis kasutaja siseneb arv
aktsiaid, et kasutaja tahab osta selle sümbol ja see on kõik.
Nii et kui me esitama tagasi buy.PHP, me oleme nüüd läheb täide see kood.
>> Me jälle tahan kinnitada, et kasutaja sisestatud midagi kehtiv.
Nii et siin me teeme, et nad tegelikult kantud sümbol.
Siin me teeme kindlaks, et nad tegelikult kantud aktsiatest.
Ja siin me tagada, et nad kantakse täisarv aktsiaid, mistõttu
nad ei taha osta ABC aktsiaid.
>> Nüüd tahame otsida hinnaga sümbol, et me teame, kui palju raha me
peaks lahutama kasutaja.
Nüüd me valida, kui palju raha kasutaja tegelikult on ja veenduda, et
et õnnestus.
Siin me haarata raha.
Ja nüüd siin, me veenduge, et kasutaja on piisavalt raha.
>> Nii et kui aktsiate arv alla tahab osta kordne hind iga
kõnealuste aktsiatega on suurem kui summa raha, mis meil on, siis
kasutaja ei saa endale lubada.
Eeldusel, et kasutajal on piisavalt raha, nüüd tahame lisada
kasutaja portfellis.
Noh, me lisada kasutaja portfelli, kui see juhtub olema
Esimene kord, kui kasutaja ostab et eelkõige sümbol.
>> Aga mis siis, kui nad juba juhtuma on mõned Apple aktsia?
Noh, nüüd me teeme kasutamise kohta korduv võti ajakohastatud aruanne.
Nii et see on põhjus, miks varem me täpsustada, et ID ja sümbol peavad olema ühised
primaarvõti, nii et kui me püüame sisesta ID ja sümbol, mis on
juba olemas, siis me lihtsalt uuendada aktsiate lisada uusi aktsiaid, mis
kasutaja ei osta.
>> Nüüd tahame uuendada summa raha, et kasutaja on, sest nad
lihtsalt kulutada natuke raha nende aktsiatega.
Ja lõpuks, me uuendada ajalugu tabel uuesti.
Mis jällegi me vaatame juures teine.
Ja lõpuks me ümber Tagasi portfolio.PHP.
>> Võtame pilk ajalugu tabel.
Pea meeles, et ajalugu tabel peaks jälgima kõik ostab ja
müüb, et kõik kasutajad teha, mitte ainult praegune aktsiate arv, mida
kasutajatele, kes on see, mida portfell on.
Nii et me jälgida, kasutaja, ostab või müüb, kas
see konkreetne tehing oli ostu või müüa, sümbol, mis kuramuse
ostetud või müüdud, aktsiate arv et me osta või müüa,
hind ühe aktsia, mis kuramuse osta või müüa, ja lõpuks aeg
et see ostmine või müümine on toimunud.
>> Ja see kõik on ajalugu teabe, et me peame
jälgida.
Nii et kui me vaatasime sell nägime, et olime sisestamist ajalugu sell,
nagu kas me ostmine või müümine, Praegune aeg tempel, ja
praeguse kasutaja, sümbol, mis kuramuse müüdud aktsiate arv, mis on
müüakse ja hind varude seekord.
Sarnaselt osta, siis see näevad välja peaaegu sama.
Ainus erinevus on, selle asemel, müügi, me osta.
>> Nii et müüa ja osta, me sisestamist ajaloo tabel kõik
ostab ja müüb, mis on toimumas.
Nii et kõik history.PHP peab tegema on haarata teave ajalugu
tabel, veenduge, et see õnnestus, ja muuta seda teavet.
Nii vaadeldes history.PHP malli huvitav teave
on siin.
>> Me silmusega üle kõik tehingud, trükkimine, kas see
oli osta või müüa, vormingu kuupäev aeg et me tegime selle tehingu.
Mäleta peame kasutama htmlspecialchars kohta
sümbol, igaks juhuks.
Ja lõpuks, vormingu arvu aktsiaid, mis olid ostetud ja hind
ühe osa sel ajal.
>> Ja mis kuvab kõik ajalugu informatsiooni, mida me vajame.
Ja see on see selle pset.
Minu nimi on Rob ja see oli CS50 Finance.