[MUSIC PLAYBACK] ROB BOWDEN: Ahoj. Som Rob a ja dúfam, že ste pripravení , Aby tovar v tomto roztoku. Po prvé, poďme sa pozrieť na registri. Takže si pamätajte, že tu máme kontrolu zistiť, či formulár bol zverejnené na tejto stránke. Takže prvá vec, ktorú budeme urobiť, je ísť do iného. A ideme na to, aby registračného formulára. Takže registračného formulára sa deje poslať na register.php. A čo je to chystá poslať? Bude to poslať užívateľské meno, ktoré užívateľ sa chystá vyplniť, heslo, a potvrdenie - heslo znova zadali. Takže teraz, keď tá forma je zaúčtovaná do register.php budeme to urobiť, ak. Pri pohľade na to, či sme prví ísť na overenie vstupu. Chceme, aby sa ubezpečil, že užívateľské meno a heslo neboli prázdne a že potvrdenie skutočnosti zodpovedá heslu. Potom, čo sme si overili, že môžeme v skutočnosti registrovať užívateľa. Čo to znamená? No, chceme vložiť užívateľ do našej databázy. A to je to, ako budeme robiť, že. Takže ideme vložiť do užívateľa Tabuľka pole užívateľské meno, hash a hotovosti. Predvolená hodnota hotovosti bude 10.000. A ideme prejsť ako užívateľské meno, username, cez POST výborný globálny, ktorý je predložený z formulára. A ideme na šifrovanie heslo. Takže ak to podarilo, potom sa výsledky bude non-false. Ak to nepodarilo, potom Chcem sa ospravedlniť. Niečo je zle. A to, čo sa mohlo pokaziť? No, tam musí byť Unikátne užívateľské meno. A tak dotazu by zlyhali v prípade, že užívateľské meno už existoval v tabuľke. Takže za predpokladu, že bol jedinečný užívateľské meno, potom sa budeme pýtať sa chytiť ID tohto používateľa. Pamätajte si, že ID je auto-increment. A tak ak sa to stane zlyhanie pre niektoré Dôvodom, potom chceme ospravedlniť že sme nemohli chytiť ID. Ale za predpokladu, že to nebolo zlyhanie, potom sme sa chytiť ID z toho, čo dotaz sa vrátil, uložiť, že v našom sedení - tak sme sa chcete prihlásiť tohto užívateľa do roka ukladanie ID v relácii Super globálne, a konečne presmerovať do nášho portfólia. A to je pre register. Teraz ideme prejsť na ponuku. Takže citácie bude mať veľmi podobný set up. Vidíme tu, že je to kód, ktorý budeme vykonávať, keď je formulár zverejnené na tejto stránke. Ale najprv musíme mať v skutočnosti k tomu, aby tento formulár. Takže sa podrobnejšie pozrieme na citátom forme, aká polia sú tam? Vidíme, že všetky citácie sa je jeden Textové pole so symbolom meno. A tak, keď citujem forma je vyslaný na quote.PHP sme teraz bude spustenie tohto kódu. A jedinou premennou v našom Odoslať Super Globálne bude symbol. Sme overiť, že, aby sa uistil, že skutočne vyslaný symbol. A ak nie, môžete povedať, musí poskytovať symbol. Za predpokladu, že oni poskytujú symbol, Pozrieme sa ten symbol. Teraz si uvedomiť, že vzhľad sa môže mať zlyhal, pretože, no, možno to nebolo platný symbol začať. Takže ak to pozrieť sa vráti false, Chceme sa ospravedlniť, že symbol nebol nájdený. Potom, čo sme zistili, symbol, teraz sme môže spôsobiť šablónu quote.PHP. Čo to má vyzerať? To len tak pre tlač, že podiel akéhokoľvek názov zásoby sa Stojí za to, čo cena akcií je. Teraz prečo používať tento htmlspecialchars fungujú? To preto, že názov je tovar skladom a symbol môže v skutočnosti obsahovať osobitné znaky, ktoré by nemali byť interpretovaný ako HTML. Dobre, takže to je pre cenovú ponuku. Teraz sa chceme pozrieť na index.php a portfólio. Ale najprv sme skutočne potrebujú postaviť tabuľka portfólia. Tu je návod, ako budeme robiť, že. Takže poďme sa pozrieť na štruktúru. A vidíme, že portfólia tabuľka bude mať ID. Takže to bude užívateľa Identifikátor, ktorý je vkladanie akcie. Máme symbol, ktorý bude symbol spoločnosti, že sme vkladanie akcie za. A potom akcie je počet akcie, ktoré je vložená. Takže si pamätajte, že podľa pset spec, určíme, že ID a symbol - sme sa pozrieť na indexy, ID a symbol je primárny kľúč. Takže ID užívateľa a symbol škárovanie by sa mal objaviť jeden jediný čas v tejto tabuľke. Teraz sa pozrime na kód. Takže teraz index.php sa chystá chytiť všetky našich informácií portfólia a zobraziť užívateľmi. Tak za prvé, my ideme chytiť hotovosť že užívateľ má v súčasnej dobe z cash stola. Pamätajte si, že dotaz je vždy vrátiť rad polí. Takže aj keď sme len vybranej hotovosti z jedného riadku, stále potrebujeme chytiť, že peniaze indexovanie do nultý index riadkov a schmatol index hotovosti. Takže teraz chceme vybrať všetky Informácie z tabuľky portfólií to je dôležité, aby v súčasnej dobe prihlásený užívateľ. My samozrejme je potrebné overiť, či že sa skutočne podarilo, ktorú sme by mal vždy urobiť kedykoľvek sme dotaz. Akonáhle budeme mať všetko z tejto informácie, pset spec nás informuje, že sme malo by to urobiť, aby sa pekne uložiť všetky informácie v tejto pozície poľa. Takže sme looping cez všetky Informácie portfólio, vzhliadol skladom spojené s každým riadkom vo Informácie portfólio, a potom ukladanie v poli polohe meno, cena, akcie alebo symbol všetkých spojené s týmto skladom. A konečne, budeme k tomu, aby portfolio.PHP, prechádzajúcej vo výške hotovosti v súčasnej dobe máme, pozície pole, ktoré sme práve konštruované, a názov tejto strana, ktorá bude portfólio. Poďme sa pozrieť na portfolio.PHP. A vidíme, že hlavným zaujímavé Súčasťou je táto slučka. Takže sme looping cez pozície pole, vytváranie tabuľka, kde táto tabuľka - sme vyplnenie každý riadok s Informácie, ktoré sme dali dovnútra pozície poľa. Opäť musíme použiť htmlspecialchars V prípade, že tento symbol alebo názov obsahovať HTML znakmi. A tu sme vynásobením ceny a množstvo akcií, ktoré máme , Aby si, ako veľmi je to V súčasnej dobe stojí na užívateľa. A to je pre portfólio. Teraz sa pozrieme na predaji. Takže predať sa chystá vrátiť do formát, ktorý sme mali v register.php. Vidíme, že forma sa deje ktoré majú byť zverejnené na tejto stránke. Ale najprv, keď načítame stránku, ideme na to. Takže čo je to robíš? No, môžeme len dopredaj stránku majú jediný textové pole, ktoré používateľ vstúpi tento symbol, ktorý chceme predať. Ale budeme mať trochu múdrejší a budeme mať kvapku nadol, ktorý umožňuje užívateľovi vybrať skutočné symboly, ktoré už majú. Takže sa dostávame portfólio užívateľa. Budeme vyberať z portfólia všetky symboly, ktoré užívateľ V súčasnej dobe má, v súčasnej dobe prihlásený užívateľ. Uistite sa, že uspel. A teraz ideme do slučky cez vrátil informácií, len schmatol každý symbol, a ich ukladanie v tomto poli symboly. A teraz ideme na vykreslenie predať formulár. Takže predaj forma bude len byť ponuka pokles nadol, vyberte možnosť. A každá voľba vo výpredaji forme je bude len vytlačiť symbol že chytil od portfólia stôl. Takže predaj forma bude odoslať späť do sell.PHP. Pri pohľade na sell.PHP, to je kód že to bude vykonávať, keď sme sa predložiť na tejto stránke. Chceme overiť, či používateľ vlastne vstúpil symbol. Teraz za predpokladu, že to urobili - tak teraz chceme zistiť, koľko zdieľa používateľ skutočne predáva a koľko peňazí by mal používateľ získať na predaj, ktoré veľa akcií. Takže sme sa chytiť počet akcií, ktoré užívateľ má tento symbol. Pozeráme sa do portfólií vzhľadom k užívateľovi a daný symbol. Teraz sa uistite, že v skutočnosti vrátil riadok. Pretože ak nie, používateľ nie je skutočne ten symbol na predaj. Za predpokladu, že oni majú ten symbol, chceme chytiť počet akcie, ktoré majú. A teraz chceme vyhľadať, ako oveľa každá akcia stojí za to. Takže sme použili funkciu pozrieť hore. Pozeráme sa na hodnotu symbolu. Za predpokladu, že vzhľad sa podarilo, teraz budeme skutočne aktualizovať všetky informácie. Takže chceme odstrániť z portfólia akcie, ktoré sme predaj. Chceme aktualizovať užívateľa sumu v hotovosti. A my sme sa aktualizuje ju akcií krát cena akcií - takže to, koľko peňazí užívateľ práve urobil. A teraz chceme aktualizovať našu históriu. Tak sme sa vzali vzhľad v ešte tabuľky histórie. Takže sa vrátime k tomu. Teraz konečne budeme presmerovanie späť do portfólia. Teraz sa poďme pozrieť na kúpiť. Takže, kúpiť by mal byť dosť podobný k predaju. Vidíme, že máme ísť znova skontrolovať, či sme predloženie tejto stránke. Za predpokladu, že nie sme, sme bude načítanie formulára kúpiť. Takže to, čo sa forma kúpiť vyzerať? Vidíme tu, že je to len obyčajný tvorí, čo sa deje na odoslať späť do buy.PHP. A to bude mať symbol, ktorý užívateľ zadáva, počet akcie, ktoré používateľ chce kúpiť tohto symbolu, a je to. Takže keď sme sa predložiť späť do buy.PHP, sme teraz chystá spustenie tohto kódu. Znovu chceme overiť, že užívateľ zadal niečo platný. Takže tu máme uistiť sa, že vlastne vstúpil symbol. Tu sme uistite sa, že sú vlastne zadanej akcií. A tu sme uistite sa, že sú zadali číslo pre akcie, tak že Nesnažíme sa kúpiť akcie ABC. Teraz chceme vyhľadať cenu symbol, takže vieme, koľko peňazí We by mala odpočítať od užívateľa. Teraz budeme voliť, koľko peňazí užívateľ v skutočnosti je, a uistite sa, že že uspel. Tu sme schmatol peniaze. A teraz tu, robíme, že že užívateľ má dostatok peňazí. Takže v prípade, že počet akcií užívateľa chce kúpiť krát cena každého týchto akcií je vyššia než Množstvo peňazí, ktoré máme, a potom užívateľ nemôže dovoliť. Za predpokladu, že užívateľ má dostatok hotovosti, Teraz chceme vložiť do Portfólio užívateľa. No, budeme vložte do užívateľa portfólio, ak sa to stane, aby sa Prvýkrát užívateľ nákupu že konkrétny symbol. Ale čo keď už sa stalo mať nejaké jablko stock? No, teraz robíme použitie na duplicitné kľúč aktualizácie vyhlásenia. Takže to je dôvod, prečo sme sa už skôr spresnil, že ID a symbol by mal byť spoločný primárny kľúč, takže keď sa snažíme vložte ID a symbol, ktoré sú tam už budeme len aktualizovať Akcie na zaradenie nových akcií, ktoré užívateľ nákupom. Teraz chceme aktualizovať množstvo hotovosti, ktoré má používateľ, pretože strávil nejaké peniaze na tieto akcie. A konečne, budeme aktualizovať opäť tabuľka histórie. Čo opäť pozrieme na sekundu. A nakoniec budeme presmerovanie späť na portfolio.PHP. Takže poďme sa pozrieť na tabuľka histórie. Teraz si uvedomiť, že tabuľka história je mal udržať prehľad o všetkých nakupuje a predáva, aby všetci užívatelia vykonávať, a to nielen Aktuálny počet akcií, ktoré užívatelia majú, čo je to, čo portfólio je pre. Takže sme sledovanie užívateľa, ktorý je nákup alebo predaj, či už tento konkrétny transakcia bola kúpiť alebo predať, symbol, že to je kúpiť alebo predať, počet akcií že sme nákup alebo predaj, cena jedného podielu, ktorý je zatiaľ kúpil alebo predal, a nakoniec, čas že tento nákup alebo predaj dochádza. A to je všetko z histórie informácie, ktoré potrebujeme sledovať. Takže keď sme sa pozreli na predaji, sme videli, že sme boli vložením do histórie predať, napríklad, či budeme kupovať alebo predávať, aktuálne časovú pečiatku, a aktuálny používateľ, symbol, že to je predal, počet akcií, ktoré sú ktoré sa predávajú, a cena skladom v tejto dobe. Podobne, v nákupe, bude to vyzerajú takmer rovnako. Jediný rozdiel je, namiesto toho, z predaja, budeme kupovať. Takže predávať a kupovať, my vložením do tabuľka histórie všetkých nakupuje a predáva, ktoré sa dejú. Takže všetci history.PHP potrebné urobiť, je chytiť informácie z histórie tabuľka, uistite sa, že sa podarilo, a poskytnúť informácie. Takže pri pohľade na šablóne history.PHP, zaujímavé informácie je tu. Sme slučky cez všetky transakcie, tlač, či je táto Bola kúpiť alebo predať, formátovanie čas dátum že sme túto transakciu. Pamätaj si musíme použiť htmlspecialchars na symbol, len v prípade. A konečne, formátovanie počet akcie, ktoré boli zakúpené a cena z jedného podielu v tej dobe. A to máte zobrazené všetky histórie informácie, ktoré potrebujeme. A to je pre tento pset. Volám sa Rob, a to Bol CS50 Finance.