[Glazba svira] ROB Bowden: Bok. Ja sam Rob, i nadam se da ste spremni staviti zaliha u ovo rješenje. Prvo, neka je pogledati registar. Pa sjetite se da ovdje imamo pravopisa da li je obrazac objavljena na ovoj stranici. Dakle, prva stvar koju ćemo učiniti je otići na drugi. I mi ćemo donijeti Obrazac za registar. Dakle oblik registar ide postavljati na register.php. A što će to poslati? To će poslati korisničko ime koje korisnik će se ispuniti, lozinku, i potvrda - Lozinka ponovno upisali. Dakle, sada kada je taj oblik knjiži register.php ćemo izvršiti to ako. Gledajući na to, ako smo prvi će potvrditi unos. Želimo biti sigurni da je username i lozinka nisu bili prazni i da Potvrda zapravo odgovara lozinku. Nakon što smo potvrdili da možemo zapravo registrirajte korisniku. Što to znači? Pa, želimo umetnuti Korisnik u našoj bazi podataka. A to je, kako ćemo to učiniti. Tako ćemo umetnuti u korisnike Tablica stavke korisničko ime, mljeveno meso, i novčani. Zadana vrijednost novca će biti 10.000. I mi ćemo proći kao korisničkim imenom, korisničko ime, kroz POST super Globalni koji je podnesen iz obrasca. A mi idemo za šifriranje lozinkom. Dakle, ako je to uspjelo, onda rezultira će biti ne-lažno. Ako to nije uspjelo, onda smo Želim se ispričati. Nešto je pošlo po zlu. A što bi mogao imati otišao u krivu? Pa, postoji potreba da se jedinstveno korisničko ime. I tako upita mogla propustio ako već username postojala je u tablici. Dakle, pod pretpostavkom da je jedinstveno korisničko ime, onda idemo na upit da zgrabite ID od tog korisnika. Ne zaboravite da je ID auto-povećavati. I tako, ako se to dogodi da će uspjeti za neke razlog, onda želimo da se ispriča da nismo mogli zgrabiti ID. No pod pretpostavkom da nije propustio, a zatim smo zgrabite ID od onoga upit vratio, pohraniti da u našoj sjednici - pa želimo da se prijavite ovaj korisniku u po spremanje ID na sjednici super globalno, a na kraju preusmjeriti na našeg portfelja. I da je za registar. Sada ćemo prijeći na citat. Dakle citat će imati jako sličan set up. Ovdje vidimo da je to kod koji ćemo izvršiti kada je oblik objavljena na ovoj stranici. Ali prvo mi zapravo kako bi se taj obrazac. Dakle, uzimanje pogledati quote obliku, ono polja postoje? Vidimo da sve citat je je jedan okvir za tekst s imenom simbola. I tako, kada oblik citat je objavljena da quote.PHP mi sada idemo na izvršiti ovaj kod. I jedina varijabla u našem POST super Globalni će biti simbol. Mi potvrditi da biste bili sigurni da oni zapravo posted simbol. A ako nisu, možemo li reći mora osigurati simbol. Uz pretpostavku da je pružiti simbol, gledamo se taj simbol. Sada se sjetiti da je izgled se može imati nije uspio, jer, dobro, možda i nije bila vrijedi simbol za početak. Dakle, ako ovo gledati povratak lažno, želimo ispričati kako Simbol nije pronađen. Nakon što smo pronašli simbol, sada smo može pružiti predložak quote.PHP. Što to izgledati? To samo će ispisati da je udio bez obzira na ime dionica je vrijedi bez obzira na cijenu dionica je. Sad zašto mi koristimo ovaj htmlspecialchars funkcionirati? To je zato što je ime dionica i simbola Možda zapravo sadrže posebna likovi koji ne bi trebali interpretirati kao HTML. U redu, tako da je za citat. Sada želimo gledati na index.php i portfolio. No, prvo nam zapravo treba izgraditi Tablica portfeljima. Evo kako ćemo to učiniti. Tako ćemo pogledati strukturu. A vidimo da su portfelji Stol će imati iskaznicu. Tako da će biti korisnik ' ID koji je umetanjem dionice. Imamo simbol, koja će biti simbol tvrtke da smo umetanjem dionice za. A onda dionice je broj Dionice se do kraja. Dakle, ne zaboravite da je po pset spec., možemo navesti da je ime i simbol - smo provjeriti indekse, ID i Simbol je primarni ključ. Dakle korisničko ime i simbol uparivanje trebao bi se pojaviti samo jednom put u ovoj tablici. Sada pogledajmo koda. Tako sada index.php će zgrabite sve naše informacije portfelja i prikazati korisniku. Dakle, prvo, idemo za zgrabite novca koje korisnik trenutno ima od novčani stol. Sjeti se, da je upita uvijek ide da se vrati niz polja. Dakle, iako smo samo odabrani gotovinu od jednog reda, još uvijek je potrebno zgrabite novca indekse u nultoga indeks reda i grabbing novčani index. Dakle, sada želimo odabrati sve Informacije iz tablice portfelj koji je relevantan za trenutačno prijavljeni korisnici. Mi, naravno, morati potvrditi da koji zapravo uspjeli, što smo uvijek treba učiniti kad god smo upita. Kad budemo imali sve te podatke, pset spec nas obavještava da smo treba učiniti kako bi se lijepo spremiti sve informacije u ovom Položaji polja. Tako smo petlje nad sve Informacije portfelja, gledajući dionica povezana s svaki redak u Informacije portfelja, a zatim spremanje u poziciji niz imena, Cijena, dionice i simbol svega povezana s tim dionicama. I na kraju, mi ćemo donijeti portfolio.PHP, prolazi u iznosu gotovine trenutno imamo, pozicije niz koji smo upravo izgrađena, a naslov ovog stranica koje će biti portfolio. Idemo pogledati portfolio.PHP. A vidimo da je veliki zanimljivo Dio je to loop. Tako smo petlje nad pozicijama polje, stvarajući stol, gdje je stol - mi smo doseljenju svaki redak sa Informacije koje smo stavili unutra Položaji polja. Opet, moramo koristiti htmlspecialchars u slučaju da se ovaj simbol ili naziv sadrže HTML znakova. I ovdje smo množenjem cijenu i iznos dionica koje imamo kako bi se koliko je to trenutno vrijedi za korisnika. I to je to za portfelja. Sada ćemo pogledati na prodaju. Dakle, prodati će se vratiti na format koji smo imali u register.php. Vidimo da je forma ide biti objavljena na ovoj stranici. Ali prvo, kad smo učitati stranicu, ćemo to učiniti. Pa što se to radi? Pa, samo smo mogli imati stranicu prodam imaju jedan tekstualni okvir koji korisničko ulazi u ovaj simbol koji želimo prodati. Ali mi ćemo biti malo pametniji i da ćemo imati pad niz koji omogućuje korisniku da odaberete Stvarni simboli koji već imaju. Dakle, mi smo dobivanje korisnika portfelj. Mi ćemo odabrati iz portfelja svi simboli kako je korisnik trenutno ima, trenutno prijavljeni korisnici. Uvjerite se da je uspio. A sad idemo na petlji preko vratio podatke, samo grabbing svaki simbol, i pohranjivanja u ovom simbola niz. A sad idemo na donijeti formular prodati. Dakle, forma prodavati će se samo biti izbornik padajući, odaberite. I svaka opcija u obliku prodati je ide to samo ispisati simbol da mi je zgrabio iz portfelji stol. Dakle, forma prodavati će se dostaviti natrag na sell.PHP. Gledajući sell.PHP, to je kod koji će izvršiti kada smo poslali na ovoj stranici. Želimo potvrditi da korisnik zapravo ušao simbol. Sada pretpostavimo da su to učinili - pa sad želimo utvrditi koliko dijeli korisnik zapravo prodaje i koliko novca korisnik bi trebao dobiti za prodaju da mnoge dionice. Tako smo zgrabite broj dionica koje Korisnik ima za ovaj simbol. Tražimo u portfeljima za dano korisniku i dao znak. Sada bi bili sigurni da je to zapravo vratio red. Jer, ako to nije učinio, korisnik ne zapravo imaju taj znak za prodaju. Pod pretpostavkom da oni imaju taj simbol, želimo da zgrabite broj dionice koje oni imaju. I sada želimo gledati kako koliko svaka dionica vrijedi. Tako smo koristili pogledati do funkciju. Tražimo se vrijednost simbola. Uz pretpostavku da je pogled prema gore uspjelo, sada ćemo zapravo ažurirati sve informacije. Na taj način želimo izbrisati iz portfelja dionice koje prodajete. Želimo ažurirati korisnika iznos novca. I mi smo ga ažurirati dionicama puta na cijenu dionica - pa to je koliko novca Korisnik upravo napravili. I sada želimo obnoviti našu povijest. Dakle, nismo uzeli pogledati stolom povijesti još. Tako ćemo doći do toga. Sada napokon ćemo preusmjeriti Povratak u portfelju. Sada ćemo pogledati na kupnju. Dakle, kupiti treba biti prilično Sličan prodati. Vidimo da smo opet idemo provjeriti da li smo Slanjem ove stranice. Pod pretpostavkom da nismo, mi smo će učitati obrazac kupiti. Dakle, što se oblik buy izgledati? Ovdje vidimo da je to samo redoviti obrazac koji će se dostaviti natrag na buy.PHP. I to će imati simbol koji korisnik unosi, broj dionice koje korisnik želi kupiti tog simbola, i to je to. Dakle, kada smo poslali natrag u buy.PHP smo Sada će se izvršiti ovaj kod. Mi opet želi potvrditi da korisnik unio nešto valjano. Dakle ovdje smo da se oni zapravo ušao simbol. Ovdje smo sigurni da su zapravo ušle dionice. I ovdje smo sigurni da su upisuje se cijeli broj za dionice, tako oni ne pokušavaju kupiti ABC dionica. Sada želimo pogledati cijenu Simbol tako da znamo koliko gotovini treba oduzeti od korisnika. Sada ćemo odabrati koliko novca korisnik zapravo ima i uvjerite se da da je uspio. Ovdje smo grabbing novca. A sada ovdje, mi smo pazeći da korisnik ima dovoljno gotovine. Dakle, ako broj dionica korisnik želi kupiti puta cijenu svakog tih udjela veći od iznos novca koji imamo, a zatim Korisnik ne može priuštiti. Pod pretpostavkom da korisnik ima dovoljno gotovine, Sada želimo umetnuti u Korisnički portfelja. Pa, mi ćemo umetnuti u user-a portfolio, ako se to dogodi da se prvi put korisnik kupnje da određeni simbol. No, što ako se već dogodilo imati neki Apple dionica? Pa, sada smo čineći korištenje na udvojen ključ za ažuriranje izjavu. Dakle, to je razlog zašto smo ranije navedeno da ID i simbol trebao biti zajednički Primarni ključ, tako da ako ćemo pokušati umetnuti ime i simbol koji su već postoji, samo ćemo ažurirati Dionice na nove dionice koje korisnik kupnje. Sada želimo obnoviti količinu gotovine da korisnik ima, jer su Upravo je proveo nešto novca na tim dionicama. I na kraju, mi ćemo ažurirati Tablica povijest opet. Koji, opet, mi ćemo tražiti na u sekundi. I na kraju ćemo preusmjeriti natrag na portfolio.PHP. Tako ćemo pogledati Tablica povijest. Sada se sjetiti da je stol povijest trebao pratiti sve kupuje i prodaje da bi svi korisnici, a ne samo Sadašnji broj dionica koje Korisnici imaju, a to je ono što Portfelj je za. Tako smo praćenje korisnika koji kupuje ili prodaje, bez obzira ovaj posao bio buy ili prodati, simbol koji se bude kupuje ili prodaje, broj dionica da smo kupnju ili prodaju, Cijena jedne dionice koji je se kupiti ili prodati, a na kraju, u vrijeme da je ova kupnja ili prodaja se događa. I to je sve od povijesti Informacije koje nam je potrebno pratiti. Dakle, kada smo gledali na prodaju, vidjeli smo da je bili smo umetanja u povijesti prodaju, kako bilo da smo kupnju ili prodaju, Trenutno vrijeme pečat i trenutni korisnik, simbol koji se bude prodao, broj dionica koje su koji se prodaje, a cijena dionica u ovom trenutku. Slično tome, u kupiti, to ću izgledaju gotovo isto. Jedina razlika je umjesto od prodaje, što kupujete. Tako je u prodaju i kupnju, mi smo umetanja u Tablica povijesti sve kupuje i prodaje koje se događaju. Dakle, sve history.PHP treba učiniti je zgrabite Informacije iz povijesti stol, uvjerite se da je uspio, i donijeti tu informaciju. Tako gledajući predlošku history.PHP, zanimljive informacije je upravo ovdje. Mi smo petlje nad sve transakcija, tisak je li to je kupiti ili prodati, formatiranje datuma vrijeme da smo napravili ovu transakciju. Zapamti moramo koristiti htmlspecialchars Na simbol, samo u slučaju. I na kraju, oblikovanje broj Dionice su kupili i cijena jednog udjela u to vrijeme. I koji prikazuje sve povijesti Informacije koje trebamo. I to je to za ovu pset. Moje ime je Rob, a to bio CS50 financija.