1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Felly yn ein 'n fideo ar PHP cystrawen, 3 00:00:07,620 --> 00:00:10,480 buom yn siarad llawer am sut PHP gellir ei ddefnyddio yn y llinell orchymyn 4 00:00:10,480 --> 00:00:13,620 i gynnal rhaglenni mewn modd sy'n rydym yn eithaf gyfarwydd â oddi wrth C. 5 00:00:13,620 --> 00:00:15,370 Ond fel y soniais hefyd yn y fideo, PHP 6 00:00:15,370 --> 00:00:19,572 Datblygwyd y dechrau i gweithredu rhaglenni ar y we, gwefannau. 7 00:00:19,572 --> 00:00:21,780 Ac felly yn y fideo hwn rydym yn mynd i siarad am sut yr ydym 8 00:00:21,780 --> 00:00:23,890 defnyddio PHP yng nghyd-destun datblygu'r we. 9 00:00:23,890 --> 00:00:26,360 >> Rydym yn gwybod, yn barod, o ein fideo ar HTML, 10 00:00:26,360 --> 00:00:29,820 bod gwefannau yn cael eu hadeiladu allan o set o dagiau HTML 11 00:00:29,820 --> 00:00:32,850 sy'n diffinio semantig strwythur tudalen ar y we. 12 00:00:32,850 --> 00:00:35,910 Ond gwefannau sy'n cael eu adeiladwyd gyda HTML pur 13 00:00:35,910 --> 00:00:39,510 yn dioddef o iawn, cyfyngiad difrifol iawn. 14 00:00:39,510 --> 00:00:42,690 >> Ac i ddangos cyfyngiad hwn, gadewch i ni ystyried y canlynol. 15 00:00:42,690 --> 00:00:45,665 Felly, yn awr yr wyf am adeiladu dudalen ar y we hynny, pryd bynnag y defnyddiwr ymweliadau iddo, 16 00:00:45,665 --> 00:00:49,760 mae'n rhoi i mi ar hyn o bryd amser yng Nghaergrawnt, Mass., 17 00:00:49,760 --> 00:00:52,620 arddangos tan y funud diweddaraf. 18 00:00:52,620 --> 00:00:57,910 Os byddaf yn gwneud hyn ar hyn o bryd, Efallai fy mod yn dweud rhywbeth fel hyn. 19 00:00:57,910 --> 00:01:01,330 Amser ar hyn o bryd yn Cambridge-- felly mae gen i Tagiau HTML, tagiau pen, tagiau teitl, 20 00:01:01,330 --> 00:01:04,610 corff tags-- y presennol amser yng Nghaergrawnt yn 14:08, 21 00:01:04,610 --> 00:01:06,690 argraffu amser milwrol. 22 00:01:06,690 --> 00:01:11,390 >> Beth fydd yn digwydd os yw'n bellach yn 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Dda hyd yn hyn, gyda HTML, mae gen i i fynd i mewn a newid i 14:09. 24 00:01:16,470 --> 00:01:19,390 Ac yna un munud yn ddiweddarach, Rhaid i mi newid eto. 25 00:01:19,390 --> 00:01:22,132 Ac yna un munud yn ddiweddarach, Rhaid i mi newid eto. 26 00:01:22,132 --> 00:01:24,590 Ac fel y gallwch ddychmygu, mae hynny'n Mae'n debyg y swydd waethaf erioed. 27 00:01:24,590 --> 00:01:29,420 Rydych yn y gwefeistr ar gyfer tudalen we, a bob munud, 24 awr y dydd, 28 00:01:29,420 --> 00:01:35,970 angen i chi ddiweddaru o bryd gan llaw agor time.html a newid 29 00:01:35,970 --> 00:01:41,750 dim ond bod snippet o cod a dweud y amser presennol mewn oriau a munudau. 30 00:01:41,750 --> 00:01:45,850 Dyw hynny ddim yn ôl pob tebyg yn iawn defnydd da o'n hadnoddau, 31 00:01:45,850 --> 00:01:48,880 dynol ac chyfrifiannol. 32 00:01:48,880 --> 00:01:51,297 >> Gwefannau sydd i gyd HTML yn gwbl sefydlog. 33 00:01:51,297 --> 00:01:53,630 Yr unig ffordd y gallwch roi'r wybodaeth ddiweddaraf cynnwys, fel yr ydym ni newydd ei weld, 34 00:01:53,630 --> 00:01:56,339 yw agor ffynhonnell y rheini â llaw ffeiliau, golygu nhw, a'u cadw. 35 00:01:56,339 --> 00:01:58,088 Ac yna pan fydd y defnyddiwr adnewyddu y dudalen, 36 00:01:58,088 --> 00:02:01,080 neu'n ymweld â'r dudalen ar gyfer y cyntaf amser, byddant yn cael y cynnwys diweddaraf. 37 00:02:01,080 --> 00:02:03,970 Ond dim ond oherwydd ein bod i wedi golygwyd llaw. 38 00:02:03,970 --> 00:02:07,980 >> Os byddwn yn dechrau i gymysgu rhywfaint o PHP i mewn 'na, Gall ein cod yn cael llawer mwy hyblyg. 39 00:02:07,980 --> 00:02:11,940 A gallwn gael ffordd ar gyfer ein tudalennau i fod yn ddeinamig, neu ddiweddaru eu hunain, 40 00:02:11,940 --> 00:02:15,360 heb fod angen ein gwael gwefeistr yn yr enghraifft flaenorol 41 00:02:15,360 --> 00:02:16,662 i fod â llaw diweddaru pethau. 42 00:02:16,662 --> 00:02:17,870 Gallant wneud yn awtomatig. 43 00:02:17,870 --> 00:02:19,130 Nid oes rhaid i ni ymyrryd. 44 00:02:19,130 --> 00:02:20,410 Gallwn ni gael rhywfaint o gwsg. 45 00:02:20,410 --> 00:02:24,850 Pa yn ôl pob tebyg yn beth da os eich bod yn gwneud llawer o raglenni ar y we. 46 00:02:24,850 --> 00:02:28,360 >> Felly, yn CS50 IDE, rydym yn cynnal weinydd y we o'r enw Apache. 47 00:02:28,360 --> 00:02:35,250 Mae'n ddefnyddir yn gyffredin iawn, ffynhonnell agored system gweinydd gwe. 48 00:02:35,250 --> 00:02:37,320 Mae'r system hon sydd â'r gallu i ddehongli 49 00:02:37,320 --> 00:02:41,260 PHP, sydd yn mynd i fod yn ddefnyddiol os rydych am ei wneud unrhyw raglennu PHP. 50 00:02:41,260 --> 00:02:45,230 >> Ac yn IDE CS50, mae gennym gorchymyn i wneud hyn yn hawdd iawn i'w wneud, 51 00:02:45,230 --> 00:02:47,280 apache50 cychwyn. 52 00:02:47,280 --> 00:02:49,445 Ac yna y slaes llwybr, slaes i, slaes 53 00:02:49,445 --> 00:02:53,350 dir, bod yn unig yn ffordd wirioneddol gyffredin o gan nodi hyn rydych wedi bennir yma 54 00:02:53,350 --> 00:02:56,510 yn llwybr i neilltuol cyfeiriadur yr ydych yn 55 00:02:56,510 --> 00:03:00,800 am fod y gwreiddyn safle, neu'r dudalen gwraidd, 56 00:03:00,800 --> 00:03:05,430 neu ffolder lle eich gweinydd gwe Bydd yn dechrau archwilio ffeiliau ac yn gwasanaethu 57 00:03:05,430 --> 00:03:07,850 hwy i fyny i gleientiaid sy'n gofyn amdanynt. 58 00:03:07,850 --> 00:03:12,110 Felly gadewch i ni alw yn CS50 IDE, dim ond i dangos i chi, mewn gwirionedd cyflym, sut mae hyn yn gweithio. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Felly dyma yn IDE CS50, ydw i mewn cyfeiriadur o'r enw Wythnos Sero Naw. 61 00:03:36,240 --> 00:03:38,890 Ac yr wyf wedi two-- gen i ddienyddio feistrolaeth LS yn unig 62 00:03:38,890 --> 00:03:41,910 uchod i ddangos eich bod gen i dau cyfeiriaduron mewn yma, PHP, 63 00:03:41,910 --> 00:03:46,410 sef y gyfres o ffeiliau a ddefnyddiais mewn y fideo cystrawen PHP, ac yna PHP-we, 64 00:03:46,410 --> 00:03:49,380 sef y gyfres o ffeiliau yr wyf Byddai hoffi defnyddio yn y fideo hwn. 65 00:03:49,380 --> 00:03:53,480 >> A hoffwn i ddechrau yn enghraifft gweinydd gwe 66 00:03:53,480 --> 00:03:59,089 â chynnwys y ffolder PHP-we gan fod y ffeiliau yn cael eu gwasanaethu i fyny. 67 00:03:59,089 --> 00:04:00,130 Felly, beth ydw i'n mynd i wneud? 68 00:04:00,130 --> 00:04:05,710 Yr wyf yn mynd i deipio apache50 gofod cychwyn, PHP gofod, ar y we dash. 69 00:04:05,710 --> 00:04:08,100 Dyna'r llwybr i'r cyfeiriadur o lle yr wyf ar hyn o bryd. 70 00:04:08,100 --> 00:04:09,127 Yna mi daro Chofnoda. 71 00:04:09,127 --> 00:04:10,960 Mae'n mynd i wneud ychydig bach o bethau fan hyn. 72 00:04:10,960 --> 00:04:14,030 Ac yna mae'n mynd i ddweud, Dechreuodd Apache yn llwyddiannus. 73 00:04:14,030 --> 00:04:20,689 Eich safle ar gael at-- nawr ac Yna mae y URL ar gyfer y safle. 74 00:04:20,689 --> 00:04:21,730 Felly, beth ydw i'n mynd i wneud? 75 00:04:21,730 --> 00:04:26,234 Rydw i'n mynd i gopïo hyn yn gyflym. 76 00:04:26,234 --> 00:04:28,900 Ac yr wyf i'n mynd i agor up-- a 'N annhymerus' chwyddo allan ychydig Yma-- 77 00:04:28,900 --> 00:04:31,570 Rydw i'n mynd i agor tab newydd yn Chrome. 78 00:04:31,570 --> 00:04:34,320 Ac yr wyf i'n mynd i ymweld â'r URL. 79 00:04:34,320 --> 00:04:35,299 >> Rydw i'n mynd i daro Chofnoda. 80 00:04:35,299 --> 00:04:36,090 Mae'n mynd i lwytho. 81 00:04:36,090 --> 00:04:37,510 A byddaf chwyddo allan eto. 82 00:04:37,510 --> 00:04:41,350 A gallwn weld yma yn y cynnwys fy cyfeiriadur gwe PHP. 83 00:04:41,350 --> 00:04:45,290 >> Felly nawr hyn sy'n digwydd yn y bôn yma yw, mae fy achos o CS50 IDE 84 00:04:45,290 --> 00:04:49,620 yn gwasanaethu i fyny ffeiliau hyn at unrhyw un sy'n gofyn amdanynt. 85 00:04:49,620 --> 00:04:51,620 Ac yn ystod y fideo hwn, byddwn yn didoli o 86 00:04:51,620 --> 00:04:55,400 yn edrych ar griw o'r rhain gwahanol ffeil mewn cyd-destun. 87 00:04:55,400 --> 00:04:57,614 >> I brofi bod eich Apache gweinydd yn gweithio, 88 00:04:57,614 --> 00:04:59,780 sydd yn mynd yn gyffredinol i fod yn wir yn CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 ond os byddwch yn gwneud hyn yn fwy cyffredinol, a'ch bod yn dechrau adeiladu eich gwe eich hun 90 00:05:02,696 --> 00:05:04,990 gweinyddwyr, mae 'na' n sylweddol math cyffredin o analog i, 91 00:05:04,990 --> 00:05:08,500 "Helo byd," sydd fel arfer a ddefnyddir ar gyfer datblygu ar y we PHP. 92 00:05:08,500 --> 00:05:12,855 Pa un yw cael ffeil sy'n cynnwys dim ond code-- hwn 93 00:05:12,855 --> 00:05:18,247 yn amffinydd PHP gosod gyda info PHP, cromfachau, hanner colon yn y canol. 94 00:05:18,247 --> 00:05:20,580 Pa un yn y bôn yn arbennig Swyddogaeth PHP sy'n dweud wrthych 95 00:05:20,580 --> 00:05:23,970 pa fersiwn o PHP ydych yn rhedeg. 96 00:05:23,970 --> 00:05:26,850 >> Felly, yn CS50 IDE, yr wyf wedi hynny ffeil sydd ar gael yn unig 97 00:05:26,850 --> 00:05:28,680 i ddangos i chi beth fyddai hyn yn edrych. 98 00:05:28,680 --> 00:05:32,860 Felly rwy'n edrych ar fy mynegai o fy enghraifft PHP. 99 00:05:32,860 --> 00:05:35,870 Mae fy achos Apache yn rhedeg cynnwys y PHP-We. 100 00:05:35,870 --> 00:05:39,290 Ac mae gen i ffeil o'r enw yma info.php. 101 00:05:39,290 --> 00:05:41,164 >> Rydw i'n mynd i glicio arno, chwyddo allan. 102 00:05:41,164 --> 00:05:43,080 Mae hyn yn yr hyn yr ydych chi'n mynd i weld, 'n bert lawer. 103 00:05:43,080 --> 00:05:45,729 Dim ond hyn yn dweud wrthyf fod fy gweinyddwr Apache yn gweithio. 104 00:05:45,729 --> 00:05:48,270 Ac mae hyn yn, yn ôl pob golwg, mae'r fersiwn o'r PHP fy mod i'n rhedeg. 105 00:05:48,270 --> 00:05:51,590 Dyma fy analog i "helo byd." 106 00:05:51,590 --> 00:05:53,070 >> Felly, yr wyf yn gwybod pethau yn weithredol. 107 00:05:53,070 --> 00:05:54,150 Felly, rydym yn dda i fynd. 108 00:05:54,150 --> 00:05:55,730 Gallwn fynd ymlaen o'r fan hon. 109 00:05:55,730 --> 00:05:57,790 >> Felly gadewch i ni edrych eto ar hynny enghraifft amser roeddem 110 00:05:57,790 --> 00:06:01,950 siarad am â'n gwefeistr gwael a oedd wedi i ddiweddaru'r dudalen gyson. 111 00:06:01,950 --> 00:06:05,020 Gallai hyn fod yn ateb ar gyfer sut y Byddwn yn gweithredu pethau 112 00:06:05,020 --> 00:06:08,080 fel na fydd y gwefeistr wnaeth rhaid cadw diweddaru'r pryd. 113 00:06:08,080 --> 00:06:10,270 Byddai'n jyst fath o digwydd yn awtomatig. 114 00:06:10,270 --> 00:06:13,710 >> Mae'r lawr isod, mae'r HTML, 'i' 'n bert tebyg, gydag un eithriad. 115 00:06:13,710 --> 00:06:16,720 Ond yma gen i PHP ar y brig. 116 00:06:16,720 --> 00:06:19,940 Yr wyf, mae'n debyg, gelwir hyn date_default_timezone_set swyddogaeth. 117 00:06:19,940 --> 00:06:22,106 >> Ac nid ydym yn sôn am yr holl swyddogaethau hyn yn CS50, 118 00:06:22,106 --> 00:06:24,670 oherwydd yn ôl pob tebyg PHP wedi degau o filoedd. 119 00:06:24,670 --> 00:06:27,540 Gallai hynny fod yn dipyn o gor-ddweud, ond nid y gallai fod. 120 00:06:27,540 --> 00:06:29,490 Mae wedi cael llawer o swyddogaethau a adeiladwyd yn. 121 00:06:29,490 --> 00:06:33,290 Ac felly mae hyn yn swyddogaeth yn ôl pob golwg yn gosod fy parth amser fel UD / Dwyrain, 122 00:06:33,290 --> 00:06:36,320 sef y parth amser fy mod yn Ar hyn o bryd wrth wneud y fideo. 123 00:06:36,320 --> 00:06:38,430 >> Yna mi wneud galwad i swyddogaeth o'r enw, dyddiad. 124 00:06:38,430 --> 00:06:43,850 Ac, yn ôl pob golwg, rwy'n storio'r EI o rywbeth o'r enw, amser. 125 00:06:43,850 --> 00:06:45,320 Felly beth sy'n mynd ymlaen fan hyn? 126 00:06:45,320 --> 00:06:48,040 >> Wel, yn y bôn yr hyn sydd digwydd yw, fy mod yn gwneud galwad 127 00:06:48,040 --> 00:06:51,650 i ryw weinydd sy'n mynd i ddweud wrthyf beth yr amser ar hyn o bryd yn. 128 00:06:51,650 --> 00:06:56,150 A dwi'n trosi i fformat o oriau, munudau, eiliad. 129 00:06:56,150 --> 00:07:00,540 A'r rheswm mae'n cyfalaf H yn hyn yn mynd i roi amser 24 awr mi, nid 12 130 00:07:00,540 --> 00:07:02,362 amser awr, a fyddai'n llythrennau bach f. 131 00:07:02,362 --> 00:07:04,570 Ac Im 'jyst yn storio bod mewn newidyn enw, amser. 132 00:07:04,570 --> 00:07:07,028 Fel bod ail linell PHP yno, yr alwad i'r swyddogaeth, 133 00:07:07,028 --> 00:07:09,037 Hyd yn hyn, dim ond cael rhywfaint llinyn, sef 134 00:07:09,037 --> 00:07:12,120 mynd i roi dyddiad i mi, a'r amser, a bagad o wybodaeth arall. 135 00:07:12,120 --> 00:07:16,480 Ac mae'r ddadl gyntaf yno, bod EI, yn unig yw echdynnu'r rhan bwysig 136 00:07:16,480 --> 00:07:20,614 fy mod yn poeni am er enghraifft hon, sef y awr, munud, a'r ail. 137 00:07:20,614 --> 00:07:22,030 Felly dyna yr holl sy'n digwydd. 138 00:07:22,030 --> 00:07:23,562 Felly yr wyf yn storio fod mewn $ amser amrywiol. 139 00:07:23,562 --> 00:07:25,270 Ac yna i lawr ar y iawn gwaelod yno, yr wyf yn 140 00:07:25,270 --> 00:07:28,980 gael y llaw-fer ar gyfer argraffu'r hyn o bryd. 141 00:07:28,980 --> 00:07:32,050 Felly, Im 'jyst yn mynd i'r wasg beth yr amser presennol yw. 142 00:07:32,050 --> 00:07:37,220 >> Felly, gadewch i ni edrych ar hyn mewn IDE CS50 a gweld sut yr ydym yn awr yn 143 00:07:37,220 --> 00:07:40,002 gan arbed y gwefeistr llawer o drafferth. 144 00:07:40,002 --> 00:07:42,570 Mae pob hawl, felly dyma fi eto yn ôl ar y cyfeiriadur gwraidd 145 00:07:42,570 --> 00:07:45,040 fy achos Apache. 146 00:07:45,040 --> 00:07:51,585 Ac mae gen i ffeil yma o'r enw time.php. 147 00:07:51,585 --> 00:07:53,559 Im 'jyst yn mynd i glicio ar hynny. 148 00:07:53,559 --> 00:07:55,850 A byddaf sgrolio i fyny, oherwydd rydym yn chwyddo i mewn 'n bert lawer. 149 00:07:55,850 --> 00:07:57,257 Mae'r amser presennol yw 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Felly, rwy'n ei wneud ei oriau, munud, ac eiliadau. 151 00:07:59,090 --> 00:08:01,910 A gallaf adnewyddu'r dudalen a chael amser newydd. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Rydw i'n mynd i adnewyddu'r dudalen ac yn cael amser newydd, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Felly, yr wyf yn amlwg nad newid unrhyw beth fy hun. 155 00:08:10,490 --> 00:08:11,720 Im 'yn fan hyn adnewyddu'r dudalen. 156 00:08:11,720 --> 00:08:13,711 Felly, ni allaf fod yn ôl yno ei olygu. 157 00:08:13,711 --> 00:08:15,710 Ac yr wyf yn addo i chi, nid wyf yn ei wneud os oes gennych unrhyw cydymdeithion 158 00:08:15,710 --> 00:08:18,230 sy'n golygu y ffeil ar fy rhan ar yr ochr. 159 00:08:18,230 --> 00:08:21,260 >> Im 'jyst yn defnyddio'r swyddogaeth PHP, amser, i gynhyrchu'r amser i mi 160 00:08:21,260 --> 00:08:22,340 yn awtomatig. 161 00:08:22,340 --> 00:08:24,800 Felly hyd yn oed os wyf yn cysgu, ac mae fy gweinydd gwe yn rhedeg, 162 00:08:24,800 --> 00:08:28,884 y defnyddiwr sy'n ymweld y dudalen honno yn dal i fod mynd i gael yr union hyn o bryd. 163 00:08:28,884 --> 00:08:29,800 Felly dyna 'n bert da. 164 00:08:29,800 --> 00:08:33,609 Rydw i wedi gwneud fy safle yn fwy deinamig gyda dim gormod cod PHP. 165 00:08:33,609 --> 00:08:36,650 Yr oedd yn ddim ond dwy linell o god ac yna ychydig bach o ddatganiad print. 166 00:08:36,650 --> 00:08:38,441 Ac eisoes mae gen i safle yn llawer mwy deinamig 167 00:08:38,441 --> 00:08:42,750 na hynny enghraifft gyntaf a welsom ar ddechrau'r y fideo. 168 00:08:42,750 --> 00:08:46,660 >> Felly, yn dwyn i gof o'r fideo ar gystrawen PHP pan fydd y cyfieithydd PHP yn rhedeg 169 00:08:46,660 --> 00:08:50,000 ein rhaglen, mae'n anwybyddu popeth nid yw hynny'n tu mewn amffinyddion PHP, 170 00:08:50,000 --> 00:08:51,500 poeri allan. 171 00:08:51,500 --> 00:08:54,410 Yn yr enghraifft honno, yr hyn y mae'r peth ei fod yn poeri allan yn HTML. 172 00:08:54,410 --> 00:08:58,080 Ac mae hyn yn golygu y gallaf yn awr intersperse HTML a PHP gyda'i gilydd. 173 00:08:58,080 --> 00:09:01,920 Oherwydd bod y cyfieithydd fydd yn unig anwybyddu'r HTML ac yn llythrennol allbwn iddo. 174 00:09:01,920 --> 00:09:04,140 Pa yn dda, dde? 175 00:09:04,140 --> 00:09:06,100 >> Oherwydd yn ôl pob tebyg, ar ddiwedd y dydd, 176 00:09:06,100 --> 00:09:08,360 Hoffwn i fy safle yn cael ei adeiladu o HTML. 177 00:09:08,360 --> 00:09:12,880 Er mwyn i unrhyw borwr gwe dehongli y peth, neu ddeall y HTML ar y dudalen 178 00:09:12,880 --> 00:09:17,270 ac yn ei gwneud yn fel rhywbeth yr ydym Gall mewn gwirionedd yn deall fel bodau dynol. 179 00:09:17,270 --> 00:09:19,430 Ac ni allaf ond ddefnyddio PHP ar gyfer y rhannau o fy safle 180 00:09:19,430 --> 00:09:23,390 y gofyn am ddynamiaeth, sy'n ei gwneud yn ofynnol i mi i gael pethau sy'n rhoi'r wybodaeth ddiweddaraf yn gyson. 181 00:09:23,390 --> 00:09:26,630 Mae'r wybodaeth statig Gall aros yr un fath. 182 00:09:26,630 --> 00:09:27,540 >> Iawn, felly mae hynny'n iawn. 183 00:09:27,540 --> 00:09:28,540 Ond byddai pam yr wyf yn gwneud hyn? 184 00:09:28,540 --> 00:09:30,400 Pam fyddwn i gymysgu HTML a PHP? 185 00:09:30,400 --> 00:09:33,850 Gallai Fi jyst argraffu'r holl HTML, gan ddefnyddio'r swyddogaeth print PHP. 186 00:09:33,850 --> 00:09:35,870 Pam nad ydw i'n gwneud hynny? 187 00:09:35,870 --> 00:09:37,100 Meddyliwch am y peth am eiliad. 188 00:09:37,100 --> 00:09:41,220 >> Pam, pryd y gallwn i jyst argraffu out-- wyf Gallai gael llinellau PHP sydd dim ond dweud, 189 00:09:41,220 --> 00:09:43,841 print tag HTML, pennaeth print. 190 00:09:43,841 --> 00:09:44,840 Pam nad ydw i'n gwneud hynny? 191 00:09:44,840 --> 00:09:48,230 Pam ydw i'n cymysgu'r PHP a HTML? 192 00:09:48,230 --> 00:09:50,080 >> Wel, os ydych yn meddwl am y peth am eiliad. 193 00:09:50,080 --> 00:09:52,824 PHP, y cyfieithydd wedi dehongli'r hyn y gwêl. 194 00:09:52,824 --> 00:09:54,990 Ac felly mae'n mynd i gael i weithredu llinell o god. 195 00:09:54,990 --> 00:09:56,450 Argraffwch HTML. 196 00:09:56,450 --> 00:09:57,700 Argraffwch tag pen agored. 197 00:09:57,700 --> 00:09:58,969 Argraffwch tag teitl agored. 198 00:09:58,969 --> 00:10:00,760 Mae'n mynd i gael i gweithredu a dehongli 199 00:10:00,760 --> 00:10:02,671 bod pob un cam o'r ffordd. 200 00:10:02,671 --> 00:10:04,670 Pam na dim ond gadael y cyfieithydd yn unig sglein dros 201 00:10:04,670 --> 00:10:06,878 pethau nad yw'n deall ac yn ei wneud yn awtomatig? 202 00:10:06,878 --> 00:10:11,365 Mae'n mynd i arbed llawer o amser i mi i gymysgu fy HTML ac mae fy PHP gyda'i gilydd. 203 00:10:11,365 --> 00:10:16,220 >> Ac felly dyna pam nad ydym yn ei wneud yn unig wedi amffinydd PHP agored 204 00:10:16,220 --> 00:10:19,450 ac yna dim ond argraffwch y cyfan gynnwys ein dudalen fel un PHP mawr 205 00:10:19,450 --> 00:10:24,330 yn galw i'r swyddogaeth, Print, ac yna amffinydd PHP agos ac rydym yn ei wneud. 206 00:10:24,330 --> 00:10:27,620 Felly dyna pam ein cymysgu i fyny at ei gilydd. 207 00:10:27,620 --> 00:10:32,345 >> Hyd yn hyn, nid ydym wedi gweld gormod o gwahaniaeth o gystrawen PHP cyffredinol. 208 00:10:32,345 --> 00:10:33,720 Mae wedi bod yn eithaf syml. 209 00:10:33,720 --> 00:10:35,553 Rydym eisoes wedi gweld y gofynnod, gyfartal. 210 00:10:35,553 --> 00:10:39,012 Gwelsom un neu ddau o alwadau swyddogaeth newydd, ond dim byd mewn gwirionedd ffansi mynd ymlaen. 211 00:10:39,012 --> 00:10:40,720 Gadewch i ni efallai i ni wneud pethau ychydig yn ffansi. 212 00:10:40,720 --> 00:10:44,360 Beth os ydym am i basio gwybodaeth rhwng gwahanol ffeiliau PHP, 213 00:10:44,360 --> 00:10:47,280 fel y gall hynny efallai y defnyddiwr cyflwyno gwybodaeth i mi. 214 00:10:47,280 --> 00:10:50,230 Ac yna gallwn i wneud rhywbeth ag ef ar dudalen arall. 215 00:10:50,230 --> 00:10:52,990 >> Felly PHP Mae cefnogaeth ar gyfer rywbeth o'r enw Super Byd-eang 216 00:10:52,990 --> 00:10:55,297 Newidynnau, sy'n swnio'n eithaf anhygoel. 217 00:10:55,297 --> 00:10:57,130 Maent yn wir yn unig araeau cysylltiadol mawr 218 00:10:57,130 --> 00:10:59,900 a chyfnertha weithredu hyn ymarferoldeb pasio 219 00:10:59,900 --> 00:11:05,010 gwybodaeth rhwng ffeiliau PHP sy'n yn bresennol ar ein gweinydd gwe. 220 00:11:05,010 --> 00:11:07,760 >> Y cyntaf o super hyn Gelwir newidynnau yn $ _GET. 221 00:11:07,760 --> 00:11:10,140 Ac mae'n debyg mai dyma'r symlaf i'w deall. 222 00:11:10,140 --> 00:11:12,430 Beth fydd yn digwydd gyda $ _GET? 223 00:11:12,430 --> 00:11:16,240 Wel, yn y bôn, mae'r defnyddiwr yn mynd i deipio gwybodaeth ychwanegol 224 00:11:16,240 --> 00:11:18,390 ar ddiwedd ein URLs. 225 00:11:18,390 --> 00:11:21,460 A beth bynnag y maent deipio, gan dybio 'i' fformatio mewn ffordd benodol 226 00:11:21,460 --> 00:11:25,830 Gelwir llinyn ymholiad, sydd ychydig set o barau gwerth allweddol a gwahanu 227 00:11:25,830 --> 00:11:27,810 gan ampersands. 228 00:11:27,810 --> 00:11:32,362 Bydd y rhai parau gwerth allweddol fydd storio mewn $ _GET amrywiaeth cysylltiadol. 229 00:11:32,362 --> 00:11:34,070 Ac o ein fideo ar PHP cystrawen, rydym yn gwybod 230 00:11:34,070 --> 00:11:40,080 sut i weithio gyda araeau cysylltiadol yn barod. 231 00:11:40,080 --> 00:11:44,090 Felly dyma enghraifft o rhai PHP, lle efallai rwy'n 232 00:11:44,090 --> 00:11:50,180 echdynnu pob un o'r barau gwerth allweddol bod y defnyddiwr a gyflenwir yn y URL. 233 00:11:50,180 --> 00:11:51,970 Felly, yr wyf wedi fy amffinydd PHP Agored. 234 00:11:51,970 --> 00:11:53,410 Mae gen i ddolen foreach. 235 00:11:53,410 --> 00:11:57,410 Im 'yn ailadrodd ar draws y Super Array Byd-eang o'r enw $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Ac yr wyf am fod yn gallu cyfeirio at y allweddol a'r gwerth. 237 00:12:00,160 --> 00:12:02,410 A dwi'n unig yn eu argraffu allan, pob un ar ôl pob golwg 238 00:12:02,410 --> 00:12:03,780 ei paragraff tag hunain yma. 239 00:12:03,780 --> 00:12:07,620 Dw i'n argraffu rhai HTML a interpolating gwerthoedd 240 00:12:07,620 --> 00:12:12,900 o allwedd a gwerth i mewn y datganiad hwnnw. 241 00:12:12,900 --> 00:12:16,980 >> Felly, gadewch i ni edrych ar sut mae hyn yn Byddai yn gweithio mewn gwirionedd ar ein IDE. 242 00:12:16,980 --> 00:12:18,980 Ac efallai bydd hyn yn helpu yn dangos ychydig bach 243 00:12:18,980 --> 00:12:21,880 o'r hyn GET yn ei wneud mewn gwirionedd. 244 00:12:21,880 --> 00:12:23,610 Felly rwy'n yn ôl yma yn fy gwraidd ar y we. 245 00:12:23,610 --> 00:12:25,318 A byddaf chwyddo mewn ychydig bach i ddangos i chi 246 00:12:25,318 --> 00:12:28,620 bod gen i ffeil o'r enw, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Felly gadewch i ni glicio ar get1.php. 248 00:12:31,830 --> 00:12:36,600 Ac nid wyf yn gweld unrhyw gynnwys. 249 00:12:36,600 --> 00:12:38,390 Mae hynny'n rhyfedd, dde? 250 00:12:38,390 --> 00:12:39,740 Wel, nid mewn gwirionedd mewn gwirionedd. 251 00:12:39,740 --> 00:12:42,030 Gan nad oeddwn yn cyflenwi unrhyw beth yn y URL. 252 00:12:42,030 --> 00:12:46,270 Rydw i'n mynd i get1.php, ond yr wyf yn Nid oedd gyflenwi unrhyw barau gwerth allweddol 253 00:12:46,270 --> 00:12:47,450 fel rhan o fy llinyn ymholiad. 254 00:12:47,450 --> 00:12:50,510 Felly gadewch i ni ychwanegu llinyn ymholiad a gweld beth y gall y ffeil wneud. 255 00:12:50,510 --> 00:12:53,040 >> I ddechrau llinyn ymholiad i chi jyst deipio marc cwestiwn. 256 00:12:53,040 --> 00:13:00,820 Yna efallai y byddaf yn dweud enw = Doug & blwyddyn = 2015. 257 00:13:00,820 --> 00:13:02,914 Ac yna mi daro Chofnoda. 258 00:13:02,914 --> 00:13:04,080 Nawr sylwi ar beth sy'n digwydd. 259 00:13:04,080 --> 00:13:05,480 Rwy'n dal yn get1.php. 260 00:13:05,480 --> 00:13:08,445 Ond yn awr yr wyf i wedi eu cyflenwi parau gwerth allweddol, ac rwy'n 261 00:13:08,445 --> 00:13:14,940 argraffu nhw allan ar eu pen eu hunain enw paragraph--, blwyddyn Doug--, 2015. 262 00:13:14,940 --> 00:13:17,970 Dyna'n union y cod rydym yn unig Gwelodd ar y sleid funud yn ôl. 263 00:13:17,970 --> 00:13:22,290 >> Ac os ydw i eisiau efallai ychwanegu un arall pâr gwerth allweddol, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Erbyn hyn mae gwerth allweddol arall i mi pâr sy'n hargraffu 266 00:13:27,580 --> 00:13:30,025 pan fyddaf yn edrych eto ar y URL eto. 267 00:13:30,025 --> 00:13:31,900 Nawr efallai nad yw hyn yn fformatio ofnadwy yn dda. 268 00:13:31,900 --> 00:13:33,660 Felly mae gen i fersiwn arall o get.php. 269 00:13:33,660 --> 00:13:36,350 Mae'n get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Y gwahaniaeth yn hyn un yw gennyf ffeil CSS, 271 00:13:39,070 --> 00:13:41,690 ac mae'n fformatau bethau ychydig yn fwy 'n glws i mi. 272 00:13:41,690 --> 00:13:43,940 Nid yw'n efallai y mwyaf CSS prydferth yn y byd. 273 00:13:43,940 --> 00:13:45,650 Ond mae'r un ffordd arall o wneud hynny. 274 00:13:45,650 --> 00:13:52,840 Felly, gallaf dal i gael mynediad i fy newidynnau sy'n defnyddio $ _GET. 275 00:13:52,840 --> 00:13:56,610 Ac yn yr achos hwn, Im 'jyst fath o gan wneud y CSS ychydig yn fwy ffansi. 276 00:13:56,610 --> 00:13:58,360 Ac os ydym yn alw yn fy IDE am eiliad, 277 00:13:58,360 --> 00:14:06,870 Byddaf yn dangos i chi yn fy gwe PHP cyfeiriadur yma, get2.php. 278 00:14:06,870 --> 00:14:10,010 Byddwn yn agor i fyny, mae rhai HTML yma. 279 00:14:10,010 --> 00:14:13,220 Mae'n debyg fy mod yn cysylltu yn y Ffeil CSS oeddwn yn siarad am. 280 00:14:13,220 --> 00:14:14,570 Yr wyf yn agor tag tabl. 281 00:14:14,570 --> 00:14:15,970 Ac yna dyma fy ddolen foreach. 282 00:14:15,970 --> 00:14:18,450 >> Yma yw bod, yr hyn yr wyf Dangosodd ar y sleid o'r blaen. 283 00:14:18,450 --> 00:14:21,007 Yr unig wahaniaeth yw fy mod cael yr allwedd hon a gwerth CSS 284 00:14:21,007 --> 00:14:22,340 steilio mod i'n gwneud cais iddo. 285 00:14:22,340 --> 00:14:25,622 Ond dyna i gyd rwy'n ei wneud, yn cael ei dwi'n ailadrodd ar draws $ _GET i gael yr holl 286 00:14:25,622 --> 00:14:26,580 o'r parau gwerth allweddol. 287 00:14:26,580 --> 00:14:28,890 >> A dwi'n eu argraffu fel y bwrdd. 288 00:14:28,890 --> 00:14:33,230 Ac, yn ôl pob golwg, rwy'n fformatio yr allweddi mewn un ffordd, gyda'r 00:14:40,057 Felly mae'n debyg sy'n berthnasol i rai detholydd dosbarth yn fy GET.CSS ffeil CSS. 290 00:14:40,057 --> 00:14:42,890 Ac, yn ôl pob golwg, rwy'n argraffu fy gwerthoedd ffordd gwbl wahanol. 291 00:14:42,890 --> 00:14:45,530 Pa un yw n bert lawer hyn a welsom yma, lle 292 00:14:45,530 --> 00:14:47,710 ein gwerthoedd eu hargraffu gyda chefndir glas, 293 00:14:47,710 --> 00:14:49,969 ac mae ein allweddi eu hargraffu gyda chefndir melyn. 294 00:14:49,969 --> 00:14:52,010 Felly dyna sut yr wyf i'n cael arddulliau gwahanol hynny. 295 00:14:52,010 --> 00:14:54,054 Gan fy mod i'n defnyddio gwahanol ddosbarthiadau CSS. 296 00:14:54,054 --> 00:14:55,470 Ond dyna 'n bert lawer iddo am GET. 297 00:14:55,470 --> 00:14:58,380 Fel Im 'jyst yn tynnu gwybodaeth. 298 00:14:58,380 --> 00:15:01,000 Ac yn yr achos hwn, Im 'jyst argraffu i'r sgrin. 299 00:15:01,000 --> 00:15:04,310 Im 'yn cael ei allan o'r URL, a dyna beth GET yn ei wneud i ni. 300 00:15:04,310 --> 00:15:06,470 >> A ydych yn gweld y bo modd broblem yma er bod? 301 00:15:06,470 --> 00:15:11,720 Pam y byddem efallai Ni angen at arfer $ _GET? 302 00:15:11,720 --> 00:15:15,440 Beth os, efallai, oeddwn yn ei wneud ymholiad hwn? 303 00:15:15,440 --> 00:15:18,000 get3.php --to, yr wyf yn Nid oes rhaid i ar fy IDE. 304 00:15:18,000 --> 00:15:19,640 'I' jyst ffeil damcaniaethol. 305 00:15:19,640 --> 00:15:22,187 Ond yn sylwi yma y mae'n debyg pasio fy nghyfrinair mewn. 306 00:15:22,187 --> 00:15:23,770 Ac efallai fy nghyfrinair yn embaras. 307 00:15:23,770 --> 00:15:28,070 Neu efallai Dydw i ddim eisiau i bobl gwybod beth yw fy nghyfrinair yw, ar y dde. 308 00:15:28,070 --> 00:15:33,140 >> Os ydw i'n pasio ei though-- os wyf yn defnyddio y dull $ _GET, beth sy'n digwydd yw, 309 00:15:33,140 --> 00:15:34,970 mae hynny'n mynd i fod yn y URL. 310 00:15:34,970 --> 00:15:39,890 Felly gallai rhai defnyddwyr maleisus yn gallu gweld beth rwy'n ei wneud. 311 00:15:39,890 --> 00:15:42,040 Efallai fy mod yn eu pasio gwybodaeth sensitif. 312 00:15:42,040 --> 00:15:43,310 Neu efallai nad yw'n hyd yn oed yn ddefnyddiwr maleisus. 313 00:15:43,310 --> 00:15:45,790 Efallai mai dim ond eich ffrind sy'n yn sefyll dros eich ysgwydd. 314 00:15:45,790 --> 00:15:47,650 Ac yn awr eu bod yn gwybod y cyfrinair at eich cyfrif Facebook. 315 00:15:47,650 --> 00:15:49,483 >> Ac efallai na fyddent yn gwneud unrhyw beth ag ef. 316 00:15:49,483 --> 00:15:53,749 Ond os yw eich cyfrinair yn cyflwyno drwy $ _GET i Facebook, 317 00:15:53,749 --> 00:15:55,290 Erbyn hyn maent yn gwybod eich cyfrinair Facebook. 318 00:15:55,290 --> 00:15:59,000 Oherwydd ei fod yn iawn yno yn y URL pan fyddwch wedi gwneud cyflwyno gwybodaeth. 319 00:15:59,000 --> 00:16:01,887 >> Ac felly efallai nad dyna'r gorau ffordd i basio gwybodaeth sensitif. 320 00:16:01,887 --> 00:16:04,470 Mae'n ffordd dda i basio gwybodaeth nad ydym yn ei wneud yn arbennig 321 00:16:04,470 --> 00:16:05,886 gofalu am eu bod yn rhy sensitif. 322 00:16:05,886 --> 00:16:09,347 Gan fod GET yn eithaf cyflym, gymharu â'r newidynnau super eraill 323 00:16:09,347 --> 00:16:10,430 rydym yn mynd i siarad am. 324 00:16:10,430 --> 00:16:13,330 Ond efallai nad yw'r offeryn gorau am wybodaeth sensitif. 325 00:16:13,330 --> 00:16:15,990 >> Ar gyfer y gallem eisiau defnyddio rhywbeth a elwir yn $ _POST, 326 00:16:15,990 --> 00:16:18,560 sef Amrywiol Super Byd-eang arall. 327 00:16:18,560 --> 00:16:20,750 Mae'n amrywiaeth cysylltiadol arall. 328 00:16:20,750 --> 00:16:23,240 Felly mae'n gweithio 'n bert lawer yn union yr un fath ag GET. 329 00:16:23,240 --> 00:16:26,850 Ac eithrio, yn hytrach na echdynnu gwybodaeth gan yr URL, 330 00:16:26,850 --> 00:16:29,870 mae'n ei wneud rhywbeth drwy penawdau HTTP. 331 00:16:29,870 --> 00:16:32,080 Felly yn cofio o'n 'n fideo ar HTTP, buom yn siarad 332 00:16:32,080 --> 00:16:34,850 am sut y porwyr, gweinyddwyr, a chleientiaid yn cyfathrebu. 333 00:16:34,850 --> 00:16:38,070 A gwybodaeth yn cael ei throsglwyddo yn ôl ac ymlaen mewn penawdau HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Gyda $ _POST, gwybodaeth yn nodweddiadol a anfonwyd drwy penawdau HTTP hynny. 335 00:16:43,330 --> 00:16:49,770 A byddwn yn fwyaf cyffredin yn gweld $ _POST mewn cyd-destun cyflwyno ffurflenni HTML. 336 00:16:49,770 --> 00:16:52,390 Gallwch barhau i ddefnyddio ffurflenni HTML i gyflwyno pethau i'w GET. 337 00:16:52,390 --> 00:16:56,120 Ond maen nhw'n eu defnyddio fel arfer yng nghyd-destun POST. 338 00:16:56,120 --> 00:17:00,280 >> Felly dyma enghraifft o ffurflen HTML. 339 00:17:00,280 --> 00:17:06,750 Nawr rydym wedi gweld hyn o'r blaen, ond mae gennym Ni welwyd y rhan, gweithredu = "post.php". 340 00:17:06,750 --> 00:17:10,756 Felly, pan fyddwn yn siarad am ffurflenni yn y cyd-destun HTML, roedd gen botwm Anfon. 341 00:17:10,756 --> 00:17:13,630 Ac os ydych yn cofio, byddwn i'n chliciwch Cyflwyno ac yna bydd y dudalen yn unig hadnewyddu, 342 00:17:13,630 --> 00:17:14,660 nid oedd yn gwneud unrhyw beth. 343 00:17:14,660 --> 00:17:18,250 >> Yn yr achos hwn, rwy'n cyflwyno beth bynnag rwyf deipio yn y ffurflen hon, 344 00:17:18,250 --> 00:17:20,750 i ffeil PHP o'r enw post.php. 345 00:17:20,750 --> 00:17:25,810 Ac, mae'n debyg, y ffordd rydw i'n ei wneud fod yn y ffurflen hon yn cael ei ddefnyddio'r dull POST. 346 00:17:25,810 --> 00:17:29,040 Felly pob darn o wybodaeth fy mod yn teipio i mewn i ffurflen hon 347 00:17:29,040 --> 00:17:31,470 yn cael ei gyflwyno drwy'r penawdau HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Bydd ar gael yn post.php, oherwydd dyna y camau fy ffurflen. 349 00:17:36,440 --> 00:17:39,811 Bydd ar gael drwy fynd i $ _POST. 350 00:17:39,811 --> 00:17:42,310 Ac i bob golwg, mae'r ffordd y gallaf cael o bob elfen unigol 351 00:17:42,310 --> 00:17:44,765 gyda'r amrywiaeth cysylltiadol yw gyda briodoledd hon, 352 00:17:44,765 --> 00:17:48,130 y Enw priodoledd ein tagiau mewnbwn. 353 00:17:48,130 --> 00:17:53,540 >> Felly, mae'n debyg y gallaf ei ddweud $ _POST sgwâr cromfachau enwi i gael beth bynnag y defnyddiwr 354 00:17:53,540 --> 00:17:55,440 teipio yn y maes cyntaf. 355 00:17:55,440 --> 00:18:01,030 A $ _POST cyfrinair, o wythnos yn hytrach, i fynd ar ba bynnag y defnyddiwr deipio 356 00:18:01,030 --> 00:18:03,650 yn yr ail maes. 357 00:18:03,650 --> 00:18:06,414 >> Felly, gadewch i ni edrych ar dros hyn mewn IDE CS50. 358 00:18:06,414 --> 00:18:08,330 Felly dyma ni, ac byddaf chwyddo i mewn am eiliad. 359 00:18:08,330 --> 00:18:12,380 Ac mae gennym ffeil o'r enw post.html. 360 00:18:12,380 --> 00:18:13,690 Yr wyf yn clicio ar post.html. 361 00:18:13,690 --> 00:18:16,300 Ar y top yma gen i ffurflen ar y we syml iawn. 362 00:18:16,300 --> 00:18:18,750 Mae'n y ffurflen rydym yn unig yn gweld ar y sleid eiliad yn ôl. 363 00:18:18,750 --> 00:18:25,610 >> Gallaf deipio, Doug, a gallaf teipio fy nghyfrinair, yr ydym i gyd 364 00:18:25,610 --> 00:18:27,340 wybod yw squadgoals. 365 00:18:27,340 --> 00:18:30,100 A mi daro Anfon. 366 00:18:30,100 --> 00:18:32,290 Ac i bob golwg, fod cyflwyno i post.php. 367 00:18:32,290 --> 00:18:33,810 A dwi'n ôl pob golwg argraffu hynny. 368 00:18:33,810 --> 00:18:36,490 Felly dw i'n cael gwared ar yr holl diogelwch bod SWYDD rhoi i mi at jyst argraffu 369 00:18:36,490 --> 00:18:37,720 yr enw defnyddiwr a chyfrinair. 370 00:18:37,720 --> 00:18:38,960 >> Enw'r defnyddiwr yw Doug. 371 00:18:38,960 --> 00:18:40,810 Cyfrinair y defnyddiwr yn squadgoals. 372 00:18:40,810 --> 00:18:42,480 Sut oedd i wneud hyn? 373 00:18:42,480 --> 00:18:44,800 Wel, galwch draw i IDE eto am eiliad. 374 00:18:44,800 --> 00:18:51,340 Byddwn yn sgroliwch i lawr i gymryd Edrychwch ar post.php, a oedd yn 375 00:18:51,340 --> 00:18:54,040 y camau a ddefnyddiais i gyflwyno yma. 376 00:18:54,040 --> 00:18:55,739 Dyna oedd y weithred o fy ffurflen HTML. 377 00:18:55,739 --> 00:18:56,780 A dyna'r cyfan rwy'n ei wneud. 378 00:18:56,780 --> 00:19:01,370 Enw'r defnyddiwr yw, ac rwy'n argraffu allan y cynnwys $ _POST "enw". 379 00:19:01,370 --> 00:19:04,660 Ac yna cyfrinair y defnyddiwr yw $ _POST "cyfrinair". 380 00:19:04,660 --> 00:19:08,920 Felly cefais y wybodaeth honno drwy gyflwyno'r ffurflen HTML. 381 00:19:08,920 --> 00:19:13,790 A gallaf yn awr echdynnu gan ddefnyddio $ _POST oherwydd bod y dull Roeddwn i'n arfer i drosglwyddo 382 00:19:13,790 --> 00:19:17,470 data gyda y ffurflen oedd y dull POST. 383 00:19:17,470 --> 00:19:20,640 >> Nawr mae'n debyg nad felly great-- Rydw i'n mynd 384 00:19:20,640 --> 00:19:24,510 i fynd yn ôl am ail i'n Yma-- set 385 00:19:24,510 --> 00:19:30,120 yn ôl pob tebyg nid yw mor fawr os wyf cyflwyno gwybodaeth gyda POST, 386 00:19:30,120 --> 00:19:32,532 sydd yn ôl pob golwg yn fwy diogel. 387 00:19:32,532 --> 00:19:34,740 Mae'n debyg nad mor fawr os ydw i'n gwneud hynny ac yna 388 00:19:34,740 --> 00:19:36,470 argraffu cyfrinair y defnyddiwr. 389 00:19:36,470 --> 00:19:38,540 Mae'n i fod i fod yn fwy diogel. 390 00:19:38,540 --> 00:19:40,870 >> OK, ond nid yw'n gwbl ddiogel. 391 00:19:40,870 --> 00:19:42,910 Ac felly yn yr ychydig snippet yma yr wyf am 392 00:19:42,910 --> 00:19:46,410 i ddim ond tynnu eich sylw at rai pryderon diogelwch data, dim ond rhywbeth 393 00:19:46,410 --> 00:19:51,200 i feddwl amdano fel eich bod yn gweithio neu ddefnyddio'r rhyngrwyd. 394 00:19:51,200 --> 00:19:53,890 Mae hyn yn unig rhywbeth i'w ystyried. 395 00:19:53,890 --> 00:19:57,980 >> Dywedais wrthych bod y wybodaeth yn a gyflwynwyd drwy penawdau HTTP 396 00:19:57,980 --> 00:19:59,724 pan fyddwch yn defnyddio'r dull POST. 397 00:19:59,724 --> 00:20:01,390 Sy'n golygu nad ydynt yn gwbl ddiogel. 398 00:20:01,390 --> 00:20:05,610 Maent yn fwy anodd i ddod o hyd na gan ddefnyddio'r dull GET, lle 399 00:20:05,610 --> 00:20:06,882 'i' yn iawn yn yr URL. 400 00:20:06,882 --> 00:20:08,340 Ond mae dal i fod yn ffordd o ddod o hyd iddo. 401 00:20:08,340 --> 00:20:10,423 Ac yr wyf am ddangos chi hyn er mwyn i chi efallai 402 00:20:10,423 --> 00:20:12,940 yn dechrau meddwl am hyn fel eich bod yn gweithio, neu ddefnyddio 403 00:20:12,940 --> 00:20:14,560 gwefannau a chyflwyno cyfrineiriau, ac efallai gan ddefnyddio 404 00:20:14,560 --> 00:20:16,518 yr un cyfrinair mewn llawer o wahanol leoedd. 405 00:20:16,518 --> 00:20:22,060 Gwybod bod yn yn dal i fod mewn gwirionedd yn 'n bert hawdd i gael gwybod cyfrinair rhywun. 406 00:20:22,060 --> 00:20:25,190 >> Ac felly dyma, dw i'n mynd i fynd i'r post2.html. 407 00:20:25,190 --> 00:20:28,850 A'r gwahaniaeth gyda post2.html ac post2.php yn eithaf cynnil. 408 00:20:28,850 --> 00:20:31,420 Y gwahaniaeth yn unig nad wyf yn argraffu 409 00:20:31,420 --> 00:20:33,520 y cyfrinair pan fyddaf yn cyflwyno'r ffurflen. 410 00:20:33,520 --> 00:20:35,260 >> Felly dw i'n mynd i deipio, Doug. 411 00:20:35,260 --> 00:20:38,365 Ac yr wyf i'n mynd i deipio i mewn, squadgoals, hyd yn oed 412 00:20:38,365 --> 00:20:40,770 er ein bod yn gwybod bod yn y cyfrinair. 413 00:20:40,770 --> 00:20:42,540 Cyn i mi gyflwyno'r yn ffurfio fodd bynnag, dw i'n mynd 414 00:20:42,540 --> 00:20:45,864 i agor Offer Datblygwr, dim ond i dangos i chi beth sy'n mynd i ddigwydd yma. 415 00:20:45,864 --> 00:20:47,530 Felly, yn Chrome, Im 'jyst yn mynd i daro F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Ac mae hynny'n mynd i agor fy Offer Datblygwr ar yr ochr dde. 418 00:20:57,230 --> 00:20:59,480 Nid wyf wedi cyflwyno ffurflen hyd yn hyn. 419 00:20:59,480 --> 00:21:02,680 Nawr rydw i'n mynd i daro Cyflwyno ar fy ffurflen. 420 00:21:02,680 --> 00:21:05,370 Ac i bob golwg, yr wyf yn gwneud ffonio i, neu yr wyf yn gwneud cais 421 00:21:05,370 --> 00:21:07,620 i post2.php, sy'n gwneud synnwyr. 422 00:21:07,620 --> 00:21:10,040 Rydw i'n mynd i glicio ar hynny. 423 00:21:10,040 --> 00:21:13,802 >> Yna, dros yma, dw i'n mynd i glicio ar Headers. 424 00:21:13,802 --> 00:21:15,410 Mae llawer o bethau yn digwydd yma. 425 00:21:15,410 --> 00:21:21,310 Ond os byddaf yn sgroliwch i lawr at y iawn gwaelod, rhybudd i'r dde there-- fy nghalendr 426 00:21:21,310 --> 00:21:25,180 wedi blocio ei gyfer hawl second-- yno ar y gornel isaf iawn, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, squadgoals pw--. 428 00:21:27,386 --> 00:21:30,010 Felly, hyd yn oed er fy mod yn defnyddio'r POST dull, sy'n fwy diogel, 429 00:21:30,010 --> 00:21:33,570 dim ond fod yn ymwybodol bod pan fyddwch yn gwneud hynny, ydych yn dal i drosglwyddo gwybodaeth 430 00:21:33,570 --> 00:21:34,430 drwy HTTP. 431 00:21:34,430 --> 00:21:36,770 A gall fod yn dal i fod yn dod o hyd gan wrthwynebwr. 432 00:21:36,770 --> 00:21:39,270 'I' jyst yn rhywbeth rydym yn mynd i gael i ddelio â dweud y gwir. 433 00:21:39,270 --> 00:21:41,980 Efallai mae rhai ffyrdd i amgryptio ein cyfrineiriau cyn i ni eu hanfon drosodd, 434 00:21:41,980 --> 00:21:44,410 a fyddai'n well, sydd Dydw i ddim yn ei wneud yma. 435 00:21:44,410 --> 00:21:47,010 >> Ond dim ond fod yn ymwybodol bod y POST Mae gan ddull gyfyngiadau hefyd. 436 00:21:47,010 --> 00:21:49,801 Mae'n welliant dros GET mewn ran bod yn gweld ar unwaith. 437 00:21:49,801 --> 00:21:51,280 Ond nid yw'n ateb cyflawn. 438 00:21:51,280 --> 00:21:53,280 Felly dyma enghraifft o cyflym yn y cartref ymarfer 439 00:21:53,280 --> 00:21:56,350 y gallwch eu defnyddio i gael rhywfaint o ymarfer gweithio gyda PHP. 440 00:21:56,350 --> 00:21:58,300 Creu y pâr canlynol o dudalennau gwe. 441 00:21:58,300 --> 00:22:00,960 Dylai'r cyntaf yn unig fod yn syml iawn ffurfio gyda maes unigol a Submit 442 00:22:00,960 --> 00:22:01,460 botwm. 443 00:22:01,460 --> 00:22:04,070 Felly yn debyg iawn i'r hyn yr ydym yn unig oedd gyda post.html. 444 00:22:04,070 --> 00:22:07,450 >> Ac yna yr ail ffeil dylech greu 445 00:22:07,450 --> 00:22:11,687 yn ffeil, ffeil PHP, bod yn disgwyl mewnbwn, drwy POST, 446 00:22:11,687 --> 00:22:14,770 ac yn seiliedig ar yr hyn y defnyddiwr deipio, a oedd yn gallwch gymryd yn ganiataol y bydd yn gyfanrif. 447 00:22:14,770 --> 00:22:16,160 Nid oes rhaid i chi wneud unrhyw gwirio gwall neu debyg. 448 00:22:16,160 --> 00:22:18,284 Gallwch gymryd yn ganiataol y defnyddiwr Bydd deipio gwerth cyfanrif, 449 00:22:18,284 --> 00:22:22,230 neu rywbeth fel dehongli gan PHP fel cyfanrif, i mewn y ffurflen honno. 450 00:22:22,230 --> 00:22:24,790 'Ch jyst angen i greu n gan dabl n lluosi. 451 00:22:24,790 --> 00:22:28,480 >> Felly, os bydd y defnyddiwr yn cyflwyno 10, rydym am cael dabl 10 o 10 lluosi. 452 00:22:28,480 --> 00:22:31,832 Os bydd y defnyddiwr yn cyflwyno 12, rydym am tabl 12 erbyn 12 lluosi. 453 00:22:31,832 --> 00:22:33,790 Yn union fel y gallwch weld beth rydym yn gyrru ar fan hyn, 454 00:22:33,790 --> 00:22:36,040 byddwn yn edrych ar ffeil hwn yn fy IDE. 455 00:22:36,040 --> 00:22:38,080 >> Felly dyma yn IDE, yr wyf wedi mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 'N annhymerus' ei glicio. 458 00:22:43,100 --> 00:22:46,020 Y cyfan yr wyf am ei wneud yw cyflwyno gwerth. 459 00:22:46,020 --> 00:22:47,590 Math o bob 10, taro Anfon. 460 00:22:47,590 --> 00:22:51,190 Ac i bob golwg, mult_table.php, a oedd yn gallwn weld ar y brig yno yn y URL, 461 00:22:51,190 --> 00:22:53,970 Im 'yn creu 10 o 10 tabl lluosi. 462 00:22:53,970 --> 00:22:59,365 >> Os byddaf yn teipio 15 a tharo Cyflwyno, yn awr yr wyf yn cael tabl 15 o 15 lluosi. 463 00:22:59,365 --> 00:23:02,240 Im ', wrth gwrs, nid mynd i ddangos i chi gynnwys y mult_table.php, 464 00:23:02,240 --> 00:23:04,781 oherwydd byddai hynny'n cymryd yr hwyl allan o hyn ar ymarfer gartref. 465 00:23:04,781 --> 00:23:07,480 Ond mae'n ffordd wych o gael rhywfaint o ymarfer gweithio gyda dolenni PHP 466 00:23:07,480 --> 00:23:10,889 a POST, yn syml iawn, gobeithio, Enghraifft rhad ac am ddim straen, dim ond 467 00:23:10,889 --> 00:23:12,180 i wneud ychydig o ymarfer. 468 00:23:12,180 --> 00:23:16,540 Ac mae gen i ychydig o CSS yn mynd ymlaen yma i wneud fy mwrdd unigol 469 00:23:16,540 --> 00:23:19,710 celloedd unig fath o pop oddi ar ychydig bach ac yn edrych ychydig yn fwy 470 00:23:19,710 --> 00:23:22,205 fel tabl lluosi, yn hytrach na dim ond anfon neges destun yn unig 471 00:23:22,205 --> 00:23:23,261 math o eistedd yno. 472 00:23:23,261 --> 00:23:26,260 Mae'r super byd-eang olaf byddwn yn siarad am yn y fideo hwn yn cael ei rhywbeth o'r enw 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Ac efallai mae hyn mewn gwirionedd yr enghraifft orau o rywbeth 475 00:23:29,930 --> 00:23:31,700 byddem yn ystyried byd-eang. 476 00:23:31,700 --> 00:23:33,189 Mae'n arae arall. 477 00:23:33,189 --> 00:23:34,480 Mae'n amrywiaeth cysylltiadol arall. 478 00:23:34,480 --> 00:23:40,580 Ond mae'n hygyrch drwy bob Ffeil PHP sy'n bodoli ar ein system. 479 00:23:40,580 --> 00:23:43,410 >> Nid oes rhaid i ni gyflwyno Gwybodaeth un dudalen ar y tro 480 00:23:43,410 --> 00:23:45,400 fel rydym yn ei wneud gyda GET a gyda POST. 481 00:23:45,400 --> 00:23:46,380 Mae bob amser yno. 482 00:23:46,380 --> 00:23:50,040 Ac felly mae hyn yn wych ar gyfer dudalen lle rydych wedi mewngofnodi, er enghraifft, 483 00:23:50,040 --> 00:23:53,120 a'ch bod am eich gwybodaeth mewngofnodi i barhau o dudalen i dudalen i dudalen. 484 00:23:53,120 --> 00:23:58,180 >> Alli jyst ddechrau sesiwn ac yna Defnyddiwch $ _SESSION i achub pethau fel 485 00:23:58,180 --> 00:24:02,320 enw'r defnyddiwr, neu'r defnyddiwr Gwybodaeth ID, ac yn y blaen. 486 00:24:02,320 --> 00:24:07,600 A bydd y wybodaeth honno yn aros yn $ _SESSION Hyd nes y byddwch yn dinistrio y sesiwn 487 00:24:07,600 --> 00:24:09,550 ychydig yn nes ymlaen. 488 00:24:09,550 --> 00:24:12,375 >> Ysgrifennu gwefannau deinamig gyda PHP yn eu gwneud yn llawer gwell. 489 00:24:12,375 --> 00:24:14,250 Mae eich safleoedd yn dod iawn deinamig, ac nid ydych yn ei wneud 490 00:24:14,250 --> 00:24:17,670 rhaid gwneud gormod mwy na'r hyn chi fyddai fel arall wedi gwneud dim ond 491 00:24:17,670 --> 00:24:18,920 wneud hynny gyda HTML. 492 00:24:18,920 --> 00:24:21,630 Ond mae angen ymarfer, llawer o ymarfer. 493 00:24:21,630 --> 00:24:26,897 >> Rydych eisoes yn gwybod sut i weithio gyda C, ac felly nid neidio i PHP yn rhy anodd. 494 00:24:26,897 --> 00:24:28,730 Beth yw efallai ychydig ychydig yn anodd yn gweithio 495 00:24:28,730 --> 00:24:33,180 gyda'r syniad newydd o GET a POST, ac efallai gymysgu eich HTML a'ch PHP 496 00:24:33,180 --> 00:24:34,220 gyda'i gilydd. 497 00:24:34,220 --> 00:24:37,570 Ond hefyd fod yn ymwybodol bod y rhyngrwyd yn ystorfa helaeth o wybodaeth. 498 00:24:37,570 --> 00:24:41,670 A dogfennaeth PHP ar gael mewn llawer man, ond efallai y rhan fwyaf o 499 00:24:41,670 --> 00:24:43,354 canonically ar php.net. 500 00:24:43,354 --> 00:24:45,520 A gallwch ddod o hyd i yno, llawer o wahanol swyddogaethau, 501 00:24:45,520 --> 00:24:48,330 ac yn defnyddio achosion, ac enghreifftiau ar enghreifftiau, ar enghreifftiau. 502 00:24:48,330 --> 00:24:51,340 Ble os ydych am roi cynnig a ffigur gwybod sut i wneud rhywbeth, groes yn, 503 00:24:51,340 --> 00:24:52,964 Mae'n debyg rhywun wedi gwneud hyn o'r blaen chi. 504 00:24:52,964 --> 00:24:55,840 A gallwch eu defnyddio fel ysbrydoliaeth i weithredu beth bynnag 505 00:24:55,840 --> 00:24:58,230 yr ydych yn ceisio ei weithredu hefyd. 506 00:24:58,230 --> 00:24:59,230 >> Rwy'n Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Mae hyn yn CS50. 508 00:25:01,210 --> 00:25:02,608