>> [CHWARAE CERDDORIAETH]
>> ROB BOWDEN: Hi.
Rwy'n Rob, ac yr wyf yn gobeithio y byddwch yn barod i roi stoc yn yr hydoddiant hwn.
Yn gyntaf, gadewch i ni edrych ar y gofrestr.
Felly cofiwch hynny yma rydym yn gwirio i weld a oes ffurflen yn
postio i'r dudalen hon.
>> Beth felly yn gyntaf rydym yn mynd ei wneud yw mynd at y arall.
Ac rydym yn mynd i rendro y ffurflen gofrestr.
Felly y ffurflen gofrestr yn mynd i swydd i register.PHP.
A beth y mae'n mynd i anfon?
Mae'n mynd i anfon enw defnyddiwr bod y defnyddiwr yn mynd i lenwi, cyfrinair,
a chadarnhad -
y cyfrinair deipio eto.
>> Felly nawr pan fydd y ffurflen yn cael ei bostio i register.PHP byddwn yn cyflawni hyn os.
O edrych ar hyn os, rydym yn gyntaf mynd i ddilysu mewnbwn.
Rydym eisiau gwneud yn siŵr bod yr enw defnyddiwr ac nid cyfrinair yn wag a bod
cadarnhad mewn gwirionedd yn cyfateb i'r cyfrinair.
Unwaith y byddwn wedi gwirio y gallwn mewn gwirionedd yn cofrestru'r defnyddiwr.
>> Beth yw ystyr hynny?
Wel, rydym yn awyddus i mewnosoder y defnyddiwr yn ein cronfa ddata.
Ac mae hyn yw sut y byddwn yn gwneud hynny.
Felly, rydym yn mynd i fewnosod i mewn i'r defnyddwyr tabl yr enw defnyddiwr caeau,
hash, ac arian parod.
>> Mae'r gwerth diofyn o arian parod yn mynd i fod 10,000.
Ac rydym yn mynd i basio fel enw defnyddiwr, enw defnyddiwr, drwy'r super POST
byd-eang sy'n cael ei gyflwyno gan y ffurflen.
Ac rydym yn mynd i amgryptio y cyfrinair.
>> Felly, os yw hynny'n llwyddo, wedyn yn arwain Bydd fod yn ddi-ffug.
Os bydd yn methu, yna rydym yn eisiau ymddiheuro.
Aeth rhywbeth o'i le.
A beth allai fod wedi mynd o'i le?
>> Wel, mae angen enw defnyddiwr unigryw.
Ac felly gallai yr ymholiad wedi methu os yw'r enw defnyddiwr eisoes yn
yn bodoli yn y tabl.
Felly, gan dybio ei fod yn enw defnyddiwr unigryw, yna rydym yn mynd i ymholiad i fanteisio ar y
ID y defnyddiwr.
Cofiwch fod y ID yn auto-incrementing.
>> Ac felly os bydd hynny'n digwydd i yn methu am ryw reswm, yna rydym eisiau ymddiheuro
nad oeddem yn gallu chrafangia 'r adnabod.
Ond dybio nad oedd yn methu, yna rydym yn chrafangia 'r ID o'r hyn y mae'r ymholiad
a ddychwelwyd, storio hynny yn ein sesiwn - felly rydym eisiau mewngofnodi defnyddiwr hwn i mewn gan
storio'r ID yn y sesiwn super byd-eang, ac yn olaf
ailgyfeirio at ein portffolio.
A dyna ni am y gofrestr.
>> Nawr rydym yn mynd i symud ymlaen i ddyfynnu.
Felly, dyfyniad yn mynd i gael i fyny set wirioneddol debyg.
Rydym yn gweld yma mai dyma'r cod sy'n rydym yn mynd i weithredu pan fydd ffurflen yn
postio i'r dudalen hon.
Ond yn gyntaf rydym mewn gwirionedd yn cael i rendro y ffurflen honno.
Felly bwrw golwg ar dyfyniad ffurflen, pa caeau sydd ar gael?
>> Rydym yn gweld bod yr holl dyfyniad wedi yn un blwch testun gyda'r symbol enw.
Ac felly pan dyfyniad ffurflen yn cael ei bostio i quote.PHP rydym yn awr yn mynd i
gweithredu cod hwn.
A'r unig newidyn yn ein super POST fyd-eang yn mynd i fod yn symbol.
>> Rydym yn dilysu bod i wneud yn siŵr bod maent mewn gwirionedd yn postio y symbol.
Ac os nad ydynt yn gwneud hynny, yr ydym yn dweud eich rhaid iddynt ddarparu symbol.
Gan dybio eu bod yn darparu symbol, rydym yn edrych i fyny y symbol.
>> Nawr cofiwch fod yn edrych i fyny allai fod wedi methu ers hynny, yn dda, efallai ei bod nid oedd yn
symbol dilys i ddechrau.
Felly, os yw hyn yn edrych i fyny dychwelyd ffug, rydym am i ymddiheuro bod y
Ni chanfuwyd symbol.
Unwaith y byddwn wedi dod o hyd y symbol, yn awr rydym yn Gall wneud y templed quote.PHP.
>> Beth mae hynny'n edrych?
Dim ond mae hynny'n mynd i argraffu bod cyfran beth bynnag yr enw stociau oedd
yn werth beth bynnag yw'r pris stoc yn.
Nawr pam yr ydym yn defnyddio hyn htmlspecialchars gweithio?
Mae hynny oherwydd bod y stoc enw a symbol Efallai mewn gwirionedd yn cynnwys arbennig
Ni ddylai cymeriadau sy'n yn cael ei ddehongli fel HTML.
>> Mae pob hawl, felly dyna ni am ddyfynbris.
Nawr rydym yn awyddus i edrych ar index.php a phortffolio.
Ond yn gyntaf mewn gwirionedd yn rhaid i ni adeiladu y tabl portffolios.
Dyma sut yr ydym yn mynd i wneud hynny.
>> Felly, gadewch i ni edrych ar y strwythur.
Ac rydym yn gweld bod y portffolios tabl yn mynd i gael adnabod.
Felly, mae hynny'n mynd i fod y defnyddiwr ID sy'n cael ei osod y cyfranddaliadau.
Mae gennym symbol, sydd yn mynd i fod yn symbol y cwmni yr ydym yn
fewnosod y cyfrannau am.
Ac yna cyfranddaliadau yw nifer y cyfranddaliadau sy'n cael ei roi i mewn.
>> Felly cofiwch fod y fanyleb pset, rydym yn nodi bod adnabod a symbol -
rydym yn edrych ar mynegeion, adnabod a symbol yw'r allwedd gynradd.
Felly ID defnyddiwr a pharu symbol Dim ond yn ymddangos un
amser yn y tabl hwn.
Nawr, gadewch i ni edrych ar y cod.
>> Felly nawr index.php yn mynd i chrafangia holl ein gwybodaeth portffolio a
arddangos i'r defnyddiwr.
Felly yn gyntaf, rydym yn mynd i chrafangia 'r arian bod y defnyddiwr ar hyn o bryd gan y
tabl arian parod.
Cofiwch, hynny ymholiad bob amser yn mynd i ddychwelyd amrywiaeth o araeau.
Felly hyd yn oed er ein bod dim ond arian parod a ddewiswyd o un rhes, yn dal angen i ni
chrafangia bod arian drwy mynegeio i mewn i'r mynegai 0 rhesi a crafangio y
mynegai arian parod.
>> Felly nawr rydym am i ddewis yr holl wybodaeth o'r tabl portffolios
sy'n berthnasol i'r hyn o bryd mewngofnodi defnyddwyr.
Mae angen, wrth gwrs, yr ydym yn i ddilysu bod a llwyddo mewn gwirionedd, yr ydym yn
Dylai bob amser yn gwneud pryd bynnag yr ydym yn holi.
Unwaith y byddwn yn cael yr holl wybodaeth honno, fanyleb pset hysbysu ni ein bod yn
Dylai wneud hyn er mwyn storio 'n glws yr holl wybodaeth yn y
swyddi arae.
>> Felly, rydym yn dolennu dros bob un o'r gwybodaeth portffolio, gan edrych i fyny y
stoc sy'n gysylltiedig â phob rhes yn y gwybodaeth portffolio, ac yna
storio yr enw yn yr arae sefyllfa, pris, cyfranddaliadau ac symbol pob
gysylltiedig â'r stoc.
Ac yn olaf, rydym yn mynd i rendro portfolio.PHP, gan fynd heibio yn y swm
o arian yr ydym ar hyn o bryd, mae'r swyddi amrywiaeth yr ydym newydd ei
hadeiladu, a rhaid nodi teitl hwn dudalen a fydd portffolio.
>> Gadewch i ni edrych ar portfolio.PHP.
Ac rydym yn gweld bod y prif diddorol rhan yn ddolen hon.
Felly, rydym yn dolennu dros y swyddi amrywiaeth, gan greu
bwrdd, lle y tabl hwnnw -
rydym yn poblogi pob rhes gyda'r wybodaeth yr ydym yn ei roi y tu mewn i'r
swyddi arae.
>> Unwaith eto, mae angen i ni ddefnyddio htmlspecialchars rhag ofn y symbol hwn neu'r enw
cynnwys cymeriadau HTML.
A dyma ni yn lluosi pris a faint o gyfrannau sydd gennym
er mwyn cael faint sy'n ar hyn o bryd yn werth i'r defnyddiwr.
A dyna ni am bortffolio.
>> Nawr byddwn yn cymryd golwg ar werthu.
Felly, gwerthu yn mynd i fynd yn ôl at y fformat a gawsom yn register.PHP.
Rydym yn gweld bod ffurflen yn mynd cael eu postio i'r dudalen hon.
Ond yn gyntaf, pan fyddwn yn llwytho'r dudalen, rydym yn mynd i wneud hyn.
>> Felly, beth mae hyn yn ei wneud?
Wel, gallem dim ond yn cael y dudalen gwerthu gael blwch testun unigol y mae'r defnyddiwr
mynd i mewn symbol hwn rydym am i werthu.
Ond rydym yn mynd i fod ychydig yn fwy clyfar ac rydym yn mynd i gael gostyngiad
i lawr sy'n caniatáu i'r defnyddiwr i ddewis symbolau gwirioneddol y mae ganddynt eisoes.
>> Felly, rydym yn cael portffolio y defnyddiwr.
Rydym yn mynd i ddewis o bortffolios pob un o'r symbolau bod y defnyddiwr
Ar hyn o bryd mae gan, y hyn o bryd mewngofnodi defnyddwyr.
Gwnewch yn siŵr bod hynny'n llwyddo.
Ac yn awr rydym yn mynd i ddolen dros y dychwelwyd gwybodaeth, dim ond yn crafangio
pob symbol, a'i storio yn y casgliad symbolau.
>> Ac yn awr rydym yn mynd i yn golygu bod y ffurflen gwerthu.
Felly y ffurflen gwerthu yn mynd i ddim ond fod yn ddewislen i lawr, dethol.
Ac mae pob opsiwn yn y ffurflen gwerthu yn mynd i ychydig argraffwch y symbol
ein bod yn gafael o'r tabl portffolios.
>> Felly y ffurflen gwerthu yn mynd i cyflwyno yn ôl i sell.PHP.
O edrych ar sell.PHP, dyma'r cod mae hynny'n mynd i weithredu pan fyddwn yn cyflwyno
i'r dudalen hon.
Rydym am i ddilysu bod y defnyddiwr mewn gwirionedd yn mynd i mewn i symbol.
>> Nawr dybio eu bod yn gwneud hynny -
felly nawr rydym am i benderfynu faint o rhannu y defnyddiwr mewn gwirionedd yn gwerthu
a faint o arian dylai'r defnyddiwr gael ar gyfer gwerthu bod llawer o gyfranddaliadau.
Felly, rydym yn chrafangia 'r nifer o gyfrannau a y defnyddiwr am y symbol yma.
Rydym yn edrych i fyny mewn portffolios ar gyfer y rhoi defnyddwyr a symbol a roddir.
>> Nawr gwneud yn siŵr bod sydd mewn gwirionedd yn Dychwelodd olynol.
Oherwydd os nad oedd, nad yw'r defnyddiwr yn mewn gwirionedd yn cael y symbol i'w werthu.
Gan dybio maent yn cael y symbol, rydym am fanteisio ar y nifer o
cyfranddaliadau sydd ganddynt.
Ac yn awr rydym yn awyddus i edrych i fyny sut y lawer bob cyfran yn werth.
>> Felly, rydym yn defnyddio'r swyddogaeth yn edrych i fyny.
Rydym yn chwilio am y gwerth y symbol.
Gan dybio bod y edrych i fyny llwyddo, sydd bellach yn rydym yn mynd i ddiweddaru mewn gwirionedd yn yr holl
wybodaeth.
Felly, rydym am ddileu o bortffolios cyfranddaliadau yr ydym yn gwerthu.
Rydym eisiau i ddiweddaru y defnyddiwr swm o arian parod.
>> Ac rydym yn diweddaru ei drwy gyfrannau gwaith y pris stoc -
felly dyna faint o arian y defnyddiwr newydd eu gwneud.
Ac yn awr rydym yn awyddus i ddiweddaru ein hanes.
Felly, nid ydym wedi edrych wrth y bwrdd hanes eto.
Felly, byddwn yn dod yn ôl at hyn.
>> Nawr yn olaf, rydym yn mynd i ailgyfeirio yn ôl i'r portffolio.
Nawr, gadewch i ni edrych ar brynu.
Felly, dylai prynu fod yn eithaf tebyg i werthu.
>> Rydym yn gweld ein bod ni'n mynd eto i wirio i weld a ydym yn
cyflwyno i'r dudalen hon.
Gan dybio nad ydym yn, rydym yn mynd i lwytho'r ffurflen brynu.
Felly beth mae'r ffurflen brynu yn edrych?
>> Rydym yn gweld yma dim ond yn rheolaidd ffurfio sy'n mynd i
cyflwyno yn ôl i buy.PHP.
Ac mae'n mynd i gael symbol sy'n y defnyddiwr yn mynd i mewn, mae nifer y
cyfranddaliadau y mae'r defnyddiwr eisiau prynu o'r symbol, a dyna ni.
Felly, pan fyddwn yn cyflwyno yn ôl i buy.PHP, rydym yn nawr yn mynd i weithredu cod hwn.
>> Eto, rydym yn awyddus i ddilysu bod y defnyddiwr aeth rhywbeth dilys.
Felly dyma ni yn gwneud yn siŵr eu bod mewn gwirionedd yn mynd i mewn i symbol.
Yma rydym yn gwneud yn siŵr eu bod yn cyfranddaliadau gofnodi mewn gwirionedd.
A dyma ni yn gwneud yn siŵr eu bod yn cofrestru cyfanrif ar gyfer cyfranddaliadau, felly
nid ydynt yn ceisio prynu cyfranddaliadau ABC.
>> Nawr rydym yn awyddus i edrych ar y pris y symbol felly rydym yn gwybod faint o arian yr ydym yn
Dylai tynnu oddi wrth y defnyddiwr.
Nawr byddwn yn dewis faint o arian y defnyddiwr mewn gwirionedd wedi ac yn gwneud yn siŵr bod
hynny llwyddo.
Yma rydym yn crafangio 'r arian parod.
Ac yn awr fan hyn, rydym yn gwneud yn siŵr bod y defnyddiwr yn cael digon o arian parod.
>> Felly, os bydd nifer y cyfrannau y defnyddiwr eisiau prynu gwaith y pris pob
y cyfranddaliadau hynny yn fwy na'r faint o arian sydd gennym, yna bydd y
Ni all y defnyddiwr fforddio hynny.
Gan dybio bod y defnyddiwr yn cael digon o arian parod, nawr rydym am i fewnosod i mewn i'r
portffolio defnyddiwr.
Wel, byddwn yn mewnosod i mewn i'r defnyddiwr portffolio os yw hyn yn digwydd i fod yn
tro cyntaf i'r defnyddiwr yn prynu y symbol penodol.
>> Ond beth os ydynt yn digwydd yn barod gael rhywfaint o stoc Apple?
Wel, yn awr rydym yn gwneud defnydd o'r ar dyblygu datganiad diweddaru allweddol.
Felly dyma pam gynharach ein nodi y Dylai ID a symbol fod yn gyd
allwedd gynradd, felly os ydym yn ceisio rhowch ID a symbol sy'n
yno eisoes, byddwn yn unig yn diweddaru'r cyfranddaliadau i gynnwys y cyfrannau newydd a
mae'r defnyddiwr yn ei brynu.
>> Nawr rydym am i ddiweddaru'r faint o arian parod y mae'r defnyddiwr wedi, gan eu bod yn
treulio peth arian yn unig ar y cyfrannau hynny.
Ac yn olaf, byddwn yn diweddaru y tabl hanes unwaith eto.
Sydd, unwaith eto, byddwn yn edrych mewn mewn eiliad.
Ac yn olaf byddwn yn ailgyfeirio Nôl i portfolio.PHP.
>> Felly, gadewch i ni edrych ar y tabl hanes.
Nawr cofiwch bod y tabl hanes yn i fod i gadw golwg ar yr holl brynu a
gwerthu bod pob defnyddiwr yn gwneud, nid dim ond y nifer presennol o gyfranddaliadau bod y
ddefnyddwyr, sef yr hyn portffolio ar gyfer.
Felly, rydym yn cadw golwg ar y defnyddiwr a yn prynu neu werthu, p'un a
hwn trafodiad arbennig oedd yn prynu neu werthu, y symbol sy'n cael ei
, mae nifer y cyfranddaliadau a brynwyd neu a werthwyd ein bod yn prynu neu werthu, y
bris un gyfran sydd wedi cael ei prynu neu eu gwerthu, ac yn olaf, yr amser
bod prynu neu werthu hwn yn digwydd.
>> A dyna'r cyfan o hanes wybodaeth sydd ei hangen i ni
i gadw golwg ar.
Felly, pan fyddwn yn edrych ar gwerthu, gwelsom fod yr oeddem yn mewnosod i mewn i gwerthu hanes,
fel a ydym yn prynu neu werthu, y stamp amser ar hyn o bryd, ac mae'r
defnyddiwr presennol, y symbol sy'n cael ei werthu, nifer y cyfrannau sy'n
yn cael eu gwerthu, ac ni fydd pris y stoc ar hyn o bryd.
Yn yr un modd, yn prynu, mae'n annhymerus ' edrych bron yr un fath.
Yr unig wahaniaeth yw yn lle hynny o werthu, rydym yn ei brynu.
>> Felly, yn gwerthu ac yn prynu, rydym yn gosod i mewn i y tabl hanes pob un o'r
yn prynu ac yn gwerthu sy'n digwydd.
Felly holl anghenion history.PHP ei wneud yw chrafangia wybodaeth o'r hanes
bwrdd, gwnewch yn siŵr ei fod yn llwyddo, a rendr wybodaeth honno.
Felly, yn edrych ar y templed history.PHP, y wybodaeth yn ddiddorol
yn iawn yma.
>> Rydym yn dolennu dros bob un o'r trafodion, argraffu a yw hyn
yn prynu neu werthu, fformatio dyddiad ac amser ein bod yn gwneud y trafodiad hwn.
Cofiwch mae angen i ni ddefnyddio htmlspecialchars ar y
symbol, rhag ofn.
Ac yn olaf, fformatio nifer y cyfranddaliadau a brynwyd a'r pris
o un cyfranddaliad ar y pryd.
>> Ac mae hynny'n dangos yr holl hanes wybodaeth sydd ei hangen arnom.
A dyna ni am pset hwn.
Fy enw i yw Rob, ac mae hyn yn Roedd CS50 Cyllid.