[MIZIK jwe] ROB BOWDEN: Hi. Mwen se Rob, e mwen espere ke w ap pare yo mete stock nan sa a solisyon an. Premyèman, kite a pran yon gade nan enskri. Se konsa, sonje ke isit la nou ap tcheke yo wè si yon fòm te afiche nan paj sa a. Se konsa, premye bagay nou pral dwe fè se ale nan lòt moun la. Apre sa, nou pral rann fòm lan enskri. Se konsa, fòm la enskri ki pral to post register.PHP. Apre sa, ki sa ki li ale nan voye la a? Li pral voye yon non itilizatè ki nan itilizatè ki pral ranpli, yon modpas, ak yon konfimasyon - modpas la tape ankò. Se konsa, koulye a, se ke fòm poste nan register.PHP nou pral egzekite sa a si. Gade nan sa a si, nou premye ale nan valide D 'a. Nou vle asire w ke non itilizatè a ak modpas yo pa t 'vid e ke konfimasyon a aktyèlman matche ak modpas la. Yon fwa nou te verifye ke nou kapab aktyèlman enskri itilizatè a. Kisa sa vle di? Oke, nou vle insert la itilizatè nan baz done nou an. Men ki jan nou pral fè sa. Se konsa, nou ap ale nan insert nan itilizatè yo tab non an itilizatè jaden, hash, ak lajan kach. Valè a default nan lajan kach a pwal 10,000. Apre sa, nou pral pase kòm non itilizatè, D ', nan POST super a mondyal ki nan soumèt soti nan fòm nan. Apre sa, nou pral ankripte modpas la. Se konsa, si ke nan plas, lè sa a rezilta yo pral ki pa bay manti. Si li echwe, Lè sa a, nou vle eskize. Yon bagay ale mal. Ak sa ki te kapab ale mal? Oke, gen bezwen yo dwe yon non itilizatè inik. Se konsa, rechèch la te kapab te echwe si non itilizatè a deja te egziste nan tablo a. Se konsa, an konsideran li te yon non itilizatè inik, Lè sa a, nou pral sijè rechèch gen tan pwan an ID nan ki itilizatè. Sonje ke ID a se oto-incrementing. Se konsa, si sa rive echwe pou kèk rezon ki fè, Lè sa a, nou vle eskize ke nou pa t 'kapab gen tan pwan ID a. Men, an konsideran ke li pa t 'echwe, Lè sa a, nou gen tan pwan ID a soti nan sa ki sijè rechèch la tounen, magazen ki nan sesyon nou yo - Se konsa, nou vle ale itilizatè sa a nan pa estoke ID a nan sesyon-an super mondyal, epi finalman redireksyon dosye nou yo. Epi sa a, li pou enskri. Koulye a, nou ap ale pou avanse pou sou quote. Se konsa, quote se ale nan gen yon seri reyèlman menm jan an yo. Nou wè isit la ke sa a se kòd la ki nou pral egzekite lè yon fòm se afiche nan paj sa a. Men, anvan nou gen aktyèlman rann fòm sa a. Se konsa, pran yon gade nan fòm quote, sa jaden ki genyen? Nou wè ke te gen tout quote se yon sèl bwat tèks ak senbòl la non. Se konsa, se lè fòm quote afiche quote.PHP nou ap kounye a ale nan egzekite Kòd sa a. Apre sa, varyab la sèlman nan POST nou an super mondyal a pwal senbòl. Nou valide ke yo asire w ke yo aktyèlman ki afiche senbòl la. Men, si yo pa t ', nou di ou dwe bay yon senbòl. Nou asime yo te fè bay yon senbòl, nou gade sa ki senbòl. Koulye a, sonje ke gade moute ka gen echwe depi, byen, petèt li pa t 'yon senbòl ki valid yo kòmanse avèk yo. Se konsa, si sa a gade retounen fo, nou vle regrete ke a senbòl pa te jwenn. Yon fwa nou te jwenn senbòl la, kounye a nou ka rann modèl la quote.PHP. Ki sa ki ki sanble? Se jis ale nan ekri ak lèt ​​detache ki yon pati nan nan tou sa non an aksyon te se yon valè tou sa pri a stock se. Koulye a, poutèt sa nou itilize sa a htmlspecialchars fonksyone? Se paske Non a stock ak senbòl ta ka aktyèlman gen ladan espesyal karaktè ki pa ta dwe kapab entèprete kòm HTML. Tout dwa, se konsa sa a, se li pou quote. Koulye a, nou vle gade nan index.php ak dosye. Men, anvan nou aktyèlman bezwen konstwi pòtfolyo tab la. Men ki jan nou pral fè sa. Se konsa, kite a pran yon gade nan estrikti an. Apre sa, nou wè ke pòtfolyo yo tab ki pral gen yon ID. Se konsa, ki k ap pase yo dwe nan nan itilizatè ID ki nan yo mete aksyon yo. Nou gen yon senbòl, ki se pral fè senbòl la nan konpayi an ke nou ap yo mete aksyon yo pou li a. Lè sa a, aksyon se nimewo a nan aksyon ki se ke yo te eleman. Se konsa, sonje ke pou chak espèk nan pset, nou presize ke ID ak senbòl - nou tcheke deyò endis, ID ak senbòl se kle nan prensipal. Se konsa, yon ID itilizatè yo ak appariement senbòl ta dwe sèlman parèt yon sèl tan nan tablo sa a. Koulye a, kite yo gade nan Kòd la. Se konsa, koulye index.php ki pral gen tan pwan tout nan enfòmasyon dosye nou yo ak montre li nan itilizatè a. Se konsa, an premye, nou pral gen tan pwan lajan kach la ki itilizatè a kounye a gen ki soti nan tab lajan kach. Sonje byen, rechèch se toujou ale retounen yon etalaj de ranje. Se konsa, menm si nou sèlman chwazi lajan kach soti nan yon sèl ranje, nou toujou bezwen gen tan pwan ke lajan kach pa Indexing nan la zeroth endèks nan ranje ak arachman a endèks lajan kach. Se konsa, koulye a nou vle chwazi tout la enfòmasyon ki nan tablo a pòtfolyo sa a, se ki gen rapò ak kounye a nan louvri sesyon an itilizatè. Nou nan kou bezwen valide ke ki aktyèlman nan plas, ki nou yo ta dwe toujou fè chak fwa nou sijè rechèch. Yon fwa nou jwenn tout enfòmasyon sa a, espèk nan pset enfòme nou ke nou ta dwe fè sa a yo nan lòd yo joliman magazen tout enfòmasyon ki nan ka sa pozisyon etalaj. Se konsa, nou ap loupin sou tout nan la enfòmasyon dosye pou yo, li leve je a stock ki asosye ak chak ranje nan la enfòmasyon dosye pou yo, ak Lè sa a, estoke nan etalaj la pozisyon non an, pri, aksyon ak senbòl tout ki asosye avèk ki machandiz. E finalman, nou pral rann portfolio.PHP, pase nan kantite lajan an nan lajan kach nou genyen kounye a, nan pozisyon etalaj ke nou jis konstwi, ak tit la nan sa a paj ki pral pòtfolyo. Se pou nou pran yon gade nan portfolio.PHP. Apre sa, nou wè ke pi gwo enteresan nan pati sa a bouk. Se konsa, nou ap loupin sou pozisyon yo etalaj, kreye yon tab, kote ki tab - nou ap pepleman chak ranje ak nan enfòmasyon ke nou mete anndan an pozisyon etalaj. Ankò, nou bezwen sèvi ak htmlspecialchars nan ka senbòl sa a oswa non an gen ladan karaktè HTML. Ak isit la nou ap miltipliye pri a ak kantite lajan an de aksyon ke nou gen yo nan lòd jwenn konbyen lajan sa a, se kounye a vo itilizatè a. Epi sa a, li pou pòtfolyo. Koulye a, nou pral pran yon gade nan vann. Se konsa, vann ki pral tounen nan la fòma ke nou te gen nan register.PHP. Nou wè ke yon fòm ki pral yo dwe poste nan paj sa a. Men, anvan, lè nou chaje paj la, nou pral fè sa. Se konsa, sa sa a se fè la a? Oke, nou te ka jis gen paj la vann gen yon bwat tèks sèl ki itilizatè a antre nan senbòl sa a ki nou vle vann. Men, nou ap ale nan gen yon ti jan pi plis entelijan e nou pral gen yon gout desann ki pèmèt itilizatè a chwazi senbòl aktyèl yo ke yo deja genyen. Se konsa, nou ap vin dosye itilizatè a la. Nou pral chwazi nan pòtfolyo tout nan senbòl yo ki itilizatè a kounye a gen, kounye a nan louvri sesyon an itilizatè. Asire w ke ke plas. Epi, koulye a nou pral bouk sou la tounen enfòmasyon, jis arachman chak senbòl, epi estoke li nan sa a senbòl etalaj. Epi, koulye a nou pral rann fòm nan vann. Se konsa, fòm nan vann ki pral jis gen yon meni gout desann, yon chwazi. Apre sa, chak opsyon nan fòm lan vann se ale nan jis enprime soti senbòl la ke nou te pwan nan la pòtfolyo tab. Se konsa, fòm nan vann se ale nan soumèt tounen nan sell.PHP. Gade nan sell.PHP, sa a se kòd la ki nan ale nan egzekite lè nou soumèt nan paj sa a. Nou vle valide ki itilizatè a aktyèlman te antre nan yon senbòl. Koulye a, an konsideran ke yo te fè - Se konsa, koulye a nou vle detèmine konbyen pataje itilizatè a se aktyèlman vann ak konbyen lajan kach itilizatè a ta dwe pran pou vann ke anpil aksyon. Se konsa, nou gen tan pwan nimewo a de aksyon ki itilizatè a gen pou senbòl sa a. Nou ap leve je nan pòtfolyo pou la bay itilizatè yo ak senbòl yo bay la. Koulye a, asire w ke ki aktyèlman tounen yon ranje. Paske si li pa t ', itilizatè a pa fè sa aktyèlman gen sa senbòl nan vann. Nou asime yo fè gen ke senbòl, nou vle gen tan pwan ki kantite aksyon sa yo genyen. Epi, koulye a nou vle gade ki jan lajan chak pataje vo. Se konsa, nou itilize gade fonksyon an. Nou ap leve je valè a nan senbòl la. Nou asime ke gade moute nan plas, kounye a nou pral aktyèlman mete tout enfòmasyon an. Se konsa, nou vle efase soti nan pòtfolyo aksyon yo ke nou ap vann. Nou vle mete nan nan itilizatè kantite lajan pou lajan kach. Apre sa, n ap à li pa aksyon fwa pri a stock - Se konsa, sa a, se konbyen lajan itilizatè a jis fè fè yo. Epi, koulye a nou vle mete istwa nou an. Se konsa, nou pa yo te pran yon gade bò tab la istwa ankò. Se konsa, nou pral tounen vin jwenn sa a. Koulye a, finalman nou ap ale nan redireksyon Retounen nan dosye a. Koulye a, kite a pran yon gade nan achte. Se konsa, achte yo ta dwe trè menm jan ak vann. Nou wè ke nou ap ankò ale pou verifye si nou ap soumèt nan paj sa a. Nou asime ke nou ap pa, nou ale nan chaj fòm nan achte. Se konsa, sa fòm nan achte sanble? Nou wè isit la li nan jis yon regilye fòme ki nan ale nan soumèt tounen nan buy.PHP. Apre sa, li la pral gen yon senbòl ki itilizatè a ap rantre nan, ki kantite aksyon ki itilizatè a vle achte nan ki senbòl, e ke sa a li. Se konsa, lè nou soumèt tounen nan buy.PHP, nou kounye a ale nan egzekite Kòd sa a. Nou ankò vle valide ki la itilizatè te antre nan yon bagay ki valid. Se konsa, isit la nou ap fè w ke yo aktyèlman te antre nan yon senbòl. Isit la nou ap fè asire yo ke yo aktyèlman te antre nan aksyon. Apre sa, isit la nou ap fè asire yo ke yo antre nan yon nonb antye relatif pou aksyon, Se konsa, yo pa ap eseye achte ABC aksyon. Koulye a, nou vle gade moute pri a nan la senbòl pou nou konnen kouman nou lajan kach ta dwe fè soustraksyon soti nan itilizatè a. Koulye a, nou pral chwazi ki kantite lajan kach itilizatè a aktyèlman gen ak asire w ke ki plas. Isit la nou ap arachman lajan kach la. Epi, koulye a isit la, nou ap asire ki itilizatè a gen ase lajan kach. Se konsa, si nimewo a de aksyon itilizatè a vle achte fwa pri a nan chak de aksyon sa yo gen plis pouvwa pase a kantite lajan nan lajan kach ke nou genyen, Lè sa a, nan itilizatè pa ka peye sa. Nou asime ke itilizatè a gen ase lajan kach, kounye a nou vle insert nan la dosye itilizatè a. Oke, nou pral insert nan la nan itilizatè dosye si sa a k ap pase yo nan premye fwa itilizatè a ap achte ki senbòl an patikilye. Men, sa ki si yo deja rive gen kèk stock Apple? Oke, kounye a nou ap fè pou sèvi ak sou la kopi kle deklarasyon aktyalizasyon. Se konsa, sa a se poukisa pi bonè nou espesifye ki ID ak senbòl ta dwe gen yon jwenti kle prensipal, se konsa ke si nou eseye insert yon ID ak senbòl ki deja gen, nou pral jis mete nan aksyon genyen ladan yo aksyon yo nouvo ki itilizatè a ap achte. Koulye a, nou vle mete kantite lajan an nan lajan kach ki itilizatè a gen, depi yo jis te pase kèk lajan sou aksyon sa yo. E finalman, nou pral mete tab la istwa ankò. Ki, ankò, nou pral gade nan nan yon dezyèm fwa. Epi finalman nou pral redireksyon Retounen nan portfolio.PHP. Se konsa, kite a pran yon gade nan tab la listwa. Koulye a, sonje ke tab la istwa a se sipoze kenbe tras nan tout achte ak vann pou tout itilizatè fè, pa sèlman nan nimewo aktyèl la nan aksyon ki nan itilizatè yo gen, ki se sa ki dosye a se pou. Se konsa, nou ap kenbe tras nan itilizatè a ki ap achte oswa ou vann, si wi ou non tranzaksyon sa a an patikilye se te yon achte oswa yon vann, senbòl la ki nan yo te te achte oswa vann, nimewo a de aksyon ke nou ap achte oswa ou vann, nan pri nan yon pati nan yon sèl ki nan ke yo te te achte oswa vann, epi finalman, lè a ki achte sa a oswa vann ap fèt. Epi sa a, tout nan istwa a enfòmasyon ke nou bezwen nan kenbe tras nan. Se konsa, lè nou gade vann, nou te wè ke nou tout nou te yo mete nan listwa vann, kòm si nou ap achte oswa vann, koupon pou achte nan tan kounye a, ak nan itilizatè aktyèl la, senbòl la ki nan yo te vann, nimewo a de aksyon ke yo yo te vann, ak pri a nan stock la nan moman sa a. Menm jan an tou, nan achte, li pral gade prèske menm bagay la. Sèl diferans ki genyen olye pou nan vann, nou ap achte. Se konsa, nan vann yo epi achte, nou yo mete nan tab la istwa nan tout la achte epi li vann k ap pase. Se konsa, tout history.PHP bezwen fè se gen tan pwan enfòmasyon ki soti nan istwa a tab, asire w ke li nan plas, ak rann enfòmasyon sa a. Se konsa, gade nan modèl la history.PHP, enfòmasyon ki enteresan se dwa isit la. Nou ap loupin sou tout nan la tranzaksyon, enprime si wi ou non sa a se te yon achte oswa vann, fòma dat tan ke nou te fè tranzaksyon sa a. Sonje nou bezwen sèvi ak htmlspecialchars sou la senbòl, jis nan ka. E finalman, fòma ki kantite aksyon ki te achte ak pri a nan yon sèl pati nan moman sa. Apre sa, ki montre tout nan istwa a enfòmasyon ke nou bezwen. Epi sa a, li pou pset sa a. Non mwen se Rob, ak sa a te CS50 Finans.