[Music kucheza] Rob BOWDEN: Hi. Mimi nina Rob, na natumaini uko tayari kuweka hisa katika ufumbuzi huu. Kwanza, hebu tuangalie kujiandikisha. Ili kukumbuka kwamba hapa sisi ni kuangalia kuona kama fomu ilikuwa posted ukurasa huu. Kitu hivyo kwanza tunakwenda kufanya ni kwenda kwa mwingine. Na tunakwenda kutoa kujiandikisha aina. Hivyo fomu ya kujiandikisha ni kwenda baada ya kwa register.PHP. Na nini ni kwenda kutuma? Ni kwenda kutuma jina la mtumiaji kwamba user ni kwenda kujaza, password, na uthibitisho - password typed tena. Hivyo sasa wakati fomu kuwa ni posted register.PHP tutaweza kutekeleza hii kama. Kuangalia hii kama, sisi ni kwanza kwenda kuhalalisha pembejeo. Tunataka kuhakikisha kwamba jina la mtumiaji na password na si tupu na kwamba uthibitisho kweli mechi password. Mara baada ya tumekuwa kuthibitishwa kwamba tunaweza kweli kusajili user. Hiyo ina maana gani? Naam, tunataka kuingiza user katika database yetu. Na hii ni jinsi gani tutaweza kufanya hivyo. Hivyo sisi ni kwenda kuingiza ndani ya watumiaji meza mashamba jina la mtumiaji, hash, na fedha taslimu. thamani default ya fedha ni kwenda kuwa 10,000. Na tunakwenda kupita kama jina la mtumiaji, jina la mtumiaji, kwa njia ya POST super kimataifa ambayo ni in kutoka aina. Na tunakwenda fumbo password. Hivyo kama kwamba wamefanikiwa, kisha matokeo itakuwa mashirika yasiyo ya uongo. Kama wameshindwa, kisha sisi wanataka kuomba msamaha. Kitu potoka. Na nini inaweza kuwa wamekwenda vibaya? Naam, kuna haja ya kuwa jina la mtumiaji kipekee. Na hivyo swala inaweza wameshindwa kama jina la mtumiaji tayari kuwepo katika meza. Hivyo kuchukua ilikuwa jina la mtumiaji kipekee, kisha tunakwenda swala kunyakua ID ya mtumiaji. Kumbuka kwamba ID ni auto-incrementing. Na hivyo kama kwamba hutokea kwa kushindwa kwa baadhi sababu, basi tunataka kuomba msamaha kwamba tunaweza kunyakua ID. Lakini kuchukua kwamba hakuwa na kushindwa, kisha sisi kunyakua ID kutokana na kile swala walirudi, kuhifadhi kwamba katika kikao cha wetu - hivyo tunataka kuingia user hii katika na kuhifadhi ID katika kikao cha super kimataifa, na hatimaye kuelekeza kwa kwingineko yetu. Na kwamba ni kwa rejista. Sasa tunakwenda kuendelea na kunukuu. Hivyo quote ni kwenda na kweli kuweka sawa up. Tunaona hapa kwamba hii ni kificho kwamba tunakwenda kutekeleza wakati fomu ni posted ukurasa huu. Lakini kwanza sisi kweli kuwa kutoa fomu hiyo. Hivyo kuchukua kuangalia quote fomu, nini mashamba ni huko? Sisi kuona kwamba wote quote ina ni moja ya Nakala sanduku na jina ishara. Na hivyo wakati quote fomu ni posted kwa quote.PHP sasa tuko kwenda kutekeleza kanuni hii. Na kutofautiana tu katika POST yetu super kimataifa ni kwenda kuwa ishara. Sisi kuthibitisha kwamba ili kuhakikisha kuwa kweli zilizowekwa alama. Na kama hakufanya hivyo, sisi kusema lazima kutoa mfano. Kutokana walivyofanya kutoa ishara, sisi kuangalia juu ishara kwamba. Sasa kumbuka kwamba kuangalia up anaweza kuwa na alishindwa tangu, vizuri, labda haikuwa alama halali kwa kuanzia. Hivyo kama hii kuangalia up kurudi uongo, tunataka radhi kwamba ishara haikupatikana. Mara baada ya tumekuwa kupatikana ishara, sasa sisi unaweza kutoa template quote.PHP. Je, hiyo kuangalia kama? Hiyo ni kwenda magazeti kwamba sehemu wa chochote hifadhi ya jina lake ni thamani ya chochote bei ya hisa ni. Sasa kwa nini sisi kutumia htmlspecialchars hii kazi? Hii ni kwa sababu hisa jina na alama ili kweli yana maalum wahusika kwamba lazima si kutafsiriwa kama HTML. Haki ya wote, hivyo hiyo ni kwa kunukuu. Sasa tunataka kuangalia index.php na kwingineko. Lakini kwanza sisi kweli haja ya kujenga portfolios meza. Hapa ni jinsi gani tunakwenda kufanya hivyo. Hivyo basi tuangalie muundo. Na sisi kuona kwamba portfolios meza ni kwenda na ID. Ili kwenda kuwa mtumiaji ID hiyo kuingiza hisa. Tuna ishara, ambayo ni kwenda kuwa ishara ya kampuni hiyo tuko kuingiza hisa kwa. Na kisha hisa ni idadi ya hisa kuwa ni kuwa kuingizwa. Ili kukumbuka kwamba kwa pset spec, sisi bayana kwamba ID na alama - sisi kuangalia nje bahati, ID na ni ishara muhimu ya msingi. Hivyo user ID na ishara pairing lazima tu kuonekana moja wakati katika meza hii. Sasa hebu tuangalie code. Hivyo sasa index.php ni kwenda kunyakua wote wa kwingineko habari wetu na kuonyesha ni kwa mtumiaji. Hivyo kwanza, tunakwenda kunyakua fedha kwamba mtumiaji sasa ina kutoka fedha meza. Kumbuka, kwamba swala ni daima kwenda kurudi safu ya arrays. Hivyo hata kama sisi tu kuchaguliwa fedha kutoka safu moja, sisi bado wanahitaji kunyakua kwamba fedha kwa Indexing katika 0 index ya mistari na grabbing fedha index. Hivyo sasa tunataka kuchagua yote ya habari kutoka portfolios meza kwamba husika kwa sasa watumiaji katika user. Sisi bila shaka haja ya kuthibitisha kwamba kwamba kweli wamefanikiwa, ambayo sisi lazima kufanya wakati sisi swala. Mara baada ya sisi na wote wa habari kwamba, pset spec anatujulisha kwamba sisi lazima kufanya hivyo ili nicely kuhifadhi wote wa habari katika hii nafasi safu. Hivyo sisi ni wanaoendesha juu ya yote ya kwingineko habari, kuangalia juu ya hisa ya kuhusishwa na kila mstari katika kwingineko habari, na kisha kuhifadhi katika nafasi ya safu jina, bei, hisa na ishara wote kuhusishwa na kwamba hisa. Na hatimaye, tunakwenda kutoa portfolio.PHP, kupita katika kiasi cha fedha sisi sasa kuwa, nafasi safu kwamba sisi tu ujenzi, na jina la hii ukurasa ambayo itakuwa kwingineko. Hebu tuangalie portfolio.PHP. Na tunaona kwamba kuvutia kuu sehemu ni kitanzi hii. Hivyo sisi ni wanaoendesha juu ya nafasi safu, na kujenga meza, ambapo meza - sisi ni populating kila mstari kwa habari kwamba sisi kuweka ndani ya nafasi safu. Tena, sisi haja ya kutumia htmlspecialchars katika kesi alama hii au jina herufi za HTML. Na hapa sisi ni kuzidisha bei na kiasi cha hisa kwamba tuna ili kupata kiasi gani kwamba sasa thamani ya mtumiaji. Na kwamba ni kwa kwingineko. Sasa tutaweza kuangalia kuuza. Hivyo kuuza ni kwenda nyuma kwa format kwamba tulikuwa katika register.PHP. Tunaona kwamba fomu ni kwenda kwa kuwa posted na ukurasa huu. Lakini kwanza, wakati sisi mzigo ukurasa, tunakwenda kufanya hivyo. Hivyo ni nini hii kufanya? Naam, tunaweza tu na kuuza ukurasa kuwa moja Nakala sanduku kwamba mtumiaji inaingia alama hii kwamba tunataka kuuza. Lakini tunakwenda kuwa kidogo zaidi wajanja na tunakwenda na kushuka chini ya kwamba inaruhusu user kuchagua alama halisi kwamba wao tayari. Hivyo sisi ni kupata mtumiaji kwingineko. Tunakwenda kuchagua kutoka portfolios wote wa ishara kwamba mtumiaji sasa ina, sasa watumiaji katika user. Kuhakikisha kwamba wamefanikiwa. Na sasa tunakwenda kitanzi juu ya akarudi habari, grabbing tu kila ishara, na hifadhi hiyo katika hii safu alama. Na sasa tunakwenda kutoa kuuza aina. Hivyo kuuza fomu ni kwenda tu kuwa orodha ya kushuka chini, chagua. Na kila chaguo katika kuuza fomu ni kwenda tu magazeti nje alama kwamba sisi grabbed kutoka portfolios meza. Hivyo kuuza fomu ni kwenda kuwasilisha nyuma sell.PHP. Kuangalia sell.PHP, hii ni kanuni ambayo inaenda kutekeleza wakati sisi kuwasilisha kwa ukurasa huu. Tunataka kuthibitisha kwamba mtumiaji kweli aliingia mfano. Sasa kuchukua kwamba walifanya - hivyo sasa tunataka kujua wangapi hisa user ni kweli kuuza na kiasi gani cha pesa user lazima kupata kwa ajili ya kuuza hisa ambazo nyingi. Hivyo sisi kunyakua idadi ya hisa kwamba user ana kwa ishara hii. Sisi ni kuangalia up katika portfolios kwa kupewa user na ishara huo. Sasa kuhakikisha kwamba kweli akarudi mfululizo. Kwa sababu kama haikuwa hivyo, user haina kweli na kwamba alama ya kuuza. Kutokana wao kufanya kuwa ishara kwamba, tunataka kunyakua idadi ya hisa ya kuwa wana. Na sasa tunataka kuangalia juu ya jinsi kiasi gani kila sehemu ni ya thamani. Hivyo tulikuwa kuangalia juu kazi. Sisi ni kuangalia up thamani ya alama. Kutokana kuangalia kwamba up ilifanikiwa, sasa tunakwenda kwa kweli update wote habari. Hivyo tunataka kufuta kutoka portfolios hisa kwamba sisi ni kuuza. Tunataka update mtumiaji kiasi cha fedha. Na sisi ni kuhuisha ni kwa hisa mara bei ya hisa - hivyo kwamba ni kiasi gani cha fedha user tu alifanya. Na sasa tunataka update historia yetu. Hivyo tuna si kuchukuliwa kuangalia katika meza ya historia bado. Hivyo tutaweza kurudi kwa hili. Sasa hatimaye tunakwenda kuelekeza nyuma na kwingineko. Sasa hebu tuangalie kununua. Kwa hiyo, kununua lazima pretty sawa na kuuza. Tunaona kwamba sisi ni tena kwenda kuangalia ili kuona kama sisi ni kuwasilisha kwa ukurasa huu. Kutokana kwamba sisi siyo, sisi ni kwenda mzigo aina ya kununua. Basi ni nini fomu kununua kuangalia kama? Tunaona hapa ni kawaida tu kuunda kwamba kwenda kuwasilisha nyuma buy.PHP. Na itakuja kuwa na ishara kwamba user ni kuingia, idadi ya hisa kwamba mtumiaji anataka kununua ya ishara kwamba, na hiyo ni yake. Hivyo wakati sisi kuwasilisha nyuma buy.PHP, sisi ni sasa kwenda kutekeleza kanuni hii. Sisi tena wanataka kuhalalisha kwamba user aliingia kitu halali. Hivyo hapa sisi ni kuhakikisha kuwa kweli aliingia mfano. Hapa sisi ni kuhakikisha kuwa hisa kweli aliingia. Na hapa sisi ni kuhakikisha kuwa aliingia integer kwa hisa, hivyo siyo kujaribu kununua ABC hisa. Sasa tunataka kuangalia juu ya bei ya ishara hivyo tunajua kiasi gani cha pesa sisi lazima Ondoa kutoka kwa mtumiaji. Sasa tutaweza kuchagua kiasi gani cha pesa user kweli ina na kuhakikisha kwamba kwamba wamefanikiwa. Hapa sisi ni grabbing fedha. Na sasa hapa, sisi ni kuhakikisha kwamba mtumiaji ina fedha za kutosha. Hivyo kama idadi ya hisa user anataka kununua mara bei ya kila ya hisa hizo ni zaidi ya kiasi cha fedha ambazo sisi kuwa, basi user hawezi kumudu. Kutokana kwamba mtumiaji ina fedha za kutosha, sasa tunataka kuingiza ndani ya mtumiaji kwingineko. Vizuri, tutaweza kuingiza ndani ya mtumiaji kwingineko kama hii hutokea kwa kuwa mara ya kwanza user ni kununua ishara kwamba fulani. Lakini nini kama tayari kutokea kuwa na baadhi ya Apple hisa? Naam, sasa sisi ni kufanya matumizi ya juu ya kurudia muhimu update taarifa. Hivyo hii ni kwa nini mapema sisi maalum kwamba ID na ishara lazima pamoja muhimu ya msingi, ili kama sisi kujaribu kuingiza ID na ishara kwamba ni tayari kuna, tutaweza tu update hisa ni pamoja na hisa mpya ambayo user ni kununua. Sasa tunataka update ya kiasi cha fedha kwamba mtumiaji ina, kwa vile wao tu alitumia baadhi ya fedha juu ya hisa hizo. Na hatimaye, tutaweza kuboresha meza historia tena. Ambayo, tena, tutaangalia katika mwaka wa pili. Na hatimaye tutaweza kuelekeza nyuma kwa portfolio.PHP. Hivyo basi tuangalie historia meza. Sasa kumbuka kwamba meza historia ni zinatakiwa kuweka wimbo wa hununua wote na anauza kwamba watumiaji wote kufanya, si tu sasa idadi ya hisa kwamba watumiaji, ambao ni nini kwingineko ni kwa. Hivyo sisi ni kuweka wimbo ya mtumiaji ni kununua au kuuza, kama shughuli hii hasa ilikuwa kununua au kuuza, ishara kwamba ni kuwa kununuliwa au kuuzwa, idadi ya hisa kwamba sisi ni kununua au kuuza, bei ya hisa ya moja ambayo ni kuwa kununuliwa au kuuzwa, na hatimaye, wakati kwamba kununua hii au kuuza linajitokeza. Na kwamba wote wa historia ya habari kwamba sisi haja kwa kuweka wimbo wa. Hivyo wakati sisi inaonekana katika kuuza, tumeona kwamba tulikuwa kuingiza katika historia kuuza, kama kama sisi ni kununua au kuuza, sasa wakati muhuri, na sasa user, ishara kwamba ni kuwa kuuzwa, idadi ya hisa ambazo ni zinauzwa, na bei ya hisa katika wakati huu. Vile vile, katika kununua, kutakuwa na kuangalia karibu sawa. tofauti tu ni badala ya kuuza, sisi ni kununua. Hivyo katika kuuza na kununua, sisi ni kuingiza ndani ya historia meza zote za hununua na kuuza yanayotokea. Basi wote history.PHP mahitaji ya kufanya ni kunyakua habari kutokana na historia meza, kuhakikisha ilifanikiwa, na kutoa habari. Hivyo kuangalia template history.PHP, taarifa ya kuvutia ni haki hapa. Sisi ni wanaoendesha juu ya yote ya shughuli, uchapishaji kama hii mara kununua au kuuza, formatting tarehe wakati kwamba sisi alifanya shughuli hii. Kumbuka sisi haja ya kutumia htmlspecialchars juu ya ishara, tu katika kesi. Na hatimaye, formatting idadi ya hisa ambazo zilinunuliwa na bei ya kushiriki moja kwa wakati huo. Na kwamba maonyesho yote ya historia habari kwamba sisi haja. Na kwamba ni kwa pset hii. Jina langu ni Rob, na hii mara CS50 Fedha.