>> DOUG LLOYD: Felly yn ein 'n fideo ar PHP cystrawen,
buom yn siarad llawer am sut PHP gellir ei ddefnyddio yn y llinell orchymyn
i gynnal rhaglenni mewn modd sy'n rydym yn eithaf gyfarwydd â oddi wrth C.
Ond fel y soniais hefyd yn y fideo, PHP
Datblygwyd y dechrau i gweithredu rhaglenni ar y we, gwefannau.
Ac felly yn y fideo hwn rydym yn mynd i siarad am sut yr ydym
defnyddio PHP yng nghyd-destun datblygu'r we.
>> Rydym yn gwybod, yn barod, o ein fideo ar HTML,
bod gwefannau yn cael eu hadeiladu allan o set o dagiau HTML
sy'n diffinio semantig strwythur tudalen ar y we.
Ond gwefannau sy'n cael eu adeiladwyd gyda HTML pur
yn dioddef o iawn, cyfyngiad difrifol iawn.
>> Ac i ddangos cyfyngiad hwn, gadewch i ni ystyried y canlynol.
Felly, yn awr yr wyf am adeiladu dudalen ar y we hynny, pryd bynnag y defnyddiwr ymweliadau iddo,
mae'n rhoi i mi ar hyn o bryd amser yng Nghaergrawnt, Mass.,
arddangos tan y funud diweddaraf.
Os byddaf yn gwneud hyn ar hyn o bryd, Efallai fy mod yn dweud rhywbeth fel hyn.
Amser ar hyn o bryd yn Cambridge-- felly mae gen i Tagiau HTML, tagiau pen, tagiau teitl,
corff tags-- y presennol amser yng Nghaergrawnt yn 14:08,
argraffu amser milwrol.
>> Beth fydd yn digwydd os yw'n bellach yn 02:09, 14:09?
Dda hyd yn hyn, gyda HTML, mae gen i i fynd i mewn a newid i 14:09.
Ac yna un munud yn ddiweddarach, Rhaid i mi newid eto.
Ac fel y gallwch ddychmygu, mae hynny'n Mae'n debyg y swydd waethaf erioed.
Rydych yn y gwefeistr ar gyfer tudalen we, a bob munud, 24 awr y dydd,
angen i chi ddiweddaru o bryd gan llaw agor time.html a newid
dim ond bod snippet o cod a dweud y amser presennol mewn oriau a munudau.
Dyw hynny ddim yn ôl pob tebyg yn iawn defnydd da o'n hadnoddau,
dynol ac chyfrifiannol.
>> Gwefannau sydd i gyd HTML yn gwbl sefydlog.
Yr unig ffordd y gallwch roi'r wybodaeth ddiweddaraf cynnwys, fel yr ydym ni newydd ei weld,
yw agor ffynhonnell y rheini â llaw ffeiliau, golygu nhw, a'u cadw.
Ac yna pan fydd y defnyddiwr adnewyddu y dudalen,
neu'n ymweld â'r dudalen ar gyfer y cyntaf amser, byddant yn cael y cynnwys diweddaraf.
Ond dim ond oherwydd ein bod i wedi golygwyd llaw.
>> Os byddwn yn dechrau i gymysgu rhywfaint o PHP i mewn 'na, Gall ein cod yn cael llawer mwy hyblyg.
A gallwn gael ffordd ar gyfer ein tudalennau i fod yn ddeinamig, neu ddiweddaru eu hunain,
heb fod angen ein gwael gwefeistr yn yr enghraifft flaenorol
i fod â llaw diweddaru pethau.
Gallant wneud yn awtomatig.
Nid oes rhaid i ni ymyrryd.
Gallwn ni gael rhywfaint o gwsg.
Pa yn ôl pob tebyg yn beth da os eich bod yn gwneud llawer o raglenni ar y we.
>> Felly, yn CS50 IDE, rydym yn cynnal weinydd y we o'r enw Apache.
Mae'n ddefnyddir yn gyffredin iawn, ffynhonnell agored system gweinydd gwe.
Mae'r system hon sydd â'r gallu i ddehongli
PHP, sydd yn mynd i fod yn ddefnyddiol os rydych am ei wneud unrhyw raglennu PHP.
>> Ac yn IDE CS50, mae gennym gorchymyn i wneud hyn yn hawdd iawn i'w wneud,
apache50 cychwyn.
Ac yna y slaes llwybr, slaes i, slaes
dir, bod yn unig yn ffordd wirioneddol gyffredin o gan nodi hyn rydych wedi bennir yma
yn llwybr i neilltuol cyfeiriadur yr ydych yn
am fod y gwreiddyn safle, neu'r dudalen gwraidd,
neu ffolder lle eich gweinydd gwe Bydd yn dechrau archwilio ffeiliau ac yn gwasanaethu
hwy i fyny i gleientiaid sy'n gofyn amdanynt.
Felly gadewch i ni alw yn CS50 IDE, dim ond i dangos i chi, mewn gwirionedd cyflym, sut mae hyn yn gweithio.
>> Felly dyma yn IDE CS50, ydw i mewn cyfeiriadur o'r enw Wythnos Sero Naw.
Ac yr wyf wedi two-- gen i ddienyddio feistrolaeth LS yn unig
uchod i ddangos eich bod gen i dau cyfeiriaduron mewn yma, PHP,
sef y gyfres o ffeiliau a ddefnyddiais mewn y fideo cystrawen PHP, ac yna PHP-we,
sef y gyfres o ffeiliau yr wyf Byddai hoffi defnyddio yn y fideo hwn.
>> A hoffwn i ddechrau yn enghraifft gweinydd gwe
â chynnwys y ffolder PHP-we gan fod y ffeiliau yn cael eu gwasanaethu i fyny.
Felly, beth ydw i'n mynd i wneud?
Yr wyf yn mynd i deipio apache50 gofod cychwyn, PHP gofod, ar y we dash.
Dyna'r llwybr i'r cyfeiriadur o lle yr wyf ar hyn o bryd.
Yna mi daro Chofnoda.
Mae'n mynd i wneud ychydig bach o bethau fan hyn.
Ac yna mae'n mynd i ddweud, Dechreuodd Apache yn llwyddiannus.
Eich safle ar gael at-- nawr ac Yna mae y URL ar gyfer y safle.
Felly, beth ydw i'n mynd i wneud?
Rydw i'n mynd i gopïo hyn yn gyflym.
Ac yr wyf i'n mynd i agor up-- a 'N annhymerus' chwyddo allan ychydig Yma--
Rydw i'n mynd i agor tab newydd yn Chrome.
Ac yr wyf i'n mynd i ymweld â'r URL.
>> Rydw i'n mynd i daro Chofnoda.
Mae'n mynd i lwytho.
A byddaf chwyddo allan eto.
A gallwn weld yma yn y cynnwys fy cyfeiriadur gwe PHP.
>> Felly nawr hyn sy'n digwydd yn y bôn yma yw, mae fy achos o CS50 IDE
yn gwasanaethu i fyny ffeiliau hyn at unrhyw un sy'n gofyn amdanynt.
Ac yn ystod y fideo hwn, byddwn yn didoli o
yn edrych ar griw o'r rhain gwahanol ffeil mewn cyd-destun.
>> I brofi bod eich Apache gweinydd yn gweithio,
sydd yn mynd yn gyffredinol i fod yn wir yn CS50 IDE,
ond os byddwch yn gwneud hyn yn fwy cyffredinol, a'ch bod yn dechrau adeiladu eich gwe eich hun
gweinyddwyr, mae 'na' n sylweddol math cyffredin o analog i,
"Helo byd," sydd fel arfer a ddefnyddir ar gyfer datblygu ar y we PHP.
Pa un yw cael ffeil sy'n cynnwys dim ond code-- hwn
yn amffinydd PHP gosod gyda info PHP, cromfachau, hanner colon yn y canol.
Pa un yn y bôn yn arbennig Swyddogaeth PHP sy'n dweud wrthych
pa fersiwn o PHP ydych yn rhedeg.
>> Felly, yn CS50 IDE, yr wyf wedi hynny ffeil sydd ar gael yn unig
i ddangos i chi beth fyddai hyn yn edrych.
Felly rwy'n edrych ar fy mynegai o fy enghraifft PHP.
Mae fy achos Apache yn rhedeg cynnwys y PHP-We.
Ac mae gen i ffeil o'r enw yma info.php.
>> Rydw i'n mynd i glicio arno, chwyddo allan.
Mae hyn yn yr hyn yr ydych chi'n mynd i weld, 'n bert lawer.
Dim ond hyn yn dweud wrthyf fod fy gweinyddwr Apache yn gweithio.
Ac mae hyn yn, yn ôl pob golwg, mae'r fersiwn o'r PHP fy mod i'n rhedeg.
Dyma fy analog i "helo byd."
>> Felly, yr wyf yn gwybod pethau yn weithredol.
Felly, rydym yn dda i fynd.
Gallwn fynd ymlaen o'r fan hon.
>> Felly gadewch i ni edrych eto ar hynny enghraifft amser roeddem
siarad am â'n gwefeistr gwael a oedd wedi i ddiweddaru'r dudalen gyson.
Gallai hyn fod yn ateb ar gyfer sut y Byddwn yn gweithredu pethau
fel na fydd y gwefeistr wnaeth rhaid cadw diweddaru'r pryd.
Byddai'n jyst fath o digwydd yn awtomatig.
>> Mae'r lawr isod, mae'r HTML, 'i' 'n bert tebyg, gydag un eithriad.
Ond yma gen i PHP ar y brig.
Yr wyf, mae'n debyg, gelwir hyn date_default_timezone_set swyddogaeth.
>> Ac nid ydym yn sôn am yr holl swyddogaethau hyn yn CS50,
oherwydd yn ôl pob tebyg PHP wedi degau o filoedd.
Gallai hynny fod yn dipyn o gor-ddweud, ond nid y gallai fod.
Mae wedi cael llawer o swyddogaethau a adeiladwyd yn.
Ac felly mae hyn yn swyddogaeth yn ôl pob golwg yn gosod fy parth amser fel UD / Dwyrain,
sef y parth amser fy mod yn Ar hyn o bryd wrth wneud y fideo.
>> Yna mi wneud galwad i swyddogaeth o'r enw, dyddiad.
Ac, yn ôl pob golwg, rwy'n storio'r EI o rywbeth o'r enw, amser.
Felly beth sy'n mynd ymlaen fan hyn?
>> Wel, yn y bôn yr hyn sydd digwydd yw, fy mod yn gwneud galwad
i ryw weinydd sy'n mynd i ddweud wrthyf beth yr amser ar hyn o bryd yn.
A dwi'n trosi i fformat o oriau, munudau, eiliad.
A'r rheswm mae'n cyfalaf H yn hyn yn mynd i roi amser 24 awr mi, nid 12
amser awr, a fyddai'n llythrennau bach f.
Ac Im 'jyst yn storio bod mewn newidyn enw, amser.
Fel bod ail linell PHP yno, yr alwad i'r swyddogaeth,
Hyd yn hyn, dim ond cael rhywfaint llinyn, sef
mynd i roi dyddiad i mi, a'r amser, a bagad o wybodaeth arall.
Ac mae'r ddadl gyntaf yno, bod EI, yn unig yw echdynnu'r rhan bwysig
fy mod yn poeni am er enghraifft hon, sef y awr, munud, a'r ail.
Felly dyna yr holl sy'n digwydd.
Felly yr wyf yn storio fod mewn $ amser amrywiol.
Ac yna i lawr ar y iawn gwaelod yno, yr wyf yn
gael y llaw-fer ar gyfer argraffu'r hyn o bryd.
Felly, Im 'jyst yn mynd i'r wasg beth yr amser presennol yw.
>> Felly, gadewch i ni edrych ar hyn mewn IDE CS50 a gweld sut yr ydym yn awr yn
gan arbed y gwefeistr llawer o drafferth.
Mae pob hawl, felly dyma fi eto yn ôl ar y cyfeiriadur gwraidd
fy achos Apache.
Ac mae gen i ffeil yma o'r enw time.php.
Im 'jyst yn mynd i glicio ar hynny.
A byddaf sgrolio i fyny, oherwydd rydym yn chwyddo i mewn 'n bert lawer.
Mae'r amser presennol yw 14:20:34.
Felly, rwy'n ei wneud ei oriau, munud, ac eiliadau.
A gallaf adnewyddu'r dudalen a chael amser newydd.
--41.
Rydw i'n mynd i adnewyddu'r dudalen ac yn cael amser newydd, 44, 46, 47.
>> Felly, yr wyf yn amlwg nad newid unrhyw beth fy hun.
Im 'yn fan hyn adnewyddu'r dudalen.
Felly, ni allaf fod yn ôl yno ei olygu.
Ac yr wyf yn addo i chi, nid wyf yn ei wneud os oes gennych unrhyw cydymdeithion
sy'n golygu y ffeil ar fy rhan ar yr ochr.
>> Im 'jyst yn defnyddio'r swyddogaeth PHP, amser, i gynhyrchu'r amser i mi
yn awtomatig.
Felly hyd yn oed os wyf yn cysgu, ac mae fy gweinydd gwe yn rhedeg,
y defnyddiwr sy'n ymweld y dudalen honno yn dal i fod mynd i gael yr union hyn o bryd.
Felly dyna 'n bert da.
Rydw i wedi gwneud fy safle yn fwy deinamig gyda dim gormod cod PHP.
Yr oedd yn ddim ond dwy linell o god ac yna ychydig bach o ddatganiad print.
Ac eisoes mae gen i safle yn llawer mwy deinamig
na hynny enghraifft gyntaf a welsom ar ddechrau'r y fideo.
>> Felly, yn dwyn i gof o'r fideo ar gystrawen PHP pan fydd y cyfieithydd PHP yn rhedeg
ein rhaglen, mae'n anwybyddu popeth nid yw hynny'n tu mewn amffinyddion PHP,
poeri allan.
Yn yr enghraifft honno, yr hyn y mae'r peth ei fod yn poeri allan yn HTML.
Ac mae hyn yn golygu y gallaf yn awr intersperse HTML a PHP gyda'i gilydd.
Oherwydd bod y cyfieithydd fydd yn unig anwybyddu'r HTML ac yn llythrennol allbwn iddo.
Pa yn dda, dde?
>> Oherwydd yn ôl pob tebyg, ar ddiwedd y dydd,
Hoffwn i fy safle yn cael ei adeiladu o HTML.
Er mwyn i unrhyw borwr gwe dehongli y peth, neu ddeall y HTML ar y dudalen
ac yn ei gwneud yn fel rhywbeth yr ydym Gall mewn gwirionedd yn deall fel bodau dynol.
Ac ni allaf ond ddefnyddio PHP ar gyfer y rhannau o fy safle
y gofyn am ddynamiaeth, sy'n ei gwneud yn ofynnol i mi i gael pethau sy'n rhoi'r wybodaeth ddiweddaraf yn gyson.
Mae'r wybodaeth statig Gall aros yr un fath.
>> Iawn, felly mae hynny'n iawn.
Ond byddai pam yr wyf yn gwneud hyn?
Pam fyddwn i gymysgu HTML a PHP?
Gallai Fi jyst argraffu'r holl HTML, gan ddefnyddio'r swyddogaeth print PHP.
Pam nad ydw i'n gwneud hynny?
Meddyliwch am y peth am eiliad.
>> Pam, pryd y gallwn i jyst argraffu out-- wyf Gallai gael llinellau PHP sydd dim ond dweud,
print tag HTML, pennaeth print.
Pam nad ydw i'n gwneud hynny?
Pam ydw i'n cymysgu'r PHP a HTML?
>> Wel, os ydych yn meddwl am y peth am eiliad.
PHP, y cyfieithydd wedi dehongli'r hyn y gwêl.
Ac felly mae'n mynd i gael i weithredu llinell o god.
Argraffwch HTML.
Argraffwch tag pen agored.
Argraffwch tag teitl agored.
Mae'n mynd i gael i gweithredu a dehongli
bod pob un cam o'r ffordd.
Pam na dim ond gadael y cyfieithydd yn unig sglein dros
pethau nad yw'n deall ac yn ei wneud yn awtomatig?
Mae'n mynd i arbed llawer o amser i mi i gymysgu fy HTML ac mae fy PHP gyda'i gilydd.
>> Ac felly dyna pam nad ydym yn ei wneud yn unig wedi amffinydd PHP agored
ac yna dim ond argraffwch y cyfan gynnwys ein dudalen fel un PHP mawr
yn galw i'r swyddogaeth, Print, ac yna amffinydd PHP agos ac rydym yn ei wneud.
Felly dyna pam ein cymysgu i fyny at ei gilydd.
>> Hyd yn hyn, nid ydym wedi gweld gormod o gwahaniaeth o gystrawen PHP cyffredinol.
Mae wedi bod yn eithaf syml.
Rydym eisoes wedi gweld y gofynnod, gyfartal.
Gwelsom un neu ddau o alwadau swyddogaeth newydd, ond dim byd mewn gwirionedd ffansi mynd ymlaen.
Gadewch i ni efallai i ni wneud pethau ychydig yn ffansi.
Beth os ydym am i basio gwybodaeth rhwng gwahanol ffeiliau PHP,
fel y gall hynny efallai y defnyddiwr cyflwyno gwybodaeth i mi.
Ac yna gallwn i wneud rhywbeth ag ef ar dudalen arall.
>> Felly PHP Mae cefnogaeth ar gyfer rywbeth o'r enw Super Byd-eang
Newidynnau, sy'n swnio'n eithaf anhygoel.
Maent yn wir yn unig araeau cysylltiadol mawr
a chyfnertha weithredu hyn ymarferoldeb pasio
gwybodaeth rhwng ffeiliau PHP sy'n yn bresennol ar ein gweinydd gwe.
>> Y cyntaf o super hyn Gelwir newidynnau yn $ _GET.
Ac mae'n debyg mai dyma'r symlaf i'w deall.
Beth fydd yn digwydd gyda $ _GET?
Wel, yn y bôn, mae'r defnyddiwr yn mynd i deipio gwybodaeth ychwanegol
ar ddiwedd ein URLs.
A beth bynnag y maent deipio, gan dybio 'i' fformatio mewn ffordd benodol
Gelwir llinyn ymholiad, sydd ychydig set o barau gwerth allweddol a gwahanu
gan ampersands.
Bydd y rhai parau gwerth allweddol fydd storio mewn $ _GET amrywiaeth cysylltiadol.
Ac o ein fideo ar PHP cystrawen, rydym yn gwybod
sut i weithio gyda araeau cysylltiadol yn barod.
Felly dyma enghraifft o rhai PHP, lle efallai rwy'n
echdynnu pob un o'r barau gwerth allweddol bod y defnyddiwr a gyflenwir yn y URL.
Felly, yr wyf wedi fy amffinydd PHP Agored.
Mae gen i ddolen foreach.
Im 'yn ailadrodd ar draws y Super Array Byd-eang o'r enw $ _GET.
>> Ac yr wyf am fod yn gallu cyfeirio at y allweddol a'r gwerth.
A dwi'n unig yn eu argraffu allan, pob un ar ôl pob golwg
ei paragraff tag hunain yma.
Dw i'n argraffu rhai HTML a interpolating gwerthoedd
o allwedd a gwerth i mewn y datganiad hwnnw.
>> Felly, gadewch i ni edrych ar sut mae hyn yn Byddai yn gweithio mewn gwirionedd ar ein IDE.
Ac efallai bydd hyn yn helpu yn dangos ychydig bach
o'r hyn GET yn ei wneud mewn gwirionedd.
Felly rwy'n yn ôl yma yn fy gwraidd ar y we.
A byddaf chwyddo mewn ychydig bach i ddangos i chi
bod gen i ffeil o'r enw, get1.php.
>> Felly gadewch i ni glicio ar get1.php.
Ac nid wyf yn gweld unrhyw gynnwys.
Mae hynny'n rhyfedd, dde?
Wel, nid mewn gwirionedd mewn gwirionedd.
Gan nad oeddwn yn cyflenwi unrhyw beth yn y URL.
Rydw i'n mynd i get1.php, ond yr wyf yn Nid oedd gyflenwi unrhyw barau gwerth allweddol
fel rhan o fy llinyn ymholiad.
Felly gadewch i ni ychwanegu llinyn ymholiad a gweld beth y gall y ffeil wneud.
>> I ddechrau llinyn ymholiad i chi jyst deipio marc cwestiwn.
Yna efallai y byddaf yn dweud enw = Doug & blwyddyn = 2015.
Ac yna mi daro Chofnoda.
Nawr sylwi ar beth sy'n digwydd.
Rwy'n dal yn get1.php.
Ond yn awr yr wyf i wedi eu cyflenwi parau gwerth allweddol, ac rwy'n
argraffu nhw allan ar eu pen eu hunain enw paragraph--, blwyddyn Doug--, 2015.
Dyna'n union y cod rydym yn unig Gwelodd ar y sleid funud yn ôl.
>> Ac os ydw i eisiau efallai ychwanegu un arall pâr gwerth allweddol, & class = CS50.
Erbyn hyn mae gwerth allweddol arall i mi pâr sy'n hargraffu
pan fyddaf yn edrych eto ar y URL eto.
Nawr efallai nad yw hyn yn fformatio ofnadwy yn dda.
Felly mae gen i fersiwn arall o get.php.
Mae'n get2.php.
>> Y gwahaniaeth yn hyn un yw gennyf ffeil CSS,
ac mae'n fformatau bethau ychydig yn fwy 'n glws i mi.
Nid yw'n efallai y mwyaf CSS prydferth yn y byd.
Ond mae'r un ffordd arall o wneud hynny.
Felly, gallaf dal i gael mynediad i fy newidynnau sy'n defnyddio $ _GET.
Ac yn yr achos hwn, Im 'jyst fath o gan wneud y CSS ychydig yn fwy ffansi.
Ac os ydym yn alw yn fy IDE am eiliad,
Byddaf yn dangos i chi yn fy gwe PHP cyfeiriadur yma, get2.php.
Byddwn yn agor i fyny, mae rhai HTML yma.
Mae'n debyg fy mod yn cysylltu yn y Ffeil CSS oeddwn yn siarad am.
Yr wyf yn agor tag tabl.
Ac yna dyma fy ddolen foreach.
>> Yma yw bod, yr hyn yr wyf Dangosodd ar y sleid o'r blaen.
Yr unig wahaniaeth yw fy mod cael yr allwedd hon a gwerth CSS
steilio mod i'n gwneud cais iddo.
Ond dyna i gyd rwy'n ei wneud, yn cael ei dwi'n ailadrodd ar draws $ _GET i gael yr holl
o'r parau gwerth allweddol.
>> A dwi'n eu argraffu fel y bwrdd.
Ac, yn ôl pob golwg, rwy'n fformatio yr allweddi mewn un ffordd, gyda'r <td class = "allwedd".
Felly mae'n debyg sy'n berthnasol i rai detholydd dosbarth yn fy GET.CSS ffeil CSS.
Ac, yn ôl pob golwg, rwy'n argraffu fy gwerthoedd ffordd gwbl wahanol.
Pa un yw n bert lawer hyn a welsom yma, lle
ein gwerthoedd eu hargraffu gyda chefndir glas,
ac mae ein allweddi eu hargraffu gyda chefndir melyn.
Felly dyna sut yr wyf i'n cael arddulliau gwahanol hynny.
Gan fy mod i'n defnyddio gwahanol ddosbarthiadau CSS.
Ond dyna 'n bert lawer iddo am GET.
Fel Im 'jyst yn tynnu gwybodaeth.
Ac yn yr achos hwn, Im 'jyst argraffu i'r sgrin.
Im 'yn cael ei allan o'r URL, a dyna beth GET yn ei wneud i ni.
>> A ydych yn gweld y bo modd broblem yma er bod?
Pam y byddem efallai Ni angen at arfer $ _GET?
Beth os, efallai, oeddwn yn ei wneud ymholiad hwn?
get3.php --to, yr wyf yn Nid oes rhaid i ar fy IDE.
'I' jyst ffeil damcaniaethol.
Ond yn sylwi yma y mae'n debyg pasio fy nghyfrinair mewn.
Ac efallai fy nghyfrinair yn embaras.
Neu efallai Dydw i ddim eisiau i bobl gwybod beth yw fy nghyfrinair yw, ar y dde.
>> Os ydw i'n pasio ei though-- os wyf yn defnyddio y dull $ _GET, beth sy'n digwydd yw,
mae hynny'n mynd i fod yn y URL.
Felly gallai rhai defnyddwyr maleisus yn gallu gweld beth rwy'n ei wneud.
Efallai fy mod yn eu pasio gwybodaeth sensitif.
Neu efallai nad yw'n hyd yn oed yn ddefnyddiwr maleisus.
Efallai mai dim ond eich ffrind sy'n yn sefyll dros eich ysgwydd.
Ac yn awr eu bod yn gwybod y cyfrinair at eich cyfrif Facebook.
>> Ac efallai na fyddent yn gwneud unrhyw beth ag ef.
Ond os yw eich cyfrinair yn cyflwyno drwy $ _GET i Facebook,
Erbyn hyn maent yn gwybod eich cyfrinair Facebook.
Oherwydd ei fod yn iawn yno yn y URL pan fyddwch wedi gwneud cyflwyno gwybodaeth.
>> Ac felly efallai nad dyna'r gorau ffordd i basio gwybodaeth sensitif.
Mae'n ffordd dda i basio gwybodaeth nad ydym yn ei wneud yn arbennig
gofalu am eu bod yn rhy sensitif.
Gan fod GET yn eithaf cyflym, gymharu â'r newidynnau super eraill
rydym yn mynd i siarad am.
Ond efallai nad yw'r offeryn gorau am wybodaeth sensitif.
>> Ar gyfer y gallem eisiau defnyddio rhywbeth a elwir yn $ _POST,
sef Amrywiol Super Byd-eang arall.
Mae'n amrywiaeth cysylltiadol arall.
Felly mae'n gweithio 'n bert lawer yn union yr un fath ag GET.
Ac eithrio, yn hytrach na echdynnu gwybodaeth gan yr URL,
mae'n ei wneud rhywbeth drwy penawdau HTTP.
Felly yn cofio o'n 'n fideo ar HTTP, buom yn siarad
am sut y porwyr, gweinyddwyr, a chleientiaid yn cyfathrebu.
A gwybodaeth yn cael ei throsglwyddo yn ôl ac ymlaen mewn penawdau HTTP.
>> Gyda $ _POST, gwybodaeth yn nodweddiadol a anfonwyd drwy penawdau HTTP hynny.
A byddwn yn fwyaf cyffredin yn gweld $ _POST mewn cyd-destun cyflwyno ffurflenni HTML.
Gallwch barhau i ddefnyddio ffurflenni HTML i gyflwyno pethau i'w GET.
Ond maen nhw'n eu defnyddio fel arfer yng nghyd-destun POST.
>> Felly dyma enghraifft o ffurflen HTML.
Nawr rydym wedi gweld hyn o'r blaen, ond mae gennym Ni welwyd y rhan, gweithredu = "post.php".
Felly, pan fyddwn yn siarad am ffurflenni yn y cyd-destun HTML, roedd gen botwm Anfon.
Ac os ydych yn cofio, byddwn i'n chliciwch Cyflwyno ac yna bydd y dudalen yn unig hadnewyddu,
nid oedd yn gwneud unrhyw beth.
>> Yn yr achos hwn, rwy'n cyflwyno beth bynnag rwyf deipio yn y ffurflen hon,
i ffeil PHP o'r enw post.php.
Ac, mae'n debyg, y ffordd rydw i'n ei wneud fod yn y ffurflen hon yn cael ei ddefnyddio'r dull POST.
Felly pob darn o wybodaeth fy mod yn teipio i mewn i ffurflen hon
yn cael ei gyflwyno drwy'r penawdau HTTP.
>> Bydd ar gael yn post.php, oherwydd dyna y camau fy ffurflen.
Bydd ar gael drwy fynd i $ _POST.
Ac i bob golwg, mae'r ffordd y gallaf cael o bob elfen unigol
gyda'r amrywiaeth cysylltiadol yw gyda briodoledd hon,
y Enw priodoledd ein tagiau mewnbwn.
>> Felly, mae'n debyg y gallaf ei ddweud $ _POST sgwâr cromfachau enwi i gael beth bynnag y defnyddiwr
teipio yn y maes cyntaf.
A $ _POST cyfrinair, o wythnos yn hytrach, i fynd ar ba bynnag y defnyddiwr deipio
yn yr ail maes.
>> Felly, gadewch i ni edrych ar dros hyn mewn IDE CS50.
Felly dyma ni, ac byddaf chwyddo i mewn am eiliad.
Ac mae gennym ffeil o'r enw post.html.
Yr wyf yn clicio ar post.html.
Ar y top yma gen i ffurflen ar y we syml iawn.
Mae'n y ffurflen rydym yn unig yn gweld ar y sleid eiliad yn ôl.
>> Gallaf deipio, Doug, a gallaf teipio fy nghyfrinair, yr ydym i gyd
wybod yw squadgoals.
A mi daro Anfon.
Ac i bob golwg, fod cyflwyno i post.php.
A dwi'n ôl pob golwg argraffu hynny.
Felly dw i'n cael gwared ar yr holl diogelwch bod SWYDD rhoi i mi at jyst argraffu
yr enw defnyddiwr a chyfrinair.
>> Enw'r defnyddiwr yw Doug.
Cyfrinair y defnyddiwr yn squadgoals.
Sut oedd i wneud hyn?
Wel, galwch draw i IDE eto am eiliad.
Byddwn yn sgroliwch i lawr i gymryd Edrychwch ar post.php, a oedd yn
y camau a ddefnyddiais i gyflwyno yma.
Dyna oedd y weithred o fy ffurflen HTML.
A dyna'r cyfan rwy'n ei wneud.
Enw'r defnyddiwr yw, ac rwy'n argraffu allan y cynnwys $ _POST "enw".
Ac yna cyfrinair y defnyddiwr yw $ _POST "cyfrinair".
Felly cefais y wybodaeth honno drwy gyflwyno'r ffurflen HTML.
A gallaf yn awr echdynnu gan ddefnyddio $ _POST oherwydd bod y dull Roeddwn i'n arfer i drosglwyddo
data gyda y ffurflen oedd y dull POST.
>> Nawr mae'n debyg nad felly great-- Rydw i'n mynd
i fynd yn ôl am ail i'n Yma-- set
yn ôl pob tebyg nid yw mor fawr os wyf cyflwyno gwybodaeth gyda POST,
sydd yn ôl pob golwg yn fwy diogel.
Mae'n debyg nad mor fawr os ydw i'n gwneud hynny ac yna
argraffu cyfrinair y defnyddiwr.
Mae'n i fod i fod yn fwy diogel.
>> OK, ond nid yw'n gwbl ddiogel.
Ac felly yn yr ychydig snippet yma yr wyf am
i ddim ond tynnu eich sylw at rai pryderon diogelwch data, dim ond rhywbeth
i feddwl amdano fel eich bod yn gweithio neu ddefnyddio'r rhyngrwyd.
Mae hyn yn unig rhywbeth i'w ystyried.
>> Dywedais wrthych bod y wybodaeth yn a gyflwynwyd drwy penawdau HTTP
pan fyddwch yn defnyddio'r dull POST.
Sy'n golygu nad ydynt yn gwbl ddiogel.
Maent yn fwy anodd i ddod o hyd na gan ddefnyddio'r dull GET, lle
'i' yn iawn yn yr URL.
Ond mae dal i fod yn ffordd o ddod o hyd iddo.
Ac yr wyf am ddangos chi hyn er mwyn i chi efallai
yn dechrau meddwl am hyn fel eich bod yn gweithio, neu ddefnyddio
gwefannau a chyflwyno cyfrineiriau, ac efallai gan ddefnyddio
yr un cyfrinair mewn llawer o wahanol leoedd.
Gwybod bod yn yn dal i fod mewn gwirionedd yn 'n bert hawdd i gael gwybod cyfrinair rhywun.
>> Ac felly dyma, dw i'n mynd i fynd i'r post2.html.
A'r gwahaniaeth gyda post2.html ac post2.php yn eithaf cynnil.
Y gwahaniaeth yn unig nad wyf yn argraffu
y cyfrinair pan fyddaf yn cyflwyno'r ffurflen.
>> Felly dw i'n mynd i deipio, Doug.
Ac yr wyf i'n mynd i deipio i mewn, squadgoals, hyd yn oed
er ein bod yn gwybod bod yn y cyfrinair.
Cyn i mi gyflwyno'r yn ffurfio fodd bynnag, dw i'n mynd
i agor Offer Datblygwr, dim ond i dangos i chi beth sy'n mynd i ddigwydd yma.
Felly, yn Chrome, Im 'jyst yn mynd i daro F12.
Ac mae hynny'n mynd i agor fy Offer Datblygwr ar yr ochr dde.
Nid wyf wedi cyflwyno ffurflen hyd yn hyn.
Nawr rydw i'n mynd i daro Cyflwyno ar fy ffurflen.
Ac i bob golwg, yr wyf yn gwneud ffonio i, neu yr wyf yn gwneud cais
i post2.php, sy'n gwneud synnwyr.
Rydw i'n mynd i glicio ar hynny.
>> Yna, dros yma, dw i'n mynd i glicio ar Headers.
Mae llawer o bethau yn digwydd yma.
Ond os byddaf yn sgroliwch i lawr at y iawn gwaelod, rhybudd i'r dde there-- fy nghalendr
wedi blocio ei gyfer hawl second-- yno ar y gornel isaf iawn,
name-- Doug, squadgoals pw--.
Felly, hyd yn oed er fy mod yn defnyddio'r POST dull, sy'n fwy diogel,
dim ond fod yn ymwybodol bod pan fyddwch yn gwneud hynny, ydych yn dal i drosglwyddo gwybodaeth
drwy HTTP.
A gall fod yn dal i fod yn dod o hyd gan wrthwynebwr.
'I' jyst yn rhywbeth rydym yn mynd i gael i ddelio â dweud y gwir.
Efallai mae rhai ffyrdd i amgryptio ein cyfrineiriau cyn i ni eu hanfon drosodd,
a fyddai'n well, sydd Dydw i ddim yn ei wneud yma.
>> Ond dim ond fod yn ymwybodol bod y POST Mae gan ddull gyfyngiadau hefyd.
Mae'n welliant dros GET mewn ran bod yn gweld ar unwaith.
Ond nid yw'n ateb cyflawn.
Felly dyma enghraifft o cyflym yn y cartref ymarfer
y gallwch eu defnyddio i gael rhywfaint o ymarfer gweithio gyda PHP.
Creu y pâr canlynol o dudalennau gwe.
Dylai'r cyntaf yn unig fod yn syml iawn ffurfio gyda maes unigol a Submit
botwm.
Felly yn debyg iawn i'r hyn yr ydym yn unig oedd gyda post.html.
>> Ac yna yr ail ffeil dylech greu
yn ffeil, ffeil PHP, bod yn disgwyl mewnbwn, drwy POST,
ac yn seiliedig ar yr hyn y defnyddiwr deipio, a oedd yn gallwch gymryd yn ganiataol y bydd yn gyfanrif.
Nid oes rhaid i chi wneud unrhyw gwirio gwall neu debyg.
Gallwch gymryd yn ganiataol y defnyddiwr Bydd deipio gwerth cyfanrif,
neu rywbeth fel dehongli gan PHP fel cyfanrif, i mewn y ffurflen honno.
'Ch jyst angen i greu n gan dabl n lluosi.
>> Felly, os bydd y defnyddiwr yn cyflwyno 10, rydym am cael dabl 10 o 10 lluosi.
Os bydd y defnyddiwr yn cyflwyno 12, rydym am tabl 12 erbyn 12 lluosi.
Yn union fel y gallwch weld beth rydym yn gyrru ar fan hyn,
byddwn yn edrych ar ffeil hwn yn fy IDE.
>> Felly dyma yn IDE, yr wyf wedi mult_form.html.
'N annhymerus' ei glicio.
Y cyfan yr wyf am ei wneud yw cyflwyno gwerth.
Math o bob 10, taro Anfon.
Ac i bob golwg, mult_table.php, a oedd yn gallwn weld ar y brig yno yn y URL,
Im 'yn creu 10 o 10 tabl lluosi.
>> Os byddaf yn teipio 15 a tharo Cyflwyno, yn awr yr wyf yn cael tabl 15 o 15 lluosi.
Im ', wrth gwrs, nid mynd i ddangos i chi gynnwys y mult_table.php,
oherwydd byddai hynny'n cymryd yr hwyl allan o hyn ar ymarfer gartref.
Ond mae'n ffordd wych o gael rhywfaint o ymarfer gweithio gyda dolenni PHP
a POST, yn syml iawn, gobeithio, Enghraifft rhad ac am ddim straen, dim ond
i wneud ychydig o ymarfer.
Ac mae gen i ychydig o CSS yn mynd ymlaen yma i wneud fy mwrdd unigol
celloedd unig fath o pop oddi ar ychydig bach ac yn edrych ychydig yn fwy
fel tabl lluosi, yn hytrach na dim ond anfon neges destun yn unig
math o eistedd yno.
Mae'r super byd-eang olaf byddwn yn siarad am yn y fideo hwn yn cael ei rhywbeth o'r enw
$ _SESSION.
Ac efallai mae hyn mewn gwirionedd yr enghraifft orau o rywbeth
byddem yn ystyried byd-eang.
Mae'n arae arall.
Mae'n amrywiaeth cysylltiadol arall.
Ond mae'n hygyrch drwy bob Ffeil PHP sy'n bodoli ar ein system.
>> Nid oes rhaid i ni gyflwyno Gwybodaeth un dudalen ar y tro
fel rydym yn ei wneud gyda GET a gyda POST.
Mae bob amser yno.
Ac felly mae hyn yn wych ar gyfer dudalen lle rydych wedi mewngofnodi, er enghraifft,
a'ch bod am eich gwybodaeth mewngofnodi i barhau o dudalen i dudalen i dudalen.
>> Alli jyst ddechrau sesiwn ac yna Defnyddiwch $ _SESSION i achub pethau fel
enw'r defnyddiwr, neu'r defnyddiwr Gwybodaeth ID, ac yn y blaen.
A bydd y wybodaeth honno yn aros yn $ _SESSION Hyd nes y byddwch yn dinistrio y sesiwn
ychydig yn nes ymlaen.
>> Ysgrifennu gwefannau deinamig gyda PHP yn eu gwneud yn llawer gwell.
Mae eich safleoedd yn dod iawn deinamig, ac nid ydych yn ei wneud
rhaid gwneud gormod mwy na'r hyn chi fyddai fel arall wedi gwneud dim ond
wneud hynny gyda HTML.
Ond mae angen ymarfer, llawer o ymarfer.
>> Rydych eisoes yn gwybod sut i weithio gyda C, ac felly nid neidio i PHP yn rhy anodd.
Beth yw efallai ychydig ychydig yn anodd yn gweithio
gyda'r syniad newydd o GET a POST, ac efallai gymysgu eich HTML a'ch PHP
gyda'i gilydd.
Ond hefyd fod yn ymwybodol bod y rhyngrwyd yn ystorfa helaeth o wybodaeth.
A dogfennaeth PHP ar gael mewn llawer man, ond efallai y rhan fwyaf o
canonically ar php.net.
A gallwch ddod o hyd i yno, llawer o wahanol swyddogaethau,
ac yn defnyddio achosion, ac enghreifftiau ar enghreifftiau, ar enghreifftiau.
Ble os ydych am roi cynnig a ffigur gwybod sut i wneud rhywbeth, groes yn,
Mae'n debyg rhywun wedi gwneud hyn o'r blaen chi.
A gallwch eu defnyddio fel ysbrydoliaeth i weithredu beth bynnag
yr ydych yn ceisio ei weithredu hefyd.
>> Rwy'n Doug Lloyd.
Mae hyn yn CS50.