[Musiikki soi] ROB BOWDEN: Hei. Olen Rob, ja toivon, olet valmis luoda kalakantojen tässä ratkaisussa. Ensimmäinen, nyt katsomaan rekisteriin. Niin muista, että täällä me tarkastamme onko lomake oli ilmoitetaan tällä sivulla. Joten ensimmäinen asia aiomme tehdä, on mennä muualle. Ja me aiomme tehdä rekisteriin muodossa. Joten rekisteri lomake on menossa lähettää viestejä register.PHP. Ja mitä se aikoo lähettää? Se tulee lähettää käyttäjätunnuksen, joka käyttäjä on menossa täyttää, salasana, ja vahvistus - salasanan kirjoitettu uudelleen. Joten nyt kun tämä lomake on lähetetty register.PHP me suorita tämä jos. Tarkasteltaessa tätä, jos olemme ensin menossa vahvistaa tulo. Haluamme varmistaa, että käyttäjätunnus ja salasana eivät olleet tyhjiä ja että vahvistus tosiasiallisesti vastaa salasanan. Kun olemme tarkistaneet, että voimme itse rekisteröityä käyttäjää. Mitä se tarkoittaa? No, haluamme lisätä Käyttäjä meidän tietokantaan. Ja näin teemme sen. Joten aiomme lisätä osaksi käyttäjien taulukon kentät käyttäjätunnus, hash, ja käteistä. Oletusarvo käteistä tulee olemaan 10000. Ja me aiomme kulkea käyttäjätunnuksena, Käyttäjänimi, kautta POST Super maailmanlaajuinen jätetyn lomakkeesta. Ja aiomme salata salasanan. Joten jos se onnistui, niin lopputulos on ei-vääriä. Jos se ei ole, niin me haluavat pyytää anteeksi. Jokin meni pieleen. Ja mikä voisi mennä vikaan? No, on oltava yksilöllisen käyttäjätunnuksen. Ja niin kysely olisi voinut epäonnistuneet Mikäli tunnus on jo olemassa olevassa taulukossa. Joten jos se oli ainutlaatuinen käyttäjätunnus, Sitten aiomme kyselyn napata ID kyseisen käyttäjän. Muista, että tunnus on auto-kasvavalla. Ja niin jos se sattuu epäonnistuu jostain syystä, silloin me haluamme pyytää anteeksi että emme voineet napata tunnus. Mutta olettaen, että se ei ole jättänyt, niin nappaame ID mitä kyselyn palautettavan tallentaa että meidän istunto - joten haluamme kirjautua tämän käyttäjän osallistumistaan tallentamiseen tunnus istuntoon Super maailmanlaajuinen, ja lopuksi ohjata meidän salkun. Ja se on siinä rekisterissä. Nyt aiomme siirtyä lainaus. Joten lainaus tulee olemaan todella samanlainen perustaa. Näemme tässä, että tämä on koodi, joka aiomme toteuttaa, kun lomake on ilmoitetaan tällä sivulla. Mutta ensin meidän on todellakin tekevän tämän lomakkeen. Joten vilkaisemalla tarjouspyyntö, Millä aloilla on olemassa? Näemme, että kaikki lainaus on on yksi tekstikenttään nimi symboli. Ja niin kun tarjouspyyntö on lähetetty to quote.PHP olemme nyt menossa suorittaa tämän koodin. Ja ainoa muuttuja meidän POST Super maailmanlaajuinen tulee olemaan symboli. Vahvistamme, että varmista, että ne todella lähetetty symboli. Ja jos he eivät, sanomme sinulle on annettava symboli. Olettaen, että ne tarjosivat symboli, me etsiä että symboli. Nyt muistaa, että look up voi olla epäonnistui vuodesta, no, ehkä se ei ollut voimassa symboli aluksi. Joten jos tämä etsiä return false, Haluamme pyytää anteeksi, että symboli ei löytynyt. Kun olemme löytäneet symboli, nyt voi tehdä quote.PHP malli. Mitä se näyttää? Joka on juuri menossa painoon, että osake riippumatta varastot nimi oli kannattaa riippumatta osakekurssi on. Nyt miksi käytämme tätä htmlspecialchars toimiakseen? Tämä johtuu osakkeen nimen ja symbolin saattaisi olla erityistä merkkejä, joita ei pitäisi tulkita HTML. Kunnossa, niin se on siinä lainaus. Nyt haluamme tarkastella index.php ja portfolio. Mutta ensin meidän oikeastaan ​​tarvitse rakentaa salkut pöytä. Näin aiomme tehdä sen. Joten katsotaanpa katsomaan rakennetta. Ja me näemme, että salkkujen taulukossa joutuu ID. Niin, että tulee olemaan käyttäjän Tunnus, joka on asettanut osakkeita. Meillä on symboli, joka tulee olemaan symboli yritys, joka olemme lisäämällä osakkeita. Ja sitten osakkeiden määrä osakkeita, joka on asetettu. Niin muista, että per PSET spec, me täsmentää, että tunnus ja symboli - voimme tarkistaa indeksit, tunnus ja symboli on perusavain. Joten käyttäjätunnus ja symboli pariksi tulisi näkyä vain yksi aikaa tässä taulukossa. Nyt katsokaamme koodi. Joten nyt index.php aikoo napata kaikki meidän salkun tietoa ja näyttää sen käyttäjälle. Ensin aiomme napata käteistä että käyttäjä on tällä hetkellä alkaen käteispöydässä. Muista, että kysely on aina menossa palata joukko paneelit. Vaikka siis vain valitut käteisellä alkaen yksi rivi, tarvitsemme vielä napata että käteistä indeksoimisen zeroth indeksi rivien ja tarttumalla käteisellä indeksi. Joten nyt haluamme valita kaikki tietoa salkkujen taulukko joka on merkitystä tällä hetkellä kirjautuneen käyttäjän. Me tietenkin täytyy vahvistaa, että joka todella onnistunut, jota pitäisi aina tehdä aina kun kysely. Kun meillä on kaikki nämä tiedot, PSET spec ilmoittaa meille, että me Tämä olisi tehtävä, jotta hienosti tallentaa kaikki tiedot tässä kantoja array. Joten olemme silmukoiden hoitaakseen kaikki portfolio tietoja, etsii Varastossa liittyy kunkin rivin portfolio tiedot ja tallentaminen asennossa array nimi, hinta, osakkeet ja symboli kaikille jotka liittyvät kyseiseen varastossa. Ja lopuksi, me aiomme tehdä portfolio.PHP, ohimennen määrä käteistä meillä on tällä hetkellä, kannat array että me vain rakennettu, ja otsikko tämän sivulta, joka on salkun. Katsotaanpa katsomaan portfolio.PHP. Ja me näemme, että suuret mielenkiintoinen osa on tämän silmukan. Joten olemme silmukoiden yli kantoja array, luoda taulukko, jossa kyseisen taulukon - olemme asuttavat Jokaisen kerroksen tietoa, että me laittaa sisälle kantoja array. Jälleen meidän täytyy käyttää htmlspecialchars jos tämä symboli tai nimi sisältävät HTML merkkiä. Ja tässä me kertomalla hinta ja osakkeiden määrä, että meillä on saadakseen kuinka paljon se tällä hetkellä arvoltaan käyttäjälle. Ja se on siinä salkun. Nyt me katsomaan myydä. Joten myydä aikoo palata muoto, joka meillä oli register.PHP. Näemme, että lomake on menossa postitettavaksi tälle sivulle. Mutta ensin, kun me ladata sivua, aiomme tehdä tämän. Joten mitä tämä tekee? No, voisimme vain myydä sivulle on yksi tekstikenttään, että käyttäjä siirtyy tähän symboli, joka haluamme myydä. Mutta aiomme olla hieman viisaampi ja aiomme olla pudota alas, jonka avulla käyttäjä voi valita Varsinainen symboleja, jotka heillä jo on. Joten olemme pääsemässä käyttäjän salkun. Aiomme valita salkkuja kaikilla symboleilla, että käyttäjä tällä hetkellä, tällä hetkellä kirjautuneen käyttäjän. Varmista, että onnistui. Ja nyt me aiomme lenkki palasi tietoa, vain tarttumalla kukin symboli, ja varastointia Tässä symboleja array. Ja nyt me aiomme renderöinti myydä muodossa. Joten myydä lomake on menossa juuri olla pudotusvalikosta, valitse. Ja jokainen vaihtoehto myydä muodossa on menossa vain tulostaa symboli että me tarttui salkkuja pöytä. Joten myydä lomake on menossa toimittaa takaisin sell.PHP. Tarkasteltaessa sell.PHP, tämä on koodi että menee suoritetaan, kun jätämme tälle sivulle. Haluamme vahvistaa, että käyttäjä oikeastaan ​​tuli symboli. Nyt olettaen, että he tekivät - joten nyt haluamme selvittää, kuinka monta yhtyy käyttäjä on todella myyvät ja kuinka paljon rahaa käyttäjän pitäisi saada myynti että monet osakkeet. Joten me napata määrä osakkeita, jotka käyttäjällä on tämä merkki. Etsimme ylös salkkuja varten Yksittäisen käyttäjän ja annetaan symboli. Nyt varmista, että tosiasiallisesti palasi peräkkäin. Koska jos se ei ole, käyttäjä ei oikeasti on, että symboli myydä. Olettaen, että ne eivät ole, että symboli, haluamme napata määrä Osakkeiden että heillä on. Ja nyt haluamme etsiä miten paljon kukin osake kannattaa. Joten käytimme etsiä toimintoa. Etsimme ylös arvo tunnuksesta. Olettaen, että näyttää jopa onnistunut, nyt aiomme todella päivittää kaikki tiedot. Joten haluamme poistaa salkkuja Osakkeiden että myymme. Haluamme päivittää käyttäjän määrä rahaa. Ja päivitämme sen osakkeita kertaa osakekurssi - niin se on, kuinka paljon rahaa Käyttäjä juuri tehty. Ja nyt haluamme päivittää historiamme. Joten emme ole ottaneet ilmeen historiaa pöytä vielä. Niin me palaamme tähän. Nyt vihdoin aiomme suunnata takaisin salkun. Nyt katsomaan ostaa. Joten, ostaa pitäisi olla aika samanlainen myydä. Näemme, että olemme jälleen menossa tarkistaa, jos olemme Lähettämällä tälle sivulle. Olettaen, että emme, olemme menossa ladata ostaa muodossa. Joten mitä ostaa lomake näyttää? Näemme tässä, se on vain tavallinen muodostavat että menee toimittaa takaisin buy.PHP. Ja se tulee olla symboli, joka käyttäjä on siirtymässä, määrä osakkeita, jotka käyttäjä haluaa ostaa mainitun tunnuksen, ja se on siinä. Joten kun esitämme takaisin buy.PHP, olemme nyt menossa suorittamaan tätä koodia. Me taas haluamme vahvistaa, että käyttäjä kirjoittaa jotain voimassa. Joten tässä me varmista ne oikeastaan ​​tuli symboli. Täällä me varmista, että ne oikeastaan ​​tuli osaketta. Ja tässä me varmista, että ne Annettu kokonaisluku osakkeita, joten he eivät yrittää ostaa ABC osakkeita. Nyt haluamme etsiä hintaa symboli, jotta tiedämme, kuinka paljon rahaa me on vähennettävä käyttäjältä. Nyt me valita, kuinka paljon rahaa käyttäjä todella on ja varmista, että että onnistui. Täällä me tarttumalla käteisellä. Ja nyt täällä, me varmista että käyttäjällä on tarpeeksi rahaa. Joten jos osakkeiden lukumäärä käyttäjä haluaa ostaa kertaa hinta kunkin kyseisten osakkeiden on suurempi kuin määrä rahaa, että meillä on sitten Käyttäjä ei ole varaa siihen. Olettaen, että käyttäjä on tarpeeksi rahaa, nyt haluamme lisätä osaksi käyttäjän salkun. No, me työnnä käyttäjän portfolio, jos tämä sattuu olemaan Ensimmäistä kertaa käyttäjä on ostamassa että tietty symboli. Mutta entä jos he jo tapahtua olla joitakin Apple varastossa? No, nyt olemme hyödyntämällä on päällekkäinen avain päivitys julkilausuman. Joten siksi aikaisemmin me täsmentää, että ID ja symboli pitäisi olla yhteinen perusavain, niin että jos yritämme aseta tunnus ja symboli, joka on jo olemassa, me vain päivittää osakkeet kuuluvat uusien osakkeiden käyttäjä on ostamassa. Nyt haluamme määrän päivittämiseksi rahaa, että käyttäjä on, sillä ne juuri viettänyt jonkin verran rahaa kyseiset osakkeet. Ja lopuksi, me päivittää historiatauluun uudelleen. Joka taas tutustumme klo toisessa. Ja lopuksi me ohjata takaisin portfolio.PHP. Joten katsotaanpa katsomaan historiatauluun. Nyt muistaa, että historia taulukko on tarkoitus seurata kaikkia ostaa ja myy, että kaikki käyttäjät tekevät, ei vain nykyinen määrä osakkeita, jotka käyttäjillä on, joka on mitä portfolio on. Olemme siis pitää kirjaa käyttäjän että ostaa tai myy, onko Tässä nimenomaisessa Kauppa oli ostaa tai myydä, symboli, joka on ostanut tai myynyt, osakkeiden lukumäärä että me ostaa tai myydä, hinta yhden osakkeen, joka on ostetaan tai myydään, ja lopuksi aika että tämä ostaa tai myydä tapahtuu. Ja se on kaikki historiaa tietoja, joita tarvitaan seurata. Joten kun me katsoimme myydä, näimme, että olimme lisäämällä historiaan myydä, koska siitä me ostaa tai myydä, kellonaika leima, ja nykyinen käyttäjä, symboli, joka on myydään, osakkeiden lukumäärä, jotka ovat myydään ja hinta Varastossa tällä hetkellä. Samoin ostaa, se tulee näyttävät lähes sama. Ainoa ero on sen sijaan Myynnin, ostamme. Joten myydä ja ostaa, olemme laitat ne historiat taulukon kaikki ostaa ja myy, joita tapahtuu. Joten kaikki history.PHP tarvitsee tehdä, on napata tietoa historiasta pöytä, varmista, että se onnistui, ja tehdä näitä tietoja. Joten etsit history.PHP malli, mielenkiintoista tietoa on täällä. Olemme kiehkura hoitaakseen kaikki liiketoimet, tulostus, onko tämä oli ostaa tai myydä, muotoilu päivämäärä aika että teimme tämän tapahtuman. Muista meidän täytyy käyttää htmlspecialchars on symboli, kaiken varalta. Ja lopuksi, muotoilu määrä osakkeita, jotka ostettiin ja hinta yhden osakkeen tuolloin. Ja joka näyttää kaikki historian tietoja, joita me tarvitsemme. Ja siinä se tästä PSET. Nimeni on Rob, ja tämä oli CS50 Finance.