[MUZYKA GRA] ROB BOWDEN Cześć. Jestem Rob, i mam nadzieję, że jesteś gotowy, umieścić akcji w tym roztworze. Najpierw rzućmy okiem na rejestrze. Więc pamiętaj, że tutaj mamy do sprawdzenia aby sprawdzić, czy forma była Opublikowane na tej stronie. Tak więc pierwszą rzeczą, którą będziemy zrobić, to udać się do innego. I jedziemy do renderowania Formularz rejestr. Więc forma rejestr będzie opublikować register.php. A co to będzie wysłać? To będzie wysyłać nazwę użytkownika, że użytkownik będzie wypełnić, hasło, i potwierdzenie - hasło wpisane ponownie. Więc teraz, gdy ta forma jest wysłana do register.php będziemy wykonywać to, czy. Patrząc na to, czy jesteśmy pierwszy zamiar potwierdzić wejście. Chcemy się upewnić, że nazwa użytkownika i hasła nie były puste i że potwierdzenie w rzeczywistości mecze hasło. Po sprawdzeniu, że my możemy faktycznie zarejestrować użytkownika. Co to znaczy? Cóż, chcemy wstawić użytkownika w naszej bazie danych. I tak będziemy robić. Więc mamy zamiar wstawić do użytkowników Tabela pola nazwa użytkownika, hash, i gotówka. Domyślna wartość gotówki będzie 10.000. I zamierzamy przekazać jako nazwę użytkownika, nazwa użytkownika, poprzez super POST globalny, który jest złożony z formy. I jedziemy do szyfrowania hasło. Więc jeśli to się udało, to wyniki nie będzie fałszywa. Jeśli nie udało, to chcę przeprosić. Coś poszło nie tak. I co mogło pójść nie tak? Cóż, nie musi być unikalna nazwa użytkownika. I tak, zapytanie może nie udać jeśli już nazwa użytkownika istnieje w tablicy. Tak więc przy założeniu, że to wyjątkowa nazwa użytkownika, Następnie jedziemy do kwerendy, aby pobrać ID tego użytkownika. Pamiętaj, że ID jest autoinkrementacja. I tak, jeśli tak się stanie, aby nie dla niektórych powód, a następnie chcemy przeprosić że nie możemy pobrać identyfikator. Ale zakładając, że nie uda, to pobieramy ID z tego co zapytanie wrócił, zapisać, że w naszej sesji - więc chcemy, aby zalogować się przez tego użytkownika przechowywanie identyfikatora w sesji Super globalne, a na końcu przekierowanie do naszego portfela. I to jest to dla rejestru. Teraz mamy zamiar przenieść się do zacytowania. Więc cytat będzie miał bardzo podobny zestaw w górę. Widzimy tutaj, że jest to kod, który mamy zamiar wykonać, gdy forma jest Opublikowane na tej stronie. Najpierw jednak rzeczywiście aby uczynić tę formę. Więc przyjrzeć postaci cytatem, jakie pola są tam? Widzimy, że cytat nie jest wszystko jedno Pole tekstowe z symbolem nazwy. I tak, gdy formularz jest wysyłany cytatem do quote.PHP jesteśmy teraz będzie wykonanie tego kodu. I jedyną zmienną w naszym Pisanie Super globalna będzie symbol. Mamy potwierdzenie, że, aby upewnić się, że faktycznie pisał symbol. A jeśli nie, możemy powiedzieć, że Należy zapewnić symbolu. Zakładając, że nie zapewniają symbol, przyjrzymy się ten symbol. Teraz należy pamiętać, że może mieć spojrzenie w górę nie powiodło się, ponieważ, cóż, może nie było ważny symbol na początku. Więc jeśli to patrzeć return false, chcemy przeprosić, że Symbol nie został znaleziony. Kiedy znalazłem się symbol, teraz może spowodować, że szablon quote.PHP. Co to wygląda? To się po prostu dzieje, aby wydrukować, że udział niezależnie od nazwy akcji było Warto co cena akcji jest. Teraz dlaczego używamy tego htmlspecialchars funkcjonować? To dlatego, że nazwa akcji i symbol może faktycznie zawierać specjalne znaki, które nie powinny być interpretowany jako HTML. Wszystko w porządku, więc to jest to na wycenę. Teraz chcemy, aby spojrzeć na index.php i portfolio. Ale najpierw trzeba zbudować naprawdę Tabela portfele. Oto jak zamierzamy to zrobić. Warto więc przyjrzeć się strukturze. I widzimy, że portfele Tabela będzie mieć identyfikator. Tak, że będzie użytkownika Identyfikator, który jest wstawianie akcji. Mamy symbol, który ma zamiar być symbol firmy, że jesteśmy wstawienie akcji. A potem akcja jest liczba akcji, która jest włożona. Więc pamiętaj, że za spec pset, możemy określić, że identyfikator i symbol - możemy sprawdzić identyfikator i indeksy, Symbol jest kluczem podstawowym. Tak identyfikator użytkownika i symbol parowania powinien pojawić się tylko jeden Czas w tabeli. Teraz spójrzmy na kod. Więc teraz index.php będzie złapać wszystkie z naszych informacji i portfelem wyświetlenia go użytkownikowi. Więc po pierwsze, mamy zamiar pobrać gotówkę że użytkownik aktualnie jest z Tabela pieniężnych. Pamiętaj, że zawsze dzieje się zapytanie powrót tablicy tablic. Tak więc mimo, że tylko wybrane gotówkę z jednego wiersza, musimy jeszcze chwycić tej gotówki przez indeksowanie do Indeks zerowe wierszy i chwytając Indeks pieniężnych. Teraz chcemy, aby zaznaczyć wszystkie Informacje z tabeli portfeli to jest istotne dla aktualnie zalogowanego użytkownika. My oczywiście muszą potwierdzić, że że rzeczywiście udało, których Należy zawsze ilekroć kwerendy. Kiedy już mamy wszystkie te informacje, Spec pset informuje nas, że Należy to zrobić, aby ładnie zapisać wszystkie informacje, w tym pozycji tablicy. Więc jesteśmy w pętli na wszystkich Informacje o portfolio, patrząc w górę Grafika związana z każdego rzędu Informacje o portfolio, a następnie przechowywanie w tablicy pozycji nazwę, cena, symbol wszystkich akcji i wiąże się z tym stanie. I wreszcie, mamy zamiar uczynić portfolio.PHP, przechodząc w wysokości gotówki, ale aktualnie nie, pozycje tablicy, że właśnie wykonana, a tytuł ten Strona, która będzie portfolio. Rzućmy okiem na portfolio.PHP. I widzimy, że głównym ciekawe częścią jest ta pętla. Więc jesteśmy w pętli na stanowiskach tablicy, tworząc stół, gdzie ten stół - mamy do wypełniania każdego wiersza z Informacje, które umieścimy w środku pozycji tablicy. Ponownie, musimy użyć htmlspecialchars W przypadku, gdy symbol lub nazwę zawierać znaków HTML. I tu mamy pomnożenie ceny i ilość akcji, które mamy aby uzyskać jak bardzo to jest Obecnie wartość dla użytkownika. I to jest to dla portfela. Teraz będziemy spojrzeć na sprzedaży. Tak więc sprzedaż będzie wrócić do Format, który mieliśmy w register.php. Widzimy, że forma będzie być wysłane do tej strony. Ale najpierw, kiedy załadować stronę, mamy zamiar to zrobić. Więc co to robisz? Cóż, możemy tylko mieć stronę sprzedaży mieć polu tekstowym, że użytkownik wchodzi w ten symbol, który chcemy sprzedać. Ale mamy zamiar być nieco bardziej sprytny i będziemy mieć spadek w dół, która pozwala użytkownikowi na wybranie rzeczywiste symbole, które już mają. Więc jesteśmy coraz portfela użytkownika. Mamy zamiar wybrać z portfeli wszystkich symboli użytkownik obecnie, aktualnie zalogowanego użytkownika. Upewnij się, że się udało. A teraz jedziemy do pętli na zwróciło informacji, po prostu chwytając każdy symbol i przechowywanie go w tej tablicy symboli. A teraz mamy zamiar Renderowanie formularza sprzedaży. Formularz sprzedać tak po prostu się dzieje być rozwijane menu, wybierz. I każda opcja w postaci wyprzedaży jest będzie po prostu wydrukować symbol że chwycił z Tabela portfele. Więc forma będzie sprzedać złożyć z powrotem do sell.PHP. Patrząc na sell.PHP, to kod że zamierza wykonać, gdy poddajemy na tej stronie. Chcemy, aby potwierdzić, że użytkownik faktycznie wprowadzony symbol. Teraz zakładając, że oni - więc teraz chcemy określić, ile akcji użytkownik jest rzeczywiście sprzedaży i ile pieniędzy użytkownik powinien uzyskać do sprzedaży, że wiele akcji. Więc chwycić liczby akcji, która Użytkownik ma do tego symbolu. Patrzymy w portfelach na danego użytkownika oraz danego symbolu. Teraz upewnij się, że rzeczywiście zwrócony wiersz. Bo jeśli nie, użytkownik nie rzeczywiście ten symbol do sprzedaży. Zakładając, że mają ten symbol, chcemy, aby pobrać numer akcji, które mają. A teraz chcemy patrzeć, jak dużo każda akcja jest warta. Więc korzystaliśmy z funkcji wzroku. Patrzymy się wartość symbolu. Zakładając, że wygląd się udało, teraz idziemy do faktycznie zaktualizować wszystkie informacje. Dlatego chcemy, aby usunąć z portfeli akcje, które sprzedajesz. Chcemy, aby zaktualizować użytkownika ilość gotówki. I aktualizujemy je na akcje razy cena akcji - tak to jest, jak dużo pieniędzy Użytkownik właśnie zrobił. A teraz chcemy zaktualizować naszą historię. Więc nie miały wygląd co jeszcze tabeli historii. Więc wracamy do tego. Teraz wreszcie będziemy przekierowywać z powrotem do portfela. Teraz rzućmy okiem na wpisowe. Tak, kupić powinna być dość podobny do sprzedaży. Widzimy, że jesteśmy znowu dzieje aby sprawdzić, czy jesteśmy złożenie do tej strony. Zakładając, że nie jesteśmy, jesteśmy zamiar załadować formularz kupna. Więc co ma formę Kup wygląda? Widzimy tutaj, że to po prostu zwykła stanowią, że będzie złożyć z powrotem do buy.PHP. I to będzie symbol, który ma Użytkownik jest wprowadzania, szereg akcji, które użytkownik chce kupić tego symbolu, i to jest to. Kiedy więc złożyć z powrotem do buy.PHP, jesteśmy teraz będzie wykonanie tego kodu. Znów chcą potwierdzić, że użytkownik wprowadził coś ważnego. Więc tutaj mamy upewniając się, że faktycznie wprowadzony symbol. Tutaj mamy do upewniając się, że faktycznie wprowadzone akcje. I tu mamy do upewniając się, że Wprowadzona liczbę całkowitą do akcji, tak nie próbujesz kupić akcje ABC. Teraz chcemy sprawdzić cenę Symbol, więc wiemy, jak wiele środków pieniężnych należy odjąć od użytkownika. Teraz wybieramy ile pieniędzy użytkownika faktycznie ma i upewnić się, że , że się udało. Tutaj jesteśmy chwytając gotówkę. A teraz, na pewno robimy że użytkownik ma wystarczająco dużo gotówki. Więc jeśli liczba akcji użytkownika chce kupić razy cena każdego z tych akcji jest większa niż kwota środków pieniężnych, które mamy, to Użytkownik nie może sobie na to pozwolić. Zakładając, że użytkownik ma wystarczająco dużo gotówki, teraz chcemy wstawić do portfolio użytkownika. Cóż, będziemy wstawić do użytkownika portfolio, czy to dzieje się raz pierwszy użytkownik kupuje że zwłaszcza symbol. Ale co, jeśli już zdarzy mieć jakieś jabłko Zdjęcie? Cóż, teraz robimy na korzystanie z duplikat klucza instrukcję aktualizacji. Tak, to dlaczego wcześniej określiliśmy, że Numer i symbol powinny być wspólne klucz podstawowy, tak, że jeśli spróbujemy włóż identyfikator i symbol, które są już istnieje, po prostu zaktualizować akcji w celu uwzględnienia nowych akcji, które Użytkownik kupuje. Teraz chcemy, aby zaktualizować ilość pieniężne, które użytkownik ma, ponieważ Właśnie spędziliśmy trochę pieniędzy na te akcje. I wreszcie, będziemy aktualizować Tabela Historia ponownie. Które znów zobaczymy na chwilę. I wreszcie będziemy przekierowywać powrót do portfolio.PHP. Warto więc przyjrzeć się Tabela historia. Pamiętajcie, że historia jest w tabeli powinien śledzić wszystkie kupuje i sprzedaje, że wszyscy użytkownicy, aby nie tylko aktualna liczba akcji, które użytkownicy mają, co jest, co portfolio jest. Więc mamy śledzenie użytkownika, który kupuje lub sprzedaje, czy ta konkretna transakcja polegała na kupnie lub sprzedać, to jest symbol, który kupionych lub sprzedanych, liczba akcji że jesteśmy zakupu lub sprzedaży, Cena jednej akcji, która jest będącej kupić lub sprzedać, a na końcu, czas że nabywanie lub zbywanie występuje. I to wszystko z historii informacje, że musimy śledzić. Tak więc, gdy patrzyliśmy na sprzedaży, widzieliśmy, że byliśmy wstawienie do historii sprzedaży, od tego, czy kupujesz lub sprzedaży, aktualny znacznik czasu, a Bieżący użytkownik, jest symbolem, który jest sprzedawane, liczba akcji, które są sprzedawane, a cena Zdjęcie w tym czasie. Podobnie, kupuj, to będzie wyglądają prawie tak samo. Jedyną różnicą jest to, zamiast od sprzedaży, kupujemy. Więc w sprzedaży i zakupu, jesteśmy wkładanie tabela historii wszystkich kupuje i sprzedaje, które dzieją się. Więc wszystko history.PHP musi zrobić, to chwycić informacje z historii stół, upewnij się, że się udało, i uczynić tę informację. Więc patrząc na szablonie history.PHP, ciekawe informacje jest tutaj. Jesteśmy w pętli na wszystkich transakcji, drukowanie czy było kupić lub sprzedać, formatowanie czas data że dokonaliśmy tej transakcji. Pamiętaj, musimy użyć htmlspecialchars na symbol, na wszelki wypadek. I wreszcie, formatowanie liczby Akcje, które zostały zakupione, a cena jednej akcji w tym czasie. I który wyświetla wszystkie historii informacje, że musimy. I to do tego zbior. Nazywam się Rob, i to był CS50 Finanse.