1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Dus in onze video op PHP syntax, 3 00:00:07,620 --> 00:00:10,480 We hebben veel gepraat over hoe PHP kan worden gebruikt op de opdrachtregel 4 00:00:10,480 --> 00:00:13,620 Om in een wijze lopen dat We zijn behoorlijk vertrouwd met van C. 5 00:00:13,620 --> 00:00:15,370 Maar zoals ik ook vermeld in die video, PHP 6 00:00:15,370 --> 00:00:19,572 werd aanvankelijk ontwikkeld implementeren web programmeren, websites. 7 00:00:19,572 --> 00:00:21,780 En zo in deze video zijn we gaan praten over hoe we 8 00:00:21,780 --> 00:00:23,890 PHP gebruiken in het web development context. 9 00:00:23,890 --> 00:00:26,360 >> We weten al uit onze video op HTML, 10 00:00:26,360 --> 00:00:29,820 dat websites worden gebouwd uit een set van HTML-tags 11 00:00:29,820 --> 00:00:32,850 dat semantisch definiëren de structuur van een webpagina. 12 00:00:32,850 --> 00:00:35,910 Maar websites die zijn gebouwd met pure HTML 13 00:00:35,910 --> 00:00:39,510 lijdt aan een, zeer ernstige beperking. 14 00:00:39,510 --> 00:00:42,690 >> En deze beperking te illustreren, laten we eens kijken naar de volgende. 15 00:00:42,690 --> 00:00:45,665 Dus nu wil ik een webpagina te bouwen dat, wanneer de gebruiker bezoekt het, 16 00:00:45,665 --> 00:00:49,760 het geeft me de huidige tijd in Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 weergeven van het aan de laatste minuut. 18 00:00:52,620 --> 00:00:57,910 Als ik was het maken van dit recht nu, Ik zou zoiets zeggen. 19 00:00:57,910 --> 00:01:01,330 Tijd in Cambridge-- dus ik heb HTML-tags, hoofd-tags, title-tags, 20 00:01:01,330 --> 00:01:04,610 lichaam tags-- de huidige tijd in Cambridge is 14:08, 21 00:01:04,610 --> 00:01:06,690 afdrukken van militaire tijd. 22 00:01:06,690 --> 00:01:11,390 >> Wat gebeurt er als het is nu 02:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Nou tot nu toe, met HTML, ik heb te gaan en verander het in 14:09. 24 00:01:16,470 --> 00:01:19,390 En dan een minuut later, Ik moet het weer te veranderen. 25 00:01:19,390 --> 00:01:22,132 En dan een minuut later, Ik moet het weer te veranderen. 26 00:01:22,132 --> 00:01:24,590 En zoals je je kunt voorstellen, dat is waarschijnlijk de ergste baan ooit. 27 00:01:24,590 --> 00:01:29,420 Jij bent de webmaster voor een webpagina, en elke minuut, 24 uur per dag, 28 00:01:29,420 --> 00:01:35,970 je nodig hebt om de huidige tijd te werken door handmatig openen time.html en veranderende 29 00:01:35,970 --> 00:01:41,750 alleen dat stukje code aan het zeggen de huidige tijd in uren en minuten. 30 00:01:41,750 --> 00:01:45,850 Dat is waarschijnlijk niet een erg goed gebruik van onze middelen, 31 00:01:45,850 --> 00:01:48,880 zowel mens en computationele. 32 00:01:48,880 --> 00:01:51,297 >> Websites die alle HTML volledig statisch. 33 00:01:51,297 --> 00:01:53,630 De enige manier waarop je kunt bijwerken inhoud, zoals we net hebben gezien, 34 00:01:53,630 --> 00:01:56,339 is om deze bron handmatig openen bestanden, bewerken en opslaan. 35 00:01:56,339 --> 00:01:58,088 En dan wanneer de gebruiker ververst de pagina, 36 00:01:58,088 --> 00:02:01,080 of bezoekt de pagina voor de eerste tijd, zullen ze de nieuwste inhoud te krijgen. 37 00:02:01,080 --> 00:02:03,970 Maar alleen omdat we hebben handmatig bewerkt het. 38 00:02:03,970 --> 00:02:07,980 >> Als we beginnen met een aantal PHP mengen daar, onze code kan krijgen veel flexibeler. 39 00:02:07,980 --> 00:02:11,940 En we kunnen een manier voor onze pagina's dynamisch zijn of zichzelf bij te werken, 40 00:02:11,940 --> 00:02:15,360 zonder dat onze arme webmaster in het vorige voorbeeld 41 00:02:15,360 --> 00:02:16,662 handmatig te actualiseren dingen. 42 00:02:16,662 --> 00:02:17,870 Ze kan het automatisch doen. 43 00:02:17,870 --> 00:02:19,130 We hoeven niet in te grijpen. 44 00:02:19,130 --> 00:02:20,410 We kunnen slapen. 45 00:02:20,410 --> 00:02:24,850 Dat is waarschijnlijk een goede zaak als je doet een heleboel web programmeren. 46 00:02:24,850 --> 00:02:28,360 >> Dus in CS50 IDE, lopen we een webserver genaamd Apache. 47 00:02:28,360 --> 00:02:35,250 Het is een veelgebruikte, open source webserver systeem. 48 00:02:35,250 --> 00:02:37,320 Dit systeem heeft capaciteit te interpreteren 49 00:02:37,320 --> 00:02:41,260 PHP, die zal nuttig te zijn indien u wilt een PHP programmeren. 50 00:02:41,260 --> 00:02:45,230 >> En in CS50 IDE, hebben we een opdracht deze zeer gemakkelijk te doen maken, 51 00:02:45,230 --> 00:02:47,280 apache50 starten. 52 00:02:47,280 --> 00:02:49,445 En toen dat slash pad, slash aan, slash 53 00:02:49,445 --> 00:02:53,350 dir, dat is gewoon een heel gebruikelijke manier aangeeft wat je hier hebt opgegeven 54 00:02:53,350 --> 00:02:56,510 is een pad naar een bepaalde directory die u 55 00:02:56,510 --> 00:03:00,800 willen de wortel site, of de wortel pagina 56 00:03:00,800 --> 00:03:05,430 of de map waaruit uw webserver begint om bestanden te onderzoeken en te dienen 57 00:03:05,430 --> 00:03:07,850 ze aan klanten die erom vragen. 58 00:03:07,850 --> 00:03:12,110 Dus laten we pop naar CS50 IDE, alleen maar om laten zien, erg snel, hoe dit werkt. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Dus hier in CS50 IDE, ik ben in een directory genaamd Week Nine Zero. 61 00:03:36,240 --> 00:03:38,890 En ik heb two-- ik geëxecuteerd een LS commando net 62 00:03:38,890 --> 00:03:41,910 hierboven om te laten zien dat ik twee mappen hier, PHP, 63 00:03:41,910 --> 00:03:46,410 dat is de set van bestanden die ik gebruikte in de PHP syntax video, en dan PHP-web, 64 00:03:46,410 --> 00:03:49,380 dat is de set van bestanden die ik wilt gebruiken in deze video. 65 00:03:49,380 --> 00:03:53,480 >> En ik zou willen beginnen een webserver bijvoorbeeld 66 00:03:53,480 --> 00:03:59,089 met de inhoud van de map PHP-web als de bestanden worden geserveerd. 67 00:03:59,089 --> 00:04:00,130 Dus wat moet ik doen? 68 00:04:00,130 --> 00:04:05,710 Ik ga apache50 ruimte typen start, ruimte PHP, scheutje web. 69 00:04:05,710 --> 00:04:08,100 Dat is het pad naar de directory van waar ik nu ben. 70 00:04:08,100 --> 00:04:09,127 Dan druk ik op Enter. 71 00:04:09,127 --> 00:04:10,960 Het gaat om een ​​te doen beetje spul hier. 72 00:04:10,960 --> 00:04:14,030 En dan is het gaan zeggen, Apache gestart met succes. 73 00:04:14,030 --> 00:04:20,689 Uw site is nu beschikbaar en at-- dan is er de URL van de site. 74 00:04:20,689 --> 00:04:21,730 Dus wat moet ik doen? 75 00:04:21,730 --> 00:04:26,234 Ik ga dit snel te kopiëren. 76 00:04:26,234 --> 00:04:28,900 En ik ga up-- openen en Ik zal uit te zoomen een beetje hier-- 77 00:04:28,900 --> 00:04:31,570 Ik ga om te openen een nieuw tabblad in Chrome. 78 00:04:31,570 --> 00:04:34,320 En ik ga naar die URL te bezoeken. 79 00:04:34,320 --> 00:04:35,299 >> Ik ga druk op Enter. 80 00:04:35,299 --> 00:04:36,090 Het gaat om te laden. 81 00:04:36,090 --> 00:04:37,510 En ik zal er weer uit te zoomen. 82 00:04:37,510 --> 00:04:41,350 En we kunnen hier zien is de inhoud van mijn PHP web directory. 83 00:04:41,350 --> 00:04:45,290 >> Dus nu wat er eigenlijk gebeurt Hier is mijn voorbeeld van CS50 IDE 84 00:04:45,290 --> 00:04:49,620 is waar je van deze bestanden naar iedereen die daarom verzoekt. 85 00:04:49,620 --> 00:04:51,620 En in de loop van deze video, zullen we een soort van 86 00:04:51,620 --> 00:04:55,400 een kijkje nemen op een bos van deze verschillende bestanden in context. 87 00:04:55,400 --> 00:04:57,614 >> Om te testen dat je Apache server werkt, 88 00:04:57,614 --> 00:04:59,780 die in het algemeen gaat het geval in CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 maar als je dit doet meer in het algemeen, en u begint met het bouwen van uw eigen web 90 00:05:02,696 --> 00:05:04,990 servers, er is een echt voorkomende soort van analoog naar, 91 00:05:04,990 --> 00:05:08,500 "Hello World", dat is meestal gebruikt voor PHP web development. 92 00:05:08,500 --> 00:05:12,855 Die is om een ​​bestand bestaande uit alleen deze code-- 93 00:05:12,855 --> 00:05:18,247 een PHP begrenzer set met PHP info, haakjes, puntkomma tussen. 94 00:05:18,247 --> 00:05:20,580 Die in feite een speciale PHP functie die u vertelt 95 00:05:20,580 --> 00:05:23,970 welke versie van PHP die u gebruikt. 96 00:05:23,970 --> 00:05:26,850 >> Dus in CS50 IDE, ik heb dat bestand beschikbaar alleen 97 00:05:26,850 --> 00:05:28,680 om te laten zien hoe dit eruit zou zien. 98 00:05:28,680 --> 00:05:32,860 Dus ik ben op zoek naar mijn index van mijn PHP bijvoorbeeld. 99 00:05:32,860 --> 00:05:35,870 Mijn Apache exemplaar wordt uitgevoerd de inhoud van PHP web. 100 00:05:35,870 --> 00:05:39,290 En ik heb een bestand hier de naam info.php. 101 00:05:39,290 --> 00:05:41,164 >> Ik ga klik erop, uitzoomen. 102 00:05:41,164 --> 00:05:43,080 Dit is wat je gaat om te zien, vrij veel. 103 00:05:43,080 --> 00:05:45,729 Dit is gewoon me te vertellen dat mijn Apache server werkt. 104 00:05:45,729 --> 00:05:48,270 Dit is blijkbaar de versie van PHP die ik ben actief. 105 00:05:48,270 --> 00:05:51,590 Dit is mijn analoog naar "Hello World". 106 00:05:51,590 --> 00:05:53,070 >> Dus ik weet dat dingen zijn operationeel. 107 00:05:53,070 --> 00:05:54,150 Dus we zijn goed om te gaan. 108 00:05:54,150 --> 00:05:55,730 We kunnen verder gaan vanaf hier. 109 00:05:55,730 --> 00:05:57,790 >> Dus laten we opnieuw dat tijd Zo waren we 110 00:05:57,790 --> 00:06:01,950 over met onze arme webmaster die moest de pagina voortdurend te actualiseren. 111 00:06:01,950 --> 00:06:05,020 Dit zou een oplossing voor hoe zijn Ik wil dingen uit te voeren 112 00:06:05,020 --> 00:06:08,080 zodat de webmaster niet te houden bijwerken van de tijd. 113 00:06:08,080 --> 00:06:10,270 Het zou gewoon een soort van automatisch gebeuren. 114 00:06:10,270 --> 00:06:13,710 >> De beneden de HTML, is het redelijk vergelijkbaar, met één uitzondering. 115 00:06:13,710 --> 00:06:16,720 Maar hier, ik heb een aantal PHP aan de top. 116 00:06:16,720 --> 00:06:19,940 Ik heb, blijkbaar, dit heet functie date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> En we niet over alles praten deze functies in CS50, 118 00:06:22,106 --> 00:06:24,670 omdat PHP heeft waarschijnlijk tienduizenden. 119 00:06:24,670 --> 00:06:27,540 Dat is misschien een beetje een te zijn overdrijving, maar het kan niet. 120 00:06:27,540 --> 00:06:29,490 Het heeft veel functies ingebouwd. 121 00:06:29,490 --> 00:06:33,290 En dus dit is een functie blijkbaar zet mijn tijdzone als US / Eastern, 122 00:06:33,290 --> 00:06:36,320 dat is de tijdzone die ik ben Momenteel maken van deze video. 123 00:06:36,320 --> 00:06:38,430 >> Toen ik een telefoontje te maken functie genaamd, datum. 124 00:06:38,430 --> 00:06:43,850 En, blijkbaar, ben ik het opslaan van de HIS van iets geroepen, de tijd. 125 00:06:43,850 --> 00:06:45,320 Dus wat is hier aan de hand? 126 00:06:45,320 --> 00:06:48,040 >> Nou, eigenlijk wat is gebeurt is, ben ik het maken van een oproep 127 00:06:48,040 --> 00:06:51,650 enkele server die gaat vertel me wat de tijd die momenteel is. 128 00:06:51,650 --> 00:06:56,150 En ik doe het omzetten naar een formaat uren, minuten, seconden. 129 00:06:56,150 --> 00:07:00,540 En de reden dat de hoofdstad H is dit gaat me 24 uur tijd, niet 12 130 00:07:00,540 --> 00:07:02,362 uurs die kleine h zou zijn. 131 00:07:02,362 --> 00:07:04,570 En ik ben gewoon het opslaan van dat in een variabele met de naam, tijd. 132 00:07:04,570 --> 00:07:07,028 Zodat de tweede regel van PHP daar, de oproep om de functie, 133 00:07:07,028 --> 00:07:09,037 datum, is net stukje tekst, wat 134 00:07:09,037 --> 00:07:12,120 gaat me de datum te geven en de de tijd, en een heleboel andere informatie. 135 00:07:12,120 --> 00:07:16,480 En het eerste argument is er, dat zijn, is gewoon het extraheren van de belangrijke rol 136 00:07:16,480 --> 00:07:20,614 dat ik de zorg over voor dit voorbeeld, dat is de uren, minuten en seconden. 137 00:07:20,614 --> 00:07:22,030 Dus dat is het alles wat er gaande is. 138 00:07:22,030 --> 00:07:23,562 Dus ik bewaar dat in een variabele $ tijd. 139 00:07:23,562 --> 00:07:25,270 En dan naar beneden op de bodem daar, ik 140 00:07:25,270 --> 00:07:28,980 hebben die afkorting voor afdrukken van de huidige tijd. 141 00:07:28,980 --> 00:07:32,050 Dus ik ga gewoon om af te drukken wat de huidige tijd is. 142 00:07:32,050 --> 00:07:37,220 >> Dus laten we een kijkje nemen op deze in CS50 IDE en zien hoe we zijn nu 143 00:07:37,220 --> 00:07:40,002 besparing die webmaster een hoop problemen. 144 00:07:40,002 --> 00:07:42,570 Oké, dus hier ben ik weer terug naar de root directory 145 00:07:42,570 --> 00:07:45,040 mijn Apache instantie. 146 00:07:45,040 --> 00:07:51,585 En ik heb een bestand hier genoemd time.php. 147 00:07:51,585 --> 00:07:53,559 Ik ga gewoon op dat. 148 00:07:53,559 --> 00:07:55,850 En ik zal omhoog schuiven, omdat we ingezoomd vrij ver. 149 00:07:55,850 --> 00:07:57,257 De huidige tijd is 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Dus ik doe het uur, minuten en seconden. 151 00:07:59,090 --> 00:08:01,910 En ik kan het vernieuwen pagina en krijg nieuwe tijd. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Ik ga naar de pagina te vernieuwen en krijg nieuwe tijd, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Dus, ik ben duidelijk niet mezelf iets te veranderen. 155 00:08:10,490 --> 00:08:11,720 Ik ben hier de pagina te vernieuwen. 156 00:08:11,720 --> 00:08:13,711 Dus ik kan niet terug te bewerken. 157 00:08:13,711 --> 00:08:15,710 En ik beloof je, ik niet enige bondgenoten 158 00:08:15,710 --> 00:08:18,230 die het bestand bewerken op mijn naam op de zijkant. 159 00:08:18,230 --> 00:08:21,260 >> Ik ben gewoon met behulp van dat PHP functie, tijd, om de tijd voor mij genereren 160 00:08:21,260 --> 00:08:22,340 automatisch. 161 00:08:22,340 --> 00:08:24,800 Zodat zelfs als ik slaap, en mijn web-server draait, 162 00:08:24,800 --> 00:08:28,884 de gebruiker die een bezoek aan die pagina is nog steeds gaat precies krijgen de huidige tijd. 163 00:08:28,884 --> 00:08:29,800 Dus dat is behoorlijk goed. 164 00:08:29,800 --> 00:08:33,609 Ik heb mijn site dynamischer gemaakt met niet te veel PHP-code. 165 00:08:33,609 --> 00:08:36,650 Het was slechts twee regels code en vervolgens een beetje een print instructie. 166 00:08:36,650 --> 00:08:38,441 En al heb ik een veel meer dynamische site 167 00:08:38,441 --> 00:08:42,750 dan die eerste voorbeeld zagen we aan het begin van de video. 168 00:08:42,750 --> 00:08:46,660 >> Dus, herinneren van de video op PHP syntax dat wanneer de PHP-tolk loopt 169 00:08:46,660 --> 00:08:50,000 ons programma, negeert alles dat is niet de binnenkant van PHP afbakeningen, 170 00:08:50,000 --> 00:08:51,500 spugen het uit. 171 00:08:51,500 --> 00:08:54,410 In dat voorbeeld, wat het ding dat het spugen was HTML. 172 00:08:54,410 --> 00:08:58,080 En dit betekent dat ik kan nu tussenwerpen HTML en PHP samen. 173 00:08:58,080 --> 00:09:01,920 Omdat de tolk zal net negeren de HTML en letterlijk uitgang het. 174 00:09:01,920 --> 00:09:04,140 Dat is goed, toch? 175 00:09:04,140 --> 00:09:06,100 >> Omdat vermoedelijk, aan het einde van de dag, 176 00:09:06,100 --> 00:09:08,360 Ik zou mijn site te willen geconstrueerd van HTML. 177 00:09:08,360 --> 00:09:12,880 Zodat elke webbrowser kan interpreteren , of begrijp de HTML op de pagina 178 00:09:12,880 --> 00:09:17,270 en maken het als iets dat we daadwerkelijk kan begrijpen als mensen. 179 00:09:17,270 --> 00:09:19,430 En ik kan alleen gebruik maken van PHP voor gedeelten van mijn site 180 00:09:19,430 --> 00:09:23,390 de eisen dynamiek, die me nodig dingen die voortdurend bij te werken. 181 00:09:23,390 --> 00:09:26,630 De statische informatie kan hetzelfde blijven. 182 00:09:26,630 --> 00:09:27,540 >> OK, dus dat is prima. 183 00:09:27,540 --> 00:09:28,540 Maar waarom zou ik dat doen? 184 00:09:28,540 --> 00:09:30,400 Waarom zou ik meng HTML en PHP? 185 00:09:30,400 --> 00:09:33,850 Ik kon gewoon uitprinten alle HTML, met behulp van de PHP-printfunctie. 186 00:09:33,850 --> 00:09:35,870 Waarom ben ik niet om dat te doen? 187 00:09:35,870 --> 00:09:37,100 Denk er eens over voor een tweede. 188 00:09:37,100 --> 00:09:41,220 >> Waarom, als ik kon gewoon afdrukken out-- I lijnen van PHP dat gewoon zeggen zou kunnen hebben, 189 00:09:41,220 --> 00:09:43,841 afdrukken HTML-tag, printkop. 190 00:09:43,841 --> 00:09:44,840 Waarom ben ik niet om dat te doen? 191 00:09:44,840 --> 00:09:48,230 Waarom ben ik het mengen van de PHP en HTML? 192 00:09:48,230 --> 00:09:50,080 >> Nou, als je denkt over het voor een tweede. 193 00:09:50,080 --> 00:09:52,824 PHP, de tolk heeft om te interpreteren wat hij ziet. 194 00:09:52,824 --> 00:09:54,990 En dus het gaat om om een ​​lijn van code uit te voeren. 195 00:09:54,990 --> 00:09:56,450 Uitprinten HTML. 196 00:09:56,450 --> 00:09:57,700 Uitprinten open hoofd tag. 197 00:09:57,700 --> 00:09:58,969 Uitprinten geopend title tag. 198 00:09:58,969 --> 00:10:00,760 Het gaat te hebben om uit te voeren en te interpreteren 199 00:10:00,760 --> 00:10:02,671 dat iedere stap van de weg. 200 00:10:02,671 --> 00:10:04,670 Waarom niet gewoon laten de tolk slechts verdoezelen 201 00:10:04,670 --> 00:10:06,878 dingen die het niet begrijpt en automatisch te doen? 202 00:10:06,878 --> 00:10:11,365 Het gaat me een hoop tijd mijn HTML en mijn PHP samen mengen. 203 00:10:11,365 --> 00:10:16,220 >> En dus dat is waarom we niet doen gewoon geopend PHP begrenzer 204 00:10:16,220 --> 00:10:19,450 en dan gewoon uitprinten het hele inhoud van onze pagina als een gigantische PHP 205 00:10:19,450 --> 00:10:24,330 bellen om de functie Print en dan dicht PHP begrenzer en we zijn klaar. 206 00:10:24,330 --> 00:10:27,620 Dus dat is waarom we samen meng ze omhoog. 207 00:10:27,620 --> 00:10:32,345 >> Tot nu toe hebben we niet te veel van gezien een verschil van de algemene PHP syntax. 208 00:10:32,345 --> 00:10:33,720 Het is vrij eenvoudig. 209 00:10:33,720 --> 00:10:35,553 We hebben al gezien dat de vraagteken, gelijk. 210 00:10:35,553 --> 00:10:39,012 We zagen een paar van de nieuwe functie oproepen, maar niets echt bijzonders aan de hand. 211 00:10:39,012 --> 00:10:40,720 Laten we misschien dingen een beetje liefhebber. 212 00:10:40,720 --> 00:10:44,360 Wat als we willen informatie door te geven verschillende PHP bestanden, 213 00:10:44,360 --> 00:10:47,280 zodat misschien kan de gebruiker submit informatie aan mij. 214 00:10:47,280 --> 00:10:50,230 En dan kon ik iets doen met het op een andere pagina. 215 00:10:50,230 --> 00:10:52,990 >> Dus PHP heeft ondersteuning voor iets genaamd Super Global 216 00:10:52,990 --> 00:10:55,297 Variabelen, die vrij geweldig klinkt. 217 00:10:55,297 --> 00:10:57,130 Ze zijn eigenlijk alleen giant associatieve arrays 218 00:10:57,130 --> 00:10:59,900 die helpen de uitvoering van deze functionaliteit van passerende 219 00:10:59,900 --> 00:11:05,010 informatie tussen de PHP-bestanden die zijn bestaan ​​op onze webserver. 220 00:11:05,010 --> 00:11:07,760 >> De eerste van deze super globals heet $ _GET. 221 00:11:07,760 --> 00:11:10,140 En het is waarschijnlijk de eenvoudigste te begrijpen. 222 00:11:10,140 --> 00:11:12,430 Wat gebeurt er met $ _GET? 223 00:11:12,430 --> 00:11:16,240 Nou, in principe, de gebruiker is gaat naar extra informatie typen 224 00:11:16,240 --> 00:11:18,390 aan het einde van onze URLs. 225 00:11:18,390 --> 00:11:21,460 En wat ze typen, in de veronderstelling het is geformatteerd op een bepaalde manier 226 00:11:21,460 --> 00:11:25,830 riep een query string, dat is gewoon een reeks van belangrijke waarde paren gescheiden 227 00:11:25,830 --> 00:11:27,810 door ampersands. 228 00:11:27,810 --> 00:11:32,362 Die sleutel waarde paren zal zijn opgeslagen in een $ _GET associatieve array. 229 00:11:32,362 --> 00:11:34,070 En van onze video-on- PHP syntax, we weten 230 00:11:34,070 --> 00:11:40,080 hoe te werken met associatieve arrays al. 231 00:11:40,080 --> 00:11:44,090 Dus hier is een voorbeeld van sommige PHP, waarbij misschien ben ik 232 00:11:44,090 --> 00:11:50,180 extraheren van alle belangrijke waardeparen dat de in de URL geleverde gebruiksaanwijzing. 233 00:11:50,180 --> 00:11:51,970 Dus ik heb mijn Open PHP begrenzer. 234 00:11:51,970 --> 00:11:53,410 Ik heb een foreach lus. 235 00:11:53,410 --> 00:11:57,410 Ik itereren over de Super Global Array genaamd $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> En ik wil in staat zijn om te verwijzen zowel de sleutel en waarde. 237 00:12:00,160 --> 00:12:02,410 En ik ze gewoon afdrukken out, elk op schijnbaar 238 00:12:02,410 --> 00:12:03,780 eigen paragraaf tag hier. 239 00:12:03,780 --> 00:12:07,620 Ik ben het afdrukken van een aantal HTML en interpoleren van de waarden 240 00:12:07,620 --> 00:12:12,900 van de sleutel en de waarde in die verklaring. 241 00:12:12,900 --> 00:12:16,980 >> Dus laten we eens kijken naar hoe dit eigenlijk zou werken aan onze IDE. 242 00:12:16,980 --> 00:12:18,980 En misschien is dit zal helpen illustreren een beetje 243 00:12:18,980 --> 00:12:21,880 van wat GET eigenlijk doet. 244 00:12:21,880 --> 00:12:23,610 Dus ik ben hier terug in mijn web root. 245 00:12:23,610 --> 00:12:25,318 En ik zal in een te zoomen beetje te laten zien 246 00:12:25,318 --> 00:12:28,620 dat ik een bestand genaamd, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Dus laten we op get1.php. 248 00:12:31,830 --> 00:12:36,600 En ik zie geen inhoud. 249 00:12:36,600 --> 00:12:38,390 Dat is raar, toch? 250 00:12:38,390 --> 00:12:39,740 Nou, niet echt eigenlijk. 251 00:12:39,740 --> 00:12:42,030 Omdat ik niet leveren iets in de URL. 252 00:12:42,030 --> 00:12:46,270 Ik ga get1.php, maar ik Er zijn geen belangrijke waarde paren leveren 253 00:12:46,270 --> 00:12:47,450 als onderdeel van mijn query string. 254 00:12:47,450 --> 00:12:50,510 Dus laten we voegen een query string en zie wat dit bestand kan doen. 255 00:12:50,510 --> 00:12:53,040 >> Om een ​​query string begin je typt vraagteken. 256 00:12:53,040 --> 00:13:00,820 Dan misschien zal ik zeggen name = Doug & jaar = 2015. 257 00:13:00,820 --> 00:13:02,914 En dan zal ik op Enter. 258 00:13:02,914 --> 00:13:04,080 Let nu op wat er gebeurt. 259 00:13:04,080 --> 00:13:05,480 Ik ben nog steeds in get1.php. 260 00:13:05,480 --> 00:13:08,445 Maar nu heb ik geleverd key waarde paren, en ik ben 261 00:13:08,445 --> 00:13:14,940 printen ze uit op hun eigen paragraph-- naam, Doug-- jaar 2015. 262 00:13:14,940 --> 00:13:17,970 Dat is precies de code we net zag op de dia een moment geleden. 263 00:13:17,970 --> 00:13:22,290 >> En als ik wil misschien een ander toe te voegen key waarde paar, & class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Nu heb ik een andere belangrijke waarde pair die wordt afgedrukt 266 00:13:27,580 --> 00:13:30,025 toen ik weer opnieuw de URL. 267 00:13:30,025 --> 00:13:31,900 Nu misschien is dit niet vreselijk goed geformatteerd. 268 00:13:31,900 --> 00:13:33,660 Dus ik heb een andere versie van get.php. 269 00:13:33,660 --> 00:13:36,350 Het is get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Het verschil in deze men Ik heb CSS-bestand, 271 00:13:39,070 --> 00:13:41,690 en formaten dingen die een beetje meer mooi voor mij. 272 00:13:41,690 --> 00:13:43,940 Het is misschien niet de meest mooi CSS ter wereld. 273 00:13:43,940 --> 00:13:45,650 Maar het is gewoon een andere manier van doen. 274 00:13:45,650 --> 00:13:52,840 Dus ik kan nog steeds toegang mijn variabelen met behulp van $ _GET. 275 00:13:52,840 --> 00:13:56,610 En in dit geval, ik ben gewoon een soort van het maken van de CSS een beetje meer luxe. 276 00:13:56,610 --> 00:13:58,360 En als we pop naar mijn IDE voor een tweede, 277 00:13:58,360 --> 00:14:06,870 Ik zal je laten zien in mijn PHP web directory hier get2.php. 278 00:14:06,870 --> 00:14:10,010 We zullen het hier open te stellen, wat HTML. 279 00:14:10,010 --> 00:14:13,220 Blijkbaar ben ik de koppeling in die CSS-bestand dat ik het over had. 280 00:14:13,220 --> 00:14:14,570 Ik open een tafel tag. 281 00:14:14,570 --> 00:14:15,970 En dan is hier mijn foreach lus. 282 00:14:15,970 --> 00:14:18,450 >> Hier is dat, wat ik getoond op de dia voor. 283 00:14:18,450 --> 00:14:21,007 Het enige verschil is dat ik hebben deze sleutel en de waarde van CSS 284 00:14:21,007 --> 00:14:22,340 styling dat ik daarop van toepassing is. 285 00:14:22,340 --> 00:14:25,622 Maar dat is alles wat ik doe, wordt ik ben itereren over $ _GET te krijgen allemaal 286 00:14:25,622 --> 00:14:26,580 van de sleutelwaarde paren. 287 00:14:26,580 --> 00:14:28,890 >> En ik ze af te drukken als de tafel. 288 00:14:28,890 --> 00:14:33,230 En, blijkbaar, ben ik het formatteren van de sleutels op één manier, met de td class = "sleutel" <. 289 00:14:33,230 --> 00:14:40,057 Dus blijkbaar geldt voor sommige class selector in mijn CSS-bestand GET.CSS. 290 00:14:40,057 --> 00:14:42,890 En, blijkbaar, ik printen mijn waarden een totaal andere manier. 291 00:14:42,890 --> 00:14:45,530 Dat is vrij veel wat we hier, waarbij zag 292 00:14:45,530 --> 00:14:47,710 onze waarden werden gedrukt met een blauwe achtergrond, 293 00:14:47,710 --> 00:14:49,969 en onze sleutels werden gedrukt met een gele achtergrond. 294 00:14:49,969 --> 00:14:52,010 Dus dat is hoe ik krijg die verschillende stijlen. 295 00:14:52,010 --> 00:14:54,054 Want ik ben met behulp van verschillende CSS-klassen. 296 00:14:54,054 --> 00:14:55,470 Maar dat is vrij veel voor te krijgen. 297 00:14:55,470 --> 00:14:58,380 Zoals ik ben gewoon het extraheren van informatie. 298 00:14:58,380 --> 00:15:01,000 En in dit geval, ik ben gewoon printen naar het scherm. 299 00:15:01,000 --> 00:15:04,310 Ik krijg het uit de URL, en dat is wat GET voor ons doet. 300 00:15:04,310 --> 00:15:06,470 >> Ziet u een mogelijke probleem hier wel? 301 00:15:06,470 --> 00:15:11,720 Waarom zouden we misschien niet willen $ _GET gebruiken? 302 00:15:11,720 --> 00:15:15,440 Wat als, misschien, ik was het maken van deze vraag? 303 00:15:15,440 --> 00:15:18,000 --om get3.php, die ik niet op mijn IDE. 304 00:15:18,000 --> 00:15:19,640 Het is gewoon een hypothetische bestand. 305 00:15:19,640 --> 00:15:22,187 Maar merk hier dat blijkbaar het passeren van mijn wachtwoord. 306 00:15:22,187 --> 00:15:23,770 En misschien mijn wachtwoord is gênant. 307 00:15:23,770 --> 00:15:28,070 Of misschien heb ik mensen niet te willen weet wat mijn wachtwoord is, rechts. 308 00:15:28,070 --> 00:15:33,140 >> Als ik het doorgeven hoewel-- als ik gebruik de $ _GET methode, wat er gebeurt is, 309 00:15:33,140 --> 00:15:34,970 dat gaat worden in de URL. 310 00:15:34,970 --> 00:15:39,890 Dus sommige kwaadwillende gebruiker zou kunnen in staat zijn om te zien wat ik doe. 311 00:15:39,890 --> 00:15:42,040 Ik kan hen passeren gevoelige informatie. 312 00:15:42,040 --> 00:15:43,310 Of misschien is het niet eens een kwaadwillende gebruiker. 313 00:15:43,310 --> 00:15:45,790 Misschien is het gewoon je vriend die staat over je schouder. 314 00:15:45,790 --> 00:15:47,650 En nu weten ze het wachtwoord je Facebook-account. 315 00:15:47,650 --> 00:15:49,483 >> En misschien zouden ze niet doen niets mee. 316 00:15:49,483 --> 00:15:53,749 Maar als je wachtwoord waren via $ _GET op Facebook ingediend, 317 00:15:53,749 --> 00:15:55,290 nu ze weten dat je Facebook-wachtwoord. 318 00:15:55,290 --> 00:15:59,000 Omdat het daar in de URL als je hebt gedaan het verstrekken van informatie. 319 00:15:59,000 --> 00:16:01,887 >> En dus misschien is dat niet de beste manier om gevoelige informatie door te geven. 320 00:16:01,887 --> 00:16:04,470 Het is een goede manier om informatie door te geven dat we niet bijzonder 321 00:16:04,470 --> 00:16:05,886 zorg over als te gevoelig. 322 00:16:05,886 --> 00:16:09,347 Omdat GET is vrij snel, opzichte van de andere super globals 323 00:16:09,347 --> 00:16:10,430 We gaan om te praten over. 324 00:16:10,430 --> 00:16:13,330 Maar misschien niet de beste tool voor gevoelige informatie. 325 00:16:13,330 --> 00:16:15,990 >> Daarvoor zouden we willen Gebruik iets genaamd $ _POST, 326 00:16:15,990 --> 00:16:18,560 die een Super globale variabele. 327 00:16:18,560 --> 00:16:20,750 Het is weer een associatieve array. 328 00:16:20,750 --> 00:16:23,240 Dus het werkt vrij veel precies hetzelfde als GET. 329 00:16:23,240 --> 00:16:26,850 Behalve in plaats van extraheren informatie van de URL, 330 00:16:26,850 --> 00:16:29,870 het doet iets via HTTP headers. 331 00:16:29,870 --> 00:16:32,080 Zo herinneren van onze video op HTTP, we praatten 332 00:16:32,080 --> 00:16:34,850 over hoe browsers, servers, en klanten te communiceren. 333 00:16:34,850 --> 00:16:38,070 En informatie wordt doorgegeven terug en weer in de HTTP-headers. 334 00:16:38,070 --> 00:16:43,330 >> Met $ _POST, informatie is typisch verstuurd via de HTTP-headers. 335 00:16:43,330 --> 00:16:49,770 En we zullen het meest te zien in $ _POST het kader van het indienen van HTML-formulieren. 336 00:16:49,770 --> 00:16:52,390 U kunt nog steeds gebruik maken van HTML-formulieren om dingen te krijgen in te dienen. 337 00:16:52,390 --> 00:16:56,120 Maar ze meestal gebruikt in de context van de POST. 338 00:16:56,120 --> 00:17:00,280 >> Dus hier is een voorbeeld van een HTML-formulier. 339 00:17:00,280 --> 00:17:06,750 Nu hebben we deze eerder gezien, maar we hebben niet gezien dit deel, action = "post.php". 340 00:17:06,750 --> 00:17:10,756 Dus toen we spraken over formulieren in de context van HTML, had ik een Submit knop. 341 00:17:10,756 --> 00:17:13,630 En als je te herinneren, zou ik klik op Verzenden en dan de pagina net vernieuwd, 342 00:17:13,630 --> 00:17:14,660 deed niets. 343 00:17:14,660 --> 00:17:18,250 >> In dit geval ben ik het indienen wat ik typ in deze vorm, 344 00:17:18,250 --> 00:17:20,750 naar een PHP-bestand met de naam post.php. 345 00:17:20,750 --> 00:17:25,810 En, blijkbaar, de manier waarop ik doe dat in deze vorm wordt met behulp van de POST-methode. 346 00:17:25,810 --> 00:17:29,040 Dus elk stukje informatie dat ik typ in deze vorm 347 00:17:29,040 --> 00:17:31,470 zullen worden voorgelegd via HTTP headers. 348 00:17:31,470 --> 00:17:36,440 >> Het zal toegankelijk in post.php zijn, want dat is de actie van mijn vorm. 349 00:17:36,440 --> 00:17:39,811 Het zal toegankelijk zijn door te gaan naar $ _POST. 350 00:17:39,811 --> 00:17:42,310 En blijkbaar, de manier waarop ik kan krijgen op elk afzonderlijk element 351 00:17:42,310 --> 00:17:44,765 met die associatieve array is met deze eigenschap, 352 00:17:44,765 --> 00:17:48,130 het attribuut Naam van onze inbreng labels. 353 00:17:48,130 --> 00:17:53,540 >> Dus blijkbaar kan ik zeggen $ _POST square beugels naam aan wat de gebruiker te krijgen 354 00:17:53,540 --> 00:17:55,440 getypt in het eerste veld. 355 00:17:55,440 --> 00:18:01,030 En $ _POST wachtwoord van pw plaats, op welk de gebruiker getypte te krijgen 356 00:18:01,030 --> 00:18:03,650 in het tweede veld. 357 00:18:03,650 --> 00:18:06,414 >> Dus laten we een kijkje nemen op dit over in CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Dus hier zijn we, en ik zal in te zoomen voor een tweede. 359 00:18:08,330 --> 00:18:12,380 En we hebben een bestand genaamd post.html. 360 00:18:12,380 --> 00:18:13,690 Ik klik op post.html. 361 00:18:13,690 --> 00:18:16,300 Bij hier de top heb ik een heel eenvoudig webformulier. 362 00:18:16,300 --> 00:18:18,750 Het is de vorm die we net zagen op de dia een seconde geleden. 363 00:18:18,750 --> 00:18:25,610 >> Ik kan typen, Doug, en ik kan typ mijn wachtwoord vergeten, wat we allemaal 364 00:18:25,610 --> 00:18:27,340 weet is squadgoals. 365 00:18:27,340 --> 00:18:30,100 En ik zal raken Verzenden. 366 00:18:30,100 --> 00:18:32,290 En blijkbaar, dat onderwerpt aan post.php. 367 00:18:32,290 --> 00:18:33,810 En ik ben blijkbaar afdrukt dat. 368 00:18:33,810 --> 00:18:36,490 Dus ik ben het wegwerken van alle veiligheid dat POST geeft me door gewoon printen 369 00:18:36,490 --> 00:18:37,720 de gebruikersnaam en wachtwoord. 370 00:18:37,720 --> 00:18:38,960 >> De naam van de gebruiker is Doug. 371 00:18:38,960 --> 00:18:40,810 Wachtwoord van de gebruiker is squadgoals. 372 00:18:40,810 --> 00:18:42,480 Hoe heb ik dit doen? 373 00:18:42,480 --> 00:18:44,800 Nou, pop over naar IDE opnieuw voor een tweede. 374 00:18:44,800 --> 00:18:51,340 We zullen beneden scrollen om te nemen een kijkje op post.php, dat was 375 00:18:51,340 --> 00:18:54,040 de actie die ik heb gebruikt om hier te dienen. 376 00:18:54,040 --> 00:18:55,739 Dat was de actie van mijn HTML-formulier. 377 00:18:55,739 --> 00:18:56,780 En dat is alles wat ik doe. 378 00:18:56,780 --> 00:19:01,370 Naam van de gebruiker is, en ik ben druk de inhoud van $ _POST "naam". 379 00:19:01,370 --> 00:19:04,660 En dan het wachtwoord van de gebruiker is $ _POST "password". 380 00:19:04,660 --> 00:19:08,920 Dus ik was gezien het feit dat informatie door het indienen van de HTML-formulier. 381 00:19:08,920 --> 00:19:13,790 En ik kan nu uitpakken met behulp van $ _POST omdat de methode ik zenden 382 00:19:13,790 --> 00:19:17,470 gegevens met die vorm was de POST methode. 383 00:19:17,470 --> 00:19:20,640 >> Nu is het waarschijnlijk niet dus geweldig-- ik ga 384 00:19:20,640 --> 00:19:24,510 om terug te gaan voor een tweede onze set hier-- 385 00:19:24,510 --> 00:19:30,120 het is waarschijnlijk niet zo groot als ik ben het indienen van informatie met POST, 386 00:19:30,120 --> 00:19:32,532 die schijnbaar veiliger. 387 00:19:32,532 --> 00:19:34,740 Het is waarschijnlijk niet zo groot als ik doe dat en dan 388 00:19:34,740 --> 00:19:36,470 afdrukken van het wachtwoord van de gebruiker. 389 00:19:36,470 --> 00:19:38,540 Het moet meer veilig. 390 00:19:38,540 --> 00:19:40,870 >> OK, maar het is niet helemaal veilig. 391 00:19:40,870 --> 00:19:42,910 En zo in dit kleine snippet hier wil ik 392 00:19:42,910 --> 00:19:46,410 gewoon uw aandacht vestigen op een aantal beveiliging van gegevens betreft, gewoon iets 393 00:19:46,410 --> 00:19:51,200 na te denken over als je werkt of via het internet. 394 00:19:51,200 --> 00:19:53,890 Dit is gewoon iets om te overwegen. 395 00:19:53,890 --> 00:19:57,980 >> Ik vertelde u dat de informatie via HTTP headers ingediend 396 00:19:57,980 --> 00:19:59,724 wanneer u de POST-methode gebruiken. 397 00:19:59,724 --> 00:20:01,390 Wat betekent dat ze niet helemaal veilig. 398 00:20:01,390 --> 00:20:05,610 Ze zijn moeilijker te vinden dan het gebruik van de GET methode, waarbij 399 00:20:05,610 --> 00:20:06,882 het is gewoon recht in de URL. 400 00:20:06,882 --> 00:20:08,340 Maar er is nog een manier om het te vinden. 401 00:20:08,340 --> 00:20:10,423 En ik wil gewoon om te laten zien je dit zodat je misschien 402 00:20:10,423 --> 00:20:12,940 beginnen te denken over deze als je werkt, of het gebruik van 403 00:20:12,940 --> 00:20:14,560 websites en indienen wachtwoorden, en misschien met behulp 404 00:20:14,560 --> 00:20:16,518 hetzelfde wachtwoord in een veel verschillende plaatsen. 405 00:20:16,518 --> 00:20:22,060 Weet dat is nog steeds eigenlijk vrij makkelijk om uit te vinden het wachtwoord van iemand. 406 00:20:22,060 --> 00:20:25,190 >> En dus even, ik ga naar post2.html. 407 00:20:25,190 --> 00:20:28,850 En het verschil met post2.html en post2.php is vrij subtiel. 408 00:20:28,850 --> 00:20:31,420 Het verschil is gewoon dat ik niet uitprinten 409 00:20:31,420 --> 00:20:33,520 het wachtwoord wanneer ik verzend het formulier. 410 00:20:33,520 --> 00:20:35,260 >> Dus ik ga in te typen, Doug. 411 00:20:35,260 --> 00:20:38,365 En ik ga om te typen in, squadgoals, zelfs 412 00:20:38,365 --> 00:20:40,770 hoewel we weten dat het wachtwoord. 413 00:20:40,770 --> 00:20:42,540 Voordat ik het indienen vormen hoewel, ik ga 414 00:20:42,540 --> 00:20:45,864 openstellen Developer Tools, gewoon om laten zien wat er gaat gebeuren hier. 415 00:20:45,864 --> 00:20:47,530 Dus in Chrome, ik ben gewoon gaan F12 raken. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 En dat gaat open mijn Developer Tools aan de rechterkant. 418 00:20:57,230 --> 00:20:59,480 Ik heb het formulier nog niet ingediend. 419 00:20:59,480 --> 00:21:02,680 Nu ga ik raakte toevoegen aan mijn vorm. 420 00:21:02,680 --> 00:21:05,370 En blijkbaar, maakte ik een roepen, of ik een verzoek 421 00:21:05,370 --> 00:21:07,620 om post2.php, wat logisch is. 422 00:21:07,620 --> 00:21:10,040 Ik ga om te klikken op die. 423 00:21:10,040 --> 00:21:13,802 >> Dan hier, ga ik te klikken op Headers. 424 00:21:13,802 --> 00:21:15,410 Er is een heleboel dingen hier aan de hand. 425 00:21:15,410 --> 00:21:21,310 Maar als ik naar beneden scrollen naar de zeer onderkant, bericht rechts er-- mijn agenda 426 00:21:21,310 --> 00:21:25,180 heeft geblokkeerd voor een second-- recht er helemaal onderaan hoek, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 Dus ook al ben ik met behulp van de POST methode, die veiliger, 429 00:21:30,010 --> 00:21:33,570 maar wees gewaarschuwd dat als je dat doet, je nog steeds het verzenden van informatie 430 00:21:33,570 --> 00:21:34,430 via HTTP. 431 00:21:34,430 --> 00:21:36,770 En het kan nog steeds gevonden door een tegenstander. 432 00:21:36,770 --> 00:21:39,270 Het is gewoon iets wat we gaan te maken hebben met echt. 433 00:21:39,270 --> 00:21:41,980 Misschien is er een aantal manieren om te versleutelen onze wachtwoorden voordat we sturen ze over, 434 00:21:41,980 --> 00:21:44,410 waarbij een beter zou zijn, die ik hier niet te doen. 435 00:21:44,410 --> 00:21:47,010 >> Maar wees ervan bewust dat de POST methode heeft beperkingen ook. 436 00:21:47,010 --> 00:21:49,801 Het is een verbetering ten opzichte van GET in termen van direct zichtbaar. 437 00:21:49,801 --> 00:21:51,280 Maar het is niet een volledige oplossing. 438 00:21:51,280 --> 00:21:53,280 Dus hier is een voorbeeld van snel een thuis te oefenen 439 00:21:53,280 --> 00:21:56,350 die u kunt gebruiken om een ​​aantal te krijgen de praktijk werken met PHP. 440 00:21:56,350 --> 00:21:58,300 Maak de volgende paar van webpagina's. 441 00:21:58,300 --> 00:22:00,960 De eerste moet gewoon een zeer eenvoudige vormen met één veld en een Submit 442 00:22:00,960 --> 00:22:01,460 knop. 443 00:22:01,460 --> 00:22:04,070 Dus zeer vergelijkbaar met wat we net deed met post.html. 444 00:22:04,070 --> 00:22:07,450 >> En dan de tweede bestand dat u moet maken 445 00:22:07,450 --> 00:22:11,687 is een bestand, een PHP-bestand, dat verwacht input, via POST, 446 00:22:11,687 --> 00:22:14,770 en op basis van wat de gebruiker heeft ingevoerd, waarbij kunt u ervan uitgaan zal een integer zijn. 447 00:22:14,770 --> 00:22:16,160 Je hoeft niet aan een doen foutcontrole of dergelijke. 448 00:22:16,160 --> 00:22:18,284 U kunt de gebruiker ervan uitgaan zal een geheel getal te typen, 449 00:22:18,284 --> 00:22:22,230 of iets dergelijks een geïnterpreteerd door PHP als een geheel in die vorm. 450 00:22:22,230 --> 00:22:24,790 Je wil gewoon een te creëren n door n tafel van vermenigvuldiging. 451 00:22:24,790 --> 00:22:28,480 >> Dus als de gebruiker indient 10, we willen hebben een 10 bij 10 tafel van vermenigvuldiging. 452 00:22:28,480 --> 00:22:31,832 Als de gebruiker dient een 12, wij willen 12 van 12 tafel van vermenigvuldiging. 453 00:22:31,832 --> 00:22:33,790 Zodat je kunt zien wat we rijden naar hier, 454 00:22:33,790 --> 00:22:36,040 zullen we een kijkje nemen op Dit bestand in mijn IDE. 455 00:22:36,040 --> 00:22:38,080 >> Dus hier in IDE, ik heb mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Ik zal het klikt. 458 00:22:43,100 --> 00:22:46,020 Alles wat ik wil doen is het indienen van een waarde. 459 00:22:46,020 --> 00:22:47,590 Type 10, raakte Verzenden. 460 00:22:47,590 --> 00:22:51,190 En blijkbaar mult_table.php die kunnen we aan de top zien dat er in de URL, 461 00:22:51,190 --> 00:22:53,970 Ik ben het creëren van een 10 bij 10 tafel van vermenigvuldiging. 462 00:22:53,970 --> 00:22:59,365 >> Als ik typ 15 en druk op Verzenden, nu heb ik hebben een 15 bij 15 tafel van vermenigvuldiging. 463 00:22:59,365 --> 00:23:02,240 Ik ben natuurlijk niet van plan om te laten zien u de inhoud van mult_table.php, 464 00:23:02,240 --> 00:23:04,781 want dat het leuk zou nemen uit dit thuis te oefenen. 465 00:23:04,781 --> 00:23:07,480 Maar het is een geweldige manier om wat te krijgen de praktijk werken met PHP lussen 466 00:23:07,480 --> 00:23:10,889 en POST, heel simpel, hopelijk stress bijvoorbeeld, net 467 00:23:10,889 --> 00:23:12,180 om een ​​beetje van de praktijk doen. 468 00:23:12,180 --> 00:23:16,540 En ik heb een beetje CSS gaande kreeg hier om mijn individuele tafel maken 469 00:23:16,540 --> 00:23:19,710 cellen gewoon een soort van pop uit een beetje en kijk een beetje meer 470 00:23:19,710 --> 00:23:22,205 zoals een tafel van vermenigvuldiging, in tegenstelling tot alleen tekst gewoon 471 00:23:22,205 --> 00:23:23,261 soort zitten. 472 00:23:23,261 --> 00:23:26,260 De laatste super wereldwijde we praten over in deze video is iets genaamd 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 En misschien is dit eigenlijk het beste voorbeeld van iets 475 00:23:29,930 --> 00:23:31,700 we zouden wereldwijde overwegen. 476 00:23:31,700 --> 00:23:33,189 Het is een andere array. 477 00:23:33,189 --> 00:23:34,480 Het is weer een associatieve array. 478 00:23:34,480 --> 00:23:40,580 Maar het is toegankelijk via elke PHP-bestand dat bestaat op ons systeem. 479 00:23:40,580 --> 00:23:43,410 >> We hoeven niet in te dienen Informatie één pagina tegelijk 480 00:23:43,410 --> 00:23:45,400 zoals wij dat doen met GET en POST. 481 00:23:45,400 --> 00:23:46,380 Het is er altijd. 482 00:23:46,380 --> 00:23:50,040 En dus dit is geweldig voor een pagina waar u bent aangemeld, bijvoorbeeld, 483 00:23:50,040 --> 00:23:53,120 en u uw login gegevens wilt voortduren van pagina naar pagina naar pagina. 484 00:23:53,120 --> 00:23:58,180 >> Je kunt gewoon een sessie te starten en vervolgens Gebruik $ _SESSION om dingen zoals te redden 485 00:23:58,180 --> 00:24:02,320 naam, of de gebruiker van de gebruiker ID-informatie, enzovoort. 486 00:24:02,320 --> 00:24:07,600 En dat de informatie zal blijven $ _SESSION Totdat u de sessie te vernietigen 487 00:24:07,600 --> 00:24:09,550 een beetje later. 488 00:24:09,550 --> 00:24:12,375 >> Het schrijven van dynamische websites met PHP maakt ze een stuk beter. 489 00:24:12,375 --> 00:24:14,250 Uw sites worden zeer dynamische, en jij niet 490 00:24:14,250 --> 00:24:17,670 al te veel meer doen dan wat zou je anders gewoon hebben gedaan 491 00:24:17,670 --> 00:24:18,920 doet het met HTML. 492 00:24:18,920 --> 00:24:21,630 Maar het vereist de praktijk veel van de praktijk. 493 00:24:21,630 --> 00:24:26,897 >> Je weet al hoe te werken met C, en zo te springen om PHP is niet al te lastig. 494 00:24:26,897 --> 00:24:28,730 Wat is misschien een beetje beetje lastig werkt 495 00:24:28,730 --> 00:24:33,180 met dit nieuwe idee van GET en POST, en misschien het mengen van uw HTML en PHP 496 00:24:33,180 --> 00:24:34,220 samen. 497 00:24:34,220 --> 00:24:37,570 Maar zich ook bewust zijn dat het internet is een enorme opslagplaats van informatie. 498 00:24:37,570 --> 00:24:41,670 En documentatie van PHP is beschikbaar op veel plaatsen, maar misschien wel het meest 499 00:24:41,670 --> 00:24:43,354 canoniek op php.net. 500 00:24:43,354 --> 00:24:45,520 En je kunt daar vinden, veel verschillende functies, 501 00:24:45,520 --> 00:24:48,330 en use cases en voorbeelden upon voorbeelden van voorbeelden. 502 00:24:48,330 --> 00:24:51,340 Waar als je wilt proberen en figuur hoe om iets te doen, zijn de kansen, 503 00:24:51,340 --> 00:24:52,964 iemand is het waarschijnlijk gedaan voor je. 504 00:24:52,964 --> 00:24:55,840 En je kunt ze gebruiken als inspiratie uit te voeren, ongeacht 505 00:24:55,840 --> 00:24:58,230 het is je probeert te implementeren. 506 00:24:58,230 --> 00:24:59,230 >> Ik ben Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Dit is CS50. 508 00:25:01,210 --> 00:25:02,608