1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: So in ons video op PHP sintaksis, 3 00:00:07,620 --> 00:00:10,480 Ons het baie gepraat oor hoe PHP gebruik kan word by die command line 4 00:00:10,480 --> 00:00:13,620 om programme op 'n wyse wat hardloop ons is redelik vertroud met van C. 5 00:00:13,620 --> 00:00:15,370 Maar soos ek het ook genoem in daardie video, PHP 6 00:00:15,370 --> 00:00:19,572 is aanvanklik ontwikkel om implementeer web programmering, webwerwe. 7 00:00:19,572 --> 00:00:21,780 En so in hierdie video ons gaan om te praat oor hoe ons 8 00:00:21,780 --> 00:00:23,890 gebruik PHP in die web-ontwikkeling konteks. 9 00:00:23,890 --> 00:00:26,360 >> Ons weet reeds uit ons video op HTML, 10 00:00:26,360 --> 00:00:29,820 wat webwerwe word gebou uit 'n stel van HTML tags 11 00:00:29,820 --> 00:00:32,850 wat semanties definieer die struktuur van 'n webblad. 12 00:00:32,850 --> 00:00:35,910 Maar webwerwe wat gebou met suiwer HTML 13 00:00:35,910 --> 00:00:39,510 ly aan 'n baie, baie ernstige beperking. 14 00:00:39,510 --> 00:00:42,690 >> En om hierdie beperking te illustreer, laat ons kyk na die volgende. 15 00:00:42,690 --> 00:00:45,665 So nou wil ek 'n webblad te bou dat wanneer die gebruiker besoek het, 16 00:00:45,665 --> 00:00:49,760 dit gee my die huidige keer in Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 vertoon dit na die nuutste minuut. 18 00:00:52,620 --> 00:00:57,910 As ek was besig om hierdie reg nou, Ek kan iets soos hierdie te sê. 19 00:00:57,910 --> 00:01:01,330 Huidige tyd in Cambridge-- so ek het HTML tags, hoof tags, titel tags, 20 00:01:01,330 --> 00:01:04,610 liggaam tags-- die huidige keer in Cambridge is 14:08, 21 00:01:04,610 --> 00:01:06,690 uit te druk militêre tyd. 22 00:01:06,690 --> 00:01:11,390 >> Wat gebeur as dit is nou 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Wel so ver, met HTML, ek het om in te gaan en verander dit na 14:09. 24 00:01:16,470 --> 00:01:19,390 En dan 'n minuut later, Ek het dit weer verander. 25 00:01:19,390 --> 00:01:22,132 En dan 'n minuut later, Ek het dit weer verander. 26 00:01:22,132 --> 00:01:24,590 En as jy kan dink, dit is waarskynlik die ergste werk ooit. 27 00:01:24,590 --> 00:01:29,420 Jy is die webmeester vir 'n web bladsy, en elke minuut, 24 uur per dag, 28 00:01:29,420 --> 00:01:35,970 wat jy nodig het om die huidige tyd te werk deur hand opening time.html en veranderende 29 00:01:35,970 --> 00:01:41,750 net dat brokkie kode om die sê huidige tyd in ure en minute. 30 00:01:41,750 --> 00:01:45,850 Dit is waarskynlik nie 'n baie goeie gebruik van ons hulpbronne, 31 00:01:45,850 --> 00:01:48,880 beide menslike en computational. 32 00:01:48,880 --> 00:01:51,297 >> Webwerwe wat al HTML is heeltemal staties. 33 00:01:51,297 --> 00:01:53,630 Die enigste manier waarop jy kan werk inhoud, soos ons nou net gesien het, 34 00:01:53,630 --> 00:01:56,339 is om diegene bron hand oop lêers, wysig, en red hulle. 35 00:01:56,339 --> 00:01:58,088 En dan wanneer die gebruiker verfris die bladsy, 36 00:01:58,088 --> 00:02:01,080 of besoek die blad vir die eerste tyd, sal hulle die nuutste inhoud te kry. 37 00:02:01,080 --> 00:02:03,970 Maar net omdat ons het hand geredigeer nie. 38 00:02:03,970 --> 00:02:07,980 >> As ons begin om 'n paar PHP meng daar ons kode kan kry 'n baie meer buigsaam. 39 00:02:07,980 --> 00:02:11,940 En ons kan 'n manier vir ons bladsye dinamiese wees, of hulself te werk, 40 00:02:11,940 --> 00:02:15,360 sonder dat ons arme webmeester in die vorige voorbeeld 41 00:02:15,360 --> 00:02:16,662 met die hand te wees opdatering dinge. 42 00:02:16,662 --> 00:02:17,870 Hulle kan dit outomaties te doen. 43 00:02:17,870 --> 00:02:19,130 Ons hoef nie te gryp. 44 00:02:19,130 --> 00:02:20,410 Ons kan slaap te kry. 45 00:02:20,410 --> 00:02:24,850 Wat waarskynlik 'n goeie ding as jy doen 'n baie web ontwikkeling. 46 00:02:24,850 --> 00:02:28,360 >> So in CS50 IDE, het ons 'n web server genoem Apache. 47 00:02:28,360 --> 00:02:35,250 Dit is 'n baie algemeen gebruik word, open source web bediener stelsel. 48 00:02:35,250 --> 00:02:37,320 Hierdie stelsel het die kapasiteit te interpreteer 49 00:02:37,320 --> 00:02:41,260 PHP, wat gaan nuttig as om te wees jy wil om enige PHP programmering te doen. 50 00:02:41,260 --> 00:02:45,230 >> En in CS50 IDE, ons het 'n opdrag om hierdie baie maklik om te doen, 51 00:02:45,230 --> 00:02:47,280 apache50 begin. 52 00:02:47,280 --> 00:02:49,445 En dan dat slash pad, streep om, streep 53 00:02:49,445 --> 00:02:53,350 rig, dit is net 'n baie algemene manier dui wat jy hier het gespesifiseer 54 00:02:53,350 --> 00:02:56,510 is 'n pad na 'n spesifieke gids wat jy 55 00:02:56,510 --> 00:03:00,800 wil die wortel webwerf, of die wortel bladsy 56 00:03:00,800 --> 00:03:05,430 of die gids waaruit jou web bediener sal begin om lêers te ondersoek en te dien 57 00:03:05,430 --> 00:03:07,850 hulle tot kliënte wat hulle vra. 58 00:03:07,850 --> 00:03:12,110 So laat pop aan CS50 IDE, net om wys jou, regtig vinnig, hoe dit werk. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> So hier in CS50 IDE, ek is in 'n gids genoem Week Zero Nege. 61 00:03:36,240 --> 00:03:38,890 En ek het two-- Ek het uitgevoer 'n LS opdrag net 62 00:03:38,890 --> 00:03:41,910 hierbo om jou te wys dat ek twee dopgehou hier, PHP, 63 00:03:41,910 --> 00:03:46,410 wat is die stel van die lêers wat ek gebruik in die PHP sintaksis video, en dan PHP web, 64 00:03:46,410 --> 00:03:49,380 wat is die stel van die lêers wat ek wil gebruik in hierdie video. 65 00:03:49,380 --> 00:03:53,480 >> En ek wil graag begin 'n web bediener byvoorbeeld 66 00:03:53,480 --> 00:03:59,089 met die inhoud van die gids PHP web as die lêers word bedien. 67 00:03:59,089 --> 00:04:00,130 So, wat gaan ek doen? 68 00:04:00,130 --> 00:04:05,710 Ek gaan apache50 ruimte tik begin, ruimte PHP, stamp web. 69 00:04:05,710 --> 00:04:08,100 Dit is die pad na gids van waar ek tans is. 70 00:04:08,100 --> 00:04:09,127 Toe tref ek Enter. 71 00:04:09,127 --> 00:04:10,960 Dit gaan 'n doen bietjie van dinge hier. 72 00:04:10,960 --> 00:04:14,030 En dan is dit gaan om te sê, Apache begin suksesvol. 73 00:04:14,030 --> 00:04:20,689 Jou site is nou beskikbaar at-- en dan is daar die URL vir die webwerf. 74 00:04:20,689 --> 00:04:21,730 So, wat gaan ek doen? 75 00:04:21,730 --> 00:04:26,234 Ek gaan hierdie vinnig kopieer. 76 00:04:26,234 --> 00:04:28,900 En ek gaan up-- oop en Ek sal uit te zoem 'n bietjie here-- 77 00:04:28,900 --> 00:04:31,570 Ek gaan om oop te maak 'n nuwe blad in Chrome. 78 00:04:31,570 --> 00:04:34,320 En ek gaan om dit te URL besoek. 79 00:04:34,320 --> 00:04:35,299 >> Ek gaan druk Enter. 80 00:04:35,299 --> 00:04:36,090 Dit gaan om te laai. 81 00:04:36,090 --> 00:04:37,510 En ek sal weer uit zoom. 82 00:04:37,510 --> 00:04:41,350 En ons kan sien hier is die inhoud van my PHP web directory. 83 00:04:41,350 --> 00:04:45,290 >> So nou wat is basies gebeur hier is, my geval van CS50 IDE 84 00:04:45,290 --> 00:04:49,620 dien tot hierdie lêers te enigiemand wat hulle vra. 85 00:04:49,620 --> 00:04:51,620 En oor die afdeling van die hierdie video, sal ons soort 86 00:04:51,620 --> 00:04:55,400 'n blik op 'n klomp van hierdie verskillende lêers in konteks. 87 00:04:55,400 --> 00:04:57,614 >> Om te toets dat jou Apache bediener werk, 88 00:04:57,614 --> 00:04:59,780 wat oor die algemeen gaan die geval te wees in CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 maar as jy dit doen meer algemeen, en jy begin bou van jou eie web 90 00:05:02,696 --> 00:05:04,990 bedieners, daar is 'n baie algemene soort van analoog na, 91 00:05:04,990 --> 00:05:08,500 "hello world", dit is gewoonlik gebruik word vir PHP web ontwikkeling. 92 00:05:08,500 --> 00:05:12,855 Wat is 'n lêer bestaande uit net die code-- 93 00:05:12,855 --> 00:05:18,247 'n PHP delimiter stel met PHP inligting, hakies, kommapunt tussen in. 94 00:05:18,247 --> 00:05:20,580 Wat is basies 'n spesiale PHP funksie wat jou vertel 95 00:05:20,580 --> 00:05:23,970 watter weergawe van PHP jy loop. 96 00:05:23,970 --> 00:05:26,850 >> So in CS50 IDE, ek het die lêer beskikbaar net 97 00:05:26,850 --> 00:05:28,680 om jou te wys wat dit sou lyk. 98 00:05:28,680 --> 00:05:32,860 So ek is op soek na my indeks uit my PHP byvoorbeeld. 99 00:05:32,860 --> 00:05:35,870 My Apache byvoorbeeld loop die inhoud van PHP-Web. 100 00:05:35,870 --> 00:05:39,290 En ek het 'n lêer hier genoem info.php. 101 00:05:39,290 --> 00:05:41,164 >> Ek gaan om te klik nie, zoom uit. 102 00:05:41,164 --> 00:05:43,080 Dit is wat jy gaan om te sien, pretty much. 103 00:05:43,080 --> 00:05:45,729 Dit is net vir my sê dat my Apache werk. 104 00:05:45,729 --> 00:05:48,270 En dit is, blykbaar, die weergawe van PHP dat ek hardloop. 105 00:05:48,270 --> 00:05:51,590 Dit is my analoog na "hello world." 106 00:05:51,590 --> 00:05:53,070 >> So ek weet dinge is operasionele. 107 00:05:53,070 --> 00:05:54,150 So ons is goed om te gaan. 108 00:05:54,150 --> 00:05:55,730 Ons kan gaan van hier. 109 00:05:55,730 --> 00:05:57,790 >> So laat heroorweeg wat tyd was ons voorbeeld 110 00:05:57,790 --> 00:06:01,950 praat oor met ons swak webmeester wat moes die bladsy voortdurend by te werk. 111 00:06:01,950 --> 00:06:05,020 Dit kan 'n oplossing vir hoe wees Ek sou dinge te implementeer 112 00:06:05,020 --> 00:06:08,080 sodat die webmeester het nie te hou die opdatering van die tyd. 113 00:06:08,080 --> 00:06:10,270 Dit sou net soort van outomaties gebeur nie. 114 00:06:10,270 --> 00:06:13,710 >> Die onderstaande af, die HTML, dit is redelik soortgelyk, met een uitsondering. 115 00:06:13,710 --> 00:06:16,720 Maar hier ek het 'n paar PHP aan die bokant. 116 00:06:16,720 --> 00:06:19,940 Ek het, blykbaar, hierdie sogenaamde funksie date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> En ons het nie oor al praat hierdie funksies in CS50, 118 00:06:22,106 --> 00:06:24,670 want PHP het waarskynlik tienduisende. 119 00:06:24,670 --> 00:06:27,540 Dit mag dalk 'n bietjie van 'n wees oordrywing, maar dit kan nie wees nie. 120 00:06:27,540 --> 00:06:29,490 Dit het 'n baie funksies gebou in. 121 00:06:29,490 --> 00:06:33,290 En so is dit 'n funksie blykbaar stel my tydsone as die VSA / Eastern, 122 00:06:33,290 --> 00:06:36,320 wat is die tydsone dat ek tans in die maak van hierdie video. 123 00:06:36,320 --> 00:06:38,430 >> Toe ek 'n oproep te maak funksie genoem, datum. 124 00:06:38,430 --> 00:06:43,850 En, glo, ek die stoor van die SY iets genoem, tyd. 125 00:06:43,850 --> 00:06:45,320 So, wat gaan hier aan? 126 00:06:45,320 --> 00:06:48,040 >> Wel, basies wat is gebeur is, is ek 'n oproep 127 00:06:48,040 --> 00:06:51,650 sommige bediener wat gaan vertel my wat die tyd is tans. 128 00:06:51,650 --> 00:06:56,150 En ek is dit die omskakeling na 'n formaat ure, minute, sekondes. 129 00:06:56,150 --> 00:07:00,540 En die rede is dit kapitaal H is dit gaan gee my 24 uur-tyd, nie 12 130 00:07:00,540 --> 00:07:02,362 uur-tyd, wat klein h sou wees. 131 00:07:02,362 --> 00:07:04,570 En ek is net die stoor wat in 'n veranderlike genoem, tyd. 132 00:07:04,570 --> 00:07:07,028 Sodat tweede lyn van PHP daar die oproep om die funksie, 133 00:07:07,028 --> 00:07:09,037 datum, word net sommige string, wat 134 00:07:09,037 --> 00:07:12,120 gaan my die datum gee nie, en die tyd, en 'n klomp van die ander inligting. 135 00:07:12,120 --> 00:07:16,480 En die eerste argument is daar wat sy, is net onttrek die belangrike deel 136 00:07:16,480 --> 00:07:20,614 dat ek omgee vir hierdie voorbeeld, wat is die uur, minuut en sekonde. 137 00:07:20,614 --> 00:07:22,030 So wat is die alles wat aangaan. 138 00:07:22,030 --> 00:07:23,562 So ek slaan wat in 'n veranderlike $ tyd. 139 00:07:23,562 --> 00:07:25,270 En dan af na die heel onder is daar, ek 140 00:07:25,270 --> 00:07:28,980 daardie snelskrif vir druk die huidige tyd. 141 00:07:28,980 --> 00:07:32,050 So ek gaan net te druk uit te vind wat die huidige tyd is. 142 00:07:32,050 --> 00:07:37,220 >> So laat ons neem 'n blik op hierdie in CS50 IDE en sien hoe ons nou 143 00:07:37,220 --> 00:07:40,002 spaar webmaster 'n baie moeite. 144 00:07:40,002 --> 00:07:42,570 Alle reg, so hier is ek weer terug by die hoofdmap 145 00:07:42,570 --> 00:07:45,040 van my Apache byvoorbeeld. 146 00:07:45,040 --> 00:07:51,585 En ek het 'n lêer hier genoem time.php. 147 00:07:51,585 --> 00:07:53,559 Ek gaan net te klik op dit. 148 00:07:53,559 --> 00:07:55,850 En ek sal tot blaai, want ons ingezoomd mooi ver. 149 00:07:55,850 --> 00:07:57,257 Die huidige tyd is 14:20:34. 150 00:07:57,257 --> 00:07:59,090 So ek doen dit ure, minute en sekondes. 151 00:07:59,090 --> 00:08:01,910 En ek kan verfris die bladsy en kry nuwe tyd. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Ek gaan na die bladsy te verfris en kry nuwe tyd, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> So, ek is duidelik nie myself niks verander. 155 00:08:10,490 --> 00:08:11,720 Ek is hier die bladsy te verfris. 156 00:08:11,720 --> 00:08:13,711 So ek kan nie daar terug verander het. 157 00:08:13,711 --> 00:08:15,710 En ek belowe jou, ek doen nie enige bondgenote 158 00:08:15,710 --> 00:08:18,230 wat die lêer is besig namens my aan die kant. 159 00:08:18,230 --> 00:08:21,260 >> Ek is net die gebruik van daardie PHP funksie, tyd om die tyd vir my te genereer 160 00:08:21,260 --> 00:08:22,340 outomaties. 161 00:08:22,340 --> 00:08:24,800 Sodat selfs as ek aan die slaap, en my web bediener loop, 162 00:08:24,800 --> 00:08:28,884 die gebruiker wat besoek die bladsy is nog gaan presies die huidige tyd. 163 00:08:28,884 --> 00:08:29,800 So dit is redelik goed. 164 00:08:29,800 --> 00:08:33,609 Ek het my site meer dinamiese gemaak met nie te veel PHP-kode. 165 00:08:33,609 --> 00:08:36,650 Dit was net twee reëls van die kode en dan 'n bietjie van 'n afdruk verklaring. 166 00:08:36,650 --> 00:08:38,441 En al het ek 'n veel meer dinamiese webwerf 167 00:08:38,441 --> 00:08:42,750 as eerste voorbeeld het ons gesien aan die begin van die video. 168 00:08:42,750 --> 00:08:46,660 >> So, onthou uit die video op PHP sintaksis dat wanneer die PHP tolk loop 169 00:08:46,660 --> 00:08:50,000 ons program, is dit ignoreer alles dit is nie binnekant van PHP delimiters, 170 00:08:50,000 --> 00:08:51,500 spoeg dit uit. 171 00:08:51,500 --> 00:08:54,410 In daardie voorbeeld, wat die ding dat dit spoeg uit was HTML. 172 00:08:54,410 --> 00:08:58,080 En dit beteken dat ek kan nou deurspek HTML en PHP saam. 173 00:08:58,080 --> 00:09:01,920 Omdat die tolk sal net ignoreer die HTML en letterlik uitset dit. 174 00:09:01,920 --> 00:09:04,140 Wat goed is, reg? 175 00:09:04,140 --> 00:09:06,100 >> Omdat vermoedelik, aan die einde van die dag, 176 00:09:06,100 --> 00:09:08,360 Ek sou my site te hou gebou wees van HTML. 177 00:09:08,360 --> 00:09:12,880 Sodat enige webblaaier kan interpreteer , of verstaan ​​die HTML op die bladsy 178 00:09:12,880 --> 00:09:17,270 en maak dit as iets wat ons eintlik kan verstaan ​​as mens. 179 00:09:17,270 --> 00:09:19,430 En ek kan net gebruik PHP vir die dele van my site 180 00:09:19,430 --> 00:09:23,390 die vereistes dinamika, wat my nodig om dinge wat voortdurend werk het. 181 00:09:23,390 --> 00:09:26,630 Die statiese inligting kan dieselfde bly. 182 00:09:26,630 --> 00:09:27,540 >> OK, so dit is goed. 183 00:09:27,540 --> 00:09:28,540 Maar hoekom sou ek dit doen? 184 00:09:28,540 --> 00:09:30,400 Hoekom sou ek meng HTML en PHP? 185 00:09:30,400 --> 00:09:33,850 Ek kon net druk al die HTML, met behulp van die PHP druk funksioneer. 186 00:09:33,850 --> 00:09:35,870 Hoekom is ek nie om dit te doen? 187 00:09:35,870 --> 00:09:37,100 Dink vir 'n tweede. 188 00:09:37,100 --> 00:09:41,220 >> Waarom het Ek kon net druk out-- ek lyne van PHP wat net sê kan hê, 189 00:09:41,220 --> 00:09:43,841 Druk HTML tag, druk kop. 190 00:09:43,841 --> 00:09:44,840 Hoekom is ek nie om dit te doen? 191 00:09:44,840 --> 00:09:48,230 Hoekom is ek meng die PHP en HTML? 192 00:09:48,230 --> 00:09:50,080 >> Wel, as jy dink oor dit vir 'n tweede. 193 00:09:50,080 --> 00:09:52,824 PHP, die tolk interpreteer wat dit sien. 194 00:09:52,824 --> 00:09:54,990 En so gaan dit om om 'n lyn van die kode uit te voer. 195 00:09:54,990 --> 00:09:56,450 Druk HTML. 196 00:09:56,450 --> 00:09:57,700 Druk oop kop tag. 197 00:09:57,700 --> 00:09:58,969 Druk oop titel tag. 198 00:09:58,969 --> 00:10:00,760 Dit gaan hê om voer en te interpreteer 199 00:10:00,760 --> 00:10:02,671 dat elke enkele stap van die pad. 200 00:10:02,671 --> 00:10:04,670 Waarom nie net laat die tolk net glans oor 201 00:10:04,670 --> 00:10:06,878 dinge wat dit nie verstaan ​​nie en outomaties doen? 202 00:10:06,878 --> 00:10:11,365 Dit gaan om my te red 'n klomp van die tyd my HTML en PHP my saam te meng. 203 00:10:11,365 --> 00:10:16,220 >> En so dit is hoekom ons dit nie doen nie net oop PHP delimiter 204 00:10:16,220 --> 00:10:19,450 en dan net die druk van die hele inhoud van ons bladsy as 'n reuse-PHP 205 00:10:19,450 --> 00:10:24,330 noem die funksie, Druk, en dan naby PHP delimiter en ons gedoen het. 206 00:10:24,330 --> 00:10:27,620 So dit is hoekom ons meng hulle op. 207 00:10:27,620 --> 00:10:32,345 >> Tot dusver het ons nie te veel van gesien 'n verskil van algemene PHP sintaksis. 208 00:10:32,345 --> 00:10:33,720 Dit was redelik eenvoudig. 209 00:10:33,720 --> 00:10:35,553 Ons het reeds gesien dat die vraagteken, gelyk. 210 00:10:35,553 --> 00:10:39,012 Ons het 'n paar van die nuwe funksie oproepe, maar niks regtig fancy aangaan. 211 00:10:39,012 --> 00:10:40,720 Kom ons dalk dinge 'n bietjie liefhebber. 212 00:10:40,720 --> 00:10:44,360 Wat as ons wil om inligting te slaag tussen verskillende PHP lêers, 213 00:10:44,360 --> 00:10:47,280 sodat miskien kan die gebruiker om inligting aan my. 214 00:10:47,280 --> 00:10:50,230 En dan kan ek iets doen met dit op 'n ander bladsy. 215 00:10:50,230 --> 00:10:52,990 >> So PHP het steun vir iets genoem Super Global 216 00:10:52,990 --> 00:10:55,297 Veranderlikes, wat pretty awesome klanke. 217 00:10:55,297 --> 00:10:57,130 Hulle is regtig net reuse assosiatiewe skikkings 218 00:10:57,130 --> 00:10:59,900 wat help implementeer funksionaliteit van verbygaande 219 00:10:59,900 --> 00:11:05,010 inligting tussen PHP lêers wat is die bestaande op ons web server. 220 00:11:05,010 --> 00:11:07,760 >> Die eerste van hierdie super globals genoem $ _GET. 221 00:11:07,760 --> 00:11:10,140 En dit is waarskynlik die eenvoudigste om te verstaan. 222 00:11:10,140 --> 00:11:12,430 Wat gebeur met $ _GET? 223 00:11:12,430 --> 00:11:16,240 Wel, basies, die gebruiker is gaan om ekstra inligting tik 224 00:11:16,240 --> 00:11:18,390 aan die einde van ons URLs. 225 00:11:18,390 --> 00:11:21,460 En alles wat hulle tik, in die veronderstelling dit geformateer in 'n bepaalde manier 226 00:11:21,460 --> 00:11:25,830 bekend as 'n navraag string, wat net 'n stel van sleutel waarde pare geskei 227 00:11:25,830 --> 00:11:27,810 deur-karakters. 228 00:11:27,810 --> 00:11:32,362 Diegene sleutel waarde pare sal wees gestoor in 'n $ _GET assosiatiewe skikking. 229 00:11:32,362 --> 00:11:34,070 En van ons video op PHP sintaksis, ons weet 230 00:11:34,070 --> 00:11:40,080 hoe om te werk met assosiatiewe skikkings reeds. 231 00:11:40,080 --> 00:11:44,090 So hier is 'n voorbeeld van sommige PHP, waar miskien is ek 232 00:11:44,090 --> 00:11:50,180 onttrek al die sleutel waarde pare dat die in die URL verskaf gebruiker. 233 00:11:50,180 --> 00:11:51,970 So ek het my Open PHP delimiter. 234 00:11:51,970 --> 00:11:53,410 Ek het 'n foreach lus. 235 00:11:53,410 --> 00:11:57,410 Ek iterating oor die Super Global Array genoem $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> En ek wil in staat wees om te verwys aan beide die sleutel en die waarde daarvan. 237 00:12:00,160 --> 00:12:02,410 En ek is net hulle druk uit elkeen op blykbaar 238 00:12:02,410 --> 00:12:03,780 sy eie paragraaf tag hier. 239 00:12:03,780 --> 00:12:07,620 Ek druk 'n paar HTML en interpol die waardes 240 00:12:07,620 --> 00:12:12,900 van die belangrikste en die waarde in daardie verklaring. 241 00:12:12,900 --> 00:12:16,980 >> So laat ons neem 'n blik op hoe dit sou eintlik werk op ons IDE. 242 00:12:16,980 --> 00:12:18,980 En miskien sal dit help illustreer 'n bietjie 243 00:12:18,980 --> 00:12:21,880 van wat te kry, is eintlik. 244 00:12:21,880 --> 00:12:23,610 So ek is terug hier in my web wortel. 245 00:12:23,610 --> 00:12:25,318 En ek sal in 'n zoom bietjie om jou te wys 246 00:12:25,318 --> 00:12:28,620 dat ek 'n lêer genaamd, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> So laat klik op get1.php. 248 00:12:31,830 --> 00:12:36,600 En ek is nie sien enige inhoud. 249 00:12:36,600 --> 00:12:38,390 Dit is vreemd, reg? 250 00:12:38,390 --> 00:12:39,740 Wel, nie regtig eintlik. 251 00:12:39,740 --> 00:12:42,030 Want ek het nie voorsien enigiets in die URL. 252 00:12:42,030 --> 00:12:46,270 Ek gaan get1.php, maar ek het nie 'n sleutel waarde pare voorsien 253 00:12:46,270 --> 00:12:47,450 as deel van my navraag string. 254 00:12:47,450 --> 00:12:50,510 So laat voeg 'n navraag string en sien wat hierdie lêer kan doen. 255 00:12:50,510 --> 00:12:53,040 >> Om 'n navraag string jy begin tik net vraagteken. 256 00:12:53,040 --> 00:13:00,820 Dan miskien sal ek sê name = Doug & jaar = 2015. 257 00:13:00,820 --> 00:13:02,914 En dan sal Ek druk Enter. 258 00:13:02,914 --> 00:13:04,080 Nou sien wat gebeur. 259 00:13:04,080 --> 00:13:05,480 Ek is nog steeds in get1.php. 260 00:13:05,480 --> 00:13:08,445 Maar nou het ek verskaf sleutel waarde pare en ek is 261 00:13:08,445 --> 00:13:14,940 druk hulle uit op hul eie paragraph-- naam Doug-- jaar 2015. 262 00:13:14,940 --> 00:13:17,970 Dit is presies die kode wat ons net gesien het op die slide 'n oomblik gelede. 263 00:13:17,970 --> 00:13:22,290 >> En as ek wil miskien 'n ander by te voeg sleutel waarde pair, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Nou het ek 'n ander sleutel waarde paar wat is gedruk 266 00:13:27,580 --> 00:13:30,025 toe ek weer terug na die URL. 267 00:13:30,025 --> 00:13:31,900 Nou miskien is dit nie verskriklik goed geformuleer. 268 00:13:31,900 --> 00:13:33,660 So ek het 'n ander weergawe van get.php. 269 00:13:33,660 --> 00:13:36,350 Dit is get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Die verskil in hierdie een is ek CSS-lêer, 271 00:13:39,070 --> 00:13:41,690 en dit formate dinge wat 'n bietjie meer mooi vir my. 272 00:13:41,690 --> 00:13:43,940 Dit is dalk nie die mees pragtige CSS in die wêreld. 273 00:13:43,940 --> 00:13:45,650 Maar dit is net 'n ander manier om dit te doen. 274 00:13:45,650 --> 00:13:52,840 So ek kan nog steeds toegang my veranderlikes met behulp van $ _GET. 275 00:13:52,840 --> 00:13:56,610 En in hierdie geval, is ek net soort van die maak van die CSS 'n bietjie meer fancy. 276 00:13:56,610 --> 00:13:58,360 En as ons pop aan my IDE vir 'n tweede, 277 00:13:58,360 --> 00:14:06,870 Ek sal jou wys in my PHP web directory hier, get2.php. 278 00:14:06,870 --> 00:14:10,010 Ons sal dit hier oop te maak, 'n paar HTML. 279 00:14:10,010 --> 00:14:13,220 Blykbaar ek koppel in daardie CSS lêer ek praat. 280 00:14:13,220 --> 00:14:14,570 Ek maak 'n tafel tag. 281 00:14:14,570 --> 00:14:15,970 En dan hier is my foreach lus. 282 00:14:15,970 --> 00:14:18,450 >> Hier is dat, wat ek gewys op die skyfie voor. 283 00:14:18,450 --> 00:14:21,007 Die enigste verskil is ek het hierdie sleutel en waarde CSS 284 00:14:21,007 --> 00:14:22,340 stilering dat ek aansoek doen om dit te. 285 00:14:22,340 --> 00:14:25,622 Maar dit is al wat ek doen, is ek is iterating oor $ _GET al kry 286 00:14:25,622 --> 00:14:26,580 van die sleutel waarde pare. 287 00:14:26,580 --> 00:14:28,890 >> En ek druk dit uit soos die tafel. 288 00:14:28,890 --> 00:14:33,230 En, glo, ek opmaak die sleutels in een manier, met die td class = "sleutel" <. 289 00:14:33,230 --> 00:14:40,057 So glo wat van toepassing is om 'n paar klas selector in my CSS lêer GET.CSS. 290 00:14:40,057 --> 00:14:42,890 En, glo, ek druk uit my waardes 'n totaal ander manier. 291 00:14:42,890 --> 00:14:45,530 Wat is pretty much wat ons hier, waar het 292 00:14:45,530 --> 00:14:47,710 ons waardes is gedruk met 'n blou agtergrond, 293 00:14:47,710 --> 00:14:49,969 en ons sleutels gedruk met 'n geel agtergrond. 294 00:14:49,969 --> 00:14:52,010 So dit is hoe ek kry diegene verskillende style. 295 00:14:52,010 --> 00:14:54,054 Omdat ek die gebruik van verskillende CSS klasse. 296 00:14:54,054 --> 00:14:55,470 Maar dit is pretty much dit vir AOO. 297 00:14:55,470 --> 00:14:58,380 Soos ek net inligting te onttrek. 298 00:14:58,380 --> 00:15:01,000 En in hierdie geval, is ek net druk dit na die skerm. 299 00:15:01,000 --> 00:15:04,310 Ek kry dit uit die URL, en dit is wat AOO vir ons doen. 300 00:15:04,310 --> 00:15:06,470 >> Sien jy 'n moontlike probleem hier al is? 301 00:15:06,470 --> 00:15:11,720 Hoekom sal ons dalk nie wil $ _GET gebruik? 302 00:15:11,720 --> 00:15:15,440 Wat as, miskien, ek was die maak van hierdie navraag? 303 00:15:15,440 --> 00:15:18,000 --to get3.php, wat ek nie op my IDE. 304 00:15:18,000 --> 00:15:19,640 Dit is net 'n hipotetiese lêer. 305 00:15:19,640 --> 00:15:22,187 Maar let hier wat blykbaar verby my wagwoord in. 306 00:15:22,187 --> 00:15:23,770 En miskien my wagwoord is 'n verleentheid. 307 00:15:23,770 --> 00:15:28,070 Of miskien het ek nie mense wil weet wat my wagwoord, reg. 308 00:15:28,070 --> 00:15:33,140 >> As ek verby dit though-- as ek gebruik die $ _GET metode, wat gebeur is, 309 00:15:33,140 --> 00:15:34,970 wat gaan om te wees in die URL. 310 00:15:34,970 --> 00:15:39,890 So 'n paar kwaadwillige gebruiker kan in staat wees om te sien wat ek doen. 311 00:15:39,890 --> 00:15:42,040 Ek kan hulle aanstuur sensitiewe inligting. 312 00:15:42,040 --> 00:15:43,310 Of miskien is dit nie eens 'n kwaadwillige gebruiker. 313 00:15:43,310 --> 00:15:45,790 Miskien is dit net jou vriend wat staan ​​oor jou skouer. 314 00:15:45,790 --> 00:15:47,650 En nou weet hulle die wagwoord jou Facebook rekening. 315 00:15:47,650 --> 00:15:49,483 >> En miskien sal hulle nie enigiets doen met dit. 316 00:15:49,483 --> 00:15:53,749 Maar as jou wagwoord was via $ _GET op Facebook voorgelê, 317 00:15:53,749 --> 00:15:55,290 nou weet Facebook wagwoord. 318 00:15:55,290 --> 00:15:59,000 Want dit is reg daar in die URL wanneer jy gedoen het indiening inligting. 319 00:15:59,000 --> 00:16:01,887 >> En miskien is dit nie die beste manier om sensitiewe inligting te slaag. 320 00:16:01,887 --> 00:16:04,470 Dit is 'n goeie manier om inligting te slaag dat ons dit nie doen nie veral 321 00:16:04,470 --> 00:16:05,886 omgee as te sensitief. 322 00:16:05,886 --> 00:16:09,347 Omdat AOO is redelik vinnig, relatief tot die ander super globals 323 00:16:09,347 --> 00:16:10,430 ons gaan om te praat oor. 324 00:16:10,430 --> 00:16:13,330 Maar miskien nie die beste instrument vir sensitiewe inligting. 325 00:16:13,330 --> 00:16:15,990 >> Vir wat kan ons wil gebruik iets genoem $ _POST, 326 00:16:15,990 --> 00:16:18,560 wat is 'n ander Super globale veranderlike. 327 00:16:18,560 --> 00:16:20,750 Dit is 'n ander assosiatiewe skikking. 328 00:16:20,750 --> 00:16:23,240 So werk dit pretty much presies dieselfde as AOO. 329 00:16:23,240 --> 00:16:26,850 Behalwe, in plaas van die wen inligting van die URL, 330 00:16:26,850 --> 00:16:29,870 Dit doen iets deur middel van HTTP-hoofde. 331 00:16:29,870 --> 00:16:32,080 So onthou van ons video op HTTP, het ons gepraat 332 00:16:32,080 --> 00:16:34,850 oor hoe implementeer, bedieners, en kliënte te kommunikeer. 333 00:16:34,850 --> 00:16:38,070 En inligting is terug geslaag en weer in HTTP-hoofde. 334 00:16:38,070 --> 00:16:43,330 >> Met $ _POST, inligting is tipies gestuur word deur diegene HTTP-hoofde. 335 00:16:43,330 --> 00:16:49,770 En ons sal die mees algemeen sien $ _POST in die konteks van die indiening van HTML vorms. 336 00:16:49,770 --> 00:16:52,390 Jy kan nog steeds gebruik HTML vorms om dinge te kry in te dien. 337 00:16:52,390 --> 00:16:56,120 Maar hulle is gewoonlik gebruik in die konteks van die post. 338 00:16:56,120 --> 00:17:00,280 >> So hier is 'n voorbeeld van 'n HTML-vorm. 339 00:17:00,280 --> 00:17:06,750 Nou het ons hierdie gesien voor, maar ons het nie gesien hierdie deel, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 So wanneer ons gepraat oor vorms in die konteks van HTML, het ek 'n stuur knoppie. 341 00:17:10,756 --> 00:17:13,630 En as jy onthou, het ek op Submit en dan die bladsy net verfris, 342 00:17:13,630 --> 00:17:14,660 het niks gedoen nie. 343 00:17:14,660 --> 00:17:18,250 >> In hierdie geval, ek indiening wat ek tik op hierdie vorm, 344 00:17:18,250 --> 00:17:20,750 om 'n PHP lêer genaamd post.php. 345 00:17:20,750 --> 00:17:25,810 En, glo, die manier waarop ek doen wat in hierdie vorm is die gebruik van die POST-metode. 346 00:17:25,810 --> 00:17:29,040 So elke stukkie inligting dat ek tik in die vorm 347 00:17:29,040 --> 00:17:31,470 voorgelê sal word deur die HTTP-hoofde. 348 00:17:31,470 --> 00:17:36,440 >> Dit sal toeganklik wees in post.php wees, want dit is die optrede van my vorm. 349 00:17:36,440 --> 00:17:39,811 Dit sal toeganklik deur te gaan tot $ _POST. 350 00:17:39,811 --> 00:17:42,310 En blykbaar, die manier wat ek kan kry op elke individuele element 351 00:17:42,310 --> 00:17:44,765 met daardie assosiatiewe skikking is met hierdie kenmerk, 352 00:17:44,765 --> 00:17:48,130 die kenmerk Naam van ons insette tags. 353 00:17:48,130 --> 00:17:53,540 >> So glo ek kan sê $ _POST vierkante hakies noem ongeag die gebruiker te kry 354 00:17:53,540 --> 00:17:55,440 getik in die eerste veld. 355 00:17:55,440 --> 00:18:01,030 En $ _POST wagwoord PW eerder op watter die gebruiker getik te kry 356 00:18:01,030 --> 00:18:03,650 in die tweede veld. 357 00:18:03,650 --> 00:18:06,414 >> So laat ons neem 'n blik op dit oor in CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 So hier is ons, en ek sal zoom vir 'n tweede. 359 00:18:08,330 --> 00:18:12,380 En ons het 'n lêer genaamd post.html. 360 00:18:12,380 --> 00:18:13,690 Ek klik op post.html. 361 00:18:13,690 --> 00:18:16,300 Op hier die heel boonste Ek het 'n baie eenvoudige web vorm. 362 00:18:16,300 --> 00:18:18,750 Dit is die vorm sien ons net op die skyfie 'n tweede gelede. 363 00:18:18,750 --> 00:18:25,610 >> Ek kan tik, Doug, en ek kan tik my wagwoord, wat ons almal 364 00:18:25,610 --> 00:18:27,340 weet, is squadgoals. 365 00:18:27,340 --> 00:18:30,100 En Ek sal getref Stuur. 366 00:18:30,100 --> 00:18:32,290 En blykbaar dat dien om post.php. 367 00:18:32,290 --> 00:18:33,810 En ek glo dat die druk. 368 00:18:33,810 --> 00:18:36,490 So ek raak ontslae van al die sekuriteit daardie pos gee my deur net die druk van 369 00:18:36,490 --> 00:18:37,720 die gebruikersnaam en wagwoord. 370 00:18:37,720 --> 00:18:38,960 >> Die naam van die gebruiker se Doug. 371 00:18:38,960 --> 00:18:40,810 Wagwoord van die gebruiker is squadgoals. 372 00:18:40,810 --> 00:18:42,480 Hoe het ek dit doen? 373 00:18:42,480 --> 00:18:44,800 Wel, pop aan IDE weer vir 'n tweede. 374 00:18:44,800 --> 00:18:51,340 Ons sal af te beweeg om te neem 'n blik op post.php, wat was 375 00:18:51,340 --> 00:18:54,040 die aksie wat ek gebruik om hier te dien. 376 00:18:54,040 --> 00:18:55,739 Dit was die optrede van my HTML vorm. 377 00:18:55,739 --> 00:18:56,780 En dit is al wat ek doen. 378 00:18:56,780 --> 00:19:01,370 Die naam van die gebruiker se is, en ek is druk die inhoud van $ _POST "naam". 379 00:19:01,370 --> 00:19:04,660 En dan wagwoord van die gebruiker is $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 So het ek gegee dat die inligting deur die indiening van die HTML-vorm. 381 00:19:08,920 --> 00:19:13,790 En ek kan nou pak dit met behulp van $ _POST omdat die metode wat ek gebruik om te stuur 382 00:19:13,790 --> 00:19:17,470 data met dié vorm was die POST-metode. 383 00:19:17,470 --> 00:19:20,640 >> Nou is dit waarskynlik nie so great-- ek gaan 384 00:19:20,640 --> 00:19:24,510 om terug te gaan vir 'n tweede ons stel here-- 385 00:19:24,510 --> 00:19:30,120 dit is waarskynlik nie so groot as ek indiening inligting POST, 386 00:19:30,120 --> 00:19:32,532 wat is oënskynlik meer veilig. 387 00:19:32,532 --> 00:19:34,740 Dit is waarskynlik nie so groot As ek doen dit en dan 388 00:19:34,740 --> 00:19:36,470 uit te druk wagwoord van die gebruiker. 389 00:19:36,470 --> 00:19:38,540 Dit is veronderstel om meer veilig te wees. 390 00:19:38,540 --> 00:19:40,870 >> OK, maar dit is nie heeltemal veilig. 391 00:19:40,870 --> 00:19:42,910 En so in hierdie klein snippet hier wil ek 392 00:19:42,910 --> 00:19:46,410 net vestig u aandag op 'n paar data veiligheid, net iets 393 00:19:46,410 --> 00:19:51,200 om te dink oor as jy werk of die gebruik van die internet. 394 00:19:51,200 --> 00:19:53,890 Dit is net iets om te oorweeg. 395 00:19:53,890 --> 00:19:57,980 >> Ek het jou gesê dat inligting deur HTTP-hoofde voorgelê 396 00:19:57,980 --> 00:19:59,724 wanneer jy die POST-metode te gebruik. 397 00:19:59,724 --> 00:20:01,390 Wat beteken hulle is nie heeltemal veilig. 398 00:20:01,390 --> 00:20:05,610 Hulle is moeiliker om te vind as die gebruik van die GET-metode, waar 399 00:20:05,610 --> 00:20:06,882 dit is net reg in die URL. 400 00:20:06,882 --> 00:20:08,340 Maar daar is nog 'n manier om dit te vind. 401 00:20:08,340 --> 00:20:10,423 En ek wil net om te wys jy dit sodat jy dalk 402 00:20:10,423 --> 00:20:12,940 begin om te dink oor hierdie as jy werk, of die gebruik 403 00:20:12,940 --> 00:20:14,560 webtuistes en voorlegging wagwoorde, en miskien met behulp van 404 00:20:14,560 --> 00:20:16,518 dieselfde wagwoord in 'n baie verskillende plekke. 405 00:20:16,518 --> 00:20:22,060 Weet dat dit nog eintlik redelik maklik om uit te vind wagwoord iemand se. 406 00:20:22,060 --> 00:20:25,190 >> En so hier, ek gaan om te gaan na post2.html. 407 00:20:25,190 --> 00:20:28,850 En die verskil met post2.html en post2.php is redelik subtiel. 408 00:20:28,850 --> 00:20:31,420 Die verskil is net dat ek nie uit te druk 409 00:20:31,420 --> 00:20:33,520 die wagwoord wanneer ek stuur die vorm. 410 00:20:33,520 --> 00:20:35,260 >> So ek gaan om te tik in, Doug. 411 00:20:35,260 --> 00:20:38,365 En ek gaan om te tik in, squadgoals, selfs 412 00:20:38,365 --> 00:20:40,770 al weet ons dit is die wagwoord. 413 00:20:40,770 --> 00:20:42,540 Voordat ek dien die vorm al, ek gaan 414 00:20:42,540 --> 00:20:45,864 om oop te maak Developer Tools, net om wys jou wat gaan hier gebeur nie. 415 00:20:45,864 --> 00:20:47,530 So in Chrome, is ek net gaan F12 getref. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 En wat gaan open my Developer Tools op die regterkant. 418 00:20:57,230 --> 00:20:59,480 Ek het die vorm nog nie ingedien is. 419 00:20:59,480 --> 00:21:02,680 Nou gaan ek om te tref Stuur op my vorm. 420 00:21:02,680 --> 00:21:05,370 En blykbaar, het ek 'n roep, of ek het 'n versoek 421 00:21:05,370 --> 00:21:07,620 om post2.php, wat sin maak. 422 00:21:07,620 --> 00:21:10,040 Ek gaan om te klik op dit. 423 00:21:10,040 --> 00:21:13,802 >> Toe hier, ek gaan kliek op Headers. 424 00:21:13,802 --> 00:21:15,410 Daar is 'n baie dinge hier aangaan nie. 425 00:21:15,410 --> 00:21:21,310 Maar as ek gaan na die baie onderkant, kennisgewing reg there-- my kalender 426 00:21:21,310 --> 00:21:25,180 het dit geblokkeer vir 'n second-- reg daar op die heel onderste hoek, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 So selfs al is die gebruik van die I POST metode, wat is meer veilig, 429 00:21:30,010 --> 00:21:33,570 wees net bewus daarvan dat wanneer jy dit doen, jy nog steeds die oordrag van inligting 430 00:21:33,570 --> 00:21:34,430 deur HTTP. 431 00:21:34,430 --> 00:21:36,770 En dit kan nog steeds gevind deur 'n teenstander. 432 00:21:36,770 --> 00:21:39,270 Dis net iets wat ons gaan om te doen het met regtig. 433 00:21:39,270 --> 00:21:41,980 Miskien is daar 'n paar maniere om te enkripteer ons wagwoorde voordat ons stuur hulle oor, 434 00:21:41,980 --> 00:21:44,410 wat 'n beter sou wees, wat ek hier doen nie. 435 00:21:44,410 --> 00:21:47,010 >> Maar net bewus wees dat die pos metode het beperkings ook. 436 00:21:47,010 --> 00:21:49,801 Dit is 'n verbetering op te raak in terme van 'onmiddellik sigbaar. 437 00:21:49,801 --> 00:21:51,280 Maar dit is nie 'n volledige oplossing. 438 00:21:51,280 --> 00:21:53,280 So hier is 'n voorbeeld van 'n vinnige by die huis oefening 439 00:21:53,280 --> 00:21:56,350 wat jy kan gebruik om 'n paar te kry oefen saam met PHP. 440 00:21:56,350 --> 00:21:58,300 Skep die volgende paar webblaaie. 441 00:21:58,300 --> 00:22:00,960 Die eerste moet net 'n baie eenvoudige vorm met 'n enkele veld en 'n Stuur 442 00:22:00,960 --> 00:22:01,460 knoppie. 443 00:22:01,460 --> 00:22:04,070 So baie soortgelyk aan wat ons net gedoen met post.html. 444 00:22:04,070 --> 00:22:07,450 >> En dan is die tweede lêer wat jy moet skep 445 00:22:07,450 --> 00:22:11,687 is 'n lêer, 'n PHP lêer, wat verwag insette, via POST, 446 00:22:11,687 --> 00:22:14,770 en op grond van wat die gebruiker getik, wat jy kan neem, sal 'n heelgetal wees. 447 00:22:14,770 --> 00:22:16,160 Jy hoef nie aan enige doen foutopsporing of die wil. 448 00:22:16,160 --> 00:22:18,284 Jy kan die gebruiker aanvaar sal 'n heelgetal waarde tik, 449 00:22:18,284 --> 00:22:22,230 of iets soos 'n vertolk deur PHP as 'n heelgetal, in daardie vorm. 450 00:22:22,230 --> 00:22:24,790 Jy wil net 'n te skep N deur n vermenigvuldiging tafel. 451 00:22:24,790 --> 00:22:28,480 >> So as die gebruiker instuur 10, ons wil 'n 10 met 10 vermenigvuldiging tafel. 452 00:22:28,480 --> 00:22:31,832 As die gebruiker lê 'n 12, ons wil 'n 12 met 12 vermenigvuldiging tafel. 453 00:22:31,832 --> 00:22:33,790 Net sodat jy kan sien wat Ons ry om hier, 454 00:22:33,790 --> 00:22:36,040 ons sal 'n blik op te neem hierdie lêer in my IDE. 455 00:22:36,040 --> 00:22:38,080 >> So hier in IDE, ek het mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Ek sal dit op. 458 00:22:43,100 --> 00:22:46,020 Al wat ek wil doen, is stuur 'n waarde. 459 00:22:46,020 --> 00:22:47,590 Tipe in 10, getref Stuur. 460 00:22:47,590 --> 00:22:51,190 En blykbaar, mult_table.php, wat kan ons by die top te sien daar in die URL, 461 00:22:51,190 --> 00:22:53,970 Ek is die skep van '10 deur 10 vermenigvuldiging tafel. 462 00:22:53,970 --> 00:22:59,365 >> As ek tik 15 en druk stuur, nou is ek 'n 15 met 15 vermenigvuldiging tafel. 463 00:22:59,365 --> 00:23:02,240 Ek is natuurlik nie gaan om te wys jy die inhoud van mult_table.php, 464 00:23:02,240 --> 00:23:04,781 omdat die wat die pret sal neem uit hierdie by die huis oefening. 465 00:23:04,781 --> 00:23:07,480 Maar dit is 'n goeie manier om 'n paar te kry oefen saam met PHP loops 466 00:23:07,480 --> 00:23:10,889 en post, baie eenvoudig, hopelik stresvry byvoorbeeld, net 467 00:23:10,889 --> 00:23:12,180 om 'n bietjie van die praktyk te doen. 468 00:23:12,180 --> 00:23:16,540 En ek het 'n bietjie CSS aangaan het hier om my eie tabel te maak 469 00:23:16,540 --> 00:23:19,710 selle net soort van pop uit 'n bietjie en kyk 'n bietjie meer 470 00:23:19,710 --> 00:23:22,205 soos 'n tafel van vermenigvuldiging, eerder as om net die teks net 471 00:23:22,205 --> 00:23:23,261 soort daar sit. 472 00:23:23,261 --> 00:23:26,260 Die laaste super globale sal ons praat oor in hierdie video is iets genoem 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 En miskien is dit eintlik die beste voorbeeld van iets 475 00:23:29,930 --> 00:23:31,700 sou ons globale oorweeg. 476 00:23:31,700 --> 00:23:33,189 Dit is nog 'n skikking. 477 00:23:33,189 --> 00:23:34,480 Dit is 'n ander assosiatiewe skikking. 478 00:23:34,480 --> 00:23:40,580 Maar dit is toeganklik deur elke PHP lêer wat bestaan ​​op ons stelsel. 479 00:23:40,580 --> 00:23:43,410 >> Ons hoef nie te dien inligting een bladsy op 'n tyd 480 00:23:43,410 --> 00:23:45,400 soos wat ons doen met AOO en pos. 481 00:23:45,400 --> 00:23:46,380 Dit is altyd daar. 482 00:23:46,380 --> 00:23:50,040 En so is dit vir 'n groot bladsy waar jy aangemeld is, byvoorbeeld, 483 00:23:50,040 --> 00:23:53,120 en jy het jou inskrywing inligting wil hê voortduur van bladsy tot bladsy tot bladsy. 484 00:23:53,120 --> 00:23:58,180 >> Jy kan net 'n sessie te begin en dan gebruik $ _SESSION om dinge soos red 485 00:23:58,180 --> 00:24:02,320 naam, of die gebruiker se die gebruiker se ID inligting, en so aan. 486 00:24:02,320 --> 00:24:07,600 En dat die inligting sal in te bly $ _SESSION Totdat jy die sessie te vernietig 487 00:24:07,600 --> 00:24:09,550 'n bietjie later. 488 00:24:09,550 --> 00:24:12,375 >> Skryf dinamiese webblaaie met PHP maak hulle 'n baie beter. 489 00:24:12,375 --> 00:24:14,250 Jou webwerwe raak baie dinamiese, en jy dit nie doen nie 490 00:24:14,250 --> 00:24:17,670 het te veel meer as doen wat sou jy anders gedoen het net 491 00:24:17,670 --> 00:24:18,920 om dit te doen met HTML. 492 00:24:18,920 --> 00:24:21,630 Maar dit vereis oefening, 'n baie van die praktyk. 493 00:24:21,630 --> 00:24:26,897 >> Jy weet reeds hoe om te werk met C, en so spring om PHP is nie te moeilik. 494 00:24:26,897 --> 00:24:28,730 Wat is miskien 'n bietjie bietjie lastig werk 495 00:24:28,730 --> 00:24:33,180 met hierdie nuwe idee te kry en post, en miskien die vermenging van jou HTML en PHP jou 496 00:24:33,180 --> 00:24:34,220 saam. 497 00:24:34,220 --> 00:24:37,570 Maar ook bewus wees dat die internet is 'n groot bron van inligting. 498 00:24:37,570 --> 00:24:41,670 En dokumentasie PHP se is beskikbaar in baie plekke, maar miskien die meeste 499 00:24:41,670 --> 00:24:43,354 kerkwetlik op php.net. 500 00:24:43,354 --> 00:24:45,520 En jy kan daar vind, baie van die verskillende funksies, 501 00:24:45,520 --> 00:24:48,330 en gebruik gevalle, en voorbeelde op voorbeelde, op voorbeelde. 502 00:24:48,330 --> 00:24:51,340 Waar as jy wil om te probeer en figuur hoe om iets te doen, is die kans, 503 00:24:51,340 --> 00:24:52,964 iemand is dit waarskynlik gedoen voordat jy. 504 00:24:52,964 --> 00:24:55,840 En jy kan dit gebruik as inspirasie te implementeer wat ookal 505 00:24:55,840 --> 00:24:58,230 dit is wat jy probeer om te implementeer. 506 00:24:58,230 --> 00:24:59,230 >> Ek is Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Dit is CS50. 508 00:25:01,210 --> 00:25:02,608