1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Vitajte na Sekcia pre tento týždeň. 3 00:00:08,440 --> 00:00:10,040 Nie som Andi. 4 00:00:10,040 --> 00:00:14,590 Andi onemocnel tento deň, a ja Boli druh volal v poslednej chvíli 5 00:00:14,590 --> 00:00:15,700 prevziať. 6 00:00:15,700 --> 00:00:20,920 Je to chrípková sezóna, takže sa uistite, že ste zostávajú čisté, umývanie rúk, 7 00:00:20,920 --> 00:00:24,800 a jesť zdravo, aby Tie taky, nie sú pripútaný na lôžko. 8 00:00:24,800 --> 00:00:26,870 >> Ale bez ďalšieho ado, poďme začať. 9 00:00:26,870 --> 00:00:29,970 Dnes budeme hovoriť o PHP trochu bit-- ako 10 00:00:29,970 --> 00:00:33,900 PHP sa vzťahuje k HTML, ako ju sa týka CSS, a niektoré z rúna 11 00:00:33,900 --> 00:00:36,100 veci si urobil na poslednú úlohu. 12 00:00:36,100 --> 00:00:37,930 Budeme hovoriť Niečo málo o SQL 13 00:00:37,930 --> 00:00:41,360 a ako môžete pracovať s databázami, čo je celkom kľúčovou zložkou P 14 00:00:41,360 --> 00:00:43,650 set 8-- P set 7. 15 00:00:43,650 --> 00:00:44,480 P set 7. 16 00:00:44,480 --> 00:00:48,400 >> A potom budeme hovoriť trochu bit o tom, ako radiče zobrazenie fungujú 17 00:00:48,400 --> 00:00:54,640 a prečo to je filozofia za niektoré Moderné webové stránky a odlišná konštrukcia. 18 00:00:54,640 --> 00:00:58,760 Celkom veľa veľa typov aplikácií a aplikácie, ktoré by mohlo loď 19 00:00:58,760 --> 00:01:01,120 sú pomocou tohto modelu, pohľad rámec regulátor, 20 00:01:01,120 --> 00:01:02,890 že budete používať P set 7, takže budem 21 00:01:02,890 --> 00:01:05,220 trochu pohovoriť o tom, prečo že to stáť 22 00:01:05,220 --> 00:01:07,970 obľúbený, prečo je to dôležité a pekné. 23 00:01:07,970 --> 00:01:12,052 A potom budem konečne prejsť na niektoré tipy o riešení P set 7. 24 00:01:12,052 --> 00:01:13,760 A ak budeme mať čas zostane na konci, 25 00:01:13,760 --> 00:01:17,320 vlastne môžeme urobiť nejaké na tom pracovať spoločne. 26 00:01:17,320 --> 00:01:20,380 >> Takže, PHP. 27 00:01:20,380 --> 00:01:23,790 V skutočnosti, možno ste si všimli tohle-- ste naozaj nemal ponoriť do to-- 28 00:01:23,790 --> 00:01:27,880 ale P sada 6 mal nejaký PHP kód, ktorý sa deje. 29 00:01:27,880 --> 00:01:34,710 A pretože PHP je C-like jazyk, PHP, na rozdiel od HTML a CSS, 30 00:01:34,710 --> 00:01:39,030 je programovací jazyk, vzhľadom k tomu, HTML a CSS sú statické. 31 00:01:39,030 --> 00:01:44,050 Sú značkovacie jazyky, ktoré sa zaoberajú so štýlom a vizuálne rozvrhnutie. 32 00:01:44,050 --> 00:01:46,230 PHP je real deal. 33 00:01:46,230 --> 00:01:51,590 >> PHP má slučky, má conditions-- všetky tie veci, ktoré je zábavné o C. 34 00:01:51,590 --> 00:01:56,190 To má niekoľko vecí, ktoré sú trochu trochu lepší než C, ktorý uvidíme, 35 00:01:56,190 --> 00:01:59,760 ale myslím, že najjednoduchší spôsob, ako hovoriť o PHP je len do toho ponoriť. 36 00:01:59,760 --> 00:02:04,087 Takže ja idem doprava do IDE v tomto bode. 37 00:02:04,087 --> 00:02:06,170 Prvá vec, ktorú ideme urobiť, je skutočne vyzerať 38 00:02:06,170 --> 00:02:10,169 trochu na niektoré z PHP kód, ktorý bol v P set 6. 39 00:02:10,169 --> 00:02:13,600 Takže spôsob, akým robíme that-- pred, tak, že sme sa systémom 40 00:02:13,600 --> 00:02:18,550 server pre spotrebiče bolo to, že budeme musieť type-- 41 00:02:18,550 --> 00:02:21,750 buď použiť implementácia alebo implementáciu personálu 42 00:02:21,750 --> 00:02:27,059 z server.c tým, že ide do adresára a beží server.c buď bez 43 00:02:27,059 --> 00:02:30,100 arguments-- takže stačí zavolať ho na miestnej hostiteľ, čo je to, čo ste pravdepodobne 44 00:02:30,100 --> 00:02:31,849 robil väčšinu time-- a potom ju kŕmenie 45 00:02:31,849 --> 00:02:35,380 directory-- s pre použitie ako koreňu 46 00:02:35,380 --> 00:02:38,310 Ak internetová stránka by spustiť, v podstate. 47 00:02:38,310 --> 00:02:42,180 >> Tento týždeň pre P set 7, as veľký ako náš kód pre server.c 48 00:02:42,180 --> 00:02:47,580 je, že tam sú ľudia, ktorí majú už napísal tieto jemné veci znovu na CS50 49 00:02:47,580 --> 00:02:49,630 že majú trochu viac funkcií, 50 00:02:49,630 --> 00:02:52,920 server program, ktorý je schopný vysporiadať sa s trochu viac 51 00:02:52,920 --> 00:02:56,350 zo zložitosti, že budeme pozri v oboch P set 7 a P set 8. 52 00:02:56,350 --> 00:03:01,410 A to tak, že začnete sa zriaďuje Server je jednoduchým zadaním, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> A predtým, než začnete robiť niečo, si chcete byť istý, 54 00:03:03,960 --> 00:03:06,070 že Apache 50 nie je už beží ako je 55 00:03:06,070 --> 00:03:08,130 na mojom stroji, ktoré som urobil to vyskúšať. 56 00:03:08,130 --> 00:03:10,320 A to tak, že volá apache50. 57 00:03:10,320 --> 00:03:14,070 Zastaviť, a uvidíte, že sa to zastaviť webový server, ak sa môžete pozrieť tu 58 00:03:14,070 --> 00:03:16,340 v dolnej časti okna terminálu. 59 00:03:16,340 --> 00:03:21,090 A potom už len začať, my sme Zavolám, "apache50 začať." 60 00:03:21,090 --> 00:03:23,150 A potom pôjdeme kŕmiť to adresár. 61 00:03:23,150 --> 00:03:26,950 >> A teraz, pretože chceme sa pozrieť na niektoré z P set 6 kód 62 00:03:26,950 --> 00:03:32,850 že sme mali zavedený, som vlastne kopírovať trochu P 63 00:03:32,850 --> 00:03:37,090 set 6 Kód do vlastného adresára, ktoré môžete vidieť na ľavej strane tam. 64 00:03:37,090 --> 00:03:40,170 Hovorí sa tomu "SECTION8" veľkými písmenami 65 00:03:40,170 --> 00:03:44,510 pretože ja som len tak nadšený bude naživo prenášané dnes. 66 00:03:44,510 --> 00:03:47,330 >> Takže keď sme sa spustiť tento, by mal všetci celkom efektívne pracovať. 67 00:03:47,330 --> 00:03:52,350 Hovorí, OK, ale naše stránky sú teraz k dispozícii na adrese IDE, 68 00:03:52,350 --> 00:03:57,710 v podstate, čo je to, čo ste používali presne tak, ako to bolo v P set 7-- P set 6. 69 00:03:57,710 --> 00:04:00,899 Všetky moje indexy sú jedným index dnes. 70 00:04:00,899 --> 00:04:02,940 Takže môžeme ísť na to adresa, ak budete pamätať, 71 00:04:02,940 --> 00:04:05,710 jednoduchým kliknutím tento malý tlačidlo v pravom hornom rohu. 72 00:04:05,710 --> 00:04:14,200 >> A budete vyvolať tento kód, ktorý sa stalo, keď ste šiel do hello.php. 73 00:04:14,200 --> 00:04:18,000 A to, čo kód je navrhnutý tak, urobiť, je, keď ste zadali v názve 74 00:04:18,000 --> 00:04:20,550 here-- keď poviete Sam pretože to je moja name-- 75 00:04:20,550 --> 00:04:23,620 a ja kliknite na pozdraviť, keď sme sa vydali na ďalšiu stránku, 76 00:04:23,620 --> 00:04:25,270 tento názov mal byť zobrazený. 77 00:04:25,270 --> 00:04:28,550 Bolo by povedal: "Ahoj, Sam" alebo "Dobrý deň," čo si len spomeniete 78 00:04:28,550 --> 00:04:32,470 dať do toho, aj keď sme sa vydali do úplne novej webovej stránky. 79 00:04:32,470 --> 00:04:36,610 >> A to je ten druh vecí, že PHP môže urobiť pre vás. 80 00:04:36,610 --> 00:04:42,840 PHP je schopná odovzdať dáta medzi dvoma webových stránok. 81 00:04:42,840 --> 00:04:44,390 To je úplne iný stránky. 82 00:04:44,390 --> 00:04:46,990 Uvidíte titul je "ahoj" sem. 83 00:04:46,990 --> 00:04:49,080 V skutočnosti, že majú rovnaký názov, ale ja 84 00:04:49,080 --> 00:04:52,560 sľubujú, že sú iný webový Stránky, keď sa pozrieme na zdroje. 85 00:04:52,560 --> 00:04:55,890 A môžete odovzdať dáta, ktoré je zapíšu do tohto textového poľa, 86 00:04:55,890 --> 00:04:59,830 ju predloží k ďalšej Stránka, ktorá sa práve zavolal, 87 00:04:59,830 --> 00:05:02,490 a potom sa, že dáta je schopný tam byť vo svojej súčasnej podobe. 88 00:05:02,490 --> 00:05:04,810 >> Teraz sme doteraz nebol realizovaný to sami, čo 89 00:05:04,810 --> 00:05:08,710 je to, čo budeme robiť práve teraz sort dostať chuť na to, ako PHP funguje, 90 00:05:08,710 --> 00:05:15,070 ale kľúčové myšlienkou je, že môžete PHP-- nejako myslieť na to ako funkcia. 91 00:05:15,070 --> 00:05:18,570 Niečo, čo PHP môže nechať vás to je to môže trvať parametre 92 00:05:18,570 --> 00:05:24,710 že zadáte do HTML stránky pomocou PHP a foriem, 93 00:05:24,710 --> 00:05:29,960 a že môže prechádzať tie, ktoré sú parametre na ďalšiu stránku, ktorá načíta hore. 94 00:05:29,960 --> 00:05:35,110 >> V tomto prípade, my naloženie do tejto stránka s tlačidlom "pozdraviť". 95 00:05:35,110 --> 00:05:38,960 Ale teraz, som vlastne vypúšťa niektoré z tohto kódexu 96 00:05:38,960 --> 00:05:44,850 v hello.php, ktorý bol spustený , Ktorá bola skutočne zobrazenie "Hello, 97 00:05:44,850 --> 00:05:49,680 svet "alebo" ahoj, Sam ", alebo "Dobrý deň," čo bolo len vstup. 98 00:05:49,680 --> 00:05:53,620 Takže teraz, my sme robiť to, v podstate. 99 00:05:53,620 --> 00:05:56,570 Chystáme sa obnoviť, že a tiež pridať nejaké ďalšie funkcie, 100 00:05:56,570 --> 00:06:00,210 urobiť trochu viac s tým, pozri čo PHP je naozaj schopný. 101 00:06:00,210 --> 00:06:04,870 >> Takže najprv, poďme hovoriť o Tento súbor, hello.php. 102 00:06:04,870 --> 00:06:07,440 Takže keď sme sa priblížiť v málo bit-- a teraz som 103 00:06:07,440 --> 00:06:10,520 nejako sa snaží posúvať všetky ako around-- tam ideme. 104 00:06:10,520 --> 00:06:14,220 Uvidíte, že sa volá hello.php, ale syntaxe to 105 00:06:14,220 --> 00:06:16,880 vyzerá ako súbor HTML. 106 00:06:16,880 --> 00:06:20,380 To je preto, že Skutočná PHP v tomto súbore 107 00:06:20,380 --> 00:06:25,220 všetko je prilepené medzi nimi otáznik-strieška bloky. 108 00:06:25,220 --> 00:06:28,610 Všetko tu je považovaný za PHP kód. 109 00:06:28,610 --> 00:06:32,040 >> A všimnite si, že keď som urobil poznámku, 110 00:06:32,040 --> 00:06:35,320 uvidíte známe dvoch lomky. 111 00:06:35,320 --> 00:06:38,440 A ak ste si spomínam, v HTML, keď som zadajte komentár, 112 00:06:38,440 --> 00:06:42,540 vyzerá to niečo bližšie k to, čo je komentár v HTML. 113 00:06:42,540 --> 00:06:46,570 Takže naozaj všetko medzi tieto dve lomené zátvorky 114 00:06:46,570 --> 00:06:50,060 Teraz je PHP kód, ktorý sa odráža v tom, 115 00:06:50,060 --> 00:06:53,270 že tento malý komentár symbolu sa obrátil na poznámku. 116 00:06:53,270 --> 00:06:58,420 >> Takže zakaždým, keď písať PHP kód, dokonca aj v prípade, že to nie je HTML kód mimo neho, 117 00:06:58,420 --> 00:07:02,720 vždy to bude uzavreté v týchto hranatých zátvorkách 118 00:07:02,720 --> 00:07:04,080 s otáznikmi. 119 00:07:04,080 --> 00:07:08,260 Môžete nejako premýšľať o tom, ako sa to všetko to-- kódu, ktorý bežal vo svojich programoch C 120 00:07:08,260 --> 00:07:13,950 bol uzavretý v int main, prázdnote, zložená zátvorka, koniec kučeravé vyhlásenie zátvorka. 121 00:07:13,950 --> 00:07:17,100 A uvidíte zložené zátvorky v PHP, taky, ale je to druh 122 00:07:17,100 --> 00:07:20,490 ako hlavný metódu PHP. 123 00:07:20,490 --> 00:07:25,630 >> Takže teraz, ako to urobíme niečo v PHP? 124 00:07:25,630 --> 00:07:29,190 Teraz, PHP je programovací Jazyk, ktorý je veľmi C-like, 125 00:07:29,190 --> 00:07:30,970 ale pôsobí na webe. 126 00:07:30,970 --> 00:07:33,270 Takže jedna vec, ktorá budete immediately-- jeden 127 00:07:33,270 --> 00:07:38,130 z prvých vecí, ktorú naozaj s C bol tlačíte veci von, že jo? 128 00:07:38,130 --> 00:07:42,290 Takže v C sme urobili s funkciou printf. 129 00:07:42,290 --> 00:07:46,430 Dali sme to reťazec, Pravdepodobne s novou linkou, 130 00:07:46,430 --> 00:07:49,850 a potom sme ukončený to sa bodkočiarkou. 131 00:07:49,850 --> 00:07:53,790 >> Takže tak, že budeme robiť, že v PHP-- pretože to nie je úplne printf. 132 00:07:53,790 --> 00:07:55,940 Je to trochu odlišnú syntaxou. 133 00:07:55,940 --> 00:08:02,580 Mimochodom, že tlačíme veci v PHP je hovoríme, "echo ahoj" 134 00:08:02,580 --> 00:08:04,180 alebo "echo" akékoľvek slovo. 135 00:08:04,180 --> 00:08:09,830 A to má za následok, robí printf s reťazcom "Dobrý deň." 136 00:08:09,830 --> 00:08:11,990 A pridáva novú radu na to. 137 00:08:11,990 --> 00:08:16,000 >> Takže poďme teraz robiť sure-- Budem oddialiť opäť trochu bit-- 138 00:08:16,000 --> 00:08:18,250 poďme sa uistite, že že tento kód pracuje 139 00:08:18,250 --> 00:08:21,030 pretože tam by mohlo veľmi dobre byť chyba v tomto kóde 140 00:08:21,030 --> 00:08:22,880 že budeme musieť riešiť. 141 00:08:22,880 --> 00:08:25,860 Takže server je už spustená. 142 00:08:25,860 --> 00:08:30,630 Takže keď sme sa posunúť späť na dno, Jo, je server stále beží. 143 00:08:30,630 --> 00:08:34,510 Takže keď sme sa len kliknite na túto tému trochu vpravo here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- by sme mali get-- skvele. 145 00:08:37,620 --> 00:08:39,930 >> Stále sa majúci oboznámený "Pozdravuj" dialóg, 146 00:08:39,930 --> 00:08:45,750 ale keď som zadajte "Ahoj," uvidíme, že text "ahoj" bol vskutku 147 00:08:45,750 --> 00:08:50,080 vytlačiť, ktorá je presne tak, ako sme očakávali, pretože echo v PHP 148 00:08:50,080 --> 00:08:53,190 je rovnako ako vyhlásenie printf. 149 00:08:53,190 --> 00:09:01,410 Takže späť do kódu, ako v P sada 6 urobil distribúcia kódu máte k dispozícii 150 00:09:01,410 --> 00:09:05,920 aby to tak, že by PHP Výstup vec, ktorá vás 151 00:09:05,920 --> 00:09:07,920 zadali na predchádzajúcej obrazovke? 152 00:09:07,920 --> 00:09:10,350 >> A tak nejako preskúmať prečo sa to stane, my sme 153 00:09:10,350 --> 00:09:15,510 ísť do index.html, ktorý je pôvodný súbor, súbor, ktorý 154 00:09:15,510 --> 00:09:18,710 sa objaví na obrazovke s tlačidlom "pozdraviť". 155 00:09:18,710 --> 00:09:20,950 Všimnite si, že je tu všetky klasické veci 156 00:09:20,950 --> 00:09:26,910 sme si zvykli očakávať od takého HTML ako tieto veci, tieto značky uzavretý 157 00:09:26,910 --> 00:09:31,080 v lomených zátvorkách, ako PHP ale bez otázniky, 158 00:09:31,080 --> 00:09:34,650 čo znamená zvláštna vec do formátu HTML. 159 00:09:34,650 --> 00:09:36,895 Máme titul, čo je "ahoj." 160 00:09:36,895 --> 00:09:41,010 A všimnite si, že ako sme videli, titul je "ahoj" v oboch prípadoch. 161 00:09:41,010 --> 00:09:43,260 Zmeňme tohle na "hovoria" Práve preto sme 162 00:09:43,260 --> 00:09:48,170 môžu odlíšiť, kde sme. 163 00:09:48,170 --> 00:09:49,600 >> Ale my máme telo. 164 00:09:49,600 --> 00:09:52,690 A potom zaujímavý kúsok sa bit, ktorý sa objaví v HTML, 165 00:09:52,690 --> 00:09:54,530 je táto forma element. 166 00:09:54,530 --> 00:09:56,370 A tak máme formulár. 167 00:09:56,370 --> 00:09:58,330 A to je kľúč. 168 00:09:58,330 --> 00:10:00,530 To je, ako pracujeme s PHP. 169 00:10:00,530 --> 00:10:05,790 Akcia parameter forma hovorí, že hello.php 170 00:10:05,790 --> 00:10:09,310 je to, čo budeme posielať Hodnoty v tejto podobe sa. 171 00:10:09,310 --> 00:10:13,830 To je miesto, kde sme okolo parametre, aby som tak povedal. 172 00:10:13,830 --> 00:10:18,680 >> Všimnite si, ďalšia vec tu je to, že metóda je "sa". 173 00:10:18,680 --> 00:10:24,450 Existujú dva primárne Metódy, ktoré budú 174 00:10:24,450 --> 00:10:28,750 byť pomocou PHP na odovzdanie dát medzi websites-- webových stránok, 175 00:10:28,750 --> 00:10:30,500 rather-- v tejto úlohe. 176 00:10:30,500 --> 00:10:34,070 A tieto metódy sú "dostať" a "príspevok." 177 00:10:34,070 --> 00:10:37,010 Tam sú niektoré jemné Rozdiely medzi get a poštou 178 00:10:37,010 --> 00:10:40,520 že budeme mať my into-- sa "dostať" do, ak chcete. 179 00:10:40,520 --> 00:10:44,030 >> Ale pre všetky zámery a účely, get a pošta 180 00:10:44,030 --> 00:10:47,120 sú obaja len spôsoby, odovzdáte parametre 181 00:10:47,120 --> 00:10:49,500 s ľahko rôznych prevedeniach. 182 00:10:49,500 --> 00:10:53,500 Pre túto chvíľu, budeme používať dostať, pretože dostať to, čo bolo pôvodne použité 183 00:10:53,500 --> 00:10:57,340 v súbore PHP P nastavená 6. 184 00:10:57,340 --> 00:11:00,850 A vlastne, keď sme ísť a pozerať sa Než sme sa upravovať niečo iné, 185 00:11:00,850 --> 00:11:03,090 Ja som chcel povedať ahoj to-- Ako sa voláte? 186 00:11:03,090 --> 00:11:03,812 >> Divákov: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Ach, bože. 188 00:11:04,770 --> 00:11:05,600 Neviem, ako sa píše, že. 189 00:11:05,600 --> 00:11:06,766 Mohol by ste hláskovať to pre mňa? 190 00:11:06,766 --> 00:11:08,710 Divákov: E-L-L-I-O-T. 191 00:11:08,710 --> 00:11:09,720 >> SAM LEVATICH: I-O-T? 192 00:11:09,720 --> 00:11:10,440 >> Divákov: Jo. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Perfect. 194 00:11:10,960 --> 00:11:11,210 OK. 195 00:11:11,210 --> 00:11:12,751 Myslím, že som vedel, ako sa píše, že. 196 00:11:12,751 --> 00:11:13,510 Ospravedlňujem sa za to. 197 00:11:13,510 --> 00:11:16,560 Ak hovoríme "Povedz ahoj," to nie je že to nebude zobrazovať na obrazovke 198 00:11:16,560 --> 00:11:18,476 ale keďže sme upravili kód trochu. 199 00:11:18,476 --> 00:11:21,290 Ale ak sa nám "Pozdrav" - OK, tak "ahoj" je tu. 200 00:11:21,290 --> 00:11:24,137 Ale ak vezmeme sa bližšie pozrite sa na samotné URL, 201 00:11:24,137 --> 00:11:26,220 uvidíme, že to skončí s hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Takže, to je spôsob komunikujúce na nasledujúcej webovej stránke 204 00:11:37,180 --> 00:11:39,240 parametre, ktoré sme prešli. 205 00:11:39,240 --> 00:11:40,870 Povedali sme name = Elliot. 206 00:11:40,870 --> 00:11:46,290 A to je to, ako nakoniec P set 6 pristupovať premenné, ktoré sme prešli v 207 00:11:46,290 --> 00:11:47,520 prostredníctvom formulára. 208 00:11:47,520 --> 00:11:51,470 A to je niečo, je typické pre požiadavku GET. 209 00:11:51,470 --> 00:11:57,480 Požiadavka GET robí parametre známy v URL webu. 210 00:11:57,480 --> 00:12:01,190 >> A budete pripomenúť, taky, v P set 6, ktorá vás 211 00:12:01,190 --> 00:12:04,450 musel napísať funkciu že sa zaoberal tým, 212 00:12:04,450 --> 00:12:09,700 že tento dotaz reťazca môže existovať po súbore. 213 00:12:09,700 --> 00:12:14,684 Tam by mohlo byť otáznik nasledovaný by v podstate ľubovoľný počet znakov. 214 00:12:14,684 --> 00:12:16,350 A to je presne to, čo sa tu deje. 215 00:12:16,350 --> 00:12:21,280 A dôvod, prečo by ste mali analyzovať, že v realizácii server.c v P 216 00:12:21,280 --> 00:12:27,570 set 6 je tak, že by ste mohli povedať, PHP kód, ktorý Name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Potreboval ste byť schopní analyzovať, že z adresy URL 218 00:12:30,460 --> 00:12:35,900 tak, aby súbor PHP dotyčný vedel, čo to sa zaoberal. 219 00:12:35,900 --> 00:12:39,350 >> Tak dúfajme, že to dáva motivácia server.c 220 00:12:39,350 --> 00:12:43,900 teraz, keď sme pohybujúce sa na mimo C do PHP. 221 00:12:43,900 --> 00:12:48,240 Takže poďme sa zamerať na skutočne prístupom do čo prešiel žiadosti Získajte teraz 222 00:12:48,240 --> 00:12:48,880 v tomto bode. 223 00:12:48,880 --> 00:12:50,157 Chystám sa zachrániť to. 224 00:12:50,157 --> 00:12:51,240 My sme nič nemení. 225 00:12:51,240 --> 00:12:56,080 Vyzerá to, že máme vstupné pole. 226 00:12:56,080 --> 00:12:58,550 >> Sme nastaviť niektoré vlastnosti, ako môžeme urobiť HTML. 227 00:12:58,550 --> 00:12:59,550 Jedná sa o jednoduché veci. 228 00:12:59,550 --> 00:13:00,580 Nepotrebujeme to. 229 00:13:00,580 --> 00:13:03,750 Ale máme autocomplete off, ktorý v podstate says-- viete, 230 00:13:03,750 --> 00:13:05,710 keď napíšete niečo do webu, niekedy 231 00:13:05,710 --> 00:13:07,355 sa snaží naplniť, že pre vás. 232 00:13:07,355 --> 00:13:08,230 Takže je to pekná vec. 233 00:13:08,230 --> 00:13:11,700 Chceme ho vypnúť pre tento účel. 234 00:13:11,700 --> 00:13:13,970 To bolo rozhodnutie o CS50. 235 00:13:13,970 --> 00:13:15,640 Takže môžeme zmazať, že ak by sme chceli. 236 00:13:15,640 --> 00:13:19,510 >> Autofocus len palice kurzor v tvare pri začiatku. 237 00:13:19,510 --> 00:13:21,060 Opäť platí, že nie je príliš dôležitý. 238 00:13:21,060 --> 00:13:26,220 >> Ale name = "meno" - to je trochu zložitejšie, pretože jeho meno a meno. 239 00:13:26,220 --> 00:13:28,730 Ale mohli by sme zmenili to k niečomu inému. 240 00:13:28,730 --> 00:13:30,563 A v skutočnosti, to je Čo budeme robiť teraz. 241 00:13:30,563 --> 00:13:34,830 Povieme "osoba", ktorý je niečo ako mená 242 00:13:34,830 --> 00:13:36,790 v prípade, že osoba je definovaná ich mená. 243 00:13:36,790 --> 00:13:41,480 >> Takže poďme uzavrieť toto, znovu sa naše webové stránky 244 00:13:41,480 --> 00:13:46,110 pretože náš server stále beží Apache 50, a budeme hovoriť, haló, tu je 245 00:13:46,110 --> 00:13:47,200 Elliot znova. 246 00:13:47,200 --> 00:13:48,460 Prečo nie? 247 00:13:48,460 --> 00:13:49,220 Dobrý deň. 248 00:13:49,220 --> 00:13:52,880 A ak pôjdeme tu, uvidíme potom miesto mená = Elliot, 249 00:13:52,880 --> 00:13:55,200 sa hovorí, že človek = Elliot. 250 00:13:55,200 --> 00:14:00,060 A to je priamym dôsledkom skutočnosti, že sme práve zmenili name = "človeka." 251 00:14:00,060 --> 00:14:06,840 >> Takže vo vstupnom prvku Formulár HTML, názov poľa 252 00:14:06,840 --> 00:14:10,590 je identifikátor pre parameter, ktorý je odovzdávaný. 253 00:14:10,590 --> 00:14:14,250 Je to ako, keď budete vytvárať funkcie "add", ktoré sa v dvoch celých čísel 254 00:14:14,250 --> 00:14:16,670 a ste povedal, int a a b int. 255 00:14:16,670 --> 00:14:22,680 To by bol názov a, a ak ste chceli iný formulár, ktorý 256 00:14:22,680 --> 00:14:27,800 môžeme urobiť len tým, kopírovanie a vkladanie, potom by sme mali názov b. 257 00:14:27,800 --> 00:14:31,030 >> Takže teraz budeme mať dva parametre , Ktoré sú pri prechode 258 00:14:31,030 --> 00:14:36,970 dostať sa do ďalšej website-- ďalšie webové stránky, hello.php. 259 00:14:36,970 --> 00:14:39,770 A môžeme skutočne vidieť že znova, ak chceme. 260 00:14:39,770 --> 00:14:44,830 To je najjednoduchší spôsob, ako sa vysporiadať s webový kód v IDE, v podstate. 261 00:14:44,830 --> 00:14:47,940 Spustíte server, dostať to beh, a potom zakaždým, keď 262 00:14:47,940 --> 00:14:50,649 vykonať niektoré zmeny, len v blízkosti tento súbor len pre istotu. 263 00:14:50,649 --> 00:14:52,440 Stlačením tlačidla Späť je trochu zradné 264 00:14:52,440 --> 00:14:55,800 pretože by to mohlo načítať skoršie verzie, nie je najaktuálnejšie jednej. 265 00:14:55,800 --> 00:14:59,200 >> A potom stačí kliknúť na vaše opäť tlačidlo, pop vpravo up-- oh, 266 00:14:59,200 --> 00:15:00,510 a teraz tam sú dve formy. 267 00:15:00,510 --> 00:15:10,440 A tak, keď napíšeme jednu vec do každého one-- "jason Hirshhorn," pre instance-- 268 00:15:10,440 --> 00:15:11,590 povieme ahoj. 269 00:15:11,590 --> 00:15:12,840 Pozeráme sa na naše parametrov. 270 00:15:12,840 --> 00:15:18,910 Vyzerá to, že máme, as Očakáva sa, a = Jason a b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 ktorý predstavuje dva parametre že prešiel tejto funkcii. 272 00:15:23,760 --> 00:15:27,900 >> Takže teraz poďme skutočne dostať do ktorým sa vykonáva túto funkciu, že sme 273 00:15:27,900 --> 00:15:30,840 mal v P set 6. 274 00:15:30,840 --> 00:15:32,490 Takže teraz sme len ozvenou ahoj. 275 00:15:32,490 --> 00:15:34,310 A to nie je moc užitočné. 276 00:15:34,310 --> 00:15:38,530 Chceme echo nejaké premenné ktorý bol odovzdaný k nám. 277 00:15:38,530 --> 00:15:40,320 A vieme, názov tejto premennej. 278 00:15:40,320 --> 00:15:41,770 Máme a my sme b. 279 00:15:41,770 --> 00:15:43,500 Tak sme si mohli vybrať echo ani jedného. 280 00:15:43,500 --> 00:15:45,470 >> Ale ako sa k nemu dostaneme? 281 00:15:45,470 --> 00:15:48,820 No, existuje určitá globálne premenné v PHP. 282 00:15:48,820 --> 00:15:51,240 A ja budem písať je v komentároch tu. 283 00:15:51,240 --> 00:15:59,910 Dva najdôležitejšie sú get a príspevok pre naše účely práve teraz. 284 00:15:59,910 --> 00:16:05,350 Jedná sa o polia alebo, Technicky, slovníky 285 00:16:05,350 --> 00:16:10,540 kde naši premenné, ktoré sme postup do ďalšieho webové stránky Live. 286 00:16:10,540 --> 00:16:14,520 A čoskoro uvidíme, ako ich používať. 287 00:16:14,520 --> 00:16:19,720 >> Ďalšie krátka poznámka o PHP kód a niektoré špecifiká to-- v C, 288 00:16:19,720 --> 00:16:23,260 deklarovať premennú alebo použitie premenných, 289 00:16:23,260 --> 00:16:24,570 najprv museli vyhlásiť. 290 00:16:24,570 --> 00:16:30,860 A to, čo ste mali robiť, keď ste vyhlásený za nimi bol povedať, int a alebo char b. 291 00:16:30,860 --> 00:16:35,630 Vy ste mali deklarovať typy týchto premenné pred vytvorením je. 292 00:16:35,630 --> 00:16:38,800 PHP-- nemusíte robiť nič z toho. 293 00:16:38,800 --> 00:16:42,522 PHP nežiada typ premennej. 294 00:16:42,522 --> 00:16:44,480 A spôsob, akým vás Vytvorenie proměnná-- trochu 295 00:16:44,480 --> 00:16:49,930 než hovoriť int, char, string-- ktorý je naozaj char *, ako sme víš-- 296 00:16:49,930 --> 00:16:52,180 skôr než robiť všetko že, pretože všetko 297 00:16:52,180 --> 00:16:54,620 je rovnakého typu, bez typu, môžeme len 298 00:16:54,620 --> 00:16:59,210 použite jeden znak, ktorý je znak dolára. 299 00:16:59,210 --> 00:17:03,700 A uvidíte, že už je praskanie up, malé automatické dokončovanie vecí. 300 00:17:03,700 --> 00:17:11,380 A hovorí, že _GET a _POST Sú dve možnosti, ktoré majú k dispozícii I 301 00:17:11,380 --> 00:17:11,900 mne. 302 00:17:11,900 --> 00:17:16,430 Niektoré z týchto ďalších vecí sú ostatné globálne premenné v PHP 303 00:17:16,430 --> 00:17:18,430 že budete používať viac ako priebeh P set 7. 304 00:17:18,430 --> 00:17:20,569 Pre túto chvíľu budeme zamerať sa na get a post. 305 00:17:20,569 --> 00:17:22,910 Ale to je užitočný vec, ktorá robí IDE 306 00:17:22,910 --> 00:17:24,980 kde kedysi ste napísali v tomto znak dolára, 307 00:17:24,980 --> 00:17:28,760 bude to začať vyplňovaní globálnych premenných alebo premenné, ktoré ste už definované. 308 00:17:28,760 --> 00:17:34,360 >> Takže ak ste chceli definovať premenná s názvom "string," 309 00:17:34,360 --> 00:17:38,290 môžete len nastaviť ju na hodnotu "ahoj." 310 00:17:38,290 --> 00:17:40,100 A je to v podstate tak jednoduché, ako to. 311 00:17:40,100 --> 00:17:44,720 A potom by sme mohli urobiť, niečo ako "echo $ string." 312 00:17:44,720 --> 00:17:48,524 IDE treba hádzať Chyby, keď robím niečo zle, 313 00:17:48,524 --> 00:17:50,190 takže dúfajme, že robím všetko správne. 314 00:17:50,190 --> 00:17:52,060 Ale chyby vždy nastanú. 315 00:17:52,060 --> 00:17:56,670 >> Ďalšia ošemetná vec, o PHP je, že to nie je zostavený. 316 00:17:56,670 --> 00:18:00,640 Takže s C programy, mali by ste robiť denná rutina of-- v podstate, 317 00:18:00,640 --> 00:18:02,710 by ste vykonávať úpravy na váš kód, mali by ste ho uložiť, 318 00:18:02,710 --> 00:18:04,460 a potom by sa vám aby to, kde bol make 319 00:18:04,460 --> 00:18:08,830 krokom, ktorý volal kompilátor, zvoniť, aby váš kód, tento text 320 00:18:08,830 --> 00:18:10,570 súboru, do spustiteľného súboru. 321 00:18:10,570 --> 00:18:15,550 PHP je C-ako, ale je to popravený v reálnom čase prostredníctvom webového prehliadača. 322 00:18:15,550 --> 00:18:17,640 Takže nie je spôsob, ako zistiť. 323 00:18:17,640 --> 00:18:19,790 >> Urobiť by sa hodiť tým, užitočné chyby, nie? 324 00:18:19,790 --> 00:18:22,190 Bolo by to ako, vy nepriznal túto premennú 325 00:18:22,190 --> 00:18:23,320 predtým, ako ste sa pokúsili použiť. 326 00:18:23,320 --> 00:18:29,120 Urobil si všetko to zlé stuff-- segfault, segfault, všetci ten druh zábavy krát 327 00:18:29,120 --> 00:18:31,000 ktorá prišla s make. 328 00:18:31,000 --> 00:18:33,920 PHP je dvojsečný meč pretože nebudete mať tie chyby, 329 00:18:33,920 --> 00:18:37,770 ale to tiež znamená, že nebudete vedieť, naozaj to, čo je s programom zlého vašej 330 00:18:37,770 --> 00:18:39,840 ak ste práve beží, a to nefunguje. 331 00:18:39,840 --> 00:18:45,130 Ale debugger by mal poukázať na to Niektorí azda užitočné maličkosti 332 00:18:45,130 --> 00:18:47,950 syntakticky, ktoré môžete opraviť. 333 00:18:47,950 --> 00:18:52,850 >> Takže teraz, keď prejdeme to-- hovoria, poďme ukončiť to. 334 00:18:52,850 --> 00:18:54,522 Znovu otvoriť. 335 00:18:54,522 --> 00:18:55,480 A sme späť sem. 336 00:18:55,480 --> 00:18:57,210 Takže máme premennú a variabilné b. 337 00:18:57,210 --> 00:18:58,626 A toto nebude nakoniec záležať. 338 00:18:58,626 --> 00:19:01,850 Zavoláme im h a g bez konkrétneho dôvodu. 339 00:19:01,850 --> 00:19:03,120 >> A my hovoríme ahoj. 340 00:19:03,120 --> 00:19:07,480 Teraz to vyzerá ako naša reťazca "ahoj" je naozaj tlač. 341 00:19:07,480 --> 00:19:10,460 Vytvorili sme premennú s názvom "string", nastavte ju na hodnotu "ahoj." 342 00:19:10,460 --> 00:19:15,520 Všimnite si, že sme nemali robiť malloc alebo si pole znakov. 343 00:19:15,520 --> 00:19:19,110 >> V PHP, pretože premenných sú bez typu, reťazec 344 00:19:19,110 --> 00:19:22,230 je rovnaké ako pre char všetky účely. 345 00:19:22,230 --> 00:19:23,570 To by mohlo byť "hi". 346 00:19:23,570 --> 00:19:26,340 To môže byť práve znak k. 347 00:19:26,340 --> 00:19:29,290 To môže byť číslo 1. 348 00:19:29,290 --> 00:19:30,300 A to nie je jedno. 349 00:19:30,300 --> 00:19:33,560 PHP sa nestará o typ vašej premennej. 350 00:19:33,560 --> 00:19:34,390 Alebo to robí starostlivosť. 351 00:19:34,390 --> 00:19:36,240 To sa stará, keď sa pokúsite a robiť veci s ním, 352 00:19:36,240 --> 00:19:38,790 ale to nie je jedno, v krok vyhlásenia. 353 00:19:38,790 --> 00:19:46,960 >> A rovnako ako je to možné v C, môžete vyhlásiť struny na zásobníku, ako je tento 354 00:19:46,960 --> 00:19:51,130 keď hovorí, "zväzok", je trochu bit potenciálneho nesprávneho pomenovanie, kedy 355 00:19:51,130 --> 00:19:52,230 hovoríme o PHP. 356 00:19:52,230 --> 00:19:54,020 Ale my nemusíme obávať, že. 357 00:19:54,020 --> 00:19:55,936 Tak sme dostali náš reťazec "Ahoj," a my echo reťazec. 358 00:19:55,936 --> 00:19:58,880 Takže teraz sme diskutovali premenné. 359 00:19:58,880 --> 00:20:06,060 Takže teraz musíme si pohovoriť o Get a zakladať a vykonávať konečnú vec, ktorá sa 360 00:20:06,060 --> 00:20:12,660 potreboval naozaj dostať to späť hore na funkčnosti P nastavenie 6. 361 00:20:12,660 --> 00:20:14,990 Takže teraz sme odrážať reťazec, ale my 362 00:20:14,990 --> 00:20:17,080 predsa majú tieto premenné dostať a post. 363 00:20:17,080 --> 00:20:19,430 A pretože sme s použitím Táto metóda si, že 364 00:20:19,430 --> 00:20:24,810 Zdá sa prirodzené, že naša premenná máme záujem, aj B, 365 00:20:24,810 --> 00:20:29,870 sa bude nachádzať v matici alebo slovník, technicky dostať. 366 00:20:29,870 --> 00:20:33,510 >> Takže keď sme sa založiť si takto s groups-- Aj lisované vstúpiť 367 00:20:33,510 --> 00:20:36,770 a to nepáčilo to-- ale tu máme dostať. 368 00:20:36,770 --> 00:20:38,000 A tak sa už existuje. 369 00:20:38,000 --> 00:20:41,380 Takže môžeme začať už na prístup niektoré prvky Get. 370 00:20:41,380 --> 00:20:45,000 Ak sa nám to dostať, táto syntax pre poľa v PHP je veľmi C-podobne. 371 00:20:45,000 --> 00:20:47,900 Máme dve hranaté zátvorky. 372 00:20:47,900 --> 00:20:53,440 >> Takže keď hovoríme, dostať do normálnej polia, mohli by sme získať prístup 373 00:20:53,440 --> 00:20:55,600 index nultý, prvý index. 374 00:20:55,600 --> 00:20:56,840 PHP je nula index. 375 00:20:56,840 --> 00:21:00,550 Dalo by sa povedať nula, jedna, two-- veci, ako je toto. 376 00:21:00,550 --> 00:21:03,420 A ja som hovoril, že dostať je technicky slovník. 377 00:21:03,420 --> 00:21:08,290 Takže to, čo robí PHP je pod kapotou, čo je trochu krajší ako C, 378 00:21:08,290 --> 00:21:12,760 Je to už dáva vám niektoré slovník funkčnosť, ktorá 379 00:21:12,760 --> 00:21:16,240 je naozaj hash tabuľky, alebo sa snaží, údajne. 380 00:21:16,240 --> 00:21:19,360 Alebo, technicky to by mohlo byť skúsiť tiež. 381 00:21:19,360 --> 00:21:25,500 Ale PHP realizuje hash tabuľky, ktorá tvorí účinnú slovník. 382 00:21:25,500 --> 00:21:28,400 >> A tak vieme, meno z našej premennej, že jo? 383 00:21:28,400 --> 00:21:32,440 Je odovzdávaný v reťazec dotazu PHP. 384 00:21:32,440 --> 00:21:37,290 Máme = H a B = g, kde a a b sú názvy premenných. 385 00:21:37,290 --> 00:21:41,580 Takže spôsob, ako môžeme prístup k hodnota, ktorá zodpovedá kľúčmi 386 00:21:41,580 --> 00:21:45,055 v našom slovníku je Len tým, že hovorí _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Takže teraz máme _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 A ak by sme stačí vymeniť vnútri náš echo, keď sme echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 a uvidíme, či debuggeru hádže všetky chyby týkajúce sa tohle-- 391 00:22:02,410 --> 00:22:05,620 budeme šetriť, že a zavrieť to. 392 00:22:05,620 --> 00:22:07,130 Otvor to. 393 00:22:07,130 --> 00:22:10,390 Takže sme len to právo teraz, takže b by nezáleží. 394 00:22:10,390 --> 00:22:12,980 "ju" a "ho" - "hukot." "ju" a "hukot." 395 00:22:12,980 --> 00:22:14,810 To znie dobre. 396 00:22:14,810 --> 00:22:18,040 >> A to vytlačiť "ju", ktorý je blázon. 397 00:22:18,040 --> 00:22:21,920 Ale to je presne to, čo sa deje v P set 6. 398 00:22:21,920 --> 00:22:27,240 V podstate, čo P set 6 Bol doing-- echo ahoj, 399 00:22:27,240 --> 00:22:31,580 name-- kde to malo názov premennej a to len 400 00:22:31,580 --> 00:22:35,520 vás žiada, aby ste zadať v danom kúsku texte. 401 00:22:35,520 --> 00:22:37,380 Tam bol tiež niektoré Doplnkový kód, kde 402 00:22:37,380 --> 00:22:40,550 to zahŕňalo v prípade vyhlásenia, ktoré môžeme urobiť práve teraz. 403 00:22:40,550 --> 00:22:50,120 >> Dá sa povedať, ak existuje, ktorý je funkcia v PHP, 404 00:22:50,120 --> 00:22:55,110 _GET S podčiarknikom, "name" - ktorý je v podstate hovorí, 405 00:22:55,110 --> 00:22:58,760 "v prípade, že názov bol vyplnený", pretože sme mohli len klikol na tlačidlo 406 00:22:58,760 --> 00:23:02,580 odoslať formulár bez písaním do tohto poľa. 407 00:23:02,580 --> 00:23:07,760 A my zabaliť, že v našich priateľské zložené zátvorky. 408 00:23:07,760 --> 00:23:09,175 Môžeme mať vyhlásenie iného. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 A to je všetko v uhle PHP držiak, otáznik, uholník, 411 00:23:18,820 --> 00:23:20,040 ak chcete. 412 00:23:20,040 --> 00:23:21,750 >> A teraz uvidíme, či to funguje. 413 00:23:21,750 --> 00:23:26,300 Stále čaká na to, aby ladenie a svinstvo na mňa, v podstate, 414 00:23:26,300 --> 00:23:28,410 ale to má ešte nie. 415 00:23:28,410 --> 00:23:30,830 Možno, že to bude teraz preto, že som hovoril o. 416 00:23:30,830 --> 00:23:31,330 Áno. 417 00:23:31,330 --> 00:23:32,510 To robilo, v skutočnosti. 418 00:23:32,510 --> 00:23:34,610 Takže, nič sa objavil. 419 00:23:34,610 --> 00:23:38,750 To preto, že niečo zlé že som napísal v PHP kóde. 420 00:23:38,750 --> 00:23:42,844 A som sa zmienil o ladení je zložitejšia, pretože v PHP, my 421 00:23:42,844 --> 00:23:45,260 ani skompilovať vopred a kompilátor nebol rád, 422 00:23:45,260 --> 00:23:46,710 Tu je miesto, kde sa vaše chyby sú. 423 00:23:46,710 --> 00:23:49,690 >> Ale čo môžeme robiť je-- sa ľudia pamätať 424 00:23:49,690 --> 00:23:57,010 ako sa pozerať na iné siete požaduje, aby PHP-- alebo že internetové stránky 425 00:23:57,010 --> 00:23:57,620 poslať? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Robil toto prednáška raz alebo dvakrát. 427 00:24:00,290 --> 00:24:05,830 Pamätáš si, kde sme ísť nájsť rôzne dlhy a 200 OKS, 428 00:24:05,830 --> 00:24:09,780 všetky tieto kódy, ktoré sú odosielané cez HTTP z webovej stránky na webovú stránku? 429 00:24:09,780 --> 00:24:12,514 Pamätá si niekto, kde sme sa ísť na to? 430 00:24:12,514 --> 00:24:13,787 >> Divákov: Zdroj stránky. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: zdrojovej stránky. 432 00:24:14,870 --> 00:24:15,890 Presne tak. 433 00:24:15,890 --> 00:24:19,230 Ak pôjdete do Page Source-- perfektné. 434 00:24:19,230 --> 00:24:21,630 Takže Zdroj stránky vytiahne inšpektor. 435 00:24:21,630 --> 00:24:23,140 >> A ja som s použitím Safari. 436 00:24:23,140 --> 00:24:25,790 Mnoho z vás zrejme bude používať Chrome alebo Firefox. 437 00:24:25,790 --> 00:24:27,750 Ale ako dlho, ako ste v každom modernom browser-- 438 00:24:27,750 --> 00:24:29,500 a nebojte sa riadiť spolu, ak chcete. 439 00:24:29,500 --> 00:24:32,560 Môžete zadať tento kód, alebo Stačí sa pozrieť dovnútra P set 6 440 00:24:32,560 --> 00:24:35,820 adresár pre nejaké podobné veci. 441 00:24:35,820 --> 00:24:41,020 hello.php je to, čo sme V súčasnej dobe pracuje na emuláciu. 442 00:24:41,020 --> 00:24:42,476 >> Takže tam sú rôzne kariet. 443 00:24:42,476 --> 00:24:43,850 Môžeme sa pozrieť na všetky zdroje. 444 00:24:43,850 --> 00:24:45,810 Môžeme vidieť zdrojový kód. 445 00:24:45,810 --> 00:24:49,900 Takže to vyzerá, že nie dostať cez telo do konca roka. 446 00:24:49,900 --> 00:24:54,890 To zistila chybu v PHP, a to zastavil načítanie celú webovú stránku. 447 00:24:54,890 --> 00:24:58,320 Nemáme ani koniec tag pre HTML alebo tak niečo. 448 00:24:58,320 --> 00:25:07,189 >> A ak sa pozrieme na sieti, môžeme vidieť, že nás niekto poslal žiadosť. 449 00:25:07,189 --> 00:25:07,980 To je doména. 450 00:25:07,980 --> 00:25:09,270 Jedná sa o adresu. 451 00:25:09,270 --> 00:25:10,070 Je to dokument. 452 00:25:10,070 --> 00:25:14,310 Sme pomocou metódy GET. 453 00:25:14,310 --> 00:25:15,760 >> A je to červené. 454 00:25:15,760 --> 00:25:19,030 Alebo to bola červená, keď som nebol vybraný. 455 00:25:19,030 --> 00:25:22,680 Ako môžem zrušiť výber, že? 456 00:25:22,680 --> 00:25:23,980 No, to bola červená. 457 00:25:23,980 --> 00:25:25,201 Dovoľte mi, aby som osviežiť. 458 00:25:25,201 --> 00:25:25,700 Je to tu. 459 00:25:25,700 --> 00:25:26,640 Teraz je to červené. 460 00:25:26,640 --> 00:25:30,530 >> Takže je to červené, čo znamená, to prepadlo, čo je zlé. 461 00:25:30,530 --> 00:25:32,280 Takže poďme preskúmať, prečo sa to nepodarí. 462 00:25:32,280 --> 00:25:37,070 Takže všetko, že Page zdroj môže v podstate povedať, je vaša vec 463 00:25:37,070 --> 00:25:38,720 nepracoval, ktorú sme už vidieť. 464 00:25:38,720 --> 00:25:42,100 Takže v ideálnom prípade by byť ešte užitočný nástroj. 465 00:25:42,100 --> 00:25:45,710 A tam sú niektoré rozšírenie prehliadača ktorý vám umožní ladiť PHP, 466 00:25:45,710 --> 00:25:50,490 ale my nebudeme písať tony PHP, 467 00:25:50,490 --> 00:25:53,190 takže je to asi jednoducho najlepší prehliadnuť kódu 468 00:25:53,190 --> 00:25:56,760 opatrne a len uistiť, že to nerobí nič iné. 469 00:25:56,760 --> 00:26:03,876 >> Tak uvidíme, či formát tohto if je miesto, kde je problém. 470 00:26:03,876 --> 00:26:07,420 Chcem nahrať, že späť sem. 471 00:26:07,420 --> 00:26:09,830 Ahoj. 472 00:26:09,830 --> 00:26:11,350 Takže je tu problém tam. 473 00:26:11,350 --> 00:26:15,130 >> Takže pre správnu syntax PHP, PHP sa deje 474 00:26:15,130 --> 00:26:17,369 byť C-ako v tom, že uvidíte slučky. 475 00:26:17,369 --> 00:26:18,410 If Uvidíte. 476 00:26:18,410 --> 00:26:20,920 Uvidíte všetky tieto priateľov že ste sa zoznámili 477 00:26:20,920 --> 00:26:24,820 sa v priebehu tohto CS50 semestra. 478 00:26:24,820 --> 00:26:29,960 Ale najlepší spôsob, ako prísť na to, ako sa robiť niečo, čo je v PHP na stránke venovanej ju 479 00:26:29,960 --> 00:26:33,170 alebo sa pozrieť na niektoré príklady PHP kódu pretože viete, funkčnosť. 480 00:26:33,170 --> 00:26:35,080 >> Viete, čo sa dá čo robiť s programom. 481 00:26:35,080 --> 00:26:35,976 Môžete slučky. 482 00:26:35,976 --> 00:26:37,600 Môžete slučka toľkokrát, koľkokrát chcete. 483 00:26:37,600 --> 00:26:39,433 Môžete slučky vo všetkých druhy rôznych spôsobov. 484 00:26:39,433 --> 00:26:40,700 Môžete si vytvoriť funkcie. 485 00:26:40,700 --> 00:26:43,241 Môžete vytvárať funkcie, ktoré volať ďalšie funkcie, funkcie 486 00:26:43,241 --> 00:26:44,150 ktoré sa nazývajú. 487 00:26:44,150 --> 00:26:45,733 A budete mať názvy pre tieto pojmy. 488 00:26:45,733 --> 00:26:49,860 Máš rekurzia, slučky, ak sa ďalšie kontrolné toky. 489 00:26:49,860 --> 00:26:51,300 A tak Google je váš najlepší priateľ. 490 00:26:51,300 --> 00:26:53,540 Dokonca hovorí, "PHP ak vyhlásenie "a tam bude 491 00:26:53,540 --> 00:26:57,740 byť ton miest s Odpovede na iných ľudí 492 00:26:57,740 --> 00:27:02,090 ktorý som mal podobné otázky na vás, ktorí sú práve začínate s PHP 493 00:27:02,090 --> 00:27:03,820 a sú zvedaví syntaxe veci. 494 00:27:03,820 --> 00:27:08,480 >> Pretože máme ten luxus, že sú schopní pozrieť sa na kód v P sade 6, 495 00:27:08,480 --> 00:27:14,980 sme vlastne vytiahnite ju a uvidíte, že OK, tu je niečo zaujímavé. 496 00:27:14,980 --> 00:27:18,070 Takže toto je to, čo to vlastne Vyzeral ako v P set 6. 497 00:27:18,070 --> 00:27:20,340 Takže keď ideme cez to, môžeme vidieť, že máme 498 00:27:20,340 --> 00:27:27,150 dostal niekoľko z nich málo Bity otáznik PHP-podobne. 499 00:27:27,150 --> 00:27:29,050 >> A nie sú zložené zátvorky. 500 00:27:29,050 --> 00:27:30,250 Tam sú dvojbodky. 501 00:27:30,250 --> 00:27:32,340 A tam sú kučeravé traky v PHP, ale toto 502 00:27:32,340 --> 00:27:38,700 je formát a spôsob, ako robiť PHP, ktorý pracuje dobre s HTML 503 00:27:38,700 --> 00:27:43,830 pretože, ako uvidíte, že sme zatvorení off týchto PHP bits-- elses 504 00:27:43,830 --> 00:27:49,770 a IFS a všetky that-- a potom sme interspersing HTML vnútri nich 505 00:27:49,770 --> 00:27:54,640 zatiaľ čo ešte v nadväznosti na riadenie toku stanovené PHP. 506 00:27:54,640 --> 00:27:58,480 >> Takže som jednoducho ísť rýchla prechádzka to 507 00:27:58,480 --> 00:28:01,740 pretože je to veľa rovnaký koncepty, ktoré sme robili predtým. 508 00:28:01,740 --> 00:28:07,280 Ak máme nie je prázdny, zátvorky, _GET_GET ["name"]. 509 00:28:07,280 --> 00:28:08,500 To je všetko rovnaké veci. 510 00:28:08,500 --> 00:28:15,430 Sme pomocou _GET slovník, ktorý PHP posiela na žiadosť foriem, 511 00:28:15,430 --> 00:28:20,720 preto, že je parametre akcie, a spôsob ich získať. 512 00:28:20,720 --> 00:28:22,110 A potom, že končí to. 513 00:28:22,110 --> 00:28:27,420 Hrubého čreva je signifier to jednoducho robiť v prípade, že if vyhodnotí na true. 514 00:28:27,420 --> 00:28:29,490 Je to ako zložená zátvorka. 515 00:28:29,490 --> 00:28:33,320 A v skutočnosti, to je zložená zátvorka v iných jazykoch, ako je Python, 516 00:28:33,320 --> 00:28:37,070 ktoré môžete, ak ste práve narazíte tomu, že pre konečné projekt. 517 00:28:37,070 --> 00:28:40,170 >> A potom sa tento riadok, ahoj. 518 00:28:40,170 --> 00:28:41,510 Potom máme taký divný veci. 519 00:28:41,510 --> 00:28:43,190 Máme viac konzol. 520 00:28:43,190 --> 00:28:46,140 Neexistuje žiadny HTTP there-- alebo PHP, je mi ľúto. 521 00:28:46,140 --> 00:28:47,250 Ale je tu znamienko rovnosti. 522 00:28:47,250 --> 00:28:50,625 A potom máme funkciu, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 To je niečo ako viac pokročilá verzia echo. 525 00:28:58,040 --> 00:29:01,450 Rovnako ako sme echo ako spôsob vytlačiť veci v PHP. 526 00:29:01,450 --> 00:29:03,890 To je funkcia, ktorá je definované v PHP, ktorý 527 00:29:03,890 --> 00:29:08,160 sa bude zaoberať niektorými viac škaredé znaky a hodnoty bytov 528 00:29:08,160 --> 00:29:09,540 že by ste mohli prejsť. 529 00:29:09,540 --> 00:29:11,070 Je vždy najbezpečnejšie používať. 530 00:29:11,070 --> 00:29:14,930 Ale echo bude robiť svoju prácu Len v poriadku, ak nie sme 531 00:29:14,930 --> 00:29:17,620 rokovania s ničím príliš škaredé. 532 00:29:17,620 --> 00:29:20,340 >> A tak to má rovnaký účinok v podstate, 533 00:29:20,340 --> 00:29:26,360 tohle medzi otázke značky je hodnotená PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars vráti pekný HTML tlačený hodnota _GET_GET ["meno"], tj. 535 00:29:34,490 --> 00:29:36,010 čo sme zadali vo formulári. 536 00:29:36,010 --> 00:29:40,025 A potom to bude pozdraviť, čiarka priestoru, a potom to. 537 00:29:40,025 --> 00:29:42,910 Celá vec medzi lomené zátvorky 538 00:29:42,910 --> 00:29:47,390 budú nahradené bez ohľadu htmlspecialchars vyhlási. 539 00:29:47,390 --> 00:29:49,390 Tak to je v podstate podobné na to, čo robíme. 540 00:29:49,390 --> 00:29:54,760 A máme vyhlásenie k inému, ktorý je hello world, ktorý dáva zmysel. 541 00:29:54,760 --> 00:29:58,070 Takže teraz sa vráťme sa k odberu kód a vidieť exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Povedal Aj existuje, čo nie je vec, ktorú sme chceli robiť. 543 00:30:02,200 --> 00:30:05,370 Chceli sme povedať nie prázdna. 544 00:30:05,370 --> 00:30:10,020 >> A tak by to malo fungovať trochu trochu lepšie, nie je prázdny _GET_GET ["name"]. 545 00:30:10,020 --> 00:30:12,710 A to zložená zátvorka sa zhoduje s zložená zátvorka. 546 00:30:12,710 --> 00:30:15,210 Máme naše zložené zátvorky tu. 547 00:30:15,210 --> 00:30:17,790 echo ahoj _GET ["name"]. 548 00:30:17,790 --> 00:30:19,912 Uvidíme, či to funguje trochu lepšie. 549 00:30:19,912 --> 00:30:21,350 Sme stále beží náš server. 550 00:30:21,350 --> 00:30:23,910 Dobrý deň, Jason. 551 00:30:23,910 --> 00:30:24,780 Dobrý deň, Jason. 552 00:30:24,780 --> 00:30:25,810 A fungovalo to tentoraz. 553 00:30:25,810 --> 00:30:29,860 A tak to je dôkaz že môžete naozaj 554 00:30:29,860 --> 00:30:35,180 použite zložené zátvorky, ktoré ste poznajú a milujú v PHP kódu v HTML. 555 00:30:35,180 --> 00:30:41,100 Kód PHP podmienky Ste v pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 poskytuje ďalší spôsob robiť to isté. 557 00:30:44,760 --> 00:30:49,220 >> Takže teraz máme vo svojej moci. 558 00:30:49,220 --> 00:30:55,740 Máme funkciu implementovať PHP kód, ktorý sme videli v pset 6 559 00:30:55,740 --> 00:30:57,390 sami, v podstate. 560 00:30:57,390 --> 00:31:01,350 Než som sa ísť ďalej, aké sú niektoré z otázky, ktoré máte v tomto okamihu? 561 00:31:01,350 --> 00:31:02,066 Áno [nepočuteľný]. 562 00:31:02,066 --> 00:31:06,512 >> Divákov: Takže v znení pset6, pri spustení, je tu priestor. 563 00:31:06,512 --> 00:31:09,330 A vidím, kde je priestor za čiarkou. [Nepočuteľných] začiatok 564 00:31:09,330 --> 00:31:10,700 otvorený držiak. 565 00:31:10,700 --> 00:31:15,420 Ako začleniť priestor, v ako ste napísal svoje vlastné kódy? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: To je dobrá otázka. 567 00:31:17,910 --> 00:31:21,650 A tak poďme na to prišiel. 568 00:31:21,650 --> 00:31:24,450 Tak to je naozaj dobrá otázka a ten, ktorý som nepovažoval. 569 00:31:24,450 --> 00:31:25,950 Ale poďme to urobiť spoločne. 570 00:31:25,950 --> 00:31:30,280 >> Tak v prvom rade, čo Ja robím s ozvenou 571 00:31:30,280 --> 00:31:33,690 je, keď sme jednoducho echo ahoj, ahoj to výstupy. 572 00:31:33,690 --> 00:31:41,310 Ak by sme echo teraz to dostať sa na samostatný linka, poďme preskúmať, čo sa stane. 573 00:31:41,310 --> 00:31:43,740 Tak sme to kliknite. 574 00:31:43,740 --> 00:31:45,220 Udržať hovoríme, ahoj Jason. 575 00:31:45,220 --> 00:31:48,690 Takže znovu, nemáme tento priestor. 576 00:31:48,690 --> 00:31:53,090 >> A to preto, že v PHP, kedy sme echo, 577 00:31:53,090 --> 00:31:55,820 bez ohľadu na to, koľko spaces-- Nie, nie V- 578 00:31:55,820 --> 00:32:01,770 bez ohľadu na to, koľko miesta sme sa dať do here-- keby sme teraz naložiť, že znovu, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Jo, vidím, všetkým tým, priestory dostal zjedli. 581 00:32:05,770 --> 00:32:08,020 A to je niečo, ozvena funkcie robí. 582 00:32:08,020 --> 00:32:11,110 >> Takže sa starať o že priestor, a to je 583 00:32:11,110 --> 00:32:14,960 jeden z dôvodov, Prečo nechcete používať echo 584 00:32:14,960 --> 00:32:18,200 a použiť htmlspecialchars miesto. 585 00:32:18,200 --> 00:32:22,140 Som zvedavá, čo by sa stalo, keby sme to urobili 586 00:32:22,140 --> 00:32:26,700 kde sme uzavretý priestor v reťazci. 587 00:32:26,700 --> 00:32:29,720 Nie som si istý, čo úprimne sa stane, keď to urobím. 588 00:32:29,720 --> 00:32:30,790 >> Takže to je jeden spôsob. 589 00:32:30,790 --> 00:32:32,210 To je jeden spôsob, ako sa postarať o to. 590 00:32:32,210 --> 00:32:34,840 Ak zabaliť priestor v reťazec, potom priestor 591 00:32:34,840 --> 00:32:36,920 bude výstup pekne ECHO. 592 00:32:36,920 --> 00:32:41,930 Najbezpečnejšie vec urobiť, je robiť htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 To je vždy stávka na istotu. 594 00:32:43,800 --> 00:32:47,050 Ale teraz máme spôsob, ako robiť to s echo ak je to potrebné. 595 00:32:47,050 --> 00:32:50,700 A podobným spôsobom, môžeme echo nových tratiach, všetky druh 596 00:32:50,700 --> 00:32:53,550 vecí, že ste oboznámení robiť v PHP. 597 00:32:53,550 --> 00:32:57,460 >> Ktokoľvek iný, aké sú nič viac otázky, ktoré ostatní ľudia majú 598 00:32:57,460 --> 00:33:01,090 v tomto bode o PHP? 599 00:33:01,090 --> 00:33:04,620 Ak sa ľudia ukázala trochu neskoro, Som rád, aby zostali po trochou 600 00:33:04,620 --> 00:33:06,420 a hovoriť o niektorých začiatku. 601 00:33:06,420 --> 00:33:10,380 A to je tiež všetko livestreamed, a archivované, ktorý je blázon. 602 00:33:10,380 --> 00:33:13,960 >> Každopádne, takže teraz poďme urobiť nejaké pokročilejšie veci s PHP. 603 00:33:13,960 --> 00:33:18,790 A jedna z prvých vecí, boli zavedené v C bolo pre slučky. 604 00:33:18,790 --> 00:33:24,060 A PHP má silnejší pre slučka volal slučky foreach. 605 00:33:24,060 --> 00:33:37,940 A vyzerá to, že tohle-- pre každý blank ako prázdne, zložených zátvorkách, robiť veci. 606 00:33:37,940 --> 00:33:41,500 Tak to je v podstate skratka. 607 00:33:41,500 --> 00:33:45,380 >> Viete, pre slučkou ako syntaxe konštrukcia 608 00:33:45,380 --> 00:33:50,590 bol navrhnutý v C a v zostave jazyk a podobné veci. 609 00:33:50,590 --> 00:33:56,300 Vymyslel v C, presne, ako skratka pre mnoho typov slučiek 610 00:33:56,300 --> 00:33:57,750 že ľudia by vidieť. 611 00:33:57,750 --> 00:34:01,230 Ako keď si písal slučku, tam bol často inicializačný krok 612 00:34:01,230 --> 00:34:04,700 vykonaný priamo na začiatok, Stav, kedy by sa slučka stop-- 613 00:34:04,700 --> 00:34:07,030 a to je vlastnosť to je len v cykle while, 614 00:34:07,030 --> 00:34:10,040 alebo že keď má presne len, že feature-- a potom 615 00:34:10,040 --> 00:34:12,320 inkrementácia krok na konci. 616 00:34:12,320 --> 00:34:16,489 A tak by ste často nájsť sami písanie kódu ako nasledujúce. 617 00:34:16,489 --> 00:34:19,780 Chystám sa vymazať niečo z toho. 618 00:34:19,780 --> 00:34:23,850 >> Ale ak budeme iterácie znaky v poli, 619 00:34:23,850 --> 00:34:26,960 Napríklad, ako by sme získal rad znakov. 620 00:34:26,960 --> 00:34:29,400 Ospravedlňujem sa, že priviezť C. Ja viem, ste myslel, že si urobil. 621 00:34:29,400 --> 00:34:31,900 Ale je to len za účelom učenie PHP, sľubujem. 622 00:34:31,900 --> 00:34:38,880 Takže ak máš char str dĺžky 8, a poďme 623 00:34:38,880 --> 00:34:46,760 hovoria, že to hovorí Hellooo s koncovej null. 624 00:34:46,760 --> 00:34:48,270 Skvelé, takže to je naša reťazec. 625 00:34:48,270 --> 00:34:51,469 >> A potom sme mali na slučku. 626 00:34:51,469 --> 00:34:53,730 Máme int i = 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 A chceme ukončiť pri stř zo i rovná nerovná null, 629 00:35:09,110 --> 00:35:11,590 preto, že sme sa ukončiť, ak sa rovná null. 630 00:35:11,590 --> 00:35:19,170 A potom budeme robiť aj ++ na seba bod v pre sláčiky. 631 00:35:19,170 --> 00:35:30,480 Robiť niečo s str ï. 632 00:35:30,480 --> 00:35:34,950 >> Takže základný vzorec bol, sme mali toto pole, ktoré sme 633 00:35:34,950 --> 00:35:37,910 chcel zaobchádzať ako samostatné prvky. 634 00:35:37,910 --> 00:35:45,170 Ale to, čo sme museli urobiť, je, že sme museli v podstate vytvoriť samostatný celé číslo 635 00:35:45,170 --> 00:35:50,530 premennú, ktorá sa počíta sa každé keď sme išli cez slučku. 636 00:35:50,530 --> 00:35:55,240 A potom budeme musieť potom volať strstr [aj] keď to, čo sme skutočne chceli robiť 637 00:35:55,240 --> 00:35:57,280 je jednoducho ísť charakter znakom, že jo? 638 00:35:57,280 --> 00:36:00,185 Nechceme, aby zvýšiť integer a potom použiť toto číslo 639 00:36:00,185 --> 00:36:02,780 pristupovať každý znak jednotlivo. 640 00:36:02,780 --> 00:36:04,410 Naozaj chceme znak po znaku. 641 00:36:04,410 --> 00:36:08,600 >> A tak pre každú inteligentne odhaduje, že pre nás. 642 00:36:08,600 --> 00:36:11,875 Ak máme poľa, ktorý môžeme vyhlásiť v PHP 643 00:36:11,875 --> 00:36:15,900 ako jen--, ak budeme mať premennú volal, nazvime to pole. 644 00:36:15,900 --> 00:36:19,840 Zázraky bez písania, je to rovnako ako akúkoľvek inú premennú. 645 00:36:19,840 --> 00:36:20,730 Je to len pole. 646 00:36:20,730 --> 00:36:26,890 A máme trochu [nepočuteľný] ako 1, 2, 3, len akýsi inicializovaná poľa. 647 00:36:26,890 --> 00:36:29,680 To je v poriadku, to nie je ako môj foreach. 648 00:36:29,680 --> 00:36:33,120 >> Ale ak sa to vlastne foreach-- Som napísal, že trochu zle. 649 00:36:33,120 --> 00:36:34,840 Existujú robiť slučky foreach dvoma spôsobmi. 650 00:36:34,840 --> 00:36:37,400 Tam je in syntax a ako syntax. 651 00:36:37,400 --> 00:36:40,580 A budeme robiť v prvom syntaxi, nie ako. 652 00:36:40,580 --> 00:36:41,780 To je moja chyba. 653 00:36:41,780 --> 00:36:53,785 >> Takže foreach num v poli, echo num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 A PHP sa kričal na me z nejakého dôvodu. 656 00:36:59,500 --> 00:37:03,520 Je to hľadanie neočakávané v v niečom, 657 00:37:03,520 --> 00:37:05,820 čo je trochu na obtiaž. 658 00:37:05,820 --> 00:37:09,105 Ale my prísť prečo tomu tak je za chvíľu. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Takže sa mi to. 661 00:37:13,610 --> 00:37:15,040 Skúsme pomocou as. 662 00:37:15,040 --> 00:37:17,310 To uprednostňuje ako syntax je zdá. 663 00:37:17,310 --> 00:37:22,550 Tak to urobme foreach pole ako num. 664 00:37:22,550 --> 00:37:24,520 >> Tak trochu vysvetlenie o tom, čo sa práve stalo 665 00:37:24,520 --> 00:37:30,670 je, ako je syntax saying-- dobre ako prvý, Poďme sa pozrieť na to, čo to vytlačí. 666 00:37:30,670 --> 00:37:32,260 Tak sme otvoriť náš IDE. 667 00:37:32,260 --> 00:37:33,110 Ideme sem. 668 00:37:33,110 --> 00:37:35,845 My hovoríme, Hello Jason. 669 00:37:35,845 --> 00:37:41,390 A to robilo 123, ktoré boli obsah matice, ktorý sme vytvorili na vrchol. 670 00:37:41,390 --> 00:37:45,500 >> Takže potápanie do tejto slučky foreach, máme variabilné nazýva pole 671 00:37:45,500 --> 00:37:47,470 čo je rad troch čísel. 672 00:37:47,470 --> 00:37:52,120 A potom robíme foreach poľa ako num, echo num. 673 00:37:52,120 --> 00:37:54,990 A to je viac, intuitívne než u prerezať. 674 00:37:54,990 --> 00:38:02,380 Hovoríme, spracovanie každého z veci v poli ako num, 675 00:38:02,380 --> 00:38:05,180 Chcem, aby si mi dal num. 676 00:38:05,180 --> 00:38:06,640 A to je presne to, čo robí. 677 00:38:06,640 --> 00:38:12,000 >> PHP počíta, že keď hovoríte foreach poľa, 678 00:38:12,000 --> 00:38:16,080 a máte čo do činenia s radom, čo budete chcieť iterácii 679 00:38:16,080 --> 00:38:19,950 sú znaky v tomto poli, je ints v tomto poli, 680 00:38:19,950 --> 00:38:21,920 je elementy v tomto poli. 681 00:38:21,920 --> 00:38:26,110 A to, že umožňuje ukladať tieto premenné ako num, 682 00:38:26,110 --> 00:38:29,360 a potom už len výstup num hneď skôr než hovoriť, 683 00:38:29,360 --> 00:38:34,090 Mám premennú s názvom i, a potom chcem, aby výstup strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> A tak, že nám umožňuje robiť skvelé veci. 685 00:38:39,130 --> 00:38:43,330 Rovnako ako v podstate nemáme vytvárať tieto premenné, ako by som ich a robiť všetko, 686 00:38:43,330 --> 00:38:45,090 táto inkrementácia veci na konci. 687 00:38:45,090 --> 00:38:48,290 PHP sa stará o všetko pre vás. 688 00:38:48,290 --> 00:38:54,470 >> Takže teraz poďme hovoriť o foreach as to platí o našej _GET slovníka. 689 00:38:54,470 --> 00:38:57,170 Takže budeme komentovať na to rýchlo. 690 00:38:57,170 --> 00:39:02,030 Takže máme _GET poľa. 691 00:39:02,030 --> 00:39:04,361 Máme túto premennú. 692 00:39:04,361 --> 00:39:05,610 A je to tu nejaké veci v ňom. 693 00:39:05,610 --> 00:39:10,275 >> Práve teraz, máme len jednu premennú odovzdávaný k nej, čo je názov. 694 00:39:10,275 --> 00:39:13,420 Ale ak budeme stlačíte klávesu Enter, teraz môžeme mať dve premenné. 695 00:39:13,420 --> 00:39:17,910 Môžeme mať meno a vek, napríklad, ak sa chceme dostať veku a tiež 696 00:39:17,910 --> 00:39:20,960 meno osoby, napodiv. 697 00:39:20,960 --> 00:39:25,690 >> Takže teraz _GET sa chystá byť slovník s dvoma prvkami, 698 00:39:25,690 --> 00:39:27,980 dva páry hodnôt kľúča. 699 00:39:27,980 --> 00:39:33,490 A prvý key-- Idem napísať tento jeden na tabuľu príliš. 700 00:39:33,490 --> 00:39:37,136 Máme slovník je _GET. 701 00:39:37,136 --> 00:39:39,520 Je nám ľúto, že je to je trochu ťažké vidieť. 702 00:39:39,520 --> 00:39:46,690 Ale v našom slovníku máme názov, ktorý sa bude niečo 703 00:39:46,690 --> 00:39:47,680 že sme vzhľadom. 704 00:39:47,680 --> 00:39:53,040 A budeme mať vek, ktorý je tiež bude niečo, čo sme daný. 705 00:39:53,040 --> 00:39:56,020 A to je súhrnom nášho slovníka. 706 00:39:56,020 --> 00:39:57,730 >> Tak to má dva elementy v tom. 707 00:39:57,730 --> 00:40:01,310 A tak preto, že foreach slučky sú chytré, my 708 00:40:01,310 --> 00:40:04,900 Možno si myslíte, a správne by si mohol myslieť, že foreach 709 00:40:04,900 --> 00:40:08,080 Môžete iterovat tento slovník, vytlačenie 710 00:40:08,080 --> 00:40:10,850 Uvedené hodnoty menom a vekom. 711 00:40:10,850 --> 00:40:14,510 >> Takže poďme sa v skutočnosti robiť len to. 712 00:40:14,510 --> 00:40:17,520 Poďme postaviť slučky foreach. 713 00:40:17,520 --> 00:40:23,351 A budeme robiť za _GET ako. 714 00:40:23,351 --> 00:40:24,850 A budeme robiť nasledujúce. 715 00:40:24,850 --> 00:40:34,186 Tak uvidíme, čo sa stane, keď sme typu len slovo, a potom povedal echo slovo. 716 00:40:34,186 --> 00:40:40,540 Sme tiež bude odrážať nový riadok len aby to trochu jasnejšie, 717 00:40:40,540 --> 00:40:41,260 čo sa deje. 718 00:40:41,260 --> 00:40:42,890 >> Takže poďme sa pozrieť. 719 00:40:42,890 --> 00:40:44,390 Nie je to mi dáva žiadne chyby. 720 00:40:44,390 --> 00:40:46,810 A budeme zatvárať to. 721 00:40:46,810 --> 00:40:51,020 Na našich webových stránkach, budete robiť veľa, že v priebehu roka pset7. 722 00:40:51,020 --> 00:40:53,890 Takže hovoríme, volám sa Sam. 723 00:40:53,890 --> 00:40:58,560 Môj vek je 45. 724 00:40:58,560 --> 00:41:01,060 Nie je. 725 00:41:01,060 --> 00:41:05,640 Ale to vytlačí, ako sa očakávalo, Same 45. 726 00:41:05,640 --> 00:41:08,930 >> A tak zistíte, že čo foreach slučky tu did--, 727 00:41:08,930 --> 00:41:12,360 vráťme sa, že tak je to Na board-- dostaneme _GET ako slovo. 728 00:41:12,360 --> 00:41:15,130 A boli tam štyri veci _GET. 729 00:41:15,130 --> 00:41:17,410 Ale je to len vytlačiť dve veci. 730 00:41:17,410 --> 00:41:21,290 foreach, že jeho inteligencia ja, Predpokladá sa, že to, čo sme skutočne chceli 731 00:41:21,290 --> 00:41:24,100 Bol hodnoty, nie kľúče. 732 00:41:24,100 --> 00:41:27,800 >> Ale existuje spôsob, ako by sme mohli tlačiť out kľúče rovnako, ak by sme chceli. 733 00:41:27,800 --> 00:41:30,810 Ak by sme chceli tiež vedieť, čo tieto premenné boli volány, 734 00:41:30,810 --> 00:41:33,540 existuje spôsob, že by sme prístup k tejto tiež. 735 00:41:33,540 --> 00:41:36,840 A spôsob, ako to urobiť druh, Takže môžeme povedať, nechá naozaj 736 00:41:36,840 --> 00:41:39,485 rozdeliť do kľúča a hodnoty. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Tak uvidíme, čo sa stane teraz. 739 00:41:47,580 --> 00:41:50,550 >> Takže máme kľúč. 740 00:41:50,550 --> 00:41:52,290 Máme hodnotu. 741 00:41:52,290 --> 00:41:56,650 Máme ďalšia nová linka pre čitateľnosť. 742 00:41:56,650 --> 00:42:00,540 A uvidíme, čo sa stane, keď to urobíme teraz. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Ja neviem, ako starý je Jason. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Takže máme meno Jason, vek 15. 747 00:42:11,650 --> 00:42:15,830 Takže sme boli schopní získať prístup k kľúče a dvojica hodnota tohto slovníka 748 00:42:15,830 --> 00:42:18,590 Len tým, že hovorí, ako kľúčové body na hodnotu. 749 00:42:18,590 --> 00:42:23,350 A to je foreach syntaxe cukor bit, ktorý umožňuje 750 00:42:23,350 --> 00:42:25,960 prístup k veci, v slovníku. 751 00:42:25,960 --> 00:42:31,190 >> Tak dúfajme, že tento druh zdôrazňuje sila foreach slučky. 752 00:42:31,190 --> 00:42:35,690 Môžete skoro hodu niečo, čo sa zdá iterable, 753 00:42:35,690 --> 00:42:38,922 ako niečo, ktorý má viac prvky ako pole, 754 00:42:38,922 --> 00:42:41,880 sa ako dictionary-- tie sú dva základné veci, ktoré budete pracovať s 755 00:42:41,880 --> 00:42:45,630 a to ako v živote a vo pset 7. 756 00:42:45,630 --> 00:42:49,350 Takže si môžete hodiť, že veci na neho, a to bude zistiť, 757 00:42:49,350 --> 00:42:51,030 to, čo chcete robiť s ním. 758 00:42:51,030 --> 00:42:54,250 Bude hovoriť, OK, budem sa dostať tieto veci z údajov, ktoré 759 00:42:54,250 --> 00:42:55,680 bol odovzdaný ku mne. 760 00:42:55,680 --> 00:43:02,470 A to je niečo, že ste bude používať veľa v pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Idem k rýchlemu rolovanie dole, len aby zistili, kde som na. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Ešte ľudia majú otázky, na tomto mieste? 764 00:43:13,070 --> 00:43:13,778 Otázky vôbec? 765 00:43:13,778 --> 00:43:14,400 Ano? 766 00:43:14,400 --> 00:43:18,320 >> Divákov: Takže s kľúčom a hodnotou, ste mohli pomenovať niečo iné 767 00:43:18,320 --> 00:43:20,507 a to by ešte fungovať? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Oops. 769 00:43:21,090 --> 00:43:22,820 Wow, ja som úplne odstránil celý riadok. 770 00:43:22,820 --> 00:43:23,380 Skvelá práca. 771 00:43:23,380 --> 00:43:26,502 Takže, a. 772 00:43:26,502 --> 00:43:30,109 Key a hodnota je len konvencie. 773 00:43:30,109 --> 00:43:30,650 Je to užitočné. 774 00:43:30,650 --> 00:43:34,010 Tie by si nejaký návrh body, možno nejaký štýl body 775 00:43:34,010 --> 00:43:36,970 za to, že preto, že skutočne vyjadruje zámer. 776 00:43:36,970 --> 00:43:39,650 Ale my hovoríme a a yarp. 777 00:43:39,650 --> 00:43:42,476 >> Divákov: Nemusíte sa čokoľvek meniť v súbore HTML 778 00:43:42,476 --> 00:43:43,607 aby bolo zrejmé, že? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Vôbec nie. 780 00:43:44,440 --> 00:43:47,260 Divákov: A to len vie, že a to z väčšej rovná than-- 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Áno. 782 00:43:47,801 --> 00:43:49,489 Divákov: --that indikátor that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Áno. 784 00:43:50,030 --> 00:43:52,260 To je syntax foreach, ale áno. 785 00:43:52,260 --> 00:43:53,720 >> Divákov: Nie sú typy. 786 00:43:53,720 --> 00:43:57,230 Takže čo keď ste chceli vek, že je len číslo? 787 00:43:57,230 --> 00:43:59,510 Existuje spôsob, ako to urobiť? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Existujú spôsoby, ako skontrolovať, či premenné zodpovedajú určité druhy. 789 00:44:04,550 --> 00:44:08,482 PHP Tak sa pýta trochu viac zo ste preto, že sa v žiadnej typy. 790 00:44:08,482 --> 00:44:09,440 Niektoré spôsoby, ako sa spýta menej. 791 00:44:09,440 --> 00:44:11,070 V niektorých ohľadoch sa pýta viac. 792 00:44:11,070 --> 00:44:13,320 Pretože ak ste práve niečo v premennej, 793 00:44:13,320 --> 00:44:14,960 nemáte tušenie, o aký typ sa jedná. 794 00:44:14,960 --> 00:44:19,310 Ale ak ste chytrí o premenných že priradíte druhy do a uistite sa, 795 00:44:19,310 --> 00:44:22,750 že funguje iba return-- vám Chcete funkcií iba návrat 796 00:44:22,750 --> 00:44:26,210 jeden typ hodnotu, takže že môžete v podstate 797 00:44:26,210 --> 00:44:31,090 Predpokladáme, že premenná sa dostanete späť z funkcie bude typu 798 00:44:31,090 --> 00:44:32,780 že si myslíte, že to bude v podstate. 799 00:44:32,780 --> 00:44:36,550 >> Ale tam sú niektoré metódy ktorú si môžete skontrolovať. 800 00:44:36,550 --> 00:44:39,801 Nespomínam si ich z vrcholu mojej hlavy. 801 00:44:39,801 --> 00:44:43,300 Čakám na to, aby modrať. 802 00:44:43,300 --> 00:44:45,560 isint? 803 00:44:45,560 --> 00:44:48,070 isstr? 804 00:44:48,070 --> 00:44:52,000 Existujú metódy zabudovaný do PHP, ktorý môže 805 00:44:52,000 --> 00:44:54,440 skontrolujte typ premennej pre vás. 806 00:44:54,440 --> 00:44:58,250 Ale ak priradíte premenné elegantne, nemali by ste 807 00:44:58,250 --> 00:45:01,330 musí na to, že príliš veľa pset 7. 808 00:45:01,330 --> 00:45:02,780 Ale existujú tieto metódy. 809 00:45:02,780 --> 00:45:06,704 A to je niečo, je v danom jazyku. 810 00:45:06,704 --> 00:45:08,370 A ja si nepamätám presný syntax. 811 00:45:08,370 --> 00:45:09,930 Dalo by sa dokonca to nájsť. 812 00:45:09,930 --> 00:45:11,974 Ale čas je esencia. 813 00:45:11,974 --> 00:45:13,890 majú Má niekto iný máte nejaké ďalšie otázky? 814 00:45:13,890 --> 00:45:14,660 Áno. 815 00:45:14,660 --> 00:45:15,951 >> Divákov: Mám len jednu ďalšiu. 816 00:45:15,951 --> 00:45:19,050 Takže ste sa zmienil o metódu GET, ale ste nespomenul metódy POST. 817 00:45:19,050 --> 00:45:20,500 Sme vracia k tomu? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: Áno, budeme sa vracia k tomu. 819 00:45:21,540 --> 00:45:24,840 To je presne to, čo som hľadal na môj telefón, ktorý teraz zaspal 820 00:45:24,840 --> 00:45:26,960 ale budem ho nájsť. 821 00:45:26,960 --> 00:45:30,680 Len uistite sa, narážame všetky PHP poznámky. 822 00:45:30,680 --> 00:45:35,640 Jo, nie je ladiaci verzie. 823 00:45:35,640 --> 00:45:41,940 Áno, máme niekoľko ďalších vecí, ktoré chceme robiť v tomto bode. 824 00:45:41,940 --> 00:45:45,980 >> Tak hovorí o POST, ktoré ste spomenuli, 825 00:45:45,980 --> 00:45:49,630 jediný rozdiel medzi GET a POST je 826 00:45:49,630 --> 00:45:53,150 že Pamätám si, keď sme sa pozerali na tejto adrese a my sme videli, oh, 827 00:45:53,150 --> 00:45:58,270 Názov reálna hodnota rovná a vek sa rovná yarp sú priamo v URL tam pre nás. 828 00:45:58,270 --> 00:46:03,300 POST je trochu tajnostkársky s jeho odovzdávanie informácií. 829 00:46:03,300 --> 00:46:08,090 >> Takže ak ste nechceli užívateľa vedieť, napríklad, vy 830 00:46:08,090 --> 00:46:11,160 Nechcel užívateľské meno a heslo osoby 831 00:46:11,160 --> 00:46:15,080 aktuálne prihláseného, ​​ktorý sa zobrazí v URL, čo je rozumná vec 832 00:46:15,080 --> 00:46:17,770 že nebude chcieť v URL, pretože niekto ho môžu vidieť. 833 00:46:17,770 --> 00:46:21,520 Ak sa odkazovať niekoho na stránku, budete Nechceme ich URL tam omietnuté, 834 00:46:21,520 --> 00:46:27,850 pretože by to umožniť ľuďom sa prihlásiť Len sa namiesto toho olepenia adresy URL 835 00:46:27,850 --> 00:46:29,670 skutočne vyplnením formulára. 836 00:46:29,670 --> 00:46:31,710 POST je trochu viac tajnostkársky. 837 00:46:31,710 --> 00:46:34,150 >> A jediné veci, ktoré budeme musieť zmeniť 838 00:46:34,150 --> 00:46:38,550 sú táto metóda, zmena od dostať post. 839 00:46:38,550 --> 00:46:42,367 A potom vnútri HTTP, namiesto toho prístupu maticový _GET, 840 00:46:42,367 --> 00:46:43,950 budeme pristupovať maticový _POST. 841 00:46:43,950 --> 00:46:48,600 >> A my Všimnite si, že, ak sme sa otvoriť túto zálohu znova, 842 00:46:48,600 --> 00:46:51,910 Jason pomaly klesá na veku. 843 00:46:51,910 --> 00:46:53,230 meno Jasona, vek 14. 844 00:46:53,230 --> 00:46:54,280 Rovnaká vec sa objaví. 845 00:46:54,280 --> 00:46:57,190 Ale my prejsť na adresu URL a tieto premenné nie sú tam. 846 00:46:57,190 --> 00:47:00,540 >> A spôsob, akým POST passes-- tak si pamätajte 847 00:47:00,540 --> 00:47:02,750 ako sa pozerať na zdroj stránky. 848 00:47:02,750 --> 00:47:04,570 Ideme do siete. 849 00:47:04,570 --> 00:47:06,920 My refresh. 850 00:47:06,920 --> 00:47:10,690 A to je ďalšia vec, ktorá POST vám dá varovanie o. 851 00:47:10,690 --> 00:47:15,050 Ste mohli vidieť pole, textové box takhle vo vašom prehliadači. 852 00:47:15,050 --> 00:47:18,170 Ste si istí, že chcete odoslať znovu formulára? 853 00:47:18,170 --> 00:47:21,170 POST je to, čo 's odoslaním tieto formy. 854 00:47:21,170 --> 00:47:24,680 >> Vzhľadom k tomu, v podstate, keď ste poslali svoj informácie o kreditnej karte pre niekoho, 855 00:47:24,680 --> 00:47:26,350 že to nebude zobrazovať v URL. 856 00:47:26,350 --> 00:47:28,180 To bude požiadavka POST. 857 00:47:28,180 --> 00:47:32,905 Takže keď aktualizovať stránku, je to znovuodeslání túto žiadosť post. 858 00:47:32,905 --> 00:47:35,530 Takže teraz my chceme poslať formulár znova, pretože to nebude 859 00:47:35,530 --> 00:47:37,340 vytvárať žiadne duplicitné nákupy. 860 00:47:37,340 --> 00:47:41,160 >> A všimnite si, že tu dole, Metóda, ktorú používate, je POST. 861 00:47:41,160 --> 00:47:43,065 A to skutočne prenášať bajtov. 862 00:47:43,065 --> 00:47:45,460 Previedol 401 z nich. 863 00:47:45,460 --> 00:47:47,190 Program je celkom malé. 864 00:47:47,190 --> 00:47:51,600 Ale je tu nikde, že môžeme vidieť hodnoty, ktoré sú odovzdané. 865 00:47:51,600 --> 00:47:59,540 Webové stránky samy o sebe môžu vidieť, ale my ako užívatelia nie sú schopní vidieť, 866 00:47:59,540 --> 00:48:01,650 ak ste hacker. 867 00:48:01,650 --> 00:48:05,340 Ak ste dobrý hacker, môžete sa pozrieť. 868 00:48:05,340 --> 00:48:09,360 >> Ak viete, že základný formát HTML, 869 00:48:09,360 --> 00:48:11,790 hodnoty bude sa prihlásili na stránkach. 870 00:48:11,790 --> 00:48:13,160 Budete mať možnosť vidieť. 871 00:48:13,160 --> 00:48:16,720 Hodnoty budú tam, že sú Len o niečo menej zrejmý pre vás 872 00:48:16,720 --> 00:48:19,522 prístup, v podstate. 873 00:48:19,522 --> 00:48:23,620 >> Máme nejaký ďalší otázky o GET, POST 874 00:48:23,620 --> 00:48:26,800 before--, čo budeme robiť ďalej je vlastne pozrieť na niektoré z kódu 875 00:48:26,800 --> 00:48:30,837 že dávate v pset 7, hovoriť o tom, ako sa používa niektoré z týchto pojmov, 876 00:48:30,837 --> 00:48:32,670 a hovoriť o veci, ktoré sa chystáte 877 00:48:32,670 --> 00:48:35,090 musieť urobiť trochu vo pset 7. 878 00:48:35,090 --> 00:48:36,760 Nejaké ďalšie otázky pred tým? 879 00:48:36,760 --> 00:48:38,047 Ďalšie otázky, ktoré chlapci majú? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Skvelé. 882 00:48:41,840 --> 00:48:45,370 >> Dobre, poďme sa pozrieť trochu na pset 7, 883 00:48:45,370 --> 00:48:49,530 nie je pochýb o tom, čo si zač všetko najviac nadšení. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Myslím, že to je niečo, David prechádza trochu. 886 00:48:54,750 --> 00:49:00,890 Ale budeme mať tri adresára signálov na top, rovnako ako konfiguračný súbor. 887 00:49:00,890 --> 00:49:04,650 To je pre databázy, ktoré sme vám hovorí o asi za päť minút. 888 00:49:04,650 --> 00:49:07,220 Zahŕňa, už nikdy nebudete musieť hľadať v tomto adresári 889 00:49:07,220 --> 00:49:12,480 ak nechcete, ale je to pekné vedia, že sú všetky druhy pomocníkov. 890 00:49:12,480 --> 00:49:14,210 Pomocníci je ako užitočných funkcií. 891 00:49:14,210 --> 00:49:18,120 A potom máme config, ktorá stanovuje niektoré veci hore. 892 00:49:18,120 --> 00:49:24,590 >> Existujú niektoré funkcie, ktoré má CS50 napísal, že sú v pomocníka a config. 893 00:49:24,590 --> 00:49:27,250 A niektorí z PHP, ktorý Už ukončí v súboroch 894 00:49:27,250 --> 00:49:30,880 bude robiť veľa z viacerých druhu z tupé noha pracovať pre vás. 895 00:49:30,880 --> 00:49:35,250 Rovnako ako keď pôjdeme do verejnej login.php, čo je to, čo 896 00:49:35,250 --> 00:49:38,350 ukáže pravdu, keď idete do pset 7. 897 00:49:38,350 --> 00:49:40,580 Uvidíme, že tam vyžadovať vyhlásenie. 898 00:49:40,580 --> 00:49:43,420 A to niečo ako ostré zahŕňajú, hashtag 899 00:49:43,420 --> 00:49:46,850 zahŕňajú ak ste na novšie generácie. 900 00:49:46,850 --> 00:49:49,740 Ale to v podstate hovorí, že som potrebovať prístup 901 00:49:49,740 --> 00:49:52,260 ku všetkým funkciám v config.php. 902 00:49:52,260 --> 00:49:55,290 A vy ste mohli mať vyžadovať pre všetky druhy iných vecí. 903 00:49:55,290 --> 00:49:59,670 >> config vlastne vyžaduje pomocníkov. 904 00:49:59,670 --> 00:50:02,490 Takže kedykoľvek budete potrebovať config, vy ste tiež 905 00:50:02,490 --> 00:50:05,660 vrátane alebo vyžadujúcich pomocníkov rovnako. 906 00:50:05,660 --> 00:50:09,590 Tak, že vám umožní prístup ku všetkým chladné funkcie, ktoré budeme používať, 907 00:50:09,590 --> 00:50:10,420 veci, ako je render. 908 00:50:10,420 --> 00:50:13,490 Ja som vlastne bude zmierniť toto dole trochu. 909 00:50:13,490 --> 00:50:16,280 Takže funkcie potom sme bude prechádzať 910 00:50:16,280 --> 00:50:22,380 tesne predtým, než sme sa presunúť na SQL trochu bit je funkcia login.php, len 911 00:50:22,380 --> 00:50:26,586 pretože používa niektoré z tém, že sme práve hovorili v PHP. 912 00:50:26,586 --> 00:50:30,840 >> Vidíte prvá vec, ktorú je v prípade, $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 To je ďalšia globálna premenná, ktorá budete bude zaoberať. 914 00:50:34,500 --> 00:50:38,460 Je to ako _GET a _POST, ale čo server obsahuje toto môže nechať vás 915 00:50:38,460 --> 00:50:42,730 vedieť, či metóda požiadavke bol GET alebo POST. 916 00:50:42,730 --> 00:50:47,250 Rovnako ako predtým, čo sme robili je len v našej kód, ktorý sme napísali, 917 00:50:47,250 --> 00:50:51,880 boli sme jednoducho mení, aby bol GET a POST v závislosti na tom, čo je HTML. 918 00:50:51,880 --> 00:50:55,120 Ale existujú stránky, ktoré môžu byť pristupovať s oboma typmi žiadostí. 919 00:50:55,120 --> 00:50:57,410 A možno budete chcieť robiť rôzne veci v závislosti 920 00:50:57,410 --> 00:50:59,740 na type žiadosti rovnako ako to robí login. 921 00:50:59,740 --> 00:51:04,400 >> Takže si môžete overiť, že požiadavka Spôsob cez prístup k kľúče, 922 00:51:04,400 --> 00:51:08,630 cez použitie kľúče a dostať to Hodnota niečo v slovníku 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Takže to je ďalší celosvetový variabilný ako _GET a _POST. 925 00:51:13,800 --> 00:51:16,990 >> Ak je to GET, chceme vykreslenie prihlasovací formulár. 926 00:51:16,990 --> 00:51:21,920 Render je funkcia, ktorá v zásade práve stavia zodpovedajúce HTML 927 00:51:21,920 --> 00:51:24,500 a odovzdáva jej niektoré parametre. 928 00:51:24,500 --> 00:51:28,740 Tento titul je parameter, ktorý je použitý pri zobrazovaní, napodiv, 929 00:51:28,740 --> 00:51:32,670 názov stránky v Otázkou je, čo tu hore, 930 00:51:32,670 --> 00:51:34,850 hovoriť alebo ahoj v našom predchádzajúcom príklade. 931 00:51:34,850 --> 00:51:36,100 Teraz máme inú vec. 932 00:51:36,100 --> 00:51:38,570 Inak ak je to POST, my robiť niektoré ďalšie veci. 933 00:51:38,570 --> 00:51:40,790 Sme pomocou tejto metódy prázdnu. 934 00:51:40,790 --> 00:51:42,750 Nie je to neexistuje, je to prázdny. 935 00:51:42,750 --> 00:51:45,440 A my sme videli predtým, PHP má značné množstvo postavený 936 00:51:45,440 --> 00:51:52,370 v metódach, ktoré v prípade, že David will-- sú metódy, ktoré sú užitočné pre vás, 937 00:51:52,370 --> 00:51:55,560 budú upozornení na vás v prechádzke, že David 938 00:51:55,560 --> 00:51:59,770 dáva na začiatku prehľadu, a tiež Zamyla je užitočné bitov. 939 00:51:59,770 --> 00:52:01,040 Ona je späť všetci. 940 00:52:01,040 --> 00:52:03,100 Môžeme sa všetci radovať. 941 00:52:03,100 --> 00:52:06,530 Ospravedlňujem sa, je príhodne pomenovaný funkcie že práve v podstate vytlačí 942 00:52:06,530 --> 00:52:10,130 niektoré chybové správy, pretože CS50 je veľmi zdvorilý. 943 00:52:10,130 --> 00:52:14,770 >> A teraz toto, sa jedná o chúlostivé bit, pretože to 944 00:52:14,770 --> 00:52:16,697 je miesto, kde sme dopytovania databázy. 945 00:52:16,697 --> 00:52:18,280 Teraz sme nehovorili o databázach. 946 00:52:18,280 --> 00:52:22,220 A budeme v budúcom päť minút alebo tak, maximum. 947 00:52:22,220 --> 00:52:24,980 Ale to je funkcia že CS50 napísal 948 00:52:24,980 --> 00:52:38,050 získať tabuľku v podstate z databázy že pracujeme s v pset 7. 949 00:52:38,050 --> 00:52:40,860 Som naozaj zlý s mojím nula indexovanie dnes. 950 00:52:40,860 --> 00:52:42,060 Ale áno, je to 7. 951 00:52:42,060 --> 00:52:46,340 >> Takže otázka bude to vrátiť poľa, v podstate je kľúčom bit. 952 00:52:46,340 --> 00:52:54,130 A pretože tieto veci nemajú písanie, takže riadkov je pole pole. 953 00:52:54,130 --> 00:52:59,480 Vzhľadom k tomu, keď sme premýšľať o stôl, čo budeme robiť 954 00:52:59,480 --> 00:53:04,830 je, ako ste sa naučili v psets ako hra 15, tak ako tak 955 00:53:04,830 --> 00:53:06,990 kde ste museli použiť double array, sme v podstate 956 00:53:06,990 --> 00:53:15,210 majú rad ďalších pole je tabuľku. 957 00:53:15,210 --> 00:53:18,150 A máte riadkov a stĺpcov. 958 00:53:18,150 --> 00:53:24,450 A potom môžete k nim pristupovať ako [0] [1], dostanete [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Základné veci, ako je to. 960 00:53:26,900 --> 00:53:29,380 >> Takže to, čo robíme tu v tejto funkcii, 961 00:53:29,380 --> 00:53:35,070 pýtame databázu v prípade, že užívateľ, ktorý je 962 00:53:35,070 --> 00:53:40,200 snažia prihlásiť, že bude odoslaná prostredníctvom metódy POST. 963 00:53:40,200 --> 00:53:43,950 Uvidíme sa dostávame užívateľské meno z _POST. 964 00:53:43,950 --> 00:53:46,900 Budú ste odoslali, užívateľa alebo, pošle hodnotu 965 00:53:46,900 --> 00:53:50,750 prostredníctvom formulára cez POST, pretože je to užívateľské meno a heslo veci. 966 00:53:50,750 --> 00:53:54,830 Preverujeme užívateľské meno vidieť, je to v tabuľke? 967 00:53:54,830 --> 00:53:58,070 Pretože ak sa užívateľ prihlasuje v, potom ich užívateľské meno 968 00:53:58,070 --> 00:54:03,320 by mal byť uložený v tabuľke Užívatelia, ktoré existujú pre túto stránku. 969 00:54:03,320 --> 00:54:09,360 Takže v podstate, ak Užívateľ je v databáze, 970 00:54:09,360 --> 00:54:16,400 Otázka sa chystá k návratu že riadok, ktorý je pole. 971 00:54:16,400 --> 00:54:24,560 >> Ale chúlostivé časti je, že ak aj keď dvojité pole je iba jednej rady, 972 00:54:24,560 --> 00:54:31,900 aj keď je to jeden riadok array-- to, že máš basically-- 973 00:54:31,900 --> 00:54:36,900 ak máte veľkosť jedného poľa že drží ďalšie pole, 974 00:54:36,900 --> 00:54:38,940 ste naozaj zaoberajú jednom stĺpci. 975 00:54:38,940 --> 00:54:41,420 Ale je to stále spracované ako dvojitá poľa. 976 00:54:41,420 --> 00:54:44,560 >> A to je miesto, kde to môže byť niekedy dostať zradné, pretože máme riadky tu. 977 00:54:44,560 --> 00:54:46,440 Naše premenná riadkov. 978 00:54:46,440 --> 00:54:48,590 A potom budeme vytvárať novú premennú s názvom riadok 979 00:54:48,590 --> 00:54:51,450 a nastavenie sa rovná prvý riadok riadkov. 980 00:54:51,450 --> 00:54:55,150 A všimnite si, že komentár hovorí, že je to prvý a jediný riadok. 981 00:54:55,150 --> 00:54:57,080 >> Tak toto je ošemetná časť, kde teraz funguje 982 00:54:57,080 --> 00:54:59,660 môže vrátiť pole veľmi ľahko. 983 00:54:59,660 --> 00:55:01,270 Tam nie je mallocs. 984 00:55:01,270 --> 00:55:02,280 Neuvidíte mallocs. 985 00:55:02,280 --> 00:55:03,940 Takže nebudete vidieť Seg chyby. 986 00:55:03,940 --> 00:55:08,380 Ale funkcia bude ešte absolvovaní okolo polí a dátami v skupinách. 987 00:55:08,380 --> 00:55:12,250 A musíte mať na pozore pred tým, čo presne vaše funkcie vráti. 988 00:55:12,250 --> 00:55:15,160 A aj keď je to jedno Stĺpec takto, dotaz 989 00:55:15,160 --> 00:55:17,520 je stále vrátiť dvojité poľa. 990 00:55:17,520 --> 00:55:21,390 Takže prístupu, ktorý column-- alebo môžete myslieť na všetko to ako prevrátený 991 00:55:21,390 --> 00:55:22,870 pretože hovoríme o radov. 992 00:55:22,870 --> 00:55:26,810 Ale prístup k tomuto jeden riadok, nemôžete jednoducho povedať riadky. 993 00:55:26,810 --> 00:55:31,540 Aj keď to je jeden riadok, musíte sa rowsrows [0] nejako eliminovať tento 994 00:55:31,540 --> 00:55:37,360 vonkajšie bit poľa a majú len vaše jeden riadok. 995 00:55:37,360 --> 00:55:38,342 >> Robiť niektoré ďalšie veci. 996 00:55:38,342 --> 00:55:40,050 K dispozícii je funkcia volal password_verify 997 00:55:40,050 --> 00:55:42,980 že overí heslo, ktoré bolo zaúčtované. 998 00:55:42,980 --> 00:55:48,500 A potom vidíme ďalšie globálne variabilný tu, _SESSION. 999 00:55:48,500 --> 00:55:51,340 V podstate Session ID je, ako si udržať prehľad 1000 00:55:51,340 --> 00:55:53,990 na to, ak niekto prihlásený, alebo nie. 1001 00:55:53,990 --> 00:55:58,590 Takže teraz s login.php, sme prihlásenie užívateľa v. 1002 00:55:58,590 --> 00:56:01,920 Takže to, čo chceme urobiť, je chceme hovoria, že id relácie je rovná riadku 1003 00:56:01,920 --> 00:56:05,890 id, čo proste dáva zmysel, pretože každý riadok bude mať iný id 1004 00:56:05,890 --> 00:56:07,239 číslo ako časť tabuľky. 1005 00:56:07,239 --> 00:56:09,280 Dostaneme do SQL v Druhá, takže ak niečo z toho 1006 00:56:09,280 --> 00:56:13,500 Zdá sa, trochu ako bla, potom všetci budú vyjasnené. 1007 00:56:13,500 --> 00:56:18,450 Ale my ideme nastaviť id rovná správnu vec, prihlásenie používateľa v. 1008 00:56:18,450 --> 00:56:20,530 Ospravedlňujeme sa, ak sa niečo pokazí. 1009 00:56:20,530 --> 00:56:27,600 A to je prihlásenie zmysel život ako profesor Malan by povedal. 1010 00:56:27,600 --> 00:56:29,130 >> Takže to bol login.php. 1011 00:56:29,130 --> 00:56:33,750 A veľa PHP kód, ktorý napíšete v pset 7, budú trochu. 1012 00:56:33,750 --> 00:56:36,470 Nezabudnite chmod na správne povolenia. 1013 00:56:36,470 --> 00:56:40,180 K dispozícii bude trochu o že na počiatku spec. 1014 00:56:40,180 --> 00:56:46,382 >> Ale PHP, že ste písanie bude 1015 00:56:46,382 --> 00:56:47,840 robí veci, ktoré je podobne ako tento. 1016 00:56:47,840 --> 00:56:49,715 Budeš sa prístupu na niektoré veci, ktoré 1017 00:56:49,715 --> 00:56:52,760 sú uvedené na vás v globálne premenné, PHP, ktoré 1018 00:56:52,760 --> 00:56:56,105 čo do činenia s aktuálne prihlásený užívateľ, či existuje 1019 00:56:56,105 --> 00:57:00,460 boli žiadosti zaslanej na to strana, rôzne veci, ako je to. 1020 00:57:00,460 --> 00:57:05,790 A bude to tiež potenciálne iterácie riadky tejto veci. 1021 00:57:05,790 --> 00:57:09,010 >> V inej funkcie, otázka robí návrat tejto dvojitej poľa. 1022 00:57:09,010 --> 00:57:11,450 A ak existuje viac ako jeden riadkov v ňom, 1023 00:57:11,450 --> 00:57:15,080 v prípade, že are-- áno, ak je tam sú viac ako jeden riadkov v ňom, 1024 00:57:15,080 --> 00:57:16,870 potom to bude tabuľka. 1025 00:57:16,870 --> 00:57:20,500 A možno budete chcieť opakovať cez riadkoch tohto poľa za použitia 1026 00:57:20,500 --> 00:57:22,860 foreach slučky, ktoré sme popísali. 1027 00:57:22,860 --> 00:57:30,270 >> Takže ak robíte foreach na double array, čo bude word-- tu, 1028 00:57:30,270 --> 00:57:31,909 Budem naozaj napísať. 1029 00:57:31,909 --> 00:57:32,950 Napíšem to rýchlo sem. 1030 00:57:32,950 --> 00:57:44,280 >> Ak máme foreach riadkov ako riadok, aký je typ radu? 1031 00:57:44,280 --> 00:57:45,390 Vie to niekto? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Máš to? 1034 00:57:54,500 --> 00:57:57,110 Takže riadkov je dvojitý pole. 1035 00:57:57,110 --> 00:58:02,810 Takže to, čo sa deje foreach odvodiť že chceme z tohto dvojitého poľa 1036 00:58:02,810 --> 00:58:04,280 či máme iterácie nad ním? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Môžeme predpokladať, že v zásade že to bude buď prvkami, 1039 00:58:10,770 --> 00:58:14,970 alebo riadky alebo stĺpce, v podstate. 1040 00:58:14,970 --> 00:58:18,740 A tak my, riadkov a stĺpcov môže zaobchádzať ako rovnakú vec. 1041 00:58:18,740 --> 00:58:23,880 >> V podstate to, čo sa deje foreach slučky urobiť, je, že to bude k návratu riadkov. 1042 00:58:23,880 --> 00:58:28,500 riadok, ktorý bude typu rade, vzhľadom k tomu, riadkov je dvojitý pole. 1043 00:58:28,500 --> 00:58:32,290 Takže ak dáte foreach dvojitá pole, to je 1044 00:58:32,290 --> 00:58:35,830 nebude prechádzať viac než jednu úroveň hlboko. 1045 00:58:35,830 --> 00:58:44,464 Čo je v podstate povedať, či tam je osem bunky v tejto table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- foreach slučky nie je 1047 00:58:48,110 --> 00:58:51,880 ísť cez každého z týchto buniek. 1048 00:58:51,880 --> 00:58:56,390 Čo foreach slučky bude robiť bolo to pôjde cez tento riadok 1049 00:58:56,390 --> 00:58:57,870 vám celý tento riadok. 1050 00:58:57,870 --> 00:58:59,410 A potom to bude ísť cez tento riadok. 1051 00:58:59,410 --> 00:59:01,850 >> Takže to len opakuje jednu úroveň hlboké. 1052 00:59:01,850 --> 00:59:05,310 Ak máte pridať vnorené foreach slučky, potom sa 1053 00:59:05,310 --> 00:59:16,280 môže liečiť každý riadok vrátený z riadky, robíte foreach riadok ako prvok, 1054 00:59:16,280 --> 00:59:17,640 povedzme. 1055 00:59:17,640 --> 00:59:22,750 A potom môžete echo prvok. 1056 00:59:22,750 --> 00:59:24,930 Takže to je stručný malý opakovacie o tom, ako 1057 00:59:24,930 --> 00:59:30,220 môžete používať foreach slučky v rámci dotazu. 1058 00:59:30,220 --> 00:59:32,840 >> Sú nejaké otázky týkajúce PHP? 1059 00:59:32,840 --> 00:59:36,520 Čokoľvek pred my prejsť na hovoriť o SQL 1060 00:59:36,520 --> 00:59:37,820 a žarty z databázy? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Cítim sa dobre? 1063 00:59:42,110 --> 00:59:42,750 Cítim sa dobre. 1064 00:59:42,750 --> 00:59:43,470 Dobre. 1065 00:59:43,470 --> 00:59:49,130 >> Poďme späť k PowerPoint, ktoré budete pravdepodobne chýbať. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Ľudia, ktorí sú vo svojom oddieli typicky bude vedieť, že Podpoložky skratiek 1068 00:59:57,900 --> 01:00:01,220 sú vždy len prvé slová Myslím si, že z tohto zápasu, ktorý 1069 01:00:01,220 --> 01:00:02,690 algorithm-- túto skratku. 1070 01:00:02,690 --> 01:00:04,090 Nie je to algoritmus. 1071 01:00:04,090 --> 01:00:08,050 >> Takže SQL je databáza. 1072 01:00:08,050 --> 01:00:11,060 Je to jazyk, ktorý pracuje s databázou. 1073 01:00:11,060 --> 01:00:14,440 A všetky databázy sú je stoly, aspoň v ceste 1074 01:00:14,440 --> 01:00:17,220 že SQL zastupuje je. 1075 01:00:17,220 --> 01:00:23,610 >> Ďalší spôsob, ako premýšľať o databázach databázy sú sada kľúčov a hodnôt 1076 01:00:23,610 --> 01:00:24,110 v podstate. 1077 01:00:24,110 --> 01:00:29,530 Môžete si myslieť o databázu ako slovník a tiež ako stôl. 1078 01:00:29,530 --> 01:00:34,300 V podstate je to spôsob, ako spojiť rôzne dáta s ďalšími dátami, 1079 01:00:34,300 --> 01:00:36,270 často prostredníctvom riadkov a stĺpcov. 1080 01:00:36,270 --> 01:00:38,470 A to je spôsob, akým to je SQL funguje najlepšie. 1081 01:00:38,470 --> 01:00:40,880 >> Takže toto je jeden príklad tabuľky. 1082 01:00:40,880 --> 01:00:44,610 Mám niekoľko príkladov ľudia v mojom oddielu, ktorý 1083 01:00:44,610 --> 01:00:45,970 Nemal som čas na zmenu. 1084 01:00:45,970 --> 01:00:52,020 Ale máme veci, ako je ID, meno, veľmoc, a rodné mesto. 1085 01:00:52,020 --> 01:00:54,100 Ja neviem, kde je niekto z môjho oddielu, 1086 01:00:54,100 --> 01:00:56,266 tak som len tak predpokladať, všetci sú z New Yorku 1087 01:00:56,266 --> 01:00:59,370 Mesto preto, že mám vysoký štatistický pravdepodobnosť, že budú v poriadku. 1088 01:00:59,370 --> 01:01:04,200 >> SQL automaticky brať starostlivosť o stĺpci ID pre vás. 1089 01:01:04,200 --> 01:01:07,560 Ak vložíte nový riadok do SQL databázy, 1090 01:01:07,560 --> 01:01:09,700 sa bude zvyšovať, že ID číslo a len 1091 01:01:09,700 --> 01:01:14,890 v podstate držať asi päť mien, veľmoc, rodné mesto, kto 1092 01:01:14,890 --> 01:01:16,430 na konci tejto tabuľky. 1093 01:01:16,430 --> 01:01:19,160 Takže číslo je stĺpec, budete nikdy nebudete musieť báť. 1094 01:01:19,160 --> 01:01:22,770 Avšak, rovnako ako v prípade z login.php, keď sme 1095 01:01:22,770 --> 01:01:26,610 dostávali ID relácie z tabuľky, a len pomocou ID, 1096 01:01:26,610 --> 01:01:30,320 ID je spôsob, ako jednoznačne identifikovať prvok databázy. 1097 01:01:30,320 --> 01:01:34,980 >> Takže ak sme mali dva Sams, obaja ktorý učil CS50, a obaja kto 1098 01:01:34,980 --> 01:01:39,370 boli z Milwaukee, tí by Stále majú odlišné identifikačné čísla 1099 01:01:39,370 --> 01:01:43,420 a byť tak zreteľný v kontext tabuľky. 1100 01:01:43,420 --> 01:01:48,700 Takže toto je to, čo SQL sa zaoberá s, práca s na zadnom konci. 1101 01:01:48,700 --> 01:01:54,160 >> Teraz to sú štyri príkazy že budete musieť pracovať s SQL. 1102 01:01:54,160 --> 01:01:56,390 A Hodil som ich všetky na jednom snímku. 1103 01:01:56,390 --> 01:01:59,530 Ale my ideme prejsť ich všetky jednotlivo. 1104 01:01:59,530 --> 01:02:03,300 >> Prvý príkaz je UPDATE, ktorý robí to, čo by ste mohli očakávať. 1105 01:02:03,300 --> 01:02:07,240 Povedzme, že máte nejaké dáta tabuľku, ktorá je zastaraný. 1106 01:02:07,240 --> 01:02:09,470 Rovnako ako v prípade, že ste udržať track mien ľudí 1107 01:02:09,470 --> 01:02:13,350 a vek, ak je niekto vek sa zvyšuje, potom 1108 01:02:13,350 --> 01:02:18,590 budete chcieť ísť dovnútra a aktualizovať vek Len to, že osoby. 1109 01:02:18,590 --> 01:02:21,902 Pre príklad, ktorý pracuje s našou prvou table-- 1110 01:02:21,902 --> 01:02:24,610 nebojte sa o písaní všetkom tieto príkazy v rovnakom čase. 1111 01:02:24,610 --> 01:02:27,640 Ale ak máte aktualizácia dole, že to bude dobré pre túto časť, 1112 01:02:27,640 --> 01:02:29,790 preto, že budeme prejsť späť k stolu. 1113 01:02:29,790 --> 01:02:33,920 >> Takže keď ideme späť k stolu, povedzme, niečo, čo sa stalo 1114 01:02:33,920 --> 01:02:38,480 tam bolo zemetrasenie alebo zlomová línia, ktorá rozdelila priamo 1115 01:02:38,480 --> 01:02:39,920 cez New York City. 1116 01:02:39,920 --> 01:02:45,130 A chceli sme aktualizovať každý ktorý žil v New Yorku. 1117 01:02:45,130 --> 01:02:49,670 Všetci museli presťahovať do Pensylvánie. 1118 01:02:49,670 --> 01:02:51,130 To nie je rodné mesto. 1119 01:02:51,130 --> 01:02:53,180 Všetci museli presťahovať do New Haven. 1120 01:02:53,180 --> 01:02:54,030 Tam sme ísť. 1121 01:02:54,030 --> 01:02:57,630 Takže všetci v New Yorku sa sťahuje do New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> A tak to je niečo, čo je editáciu tri riadky v tejto tabuľke. 1123 01:03:01,300 --> 01:03:04,716 Ale v SQL, môžete tak urobiť že len v jednom vyhlásení. 1124 01:03:04,716 --> 01:03:05,715 Tak sme sa vrátiť k aktualizácii. 1125 01:03:05,715 --> 01:03:09,670 Dovoľte mi, aby som rýchlo opäť zmazať túto dosku. 1126 01:03:09,670 --> 01:03:14,570 Keď hovoríme o aktualizácie, existujú 1127 01:03:14,570 --> 01:03:17,640 niekoľko častí syntaxe, ktoré sú kľúčové. 1128 01:03:17,640 --> 01:03:19,770 No, syntax je kľúčové. 1129 01:03:19,770 --> 01:03:22,210 Ale veci zelene je voliteľné. 1130 01:03:22,210 --> 01:03:25,680 Biela sú požadované, ako preddefinované názvy. 1131 01:03:25,680 --> 01:03:30,750 A svetlo modrá sú veci, ktoré sa líšia v závislosti na stole. 1132 01:03:30,750 --> 01:03:34,640 Tak to je to, čo sa deje s Farebnosť tu, tam hore. 1133 01:03:34,640 --> 01:03:40,250 >> Takže ak chceme aktualizovať iba tie riadky, ľudí, ktorí žijú v New Yorku, 1134 01:03:40,250 --> 01:03:43,490 tak čo budeme robiť, keď sme si povedali, UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Tak stôl je miesto, kde kladieme meno nášho stola. 1136 01:03:46,320 --> 01:03:49,170 Povedzme, že meno z nášho stola je stôl raz. 1137 01:03:49,170 --> 01:03:52,515 Takže chceme aktualizovať tabuľku jeden. 1138 01:03:52,515 --> 01:03:57,470 A chceme set-- čo chceme nastaviť? 1139 01:03:57,470 --> 01:04:05,160 No chceme povedať, tak column-- PHP zaobchádza riadky ako jediné identifikátory. 1140 01:04:05,160 --> 01:04:07,930 A potom stĺpce rôznych oblastiach 1141 01:04:07,930 --> 01:04:09,940 z tých prvkov databázy. 1142 01:04:09,940 --> 01:04:14,210 >> Takže prvý prvok databázy má meno Sam, veľmoc CS50, 1143 01:04:14,210 --> 01:04:16,210 a rodné mesto Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Takže keď sme si povedali nastavená, poďme sa pozrieť na opäť nastavené parametre, ktoré trvá. 1145 01:04:20,710 --> 01:04:23,880 Máme stĺpec sa rovná hodnote. 1146 01:04:23,880 --> 01:04:27,290 Takže chceme hovoria niektorí column-- ktorý pamätať 1147 01:04:27,290 --> 01:04:31,850 je field-- chceme vidieť Poľa sa rovná niečo nové. 1148 01:04:31,850 --> 01:04:42,340 >> Takže keď sme sa práve povedal aktualizácie tabuľka 1, nastavenie mena rovný Elliot. 1149 01:04:42,340 --> 01:04:46,310 Získať nejaké ľudí z Nová sekcia na túto tému. 1150 01:04:46,310 --> 01:04:51,540 Ale ak sme práve urobil aktualizácie tabuľka 1 nastaviť názov rovný Elliot, čo by 1151 01:04:51,540 --> 01:04:55,530 tabuľka vyzerá po tom? 1152 01:04:55,530 --> 01:04:56,410 Ľudia majú nejaký nápad? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Jo. 1155 01:05:00,210 --> 01:05:03,195 >> Divákov: Všetko v tom, že riadok by sa stal Elliot. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Všetko, v ktorej rade? 1157 01:05:04,570 --> 01:05:06,067 Publikum: V prvom riadku. 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: V prvom rade? 1159 01:05:07,150 --> 01:05:09,724 Prečo prvý riadok? 1160 01:05:09,724 --> 01:05:10,890 Nechcem, aby vyzdvihnúť na vás. 1161 01:05:10,890 --> 01:05:13,287 >> Publikum: Možno, že všetko V celej tabuľky? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Všetko, čo v celá tabuľka, áno. 1163 01:05:15,120 --> 01:05:19,520 A to je presne to pravé protože-- I Zrovna ktorý vám pomôže von trochu 1164 01:05:19,520 --> 01:05:22,650 there-- pretože sme vynechať voliteľná klauzuly WHERE. 1165 01:05:22,650 --> 01:05:27,260 Ak nemáte Kde klauzula, čo tento príkaz bude robiť 1166 01:05:27,260 --> 01:05:32,240 Je to bude fungovať s každým jeden riadok v tabuľke. 1167 01:05:32,240 --> 01:05:35,430 Meno každého z nás bude stanú Elliott, v podstate, 1168 01:05:35,430 --> 01:05:37,360 čo Elliot je veľmi šťastný, o. 1169 01:05:37,360 --> 01:05:40,070 Alebo Yanni, jeden z dvoch. 1170 01:05:40,070 --> 01:05:42,490 Ale meno každého z nás sa bude meniť. 1171 01:05:42,490 --> 01:05:47,880 >> Spôsob, akým používame WHERE clause-- a to sa vzťahuje na všetky wheres 1172 01:05:47,880 --> 01:05:51,410 ktoré sú v každom z tieto rôzne veci. 1173 01:05:51,410 --> 01:05:54,380 Tak zistíte, že SET má stĺpce rovnakú hodnotu. 1174 01:05:54,380 --> 01:05:55,190 A tak sa WHERE. 1175 01:05:55,190 --> 01:06:00,040 Ale to sú rôzne typov príkazov. 1176 01:06:00,040 --> 01:06:04,400 Takže stĺpec sa rovná hodnote v SET je v zadaní. 1177 01:06:04,400 --> 01:06:08,320 Rovnako ako my chceme hovoriť nastaviť meno rovnajúcu sa Elliot. 1178 01:06:08,320 --> 01:06:15,390 Ale v doložiek, kedy, sú to výroky rovnosti. 1179 01:06:15,390 --> 01:06:20,410 Takže povedzme, že sme chceli len zmeniť meno osoby do Elliot 1180 01:06:20,410 --> 01:06:23,940 ak je ich meno bolo Ryan, povedzme. 1181 01:06:23,940 --> 01:06:24,920 >> Takže keď hovoríme 1182 01:06:24,920 --> 01:06:32,700 >> WHERE name rovná Ryan, že by úspešne Jediná zmena 1183 01:06:32,700 --> 01:06:37,440 name-- to by len zmeniť názov poľa v riadkoch 1184 01:06:37,440 --> 01:06:40,770 kde je názov poľa je rovné Ryan. 1185 01:06:40,770 --> 01:06:44,430 Takže ak sme mali niekoľko ľudí menoval Ryana, všetky ich názvy 1186 01:06:44,430 --> 01:06:45,730 by sa zmenila na Elliota. 1187 01:06:45,730 --> 01:06:48,169 >> To je podobné ako v príklade na to, ak zlomová línia rozdelí 1188 01:06:48,169 --> 01:06:50,960 New York City, a každý má presunúť do New Haven, tak, ako je v našich silách 1189 01:06:50,960 --> 01:06:56,570 tomu, že v jednom príkazu je UPDATE Table1 SET rodné mesto = New Haven 1190 01:06:56,570 --> 01:07:00,210 kde rodné mesto rovná sa New York City. 1191 01:07:00,210 --> 01:07:03,410 To je sila príkaz UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Môžeme si vybrať ľubovoľný počet Riadky skrze pravdivé vyhlásenie 1193 01:07:10,530 --> 01:07:12,860 o poliach v týchto riadkoch. 1194 01:07:12,860 --> 01:07:19,510 Nemôžeme povedať UPDATE Table1 set name = Elliot WHERE rad = 1, 1195 01:07:19,510 --> 01:07:24,820 okrem toho, že môžeme povieme, ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Takže budeme mať práca s rovnosťou 1198 01:07:29,830 --> 01:07:32,830 polí, rovnosť stĺpcov. 1199 01:07:32,830 --> 01:07:38,030 Ale za použitia poľa ID je spôsob, ako vybrať jednotlivé riadky špecificky, 1200 01:07:38,030 --> 01:07:43,210 pretože ID poľa je jedinečný identifikátor v databáze SQL. 1201 01:07:43,210 --> 01:07:45,860 Tak ako aktualizácia riadok jednu, ID = 1. 1202 01:07:45,860 --> 01:07:49,560 Aktualizácie druhej rade, len zmeňte toto číslo. 1203 01:07:49,560 --> 01:07:51,610 Ale sila z KDE vyhlásenia, je, že sme 1204 01:07:51,610 --> 01:07:57,480 môžete aktualizovať veci podľa toho, čo ich aktuálne hodnoty niektoré veci sú. 1205 01:07:57,480 --> 01:07:58,155 Ano Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> Divákov: A čo keď chcete to-- Znova, to je iná otázka. 1207 01:08:02,678 --> 01:08:07,660 Ale moja prvá otázka bola, kde sa to deje? 1208 01:08:07,660 --> 01:08:09,130 Kde mám aktualizovať to? 1209 01:08:09,130 --> 01:08:11,100 Je to v PHP kód? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Kde aktualizovať, áno. 1211 01:08:13,379 --> 01:08:15,170 Budeme hovoriť o tom, kde to všetko 1212 01:08:15,170 --> 01:08:18,729 sa stane, druh, akonáhle sme ísť cez všetky príkazy. 1213 01:08:18,729 --> 01:08:21,130 Ale to, čo potrebujete viem, zatiaľ je v podstate 1214 01:08:21,130 --> 01:08:26,279 že vaše SQL databázy existuje ako niečo, 1215 01:08:26,279 --> 01:08:30,090 , Ktoré majú byť prístupné dotazu Funkcia, ktorá definuje CS50. 1216 01:08:30,090 --> 01:08:33,800 Takže ak použijete funkciu dotazu, môžete prístup k tejto tabuľke. 1217 01:08:33,800 --> 01:08:39,529 >> Takže budete posielať tieto príkazy k svojmu stolu v PHP súbory 1218 01:08:39,529 --> 01:08:41,420 pomocou funkcie dotazu. 1219 01:08:41,420 --> 01:08:45,410 Môžete si tiež pohrať s tabuľkou priamo. 1220 01:08:45,410 --> 01:08:49,050 A to je najlepší spôsob, ako testovanie týchto druhy príkazov. 1221 01:08:49,050 --> 01:08:52,720 A pôjdeme cez presne, ako k tomu, že v len trochu. 1222 01:08:52,720 --> 01:08:54,910 >> Tak to je príkaz UPDATE. 1223 01:08:54,910 --> 01:08:57,939 A zvyšok príkazov sa bude nejako podobné, 1224 01:08:57,939 --> 01:08:59,069 pracujú na podobných veciach. 1225 01:08:59,069 --> 01:09:02,740 INSERT INTO je pravdepodobne najviac líši od UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Chystám sa nechať, že tam pre len trochu a pracovať tu. 1227 01:09:06,170 --> 01:09:10,215 Takže INSERT INTO, uvidíte že tabuľka je stále rovnaký. 1228 01:09:10,215 --> 01:09:17,010 Ak chcete vložiť do. 1229 01:09:17,010 --> 01:09:20,286 Kapitalizácie, SQL je malé a veľké písmená. 1230 01:09:20,286 --> 01:09:22,160 Takže sa nemusíte kapitalizovať tieto veci. 1231 01:09:22,160 --> 01:09:27,960 Podľa konvencie slová v bielom je aktivované. 1232 01:09:27,960 --> 01:09:31,590 Ale tiež farebne rozlíšené je. 1233 01:09:31,590 --> 01:09:34,390 Jediný dôvod, že ste zarábať tí, keď ste im písanie 1234 01:09:34,390 --> 01:09:36,609 je len pre zdôraznenie že to sú konštanty. 1235 01:09:36,609 --> 01:09:39,189 A tak si môžete buď pozrieť kapitalizácie alebo skutočnosť, 1236 01:09:39,189 --> 01:09:40,740 že som ich farebný rozdielne. 1237 01:09:40,740 --> 01:09:44,910 >> Takže máme vložiť do, poďme urobiť Table1 znova. 1238 01:09:44,910 --> 01:09:45,930 To všetko je na jednom riadku. 1239 01:09:45,930 --> 01:09:48,609 Len som oddeľujúce ho rôzne príkazy. 1240 01:09:48,609 --> 01:09:52,399 Takže sa nemusíte starať o tom, že Table1 robil to na druhom riadku. 1241 01:09:52,399 --> 01:09:56,130 >> Takže chceme INSERT INTO tabulka1 niektoré hodnoty. 1242 01:09:56,130 --> 01:09:58,922 A všimnite si, voliteľný bit, ktorý sa dostanem do druhej. 1243 01:09:58,922 --> 01:09:59,755 Takže máme hodnoty. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Takže povedzme, že chceme pridať Andi k nášmu stolu, pretože nám chýba Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi je chorý. 1247 01:10:09,390 --> 01:10:12,490 Takže poďme sa pridať Andi k nášmu stolu. 1248 01:10:12,490 --> 01:10:15,150 Pamätajte si, že identifikačné číslo sa automaticky aktualizuje. 1249 01:10:15,150 --> 01:10:17,320 Takže jediný polí my musieť starať o 1250 01:10:17,320 --> 01:10:20,230 sú meno, veľmoc, a rodné mesto. 1251 01:10:20,230 --> 01:10:23,660 >> A tak tak, že to urobíme, pri pohľade na našu syntax, je máme 1252 01:10:23,660 --> 01:10:28,780 práve dostal zátvorky, s čiarkou hodnoty oddelené, pričom každý z nich 1253 01:10:28,780 --> 01:10:29,890 je hodnota. 1254 01:10:29,890 --> 01:10:35,530 Takže ak by sme chceli vložiť Andi do našej stôl, všetko, čo musíme urobiť, je pravým Andi. 1255 01:10:35,530 --> 01:10:38,630 Čo je Andi superveľmocou, ľudia v sekcii Andi? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Ona rada rokov, alebo rád rýchlosť, alebo tak niečo. 1258 01:10:47,545 --> 01:10:48,920 Čo už máme tam hore? 1259 01:10:48,920 --> 01:10:53,425 Máme CS50, letu, rýchlosť a sila. 1260 01:10:53,425 --> 01:10:54,850 >> Divákov: Cestovanie v čase. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Cestovanie časom, úžasné. 1262 01:10:56,180 --> 01:11:04,280 Takže máme Andi, čas cestovania, a jej rodné mesto. 1263 01:11:04,280 --> 01:11:05,530 To je naozaj dobrá otázka. 1264 01:11:05,530 --> 01:11:09,210 New York City, ak niekto vie. 1265 01:11:09,210 --> 01:11:13,600 Každý, kto je z New York je lekcie, aby od dnešného dňa. 1266 01:11:13,600 --> 01:11:17,710 >> Takže toto vyhlásenie by vložka, ako piate rade, 1267 01:11:17,710 --> 01:11:21,900 s cestovaním superveľmocou čase a rodné mesto New York City. 1268 01:11:21,900 --> 01:11:25,660 Ale voliteľné pole je v podstate spôsob, 1269 01:11:25,660 --> 01:11:30,090 presne špecifikovať, ktoré stĺpce Ak chcete vložiť veci. 1270 01:11:30,090 --> 01:11:33,710 >> Spôsob, akým to robíme teraz, Andi, cestovanie v čase, New York City, 1271 01:11:33,710 --> 01:11:38,150 sa deje v presnom poradí nášho table-- meno, veľmoc, rodné mesto. 1272 01:11:38,150 --> 01:11:42,290 A ak by ste chceli robiť niečo iné než to, 1273 01:11:42,290 --> 01:11:44,970 rovnako ako, že ste nevedeli, niečí superveľmoc, 1274 01:11:44,970 --> 01:11:47,660 ako ako Nevedel som, že Andi to veľmoc na začiatku. 1275 01:11:47,660 --> 01:11:50,450 Takže všetko, čo som vedel, že jej bol pomenovať a jej rodné mesto. 1276 01:11:50,450 --> 01:11:54,550 To, čo som mohol urobiť, je, že som mohol do-- Budem vymazať to rýchle. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Chcem len aktualizovať stĺpca. 1279 01:12:00,090 --> 01:12:04,100 A to je miesto, kde voliteľný Zoznam stĺpcov vstúpi do hry. 1280 01:12:04,100 --> 01:12:09,185 Ja len chcem, aby aktualizovať meno a rodné mesto. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 A potom poviem hodnoty. 1283 01:12:16,480 --> 01:12:24,430 Urobím Andi a New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Keby som vynechal zoznam stĺpcov a práve urobil tieto dve veci, 1285 01:12:28,980 --> 01:12:32,450 kde by sa New York City išiel? 1286 01:12:32,450 --> 01:12:35,900 Ktorý stĺpec by New York Mesto je umiestnené do? 1287 01:12:35,900 --> 01:12:38,950 Ľudia majú nejaký nápad? 1288 01:12:38,950 --> 01:12:40,160 Veľmoc, presne tak. 1289 01:12:40,160 --> 01:12:41,890 >> Takže to bude len ísť v poradí. 1290 01:12:41,890 --> 01:12:45,530 A akonáhle dosiahne konca zoznam, bude to zastaviť vyplnením veci. 1291 01:12:45,530 --> 01:12:49,080 A hodnoty, ktoré to bude držať v všetky stĺpce bude len NULL. 1292 01:12:49,080 --> 01:12:51,840 Takže pretože sme spresnili meno a rodné mesto, 1293 01:12:51,840 --> 01:12:56,110 budeme mať ID 5, meno Andi, veľmoc NULL. 1294 01:12:56,110 --> 01:12:58,750 Takže veľmoc je neinicializovaný hodnotu. 1295 01:12:58,750 --> 01:13:01,340 Nebudete nutne dostať Rovnaké Valgrind chyby, ak sa pokúsite 1296 01:13:01,340 --> 01:13:01,970 a prístupu k nemu. 1297 01:13:01,970 --> 01:13:05,160 Všetko bude pekne vynulovaná out, pretože NULL je hodnota v SQL. 1298 01:13:05,160 --> 01:13:06,780 To je konštantná. 1299 01:13:06,780 --> 01:13:08,980 A potom rodné mesto bude New York City. 1300 01:13:08,980 --> 01:13:11,860 Tak to je INSERT INTO príkazu. 1301 01:13:11,860 --> 01:13:13,610 Ešte než sa vrhneme, je tu ďalšie dva príkazy. 1302 01:13:13,610 --> 01:13:19,060 Ešte ľudia mať akékoľvek otázky týkajúce UPDATE, o INSERT INTO, o SQL 1303 01:13:19,060 --> 01:13:21,556 zvyčajne skôr než prejdeme na naše konečné kúsky? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Ľudia sa cítia dobre, skvele. 1306 01:13:26,910 --> 01:13:27,410 Miluj to. 1307 01:13:27,410 --> 01:13:29,480 Tak poďme hovoriť o SELECT. 1308 01:13:29,480 --> 01:13:33,445 Chystáte sa zúfalý UPDATE tu. 1309 01:13:33,445 --> 01:13:35,720 >> A SELECT bude veľmi podobné. 1310 01:13:35,720 --> 01:13:38,790 Cieľom SELECT, Účelom SELECT v živote 1311 01:13:38,790 --> 01:13:45,910 je poskytnúť vám veľa stĺpcov ktoré spĺňajú určité podmienky. 1312 01:13:45,910 --> 01:13:48,230 A keď hovorím uspokojiť určité podmienky, 1313 01:13:48,230 --> 01:13:50,800 vaša myseľ by mohla okamžite sa vrátiť k tomu klauzulu WHERE 1314 01:13:50,800 --> 01:13:52,090 ktorý prišiel v UPDATE. 1315 01:13:52,090 --> 01:13:54,880 A to doložka presne tam v SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Ak sa nám nepodarí dať Kde doložka a hovoríme SELECT meno, 1317 01:14:06,020 --> 01:14:16,490 hometown-- špalda, že malá wrong-- meno, rodné mesto FROM Tabuľka1. 1318 01:14:16,490 --> 01:14:19,690 Ak budeme len povedať, že to, čo SELECT sa chystá dať nám je, že je to 1319 01:14:19,690 --> 01:14:23,730 bude nám dávajú double-- tabuľku, skôr. 1320 01:14:23,730 --> 01:14:27,450 Dvojité pole keď sme myslieť v PHP cíti. 1321 01:14:27,450 --> 01:14:33,239 Ale je to len tak nám dávajú dvojitá rad dvoch columns-- mená, 1322 01:14:33,239 --> 01:14:33,780 a rodné mesto. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 A bude ignorovať ID. 1325 01:14:38,130 --> 01:14:41,310 A bude ignorovať superveľmoci. 1326 01:14:41,310 --> 01:14:44,696 A bude to nám stačí dať každý jeden riadok tabuľky. 1327 01:14:44,696 --> 01:14:46,570 Takže keď sme jednoducho vložená Andi, budeme mať Andi. 1328 01:14:46,570 --> 01:14:48,605 A budeme mať pôvodnú štyri. 1329 01:14:48,605 --> 01:14:53,720 Ak by už bola aktualizovaná, že bude odrazí, a tak ďalej, a tak ďalej. 1330 01:14:53,720 --> 01:14:56,520 >> Takže je to preto, že sme nepoužil klauzulu WHERE. 1331 01:14:56,520 --> 01:14:59,200 Ale môžeme ju použiť v presne Rovnako tak sme sa používal to v UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Ak chceme len tabuľku mien a superveľmoci ľudí žijúcich 1333 01:15:05,310 --> 01:15:13,430 v New Yorku, môžeme spustiť príkaz ako SELECT meno, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Ja som jednoducho ísť k odchodu that-- FROM tabulka1 KDE rodné mesto = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Tak toto ide ukázať, že je možné získať úplne rôznych stĺpcov, 1336 01:15:33,370 --> 01:15:36,920 a potom dal stĺpce, že nie ste aj dostať sa späť v klauzule WHERE. 1337 01:15:36,920 --> 01:15:39,200 Nechceme ani chcete, rodné mesto každého. 1338 01:15:39,200 --> 01:15:41,920 Ale my chceme meno a veľmoc ľudí 1339 01:15:41,920 --> 01:15:43,817 ktorej rodné mesto je New York City. 1340 01:15:43,817 --> 01:15:45,650 Tak to je niečo, čo dá robiť s WHERE 1341 01:15:45,650 --> 01:15:49,112 klauzula je, že sme si vie poradiť sa stĺpy že nemusí nutne chcieť späť. 1342 01:15:49,112 --> 01:15:52,320 Rovnako tak v UPDATE, môžeme riešiť sa stĺpy, čo robíme, nie je nevyhnutne 1343 01:15:52,320 --> 01:15:53,270 Chcete aktualizovať. 1344 01:15:53,270 --> 01:15:58,890 Môžeme aktualizovať mesto každého kto je meno je Sam, napríklad. 1345 01:15:58,890 --> 01:16:02,080 Môžeme aktualizovať mesto Každý, ktorého identifikačné číslo 2. 1346 01:16:02,080 --> 01:16:04,960 Takže len aktualizovať Mesto druhého radu 1347 01:16:04,960 --> 01:16:08,220 kde nemáme čo do činenia s nevyhnutná častá otázka. 1348 01:16:08,220 --> 01:16:13,264 >> A DELETE je, ako by ste Očakávame, DELETE FROM tabulka1. 1349 01:16:13,264 --> 01:16:14,930 A potom máme ďalšiu klauzulu WHERE. 1350 01:16:14,930 --> 01:16:17,940 Takže môžeme povedať, kde ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Odstráňte prvý riadok. 1352 01:16:18,950 --> 01:16:23,240 A DELETE bude vždy odstrániť riadok, alebo to bude vymazať určitý počet riadkov. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM stolu, kde rodné mesto = New York City 1354 01:16:26,990 --> 01:16:28,740 zmaže všetky v New Yorku. 1355 01:16:28,740 --> 01:16:30,985 To je v prípade, že bol náhlej tragickej mor 1356 01:16:30,985 --> 01:16:33,360 a vy len chcel odstrániť každý z tabuľky, ktorá 1357 01:16:33,360 --> 01:16:35,760 žil v určitom meste ktorý bol zasiahnutý morom. 1358 01:16:35,760 --> 01:16:38,050 Nech odpočíva v pokoji. 1359 01:16:38,050 --> 01:16:43,849 >> To sú štyri SQL príkazy že budete musieť použiť. 1360 01:16:43,849 --> 01:16:45,390 Dalo by sa ani nemusíte používať všetky. 1361 01:16:45,390 --> 01:16:47,690 Ale to sú štyri že CS50 vás očakáva, 1362 01:16:47,690 --> 01:16:53,630 byť pohodlné s ísť do ako kvíz 1 a tiež pset7 a pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Je tu opäť len, že tabuľka. 1364 01:16:55,820 --> 01:16:58,930 V tomto jedinom, Roy je superveľmoc má bol aktualizovaný na laserové lúče, ktoré sa 1365 01:16:58,930 --> 01:17:00,880 je príklad som nepoužil. 1366 01:17:00,880 --> 01:17:05,480 Neviem, ktorý z nich Roy preferuje, ale sila. 1367 01:17:05,480 --> 01:17:07,670 Roy má superveľmoci sily. 1368 01:17:07,670 --> 01:17:09,090 Katherine nerobil to dnes. 1369 01:17:09,090 --> 01:17:10,260 To je nešťastné. 1370 01:17:10,260 --> 01:17:11,260 Ale ona má super rýchlosť. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> No, to bolo PHP. 1373 01:17:14,670 --> 01:17:19,410 Predtým, než budeme hovoriť o MVC, robí niekto máte otázky ohľadom PHP? 1374 01:17:19,410 --> 01:17:23,864 Teraz SQL, PHP, alebo ak sa náhle máte prísť s otázkou o PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Skvelé. 1377 01:17:28,460 --> 01:17:29,920 Dobre, máme všetko nastavené potom. 1378 01:17:29,920 --> 01:17:33,660 >> Tak hovorí trochu o regulátory pohľadom modelu, 1379 01:17:33,660 --> 01:17:38,770 vráťme sa k niektorým o veci v pset7. 1380 01:17:38,770 --> 01:17:42,470 Takže to, čo pohľad modelu Regulátor je-- Nie som 1381 01:17:42,470 --> 01:17:45,660 zachráni svoje zmeny sa prihlásiť preto, že som totálne porážal ho. 1382 01:17:45,660 --> 01:17:49,220 Ale v podstate máme dve oddelené veci deje. 1383 01:17:49,220 --> 01:17:52,390 Máme verejnosť adresár, ktorý obsahuje 1384 01:17:52,390 --> 01:17:56,460 kód, ktorý sa bude popravený a webové stránky, ktoré budú navštívili. 1385 01:17:56,460 --> 01:17:58,780 A máme tiež tento adresár názory. 1386 01:17:58,780 --> 01:18:01,780 A pohľady obsahuje šablóny. 1387 01:18:01,780 --> 01:18:04,390 >> To je to, čo je funkcia render-- sme videli omietky 1388 01:18:04,390 --> 01:18:08,240 Funkcie v banda PHP kóde že CS50 už napísal pre vás, 1389 01:18:08,240 --> 01:18:10,550 že sa v niektorých parametroch. 1390 01:18:10,550 --> 01:18:14,510 Čo že je tento kód robí Je to bude do pohľadov, 1391 01:18:14,510 --> 01:18:18,000 ktoré sú súbory ako prewritten HTML kód, 1392 01:18:18,000 --> 01:18:20,720 a to vložením hodnoty do určitých miestach. 1393 01:18:20,720 --> 01:18:23,990 To je, ako keď vás ísť do CS50 Financie, 1394 01:18:23,990 --> 01:18:25,760 rovnaké hlavičky je na každej stránke. 1395 01:18:25,760 --> 01:18:28,130 Rovnaký päty je na každej stránke. 1396 01:18:28,130 --> 01:18:31,880 To je preto, že na ceste ktorá spôsobí, že práca je to bude 1397 01:18:31,880 --> 01:18:36,720 automaticky opraviť v tomto záhlaví a divák, ktorý môžete nájsť v pohľadoch. 1398 01:18:36,720 --> 01:18:41,400 >> Vlastne sme sa ísť do hlavičky, a vyzerať, je to súbor HTML s hlavou. 1399 01:18:41,400 --> 01:18:43,280 Má to niekoľko štýlov. 1400 01:18:43,280 --> 01:18:48,450 Nemusíte sa pozerať na CSS pre pset7, ak nechcete. 1401 01:18:48,450 --> 01:18:50,560 Ale môžete zmeniť je, ak chcete, aby 1402 01:18:50,560 --> 01:18:53,470 Váš Financie vyzerať trochu inak. 1403 01:18:53,470 --> 01:18:57,560 >> Má to nejaký PHP v hlavička trochu vidieť 1404 01:18:57,560 --> 01:19:01,240 ak tam je iný názov to by malo dať v tomto záhlaví. 1405 01:19:01,240 --> 01:19:04,300 Ale len niektoré iné skripty, a odkazy, a ďalšie veci. 1406 01:19:04,300 --> 01:19:08,700 Hlava skončí, začne telo, a oops, máme taký divný malý koncový bit. 1407 01:19:08,700 --> 01:19:14,730 A je tu div, rovnako ako beztvarý druh prvku 1408 01:19:14,730 --> 01:19:17,120 že má predstavu o uprostred. 1409 01:19:17,120 --> 01:19:22,450 >> A potom, keď vidíme, päty, máme koniec div. 1410 01:19:22,450 --> 01:19:25,000 Máme dno, čo je kde text päta. 1411 01:19:25,000 --> 01:19:26,770 Koniec div, koniec tela, koniec HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Takže to, čo robí, je robí, je poskytnúť, je druh 1413 01:19:29,070 --> 01:19:33,150 záplatovanie up hlavičky, je iný PHP súbor, ktorý 1414 01:19:33,150 --> 01:19:37,110 bude obsahovať skutočné veci, ktoré budete prezerať, rovnako ako váš stôl zásob 1415 01:19:37,110 --> 01:19:39,690 ak ste nákup alebo predaj akcií. 1416 01:19:39,690 --> 01:19:41,480 A potom to bude pridať do päty. 1417 01:19:41,480 --> 01:19:44,890 A pohľad modelu Regulátor predstava je, že sme 1418 01:19:44,890 --> 01:19:49,590 chcete oddeliť, ako veci vyzerajú z kódu. 1419 01:19:49,590 --> 01:19:53,420 Je to chceme oddeliť frontend a backend, kde je frontend 1420 01:19:53,420 --> 01:20:00,440 veci, ktoré užívateľ vidí, pekné visuals-- HTML, CSS, také veci, 1421 01:20:00,440 --> 01:20:02,320 obrazy, et cetera. 1422 01:20:02,320 --> 01:20:05,780 A backend je PHP. 1423 01:20:05,780 --> 01:20:07,710 To je kód, ktorý píšete. 1424 01:20:07,710 --> 01:20:10,240 To je miesto, kde kód, ktorý je robí skutočné operácie. 1425 01:20:10,240 --> 01:20:12,400 To je, keď pridávate akcie na váš stôl, 1426 01:20:12,400 --> 01:20:14,890 keď kupujete a predajné, to je backend. 1427 01:20:14,890 --> 01:20:20,210 >> A môžeme, ako ste videli, vrátane PHP priamo v HTML. 1428 01:20:20,210 --> 01:20:23,210 Takže to, čo sme mohli urobiť pre Táto úloha je jednoducho musel 1429 01:20:23,210 --> 01:20:26,200 HTML súbor pre každú stranu, ako je prihlásenie. 1430 01:20:26,200 --> 01:20:30,260 A potom sa na tejto stránke, stačí mal obrovský blok PHP kódu, 1431 01:20:30,260 --> 01:20:33,822 vrátane všetkých kódu, ktorý že strana by špecificky potrebovať. 1432 01:20:33,822 --> 01:20:35,780 A potom by sme mohli mať urobil pre portfólio. 1433 01:20:35,780 --> 01:20:40,250 Mohli sme urobili všetko o nákupe a predaja v rámci jednotlivých stránok. 1434 01:20:40,250 --> 01:20:43,680 >> Ale preto, že sme vykresľovanie oddelene od miesta, kde 1435 01:20:43,680 --> 01:20:46,660 budeme písať backend kódu, môžeme ľahko 1436 01:20:46,660 --> 01:20:52,660 zmeniť spôsob, akým sa veci vyzerajú bez mení každý jeden súbor. 1437 01:20:52,660 --> 01:20:55,460 Robíme veci, ako je len pridať nový div ku dnu 1438 01:20:55,460 --> 01:21:00,720 of-- Dobrý deň, som upravil päta. 1439 01:21:00,720 --> 01:21:03,710 Stačí si len robiť veci takto. 1440 01:21:03,710 --> 01:21:07,250 Ale tiež môžete zmeniť celý vizuálne rozvrhnutie 1441 01:21:07,250 --> 01:21:09,290 bez toho, aby to ovplyvnilo to, čo je deje v backend. 1442 01:21:09,290 --> 01:21:12,000 A môžete zmeniť Celý backend a stále 1443 01:21:12,000 --> 01:21:13,900 mať to vyzerať rovnako ako to urobil predtým. 1444 01:21:13,900 --> 01:21:14,400 Toto 1445 01:21:14,400 --> 01:21:16,170 >> Je myšlienka pohľadu modelu regulátora. 1446 01:21:16,170 --> 01:21:19,992 A je to vlastne uložená paradigma v niektorých programovacích jazykov 1447 01:21:19,992 --> 01:21:21,700 možno budete chcieť použiť pre konečné projekty. 1448 01:21:21,700 --> 01:21:25,100 Ak tak urobíte iOS vývoj, Majú výhľad, 1449 01:21:25,100 --> 01:21:29,120 čo je to, čo vidíte na iPhone, a potom backend ako ako samostatnú vec. 1450 01:21:29,120 --> 01:21:31,260 >> Môžete si myslieť o trochu. 1451 01:21:31,260 --> 01:21:35,190 Je tu veľa binárnych súborov v počítačovej vedy, čo je smiešny, 1452 01:21:35,190 --> 01:21:37,270 pretože všetko je v binárnej. 1453 01:21:37,270 --> 01:21:38,550 Nechcel som v pláne to. 1454 01:21:38,550 --> 01:21:41,590 To bol hračka neúmyselné. 1455 01:21:41,590 --> 01:21:43,860 Áno, slovná hračka nie je určená. 1456 01:21:43,860 --> 01:21:49,070 >> Ale rovnako ako .h súbory a súbory .c, je tu veľa odlučovanie vecí, ktoré sme 1457 01:21:49,070 --> 01:21:49,900 nemusí potrebovať. 1458 01:21:49,900 --> 01:21:54,330 Takže môžeme len upraviť h súbory, alebo niekto môže len vidieť h súboru a viem, 1459 01:21:54,330 --> 01:21:57,650 presne tie funkcie, ktoré sú v .c súbor, bez nevyhnutne vedieť, 1460 01:21:57,650 --> 01:21:58,870 ich realizácie. 1461 01:21:58,870 --> 01:22:02,800 Táto myšlienka oddeľovanie zložiek že na sebe vzájomne závislé 1462 01:22:02,800 --> 01:22:06,990 ale môže nejako prístup k sebe navzájom prostredníctvom rôznych kanálov, absolvovanie 1463 01:22:06,990 --> 01:22:09,310 premenných, len obsahujú vyhlásenie, veci, 1464 01:22:09,310 --> 01:22:14,440 ako to, že táto zásada pomáha vytvárať aplikácie 1465 01:22:14,440 --> 01:22:17,080 , Ktoré môžu byť ľahšie editoval viac ľuďmi, 1466 01:22:17,080 --> 01:22:20,440 môže byť viac ľahko zmeniť alebo zmenená na veľkom meradle, 1467 01:22:20,440 --> 01:22:24,880 a lepšie sa ladenie v mnohých smeroch. 1468 01:22:24,880 --> 01:22:28,254 >> Naozaj rýchly, mám niekoľko tipov pre pset7, 1469 01:22:28,254 --> 01:22:31,420 čo urobím na celú obrazovku, takže vás nebude len pri pohľade na the-- Tip Tip tipu. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Existuje nie je tak veľa tipov. 1472 01:22:35,130 --> 01:22:38,060 >> Ale Zmienil som PHP je ťažké ladenie. 1473 01:22:38,060 --> 01:22:39,290 Dvojlôžkové a trojlôžkové skontrolovať. 1474 01:22:39,290 --> 01:22:41,550 Ak váš kód je jednoducho nie je objavovať na stránke, 1475 01:22:41,550 --> 01:22:46,240 jedná sa pravdepodobne o chybu PHP, sorry. 1476 01:22:46,240 --> 01:22:48,570 >> Už nikdy nebudete musieť pozrieť sa na CSS, ak nechcete. 1477 01:22:48,570 --> 01:22:52,150 Ale akonáhle budete hotoví, to môže byť pekný malý zábavná vec ktorú jednoducho ísť 1478 01:22:52,150 --> 01:22:54,770 a neporiadok s CSS parametrami. 1479 01:22:54,770 --> 01:22:58,700 CSS a HTML sú príkladom modelu pohľad regulátor štýl vec taky, že jo? 1480 01:22:58,700 --> 01:23:02,150 Tie by mohli mať tagy štýlu vnútri HTML prvkov. 1481 01:23:02,150 --> 01:23:04,800 Ale ak sa tak nejako outsourcing je na CSS, 1482 01:23:04,800 --> 01:23:08,180 oni sú ľahšie upravovať a hra okolo a baviť sa. 1483 01:23:08,180 --> 01:23:10,816 >> Doprajte CS50 pomocník funguje ako čierne skrinky. 1484 01:23:10,816 --> 01:23:12,940 Nemusíte vedieť presne to, čo robí robí, 1485 01:23:12,940 --> 01:23:16,770 ale verte, že vždy právo to v závislosti na tom, čo si to prejsť, 1486 01:23:16,770 --> 01:23:17,690 veci, ako je tento. 1487 01:23:17,690 --> 01:23:21,040 A ja by som odporučiť sledoval Davida návod, 1488 01:23:21,040 --> 01:23:24,490 prechádzajú všetky stuff, nielen todos, 1489 01:23:24,490 --> 01:23:26,960 ale naozaj môže liečiť Tieto ako čierne skrinky. 1490 01:23:26,960 --> 01:23:29,280 Nechoďte do týchto Funkcia hľadá chyby. 1491 01:23:29,280 --> 01:23:33,510 >> A vítajú návrat naše vládca Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Skvelé. 1493 01:23:34,010 --> 01:23:40,430 >> Sú nejaké otázky, než záverečná sme sa nejako odraziť na deň? 1494 01:23:40,430 --> 01:23:42,610 Som stále žijú? 1495 01:23:42,610 --> 01:23:44,700 Skvelé. 1496 01:23:44,700 --> 01:23:47,120 Ahoj Livestream ľudí. 1497 01:23:47,120 --> 01:23:47,620 Skvelé. 1498 01:23:47,620 --> 01:23:50,260 Sú tam ešte otázky? 1499 01:23:50,260 --> 01:23:50,760 Nie? 1500 01:23:50,760 --> 01:23:52,884 >> A potom som si, že sme dobré ísť na dnešok. 1501 01:23:52,884 --> 01:23:55,550 Budem držať okolo trochu neskôr, keď ľudia mali otázky 1502 01:23:55,550 --> 01:23:57,480 báli sa opýtať na potoku. 1503 01:23:57,480 --> 01:23:59,790 Ale inak, dobrý deň. 1504 01:23:59,790 --> 01:24:01,933