[Музыка гуляе] ROB BOWDEN: Прывітанне. Я Роб, і я спадзяюся, што вы будзеце гатовыя паставіць акцыі ў гэтым растворы. Па-першае, давайце зірнем на рэестр. Таму памятайце, што тут мы правяраем каб убачыць, калі форма была размешчаны на гэтай старонцы. Так першае, што мы збіраемся зрабіць, гэта пайсці ў іншым месцы. І мы збіраемся аказваць рэгістр форма. Такім чынам, форма рэестр збіраецца апублікаваць у register.php. І тое, што ён збіраецца адправіць? Гэта збіраецца адправіць лагін, што карыстач збіраецца запоўніць, пароль, і пацвярджэнне - пароль зноў набралі. Так што цяпер, калі гэтая форма размешчаны на register.php мы выканаць гэта, калі. Гледзячы на ​​гэта, калі, мы ў першую чаргу збіраецца праверкі ўводу. Мы хочам, каб пераканацца, што імя карыстальніка і пароль не былі пустымі, і што пацверджанне на самай справе адпавядае паролю. Як толькі мы пераканаліся, што мы можам фактычна рэгістрацыі карыстальніка. Што гэта значыць? Ну, мы хочам, каб ўставіць Карыстальнік ў нашу базу дадзеных. І гэта, як мы зробім гэта. Так што мы збіраемся ўставіць у карыстальнікаў Табліца поля імя карыстальніка, хэш, і наяўныя грошы. Значэнне па змаўчанні наяўнымі будзе 10000. І мы збіраемся прайсці як імя карыстальніка, імя карыстальніка, праз POST супер глабальны, які прадставіў з формы. І мы збіраемся для шыфравання пароль. Так што калі што ўдалося, то вынікі будзе не хлусня. Калі гэта не атрымалася, то мы хачу папрасіць прабачэння. Нешта пайшло не так. А што можа пайсці не так? Ну, там павінна быць унікальнае імя карыстальніка. І таму запыт мог не калі імя карыстальніка ўжо існаваў ў табліцы. Так мяркуючы, што гэта быў унікальны імя карыстальніка, Затым мы збіраемся запытаць, каб захапіць Ідэнтыфікатар гэтага карыстальніка. Памятаеце, што ідэнтыфікатар аўтаматычнае прырашчэнне. І так, калі гэта адбудзецца на правал для некаторых Прычына, то мы хочам, каб папрасіць прабачэння што мы не маглі захапіць ID. Але калі выказаць здагадку, што ён не прамінуў, то мы захапіць ID ад таго, што запыт вярнуўся, захоўваць, што ў нашай сесіі - таму мы хочам увайсьці дадзенага ўдзельніка ў па захоўвання ID у сесіі супер глабальным, і, нарэшце, перанакіраваць да нашага партфеля. І гэта ўсё для рэгістра. Цяпер мы збіраемся перайсці на цытаты. Так цытата будзе мець сапраўды падобныя набор. Мы бачым тут, што гэта код, які мы збіраемся выканаць калі форма размешчаны на гэтай старонцы. Але спачатку мы на самай справе ёсць аказваць гэтую форму. Так зірнуць на цытатай форме, якія палі ёсць? Мы бачым, што ўсе цытата з'яўляецца адным тэкставае поле з сімвалам імя. І таму, калі форма цытата размешчана каб quote.PHP мы цяпер збіраемся выканаць гэты код. І адзіная пераменная у нашай POST супер Глабальная будзе знак. Мы пацверджання таго, што, каб пераканацца, што яны на самой справе адправіў знак. І калі яны гэтага не зрабілі, мы кажам, вы павінны даць знак. Мяркуючы, што яны сапраўды давалі сімвал, мы глядзім гэты знак. Цяпер успомніце, што погляд уверх, магчыма, прыйдзецца не ўдалося, бо, ну, можа быць, гэта не было сапраўдным сімвалам з самага пачатку. Так што, калі гэты погляд да вяртання ілжывае, мы хочам, каб папрасіць прабачэння, што знак не быў знойдзены. Пасля таго, як мы знайшлі сімвал, зараз мы можа аказаць шаблон quote.PHP. На што гэта падобна? Вось толькі ў друк, што доля за ўсё, што назва акцыі было Варта ўсё цана акцыі. Цяпер, чаму мы выкарыстоўваем гэты HTMLSpecialChars функцыянаваць? Гэта таму, што назва акцыі і сімвал можа на самай справе ўтрымліваюць спецыяльныя знакі, якія не павінны інтэрпрэтаваць як HTML. Добра, так што гэта для цытаты. Цяпер мы хочам, каб паглядзець на index.php і партфель. Але спачатку нам трэба пабудаваць табліца партфелі. Вось як мы збіраемся гэта зрабіць. Так што давайце зірнем на структуру. І мы бачым, што партфелі табліца будзе мець ідэнтыфікатар. Так што гэта будзе карыстальніка ID, які ўстаўкі акцыі. У нас ёсць сімвал, які збіраецца быць сімвалам кампаніі, што мы знаходзімся уставіўшы акцыі на. А потым акцыі гэты лік акцыі, якія ў цяперашні час ўстаноўлена. Таму памятайце, што ў адпаведнасці з PSet спецыфікацыі, мы паказваем, што ID і сімвал - мы праверыць індэксы, ID і Сімвал з'яўляецца першасным ключом. Так ідэнтыфікатар карыстальніка і сімвал спарванне з'яўляецца толькі адзін Час у гэтай табліцы. Зараз давайце паглядзім на код. Так што цяпер index.php збіраецца захапіць усе нашай інфармацыі партфеля і паказаць яго карыстальніку. Такім чынам, спачатку мы збіраемся захапіць грошы што карыстач у цяперашні час мае ад грашовых табліцы. Памятаеце, што запыт заўсёды будзе вярнуцца масіў масіваў. Так што, хоць мы толькі выбралі грошы ад аднаго радка, мы ўсё яшчэ павінны захапіць гэтыя грошы шляхам індэксацыі ў нулявы індэкс радкоў і захопу Індэкс наяўнымі. Так што цяпер мы хочам выбраць усе інфармацыя з табліцы партфеляў вось стаўленне да сябе які ўвайшоў у сістэму карыстальніка. Мы, вядома, трэба праверыць, што што на самай справе атрымалася, якую мы заўсёды павінны рабіць, калі мы запытваем. Як толькі ў нас ёсць усё, што інфармацыя, PSET спецыфікацыі паведамляе нам, што мы павінны зрабіць гэта для таго, каб прыемна захоўваць уся інфармацыя ў гэтым пазіцыі масіва. Так мы прабягаем па ўсіх Інфармацыя партфель, гледзячы акцыі, звязаныя з кожнага радка ў Інфармацыя партфель, а затым захоўвання ў масіве становішча імя, цана, акцыі і сімвал ўсіх звязаныя з гэтай акцыі. І, нарэшце, мы збіраемся зрабіць portfolio.PHP, праходзячы ў памеры наяўных грошай у сапраўдны момант, пазіцыі масіў, які мы толькі што пабудаваныя, і назва гэта старонка, якая будзе партфель. Давайце зірнем на portfolio.PHP. І мы бачым, што асноўная цікава частка гэтага цыклу. Так мы прабягаем па палажэннях Масіў, ствараючы стол, дзе гэтая табліца - мы запаўненне кожнага радка з Інфармацыя, якую мы пакласці ўнутр пазіцыі масіва. Зноў жа, мы павінны выкарыстоўваць HTMLSpecialChars у выпадку гэты сімвал або назва ўтрымліваюць HTML сімвалы. І вось мы множання цэны і колькасць акцый, якія ў нас ёсць для таго, каб атрымаць, колькі гэта У цяперашні час стаіць карыстальніку. І гэта ўсё для партфеля. Цяпер мы зірнем на продаж. Так прадаюць збіраецца вярнуцца да фармат, які мы мелі ў register.php. Мы бачым, што форма будзе , Якія будуць размешчаны на гэтай старонцы. Але спачатку, калі мы загрузіць старонку, мы збіраемся зрабіць гэта. Дык што ж гэта робіш? Ну, мы маглі б проста мець старонку распродажы ёсць адно тэкставае поле, што карыстальніка ўваходзіць у гэты сімвал, які мы хочам прадаць. Але мы збіраемся быць трохі разумнейшыя і мы збіраемся мець падзенне ўніз, што дазваляе карыстачу абраць фактычныя сімвалы, якія яны ўжо маюць. Так мы атрымліваем партфель карыстальніка. Мы збіраемся, каб выбраць з партфеляў ўсе знакі, якія карыстальнік у цяперашні час мае, у цяперашні час які ўвайшоў у сістэму карыстальніка. Пераканайцеся ў тым, што гэта атрымалася. І зараз мы збіраемся цыкла па вярнуўся інфармацыю, проста захоп кожны знак, і захоўваць яе у гэтым знакаў масіва. І зараз мы збіраемся вывесці яе на продаж. Такім чынам, форма прадаваць збіраецца проста быць выпадальнае меню, абярыце. І кожны варыянт у выглядзе распродажы з'яўляецца збіраецца проста раздрукаваць сімвал што мы захапілі з партфелі табліцы. Такім чынам, форма прадаваць збіраецца прадставіць да sell.PHP. Гледзячы на ​​sell.PHP, гэта код што збіраецца выканаць, калі мы ўяўляем на гэтую старонку. Мы хочам, каб пацвердзіць, што карыстач фактычна ўступіла ў знак. Цяпер пры ўмове, што яны зрабілі - так што зараз мы хочам вызначыць, колькі падзяляе карыстальнік на самай справе продажу і колькі грошай спажывец павінен атрымаць для продажу, што многія акцыі. Такім чынам, мы захапіць колькасць акцый, якое карыстальнік мае для гэтага знака. Мы шукаем у партфелях для улічваючы карыстальніка і дадзены знак. Цяпер пераканайцеся, што, што на самой справе вярнуўся радок. Таму што, калі гэтага не адбылося, карыстальнік не на самай справе ёсць гэты знак, каб прадаць. Мяркуючы, у іх сапраўды ёсць гэты знак, мы хочам, каб захапіць колькасць акцыі, якія яны маюць. А зараз мы хочам паглядзець, як значна кожная акцыя варта. Такім чынам, мы выкарыстоўвалі функцыю прагляду. Мы шукаем да значэння знака. Калі выказаць здагадку, што погляд, атрымаў поспех, цяпер мы збіраемся фактычна абнавіць усе інфармацыя. Таму мы хочам, каб выдаліць з партфеляў акцыі, якія мы прадаем. Мы хочам, каб абнавіць карыстальніка сума грашовых сродкаў. І мы абнаўляем яго акцый раз кошт акцый - так вось, колькі грошай карыстальнік толькі што зрабіў. А зараз мы хочам, каб абнавіць нашу гісторыю. Такім чынам, мы не разгледзелі у табліцы гісторыі яшчэ. Такім чынам, мы яшчэ вернемся да гэтага. Цяпер, нарэшце, мы збіраемся, каб перанакіраваць назад да партфоліо. Зараз давайце зірнем на пакупкі. Такім чынам, купіць павінна быць даволі падобна, каб прадаць. Мы бачым, што мы зноў будзем , Каб праверыць, калі мы прадстаўлення на гэтую старонку. Калі выказаць здагадку, што мы не, мы збіраецца загрузіць на куплю форму. Такім чынам, што ж купіць форма выглядае? Мы бачым тут, што гэта проста звычайны ўтвараюць што збіраецца прадставіць да Энцыклапедыя праграм. І гэта будзе мець сімвал, які карыстач уводзіць лік акцыі, якія карыстальнік хоча купіць з гэтага сімвала, і гэтым усё сказана. Таму, калі мы прадставіць да Энцыклапедыя праграм, мы цяпер збіраецца выканаць гэты код. Мы зноў хочам пацвердзіць, што карыстач увёў нешта сапраўднае. Дык вось мы пераканаўшыся, што яны фактычна ўступіла ў знак. Тут мы пераканаўшыся, што яны фактычна уведзеныя акцыі. І вось мы, пераканаўшыся, што яны увайшоў цэлае для акцый, так яны не спрабуюць купляць акцыі ABC. Цяпер мы хочам паглядзець на кошт сімвал, таму мы ведаем, як шмат Наяўныя грошы павінны адняць ад карыстальніка. Цяпер мы абярэм, колькі грошай карыстальнік на самай справе мае і пераканайцеся, што што гэта атрымалася. Тут мы хапаючы грошы. І вось зараз, мы робім, што што карыстальнік мае дастаткова грошай. Такім чынам, калі колькасць акцый карыстальнік хоча купіць раз цану кожнага гэтых акцый больш, чым сума грашовых сродкаў, якія ў нас ёсць, то Карыстальнік не можа сабе гэтага дазволіць. Мяркуючы, што карыстальнік мае дастаткова грошай, зараз мы хочам, каб ўставіць у Партфель карыстальніка. Ну, мы уставім у карыстальніка партфель, калі гэта здараецца, Першы раз, калі карыстальнік купляе што канкрэтны сімвал. Але што, калі яны ўжо адбылося мець некаторы Яблык акцыі? Што ж, цяпер мы робім выкарыстання на дублікат ключа інструкцыю абнаўлення. Дык вось чаму раней мы паказалі, што ID і сімвал павінен быць сумесным першасны ключ, так што, калі мы паспрабуем ўставіць ID і сімвал, якія з'яўляюцца ўжо ёсць, мы проста абнавіць акцыі ўключыць новыя акцыі, што карыстальнік купляе. Цяпер мы хочам, каб абнавіць колькасць грашовых сродкаў, якія карыстальнік мае, так як яны толькі што правёў трохі грошай на гэтыя акцыі. І, нарэшце, мы будзем абнаўляць табліца гісторыі зноў. Што, зноў жа, мы будзем глядзець ў ў секунду. І, нарэшце, мы будзем перанакіраваць вярнуцца да portfolio.PHP. Так што давайце зірнем на гісторыя табліцы. Цяпер успомніце, што табліца гісторыя мяркуецца адсочваць усе купляе і прадае, што ўсе карыстальнікі робяць, а не толькі бягучае колькасць акцый, што карыстальнікі маюць, што і партфель для. Такім чынам, мы адсочвання карыстальніка, купляе або прадае, будзь гэта канкрэтная здзелка была купля або прадаваць, сімвал, які будучы купіць або прадаць, колькасць акцый што мы купляць або прадаваць, цана на адзіную акцыю, што істоты купіць або прадаць, і нарэшце, той час што гэта купля ці продаж адбываецца. І гэта ўсё гісторыі Інфармацыя, якую мы павінны адсочваць. Таму, калі мы глядзелі на продажы, мы ўбачылі, што мы былі ўстаўкі ў гісторыі продажу, як мы купляць або прадаваць, бягучы час штамп, і бягучы карыстальнік, сімвал, які будучы прадаецца, колькасць акцый, якія прадаецца, і кошт фондавы ў гэты час. Сапраўды гэтак жа ў куплю, яно будзе выглядаюць амаль аднолькава. Розніца толькі ў тым, а ня збыту, мы купляем. Такім чынам, у продаж і куплю, мы ўстаўкі ў табліца гісторыі ўсё купляе і прадае, якія адбываюцца. Так што ўсё history.PHP трэба зрабіць, гэта схапіць інфармацыя з гісторыі стол, пераканайцеся, што ён атрымаў поспех, і зрабіць гэтую інфармацыю. Так, гледзячы на ​​шаблоне history.PHP, цікавая інфармацыя прама тут. Мы цыклу па ўсіх здзелкі, друк ці гэта быў купіць або прадаць, фарматаванне даты і часу што мы зрабілі гэтую здзелку. Памятаеце, што мы павінны выкарыстоўваць HTMLSpecialChars на сімвал, на ўсялякі выпадак. І, нарэшце, фарматаванне колькасць акцыі, якія былі набытыя і кошт адной акцыі ў той час. І, што адлюстроўвае ўсю гісторыю Інфармацыя, якую мы павінны. І гэта ўсё для гэтага PSet. Мяне клічуць Боб, і гэта быў CS50 Фінансы.