[MUSIC PŘEHRÁVÁNÍ] ROB BOWDEN: Ahoj. Jsem Rob a já doufám, že jste připraveni , aby zboží v tomto roztoku. Za prvé, pojďme se podívat na registru. Takže si pamatujte, že tady máme kontrolu zjistit, zda formulář byl zveřejněny na této stránce. Takže první věc, kterou budeme udělat, je jít do jiného. A jdeme k tomu, aby registračního formuláře. Takže registračního formuláře se děje poslat na register.php. A co je to chystá poslat? Bude to poslat uživatelské jméno, které uživatel se chystá vyplnit, heslo, a potvrzení - heslo znovu zadali. Takže teď, když ta forma je zaúčtována do register.php budeme to provést, pokud. Při pohledu na to, zda jsme první jít k ověření vstupu. Chceme, aby se ujistil, že uživatelské jméno a heslo nebyly prázdné a že potvrzení skutečnosti odpovídá heslu. Poté, co jsme si ověřili, že můžeme ve skutečnosti registrovat uživatele. Co to znamená? No, chceme vložit uživatel do naší databáze. A to je to, jak budeme dělat, že. Takže jdeme vložit do uživatele Tabulka pole uživatelské jméno, hash a hotovosti. Výchozí hodnota hotovosti bude 10.000. A jdeme projít jako uživatelské jméno, username, přes POST výborný globální, který je předložen z formuláře. A jdeme na šifrování heslo. Takže pokud to podařilo, pak se výsledky bude non-false. Pokud to nepodařilo, pak Chci se omluvit. Něco je špatně. A to, co se mohlo pokazit? No, tam musí být Unikátní uživatelské jméno. A tak dotazu by selhaly v případě, že uživatelské jméno již existoval v tabulce. Takže za předpokladu, že byl jedinečný uživatelské jméno, pak se budeme dotazovat se chytit ID tohoto uživatele. Pamatujte si, že ID je auto-increment. A tak pokud se to stane selhání pro některé Důvodem, pak chceme omluvit že jsme nemohli chytit ID. Ale za předpokladu, že to nebylo selhání, pak jsme se chytit ID z toho, co dotaz se vrátil, uložit, že v našem sezení - tak jsme se chcete přihlásit tohoto uživatele do roku ukládání ID v relaci Super globální, a konečně přesměrovat do našeho portfolia. A to je pro registr. Teď jdeme přejít na nabídku. Takže citace bude mít velmi podobný set up. Vidíme zde, že je to kód, který budeme provádět, když je formulář zveřejněny na této stránce. Ale nejprve musíme mít ve skutečnosti k tomu, aby tento formulář. Takže se podrobněji podíváme na citátem formě, jaká pole jsou tam? Vidíme, že všechny citace se je jeden Textové pole se symbolem jméno. A tak, když cituji forma je vyslán na quote.PHP jsme teď bude spuštění tohoto kódu. A jedinou proměnnou v našem Odeslat Super Globální bude symbol. Jsme ověřit, že, aby se ujistil, že skutečně vyslán symbol. A pokud ne, můžete říci, musí poskytovat symbol. Za předpokladu, že oni poskytují symbol, Podíváme se ten symbol. Nyní si uvědomit, že vzhled se může mít selhal, protože, no, možná to nebylo platný symbol začít. Takže pokud to podívat se vrátí false, Chceme se omluvit, že symbol nebyl nalezen. Poté, co jsme zjistili, symbol, teď jsme může způsobit šablonu quote.PHP. Co to má vypadat? To jen tak pro tisk, že podíl jakéhokoliv název zásoby se Stojí za to, co cena akcií je. Teď proč používat tento htmlspecialchars fungují? To proto, že název je zboží skladem a symbol může ve skutečnosti obsahovat zvláštní znaky, které by neměly být interpretován jako HTML. Dobře, takže to je pro cenovou nabídku. Nyní se chceme podívat na index.php a portfolio. Ale nejdřív jsme skutečně potřebují postavit tabulka portfolia. Zde je návod, jak budeme dělat, že. Takže pojďme se podívat na strukturu. A vidíme, že portfolia tabulka bude mít ID. Takže to bude uživatele Identifikátor, který je vkládání akcie. Máme symbol, který bude symbol společnosti, že jsme vkládání akcie za. A pak akcie je počet akcie, které je vložena. Takže si pamatujte, že dle pset spec, určíme, že ID a symbol - jsme se podívat na indexy, ID a symbol je primární klíč. Takže ID uživatele a symbol spárování by se měl objevit jeden jediný čas v této tabulce. Nyní se podívejme na kód. Takže teď index.php se chystá chytit všechny našich informací portfolia a zobrazit uživateli. Tak za prvé, my jdeme chytit hotovost že uživatel má v současné době z cash stolu. Pamatujte si, že dotaz je vždycky vrátit řadu polí. Takže i když jsme jen vybrané hotovosti z jednoho řádku, stále potřebujeme chytit, že peníze indexování do nultý index řádků a popadl index hotovosti. Takže teď chceme vybrat všechny Informace z tabulky portfolií to je důležité, aby v současné době přihlášený uživatel. My samozřejmě je třeba ověřit, zda že se skutečně podařilo, kterou jsme by měl vždy udělat kdykoli jsme dotaz. Jakmile budeme mít vše z této informace, pset spec nás informuje, že jsme mělo by to udělat, aby se pěkně uložit všechny informace v této pozice pole. Takže jsme looping přes všechny Informace portfolio, vzhlédl skladem spojené s každým řádkem ve Informace portfolio, a pak ukládání v poli poloze jméno, cena, akcie a symbol všech spojené s tímto skladem. A konečně, budeme k tomu, aby portfolio.PHP, procházející ve výši hotovosti v současné době máme, pozice pole, které jsme právě konstruovány, a název této strana, která bude portfolio. Pojďme se podívat na portfolio.PHP. A vidíme, že hlavním zajímavé Součástí je tato smyčka. Takže jsme looping přes pozice pole, vytváření tabulka, kde tato tabulka - jsme vyplnění každý řádek s Informace, které jsme dali dovnitř pozice pole. Opět musíme použít htmlspecialchars V případě, že tento symbol nebo název obsahovat HTML znaky. A tady jsme vynásobením ceny a množství akcií, které máme , aby si, jak moc je to V současné době stojí na uživateli. A to je pro portfolio. Nyní se podíváme na prodeji. Takže prodat se chystá vrátit do formát, který jsme měli v register.php. Vidíme, že forma se děje které mají být zveřejněny na této stránce. Ale nejdřív, když načteme stránku, jdeme na to. Takže co je to děláš? No, můžeme jen doprodej stránku mají jediný textové pole, které uživatel vstoupí tento symbol, který chceme prodat. Ale budeme mít trochu chytřejší a budeme mít kapku dolů, který umožňuje uživateli vybrat skutečné symboly, které už mají. Takže se dostáváme portfolio uživatele. Budeme vybírat z portfolia všechny symboly, které uživatel V současné době má, v současné době přihlášený uživatel. Ujistěte se, že uspěl. A teď jdeme do smyčky přes vrátil informací, jen popadl každý symbol, a jejich ukládání v tomto poli symboly. A teď jdeme na vykreslení prodat formulář. Takže prodej forma bude jen být nabídka pokles dolů, zvolte možnost. A každá volba ve výprodeji formě je bude jen vytisknout symbol že chytil od portfolia stůl. Takže prodej forma bude odeslat zpět do sell.PHP. Při pohledu na sell.PHP, to je kód že to bude provádět, když jsme se předložit na této stránce. Chceme ověřit, zda uživatel vlastně vstoupil symbol. Nyní za předpokladu, že to udělali - tak teď chceme zjistit, kolik sdílí uživatel skutečně prodává a kolik peněz by měl uživatel získat na prodej, které mnoho akcií. Tak jsme se chytit počet akcií, které uživatel má tento symbol. Díváme se do portfolií vzhledem k uživateli a daný symbol. Nyní se ujistěte, že ve skutečnosti vrátil řádek. Protože pokud ne, uživatel není skutečně ten symbol na prodej. Za předpokladu, že oni mají ten symbol, chceme chytit počet akcie, které mají. A teď chceme vyhledat, jak mnohem každá akcie stojí za to. Takže jsme použili funkci podívat nahoru. Díváme se na hodnotu symbolu. Za předpokladu, že vzhled se podařilo, nyní budeme skutečně aktualizovat všechny informace. Takže chceme odstranit z portfolia akcie, které jsme prodej. Chceme aktualizovat uživatele částku v hotovosti. A my jsme se aktualizuje ji akcií krát cena akcií - takže to, kolik peněz uživatel právě udělal. A teď chceme aktualizovat naši historii. Tak jsme se vzali vzhled v ještě tabulky historie. Takže se vrátíme k tomu. Teď konečně budeme přesměrování zpět do portfolia. Nyní se pojďme podívat na koupit. Takže, koupit by měl být dost podobný k prodeji. Vidíme, že máme jít znovu zkontrolovat, zda jsme předložení této stránce. Za předpokladu, že nejsme, jsme bude načtení formuláře koupit. Takže to, co se forma koupit vypadat? Vidíme zde, že je to jen obyčejný tvoří, co se děje na odeslat zpět do buy.PHP. A to bude mít symbol, který uživatel zadává, počet akcie, které uživatel chce koupit tohoto symbolu, a je to. Takže když jsme se předložit zpět do buy.PHP, jsme nyní chystá spuštění tohoto kódu. Znovu chceme ověřit, že uživatel zadal něco platný. Takže tady máme ujistit se, že vlastně vstoupil symbol. Zde jsme ujistěte se, že jsou vlastně zadané akcií. A tady jsme ujistěte se, že jsou zadali číslo pro akcie, tak že Nesnažíme se koupit akcie ABC. Nyní chceme vyhledat cenu symbol, takže víme, kolik peněz We by měla odečíst od uživatele. Nyní budeme volit, kolik peněz uživatel ve skutečnosti je, a ujistěte se, že že uspěl. Zde jsme popadl peníze. A teď tady, děláme, že že uživatel má dostatek peněz. Takže v případě, že počet akcií uživatele chce koupit krát cena každého těchto akcií je vyšší než Množství peněz, které máme, a pak uživatel nemůže dovolit. Za předpokladu, že uživatel má dostatek hotovosti, Nyní chceme vložit do Portfolio uživatele. No, budeme vložte do uživatele portfolio, pokud se to stane, aby se Poprvé uživatel nákupu že konkrétní symbol. Ale co když už se stalo mít nějaké jablko stock? No, teď děláme použití na duplicitní klíč aktualizace prohlášení. Takže to je důvod, proč jsme se již dříve upřesnil, že ID a symbol by měl být společný primární klíč, takže když se snažíme vložte ID a symbol, které jsou už tam budeme jen aktualizovat Akcie na zařazení nových akcií, jež uživatel nákupem. Nyní chceme aktualizovat množství hotovosti, které má uživatel, protože strávil nějaké peníze na tyto akcie. A konečně, budeme aktualizovat opět tabulka historie. Což opět podíváme na vteřinku. A nakonec budeme přesměrování zpět na portfolio.PHP. Takže pojďme se podívat na tabulka historie. Nyní si uvědomit, že tabulka historie je měl udržet přehled o všech nakupuje a prodává, aby všichni uživatelé provádět, a to nejen Aktuální počet akcií, které uživatelé mají, což je to, co portfolio je pro. Takže jsme sledování uživatele, který je nákup nebo prodej, ať už tento konkrétní transakce byla koupit nebo prodat, symbol, že to je koupit nebo prodat, počet akcií že jsme nákup nebo prodej, cena jednoho podílu, který je prozatím koupil nebo prodal, a nakonec, čas že tento nákup nebo prodej dochází. A to je vše z historie informace, které potřebujeme sledovat. Takže když jsme se podívali na prodeji, jsme viděli, že jsme byli vložením do historie prodat, například, zda budeme kupovat nebo prodávat, aktuální časové razítko, a aktuální uživatel, symbol, že to je prodal, počet akcií, které jsou které se prodávají, a cena skladem v této době. Podobně, v nákupu, bude to vypadají téměř stejně. Jediný rozdíl je, místo toho, z prodeje, budeme kupovat. Takže prodávat a kupovat, my vložením do tabulka historie všech nakupuje a prodává, které se dějí. Takže všichni history.PHP potřeba udělat, je chytit informace z historie tabulka, ujistěte se, že se podařilo, a poskytnout informace. Takže při pohledu na šabloně history.PHP, zajímavé informace je tady. Jsme smyčky přes všechny transakce, tisk, zda je tato Byla koupit nebo prodat, formátování čas datum že jsme tuto transakci. Pamatuj si musíme použít htmlspecialchars na symbol, jen v případě. A konečně, formátování počet akcie, které byly zakoupeny a cena z jednoho podílu v té době. A to máte zobrazeny všechny historie informace, které potřebujeme. A to je pro tento pset. Jmenuji se Rob, a to Byl CS50 Finance.