1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Üdvözöljük részben ezen a héten. 3 00:00:08,440 --> 00:00:10,040 Nem vagyok Andi. 4 00:00:10,040 --> 00:00:14,590 Andi esett rosszul ez a nap, és én már egyfajta hívják last minute 5 00:00:14,590 --> 00:00:15,700 átvenni. 6 00:00:15,700 --> 00:00:20,920 Ez az influenza szezon, úgyhogy győződjön meg róla, hogy tartózkodik tiszta, kézmosás, 7 00:00:20,920 --> 00:00:24,800 és az egészséges táplálkozás érdekében, hogy te is, nem ágyhoz kötött. 8 00:00:24,800 --> 00:00:26,870 >> De minden további nélkül ADO, vágjunk bele. 9 00:00:26,870 --> 00:00:29,970 Ma fogunk beszélni PHP-ről egy kicsit bit-- hogyan 10 00:00:29,970 --> 00:00:33,900 PHP vonatkozik HTML, hogyan tárgya CSS, és néhány, a web 11 00:00:33,900 --> 00:00:36,100 cucc tettél az utolsó feladat. 12 00:00:36,100 --> 00:00:37,930 Fogunk beszélni kicsit SQL 13 00:00:37,930 --> 00:00:41,360 és hogyan lehet dolgozni adatbázisok, ami egy elég kulcsfontosságú eleme P 14 00:00:41,360 --> 00:00:43,650 állítsa 8-- P készlet 7. 15 00:00:43,650 --> 00:00:44,480 P készlet 7. 16 00:00:44,480 --> 00:00:48,400 >> És akkor fogunk beszélni egy kicsit kicsit arról, hogy nézet irányítók dolgoznak 17 00:00:48,400 --> 00:00:54,640 és miért ez a filozófia mögött modern web oldalak és a különböző design. 18 00:00:54,640 --> 00:00:58,760 Elég sok sok típusú alkalmazások és alkalmazások lehet, hogy a hajó 19 00:00:58,760 --> 00:01:01,120 használja ezt a modellt, Tekintettel vezérlő keret, 20 00:01:01,120 --> 00:01:02,890 hogy lesz használva P készlet 7, úgyhogy 21 00:01:02,890 --> 00:01:05,220 Beszéljünk egy kicsit arról, hogy miért, hogy lett 22 00:01:05,220 --> 00:01:07,970 népszerű, miért fontos és szép. 23 00:01:07,970 --> 00:01:12,052 És akkor én aztán rátérnek a Néhány tipp, hogyan kezelésére P készlet 7. 24 00:01:12,052 --> 00:01:13,760 És ha van ideje megmaradt a végén, 25 00:01:13,760 --> 00:01:17,320 mi is valójában némi dolgozni, hogy együtt. 26 00:01:17,320 --> 00:01:20,380 >> Szóval, PHP. 27 00:01:20,380 --> 00:01:23,790 Sőt, lehet, hogy észre this-- hogy nem igazán kell merülni it-- 28 00:01:23,790 --> 00:01:27,880 de P készlet 6 volt némi PHP kód, amely folyik. 29 00:01:27,880 --> 00:01:34,710 És mivel a PHP egy C-szerű nyelven, PHP, HTML és CSS eltérően, 30 00:01:34,710 --> 00:01:39,030 egy programozási nyelv, mivel HTML és CSS statikus. 31 00:01:39,030 --> 00:01:44,050 Ők jelölőnyelvek foglalkozó A stílus és a képi elrendezés. 32 00:01:44,050 --> 00:01:46,230 PHP az igazi üzlet. 33 00:01:46,230 --> 00:01:51,590 >> A PHP hurkok, azt conditions-- minden ilyesmi, hogy a szórakoztató mintegy C. 34 00:01:51,590 --> 00:01:56,190 Van egy pár dolog, ami egy kicsit kicsit jobb, mint a C, ami majd meglátjuk, 35 00:01:56,190 --> 00:01:59,760 de azt hiszem, a legegyszerűbb módja, hogy beszéljen A PHP csak merülni. 36 00:01:59,760 --> 00:02:04,087 Így fogok menni jobbra az IDE ezen a ponton. 37 00:02:04,087 --> 00:02:06,170 Az első dolog, megyünk tennie, hogy valóban meg 38 00:02:06,170 --> 00:02:10,169 Egy kicsit meg néhány, a PHP kód, ami volt, P szett 6. 39 00:02:10,169 --> 00:02:13,600 Tehát az is, hogy mi hogy-- előtt, az is, hogy mi volt futó 40 00:02:13,600 --> 00:02:18,550 A szerver a készüléket az volt, hogy mi lett volna type-- 41 00:02:18,550 --> 00:02:21,750 vagy használja a végrehajtás vagy az alkalmazottak végrehajtása 42 00:02:21,750 --> 00:02:27,059 A server.c az megy könyvtár és fut server.c, hogy ha nem 43 00:02:27,059 --> 00:02:30,100 arguments-- így csak hívja azt a helyi gépen, ami pontosan akkor valószínűleg 44 00:02:30,100 --> 00:02:31,849 vitte a time-- majd etetés 45 00:02:31,849 --> 00:02:35,380 Egy directory-- a melyeket használd a gyökér 46 00:02:35,380 --> 00:02:38,310 ahol a honlapjára lehet futtatni, alapvetően. 47 00:02:38,310 --> 00:02:42,180 >> Ezen a héten a P készlet 7, mint nagy, mint a mi kódot server.c 48 00:02:42,180 --> 00:02:47,580 van, vannak olyan emberek, akik már írásos ezeket a finom dolgokat a CS50 49 00:02:47,580 --> 00:02:49,630 hogy van egy kicsit több funkció, 50 00:02:49,630 --> 00:02:52,920 egy szerver program, ami képes A szó egy kicsit 51 00:02:52,920 --> 00:02:56,350 A bonyolult, hogy mi lesz lásd mind P készlet 7 és P készlet 8. 52 00:02:56,350 --> 00:03:01,410 És az is, hogy kezdje meg a szerver által csak beírja, "apache50." 53 00:03:01,410 --> 00:03:03,960 >> És mielőtt bármit, azt szeretnénk, hogy győződjön meg arról, 54 00:03:03,960 --> 00:03:06,070 hogy az Apache 50 nem már fut, ahogy van 55 00:03:06,070 --> 00:03:08,130 a gépemen, amit meg is tettem kipróbálni. 56 00:03:08,130 --> 00:03:10,320 És te, hogy hívja apache50. 57 00:03:10,320 --> 00:03:14,070 Megáll, és látni fogod, hogy a megállási A web szerver, ha nézd ott 58 00:03:14,070 --> 00:03:16,340 alján a terminál ablakban. 59 00:03:16,340 --> 00:03:21,090 És akkor csak elindítani vagyunk fog hívni, "apache50 kezdeni." 60 00:03:21,090 --> 00:03:23,150 Aztán megyünk megetetni egy könyvtárba. 61 00:03:23,150 --> 00:03:26,950 >> Most, mert meg akarjuk nézni néhány, a P készlet 6-kód 62 00:03:26,950 --> 00:03:32,850 hogy mi volt végre, én valóban másolt egy kicsit a P 63 00:03:32,850 --> 00:03:37,090 készlet 6 kódot a saját mappában, ami látható a bal oldalon van. 64 00:03:37,090 --> 00:03:40,170 Ezt hívják "SECTION8" minden nagybetűvel 65 00:03:40,170 --> 00:03:44,510 mert én csak annyira izgatott hogy élőben közvetítjük ma. 66 00:03:44,510 --> 00:03:47,330 >> Tehát, ha futtatni ezt, ahogy kellene Minden munka elég hatékonyan. 67 00:03:47,330 --> 00:03:52,350 Azt mondja, OK, honlapunkon most rendelkezésre a címe az IDE, 68 00:03:52,350 --> 00:03:57,710 Alapvetően ez az, amit használtál pontosan úgy, ahogy volt, a P beállítani 7-- P szett 6. 69 00:03:57,710 --> 00:04:00,899 Minden az én indexek egy indexet ma. 70 00:04:00,899 --> 00:04:02,940 Így tudunk menni, hogy címe, ha emlékezni fogsz, 71 00:04:02,940 --> 00:04:05,710 csak rákattint erre a kis gombra a jobb felső sarokban. 72 00:04:05,710 --> 00:04:14,200 >> És emlékezzünk csak vissza ezt a kódot, amely történt, amikor bement hello.php. 73 00:04:14,200 --> 00:04:18,000 És mi a kód célja, hogy tennie, ha beírt egy nevet 74 00:04:18,000 --> 00:04:20,550 here-- ha azt mondod, Sam mert ez az én name-- 75 00:04:20,550 --> 00:04:23,620 és rákattintok köszönni, ha mentünk a következő oldalra, 76 00:04:23,620 --> 00:04:25,270 ezt a nevet kellett volna megjelenni. 77 00:04:25,270 --> 00:04:28,550 Úgy mondanám, "Hello, Sam" vagy "Hello", bármilyen nevet 78 00:04:28,550 --> 00:04:32,470 helyezni, hogy annak ellenére, hogy mentünk hogy egy teljesen új weboldal. 79 00:04:32,470 --> 00:04:36,610 >> És ez a fajta dolog hogy a PHP tehet érted. 80 00:04:36,610 --> 00:04:42,840 PHP képes átadni adatok Két weboldalakat. 81 00:04:42,840 --> 00:04:44,390 Ez egy teljesen más oldal. 82 00:04:44,390 --> 00:04:46,990 Látni fogod a cím "helló" itt. 83 00:04:46,990 --> 00:04:49,080 Igazából, nekik van az azonos című, de én 84 00:04:49,080 --> 00:04:52,560 Megígérjük, hogy különböző web oldalakat, ha megnézzük a forrást. 85 00:04:52,560 --> 00:04:55,890 És akkor át az adatokat, hogy az Ebbe a szövegmezőbe, 86 00:04:55,890 --> 00:04:59,830 elküldené a következő oldal, amit most hívott fel, 87 00:04:59,830 --> 00:05:02,490 majd, hogy az adatok képes ott a jelenlegi formájában. 88 00:05:02,490 --> 00:05:04,810 >> Most még nem hajtották végre ez magunkat, amely 89 00:05:04,810 --> 00:05:08,710 van mit fogunk csinálni most, hogy Rendezés ízelítőt kapnak a PHP működésének, 90 00:05:08,710 --> 00:05:15,070 de a lényeg, hogy PHP-- tudsz fajta gondolok rá, mint egy függvény. 91 00:05:15,070 --> 00:05:18,570 Valami, ami PHP segítségével nem ez paramétereket adhat 92 00:05:18,570 --> 00:05:24,710 hogy belép egy HTML oldal használata révén a PHP és formák, 93 00:05:24,710 --> 00:05:29,960 és akkor adja át azokat a paramétereket Tovább a következő oldalra, hogy betölti fel. 94 00:05:29,960 --> 00:05:35,110 >> Ebben az esetben azt töltöd fel ezt oldalán a "Köszönj" gomb. 95 00:05:35,110 --> 00:05:38,960 De most, én valóban törölve bizonyos, hogy a kódot 96 00:05:38,960 --> 00:05:44,850 A hello.php hogy volt, hogy futni hogy valójában megjelenítő "hello, 97 00:05:44,850 --> 00:05:49,680 világ "vagy" hello, Sam "vagy "hello", bármi volt csak meg kell adni. 98 00:05:49,680 --> 00:05:53,620 Tehát most vagyunk hogy csináljuk, alapvetően. 99 00:05:53,620 --> 00:05:56,570 Megyünk, hogy újra ezt, és is hozzá néhány funkciót, 100 00:05:56,570 --> 00:06:00,210 akkor egy kicsit többet is, lásd mi PHP valóban képes. 101 00:06:00,210 --> 00:06:04,870 >> Tehát az első, beszéljünk ezt a fájlt, hello.php. 102 00:06:04,870 --> 00:06:07,440 Tehát, ha nagyítani egy kis bit-- és most én vagyok 103 00:06:07,440 --> 00:06:10,520 fajta próbál mozoghat ahogy around-- ott vagyunk. 104 00:06:10,520 --> 00:06:14,220 Látni fogod, hogy hívják hello.php, de a szintaxis is 105 00:06:14,220 --> 00:06:16,880 néz ki, mint egy HTML fájlt. 106 00:06:16,880 --> 00:06:20,380 Ez azért van, mert a aktuális PHP ebben a fájlban 107 00:06:20,380 --> 00:06:25,220 A minden ragadt között kérdőjel-caret blokkok. 108 00:06:25,220 --> 00:06:28,610 Minden itt tartják PHP kódot. 109 00:06:28,610 --> 00:06:32,040 >> És észre fogod venni, hogy amikor csináltam egy megjegyzést, 110 00:06:32,040 --> 00:06:35,320 látni fogod az ismerős két perjel. 111 00:06:35,320 --> 00:06:38,440 És ha lesz felidézni, a HTML, ha írja a comment, 112 00:06:38,440 --> 00:06:42,540 úgy néz ki, valami közelebb ez, ami egy megjegyzést HTML-ben. 113 00:06:42,540 --> 00:06:46,570 Szóval tényleg mindent között E két hegyes zárójelek 114 00:06:46,570 --> 00:06:50,060 Most PHP kód, amely tükröződik a tény 115 00:06:50,060 --> 00:06:53,270 hogy ez a kis megjegyzést jelző be van kapcsolva a megjegyzést. 116 00:06:53,270 --> 00:06:58,420 >> Így minden alkalommal írsz PHP kódot, akkor is, ha nincs HTML kód azon kívül, 117 00:06:58,420 --> 00:07:02,720 ez mindig lesz zárt ezekben hegyes zárójelek 118 00:07:02,720 --> 00:07:04,080 Kérdőjel. 119 00:07:04,080 --> 00:07:08,260 Akkor valami gondolni it--, hogy minden A kód futott a C programok 120 00:07:08,260 --> 00:07:13,950 volt zárva egy int main, semmis, kapcsos zárójel, záró kapcsos zárójel nyilatkozatot. 121 00:07:13,950 --> 00:07:17,100 És látni fogod kapcsoszárójele a PHP is, de ez a fajta 122 00:07:17,100 --> 00:07:20,490 mint a fő módszer a PHP. 123 00:07:20,490 --> 00:07:25,630 >> Tehát most, hogyan csináljuk semmit PHP-ben? 124 00:07:25,630 --> 00:07:29,190 Most, PHP programozási nyelv, amely nagyon C-szerű, 125 00:07:29,190 --> 00:07:30,970 de működik az interneten. 126 00:07:30,970 --> 00:07:33,270 Tehát egy dolog, hogy akkor immediately-- egy 127 00:07:33,270 --> 00:07:38,130 Az első dolog, amit tényleg a C-ben kinyomtatott cucc, ugye? 128 00:07:38,130 --> 00:07:42,290 Tehát C tettük, hogy egy printf függvény. 129 00:07:42,290 --> 00:07:46,430 Adtunk neki egy húr, Valószínűleg egy új vonal, 130 00:07:46,430 --> 00:07:49,850 és akkor megszűnik ez egy pontosvessző. 131 00:07:49,850 --> 00:07:53,790 >> Tehát az is, hogy fogunk csinálni A PHP--, mert ez nem elég printf. 132 00:07:53,790 --> 00:07:55,940 Ez egy kicsit más szintaxist. 133 00:07:55,940 --> 00:08:02,580 Az hogy kiírjuk a dolgokat A PHP azt mondjuk, "echo hello" 134 00:08:02,580 --> 00:08:04,180 vagy "echo" bármilyen szót. 135 00:08:04,180 --> 00:08:09,830 És, hogy az a hatása, csinál printf egy húr, "hello". 136 00:08:09,830 --> 00:08:11,990 És hozzáteszi az új vonal is. 137 00:08:11,990 --> 00:08:16,000 >> Úgyhogy most, hogy sure-- Majd kicsinyítés megint egy kicsit bit-- 138 00:08:16,000 --> 00:08:18,250 Bizonyosodjunk meg róla, hogy hogy a kód működik 139 00:08:18,250 --> 00:08:21,030 mert előfordulhat, nagyon valamint egy hiba ezen a kódot 140 00:08:21,030 --> 00:08:22,880 hogy mi lesz kezelni. 141 00:08:22,880 --> 00:08:25,860 Így a szerver már fut. 142 00:08:25,860 --> 00:08:30,630 Ha tehát lépjünk vissza az aljára, Ja, a szerver még mindig fut. 143 00:08:30,630 --> 00:08:34,510 Tehát ha csak megérinti a kicsit jobb here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- kellene get-- nagy. 145 00:08:37,620 --> 00:08:39,930 >> Még mindig vannak a ismerős "Say Hello" párbeszéd, 146 00:08:39,930 --> 00:08:45,750 de mikor írja a "hi" majd meglátjuk hogy a szöveg "helló" valóban 147 00:08:45,750 --> 00:08:50,080 kinyomtatják, amely pontosan úgy, ahogy vártuk, mert echo PHP 148 00:08:50,080 --> 00:08:53,190 Olyan, mint egy printf kifejezést. 149 00:08:53,190 --> 00:09:01,410 Szóval vissza a kódot, hogy hogyan P szett 6 tette A forgalmazás kódot biztosított 150 00:09:01,410 --> 00:09:05,920 teszik, hogy a PHP az kimenet a dolog, hogy 151 00:09:05,920 --> 00:09:07,920 beírt az előző képernyőre? 152 00:09:07,920 --> 00:09:10,350 >> És a fajta vizsgálja hogy miért történik, mi vagyunk 153 00:09:10,350 --> 00:09:15,510 megyek be index.html, az eredeti fájlt, a fájl 154 00:09:15,510 --> 00:09:18,710 felbukkan a képernyőn A "Köszönj" gomb. 155 00:09:18,710 --> 00:09:20,950 Azt veszi észre, hogy van a klasszikus dolgokat 156 00:09:20,950 --> 00:09:26,910 amit elvárnak a HTML ilyen mivel ezek a dolgok, ezek a címkék zárt 157 00:09:26,910 --> 00:09:31,080 szögletes zárójelben, mint a PHP de nem a kérdőjelek, 158 00:09:31,080 --> 00:09:34,650 ami azt jelzi, egy különleges dolog, hogy a HTML. 159 00:09:34,650 --> 00:09:36,895 Van neve, amely "hello". 160 00:09:36,895 --> 00:09:41,010 És észre fogod venni, hogy amint láttuk, A cím: "Hello" mindkét esetben. 161 00:09:41,010 --> 00:09:43,260 Változtassuk meg ezt hogy "azt mondják," csak úgy tudjuk 162 00:09:43,260 --> 00:09:48,170 lehet megkülönböztetni magunkat, ahol vagyunk. 163 00:09:48,170 --> 00:09:49,600 >> De most már van egy test. 164 00:09:49,600 --> 00:09:52,690 És akkor az érdekes kicsit, a kicsit, hogy megjelenik a HTML, 165 00:09:52,690 --> 00:09:54,530 ez űrlap elem. 166 00:09:54,530 --> 00:09:56,370 És így megvan egy formája. 167 00:09:56,370 --> 00:09:58,330 És ez a kulcs. 168 00:09:58,330 --> 00:10:00,530 Így dolgozunk PHP. 169 00:10:00,530 --> 00:10:05,790 Az akció paramétere formában azt mondja, hogy hello.php 170 00:10:05,790 --> 00:10:09,310 van mit fogunk küldeni Az értékek ebben a formában, hogy. 171 00:10:09,310 --> 00:10:13,830 Ez az, ahol vagyunk halad A paraméterek, hogy úgy mondjam. 172 00:10:13,830 --> 00:10:18,680 >> Észre fogod venni, egy másik dolog itt az, hogy a módszer "get". 173 00:10:18,680 --> 00:10:24,450 Vannak két elsődleges módszerek, amelyekkel fog 174 00:10:24,450 --> 00:10:28,750 lennie a PHP adattovábbításhoz között websites-- weboldalak, 175 00:10:28,750 --> 00:10:30,500 rather-- ebben a feladatot. 176 00:10:30,500 --> 00:10:34,070 És ezek a módszerek "get" és a "post." 177 00:10:34,070 --> 00:10:37,010 Van néhány apró különbségek a GET és POST 178 00:10:37,010 --> 00:10:40,520 hogy mi lesz into-- vagyunk lesz ", hogy" a, ha úgy tetszik. 179 00:10:40,520 --> 00:10:44,030 >> De minden cél és célokra, GET és POST 180 00:10:44,030 --> 00:10:47,120 mind csak oly módon, hogy Ön át paramétereket 181 00:10:47,120 --> 00:10:49,500 kissé eltérő kivégzések. 182 00:10:49,500 --> 00:10:53,500 Egyelőre fogunk használni kap, mert hogy volt, mi az eredetileg használt 183 00:10:53,500 --> 00:10:57,340 A PHP fájlt P szett 6. 184 00:10:57,340 --> 00:11:00,850 És valóban, ha megyünk, és nézz mielőtt már szerkesztette mást, 185 00:11:00,850 --> 00:11:03,090 Megyek köszönni alábbiakra: mi a neved? 186 00:11:03,090 --> 00:11:03,812 >> Közönség: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Ó, a mindenit. 188 00:11:04,770 --> 00:11:05,600 Én nem tudom, hogy pontosan ezt. 189 00:11:05,600 --> 00:11:06,766 Lehet hogy írják nekem? 190 00:11:06,766 --> 00:11:08,710 Közönség: 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 >> Közönség: Igen. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Tökéletes. 194 00:11:10,960 --> 00:11:11,210 OKÉ. 195 00:11:11,210 --> 00:11:12,751 Azt hiszem, én tudom, hogy pontosan ezt. 196 00:11:12,751 --> 00:11:13,510 Sajnálom az esetet. 197 00:11:13,510 --> 00:11:16,560 De ha azt mondjuk, "Say hello," ez nem ez nem fog megjelenni a képernyőn 198 00:11:16,560 --> 00:11:18,476 Még hiszen módosította A kód egy kicsit. 199 00:11:18,476 --> 00:11:21,290 De ha "Say Hello" - OK, így a "hello" itt van. 200 00:11:21,290 --> 00:11:24,137 De ha vesszük közelebbről nézd meg az URL-t is, 201 00:11:24,137 --> 00:11:26,220 látni fogjuk, hogy véget ér A hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Szóval, ez egy módja kommunikál a következő weboldalon 204 00:11:37,180 --> 00:11:39,240 A paraméterek, hogy már eltelt. 205 00:11:39,240 --> 00:11:40,870 Azt mondtuk name = Elliot. 206 00:11:40,870 --> 00:11:46,290 És ez végül is hogyan P szett 6 belépett a változó, hogy mi telt el 207 00:11:46,290 --> 00:11:47,520 űrlapon keresztül. 208 00:11:47,520 --> 00:11:51,470 És ez a valami, Sajátos, hogy a GET kérelmet. 209 00:11:51,470 --> 00:11:57,480 A GET kérést teszi a paraméterek ismert a webhely URL-je. 210 00:11:57,480 --> 00:12:01,190 >> És emlékezzünk csak vissza, túl, P készlet 6, hogy 211 00:12:01,190 --> 00:12:04,450 kellett írni egy függvény hogy foglalkozott azzal a ténnyel, 212 00:12:04,450 --> 00:12:09,700 hogy ez a query string létezhetne, miután a fájlt. 213 00:12:09,700 --> 00:12:14,684 Lehetne egy kérdőjel követi az alapvetően tetszőleges számú karakter. 214 00:12:14,684 --> 00:12:16,350 És pontosan ez az, mi folyik itt. 215 00:12:16,350 --> 00:12:21,280 És az ok, amiért meg kellett elemezni, hogy a végrehajtása server.c P 216 00:12:21,280 --> 00:12:27,570 készlet 6 annyira, hogy meg tudná mondani, A PHP kód, ami name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Ön szükség, hogy képes legyen feldolgozni, hogy ki az URL- 218 00:12:30,460 --> 00:12:35,900 úgy, hogy a PHP fájlt a kérdéses tudta, mi volt szó. 219 00:12:35,900 --> 00:12:39,350 >> Így remélhetőleg ez ad A motiváció server.c 220 00:12:39,350 --> 00:12:43,900 most, hogy mozog kívül C PHP. 221 00:12:43,900 --> 00:12:48,240 Úgyhogy valóban összpontosítani elérésével dolgokat engedjük át GET kérelmet most 222 00:12:48,240 --> 00:12:48,880 ezen a ponton. 223 00:12:48,880 --> 00:12:50,157 Megyek menteni ezt. 224 00:12:50,157 --> 00:12:51,240 Mi nem változtat semmin. 225 00:12:51,240 --> 00:12:56,080 Úgy néz ki, hogy van egy beviteli mező. 226 00:12:56,080 --> 00:12:58,550 >> Mi beállítás bizonyos tulajdonságait, meg tudjuk csinálni egy HTML. 227 00:12:58,550 --> 00:12:59,550 Ezek egyszerű dolgok. 228 00:12:59,550 --> 00:13:00,580 Nem kell ezeket. 229 00:13:00,580 --> 00:13:03,750 De megvan autocomplete off, amely alapvetően says-- tudod, 230 00:13:03,750 --> 00:13:05,710 ha írja a dolgokat a web, néha 231 00:13:05,710 --> 00:13:07,355 igyekszik kitölteni, hogy az Ön számára. 232 00:13:07,355 --> 00:13:08,230 Szóval ez egy szép dolog. 233 00:13:08,230 --> 00:13:11,700 Azt akarjuk, hogy kapcsolja ki erre a célra. 234 00:13:11,700 --> 00:13:13,970 Ez volt a CS50 döntést. 235 00:13:13,970 --> 00:13:15,640 Így lehet törölni, hogy ha akarnánk. 236 00:13:15,640 --> 00:13:19,510 >> Autofókusz csak botok a kurzor formájában az elején. 237 00:13:19,510 --> 00:13:21,060 Ismét nem túl fontos. 238 00:13:21,060 --> 00:13:26,220 >> De name = "név" - ez egy kicsit trükkös, mert azt a neve és a név. 239 00:13:26,220 --> 00:13:28,730 De tudtuk, hogy megváltozott ez valami más. 240 00:13:28,730 --> 00:13:30,563 És valóban, ez ezt fogjuk tenni most. 241 00:13:30,563 --> 00:13:34,830 Majd azt mondjuk, "személy", amely a fajta, mint név 242 00:13:34,830 --> 00:13:36,790 ha egy személy által meghatározott nevüket. 243 00:13:36,790 --> 00:13:41,480 >> Úgyhogy zárja be ezt, indítsák újra fel honlapunkat 244 00:13:41,480 --> 00:13:46,110 Mivel a szerver még mindig fut Apache 50, és azt fogjuk mondani, helló, itt van 245 00:13:46,110 --> 00:13:47,200 Elliot újra. 246 00:13:47,200 --> 00:13:48,460 Miert nem? 247 00:13:48,460 --> 00:13:49,220 Helló. 248 00:13:49,220 --> 00:13:52,880 És ha felmegyünk ide, majd meglátjuk akkor ahelyett name = Elliot, 249 00:13:52,880 --> 00:13:55,200 azt mondja személy = Elliot. 250 00:13:55,200 --> 00:14:00,060 És ez a közvetlen eredménye az a tény, hogy csak megváltozott name = "személy". 251 00:14:00,060 --> 00:14:06,840 >> Tehát egy input elem HTML formában, a név mezőben 252 00:14:06,840 --> 00:14:10,590 az azonosító az paraméter, amit most telt. 253 00:14:10,590 --> 00:14:14,250 Ez olyan, mint ha te létre egy függvény "add" tartott két egészbe 254 00:14:14,250 --> 00:14:16,670 és azt mondtad int a és b int. 255 00:14:16,670 --> 00:14:22,680 Ez lenne a nevére egy, és ha akart egy másik formája, amely 256 00:14:22,680 --> 00:14:27,800 tehetünk, csak a másolás és beillesztés, akkor mi lenne a neve b. 257 00:14:27,800 --> 00:14:31,030 >> Tehát most mi lesz két paraméter hogy a jelenleg átengedjük 258 00:14:31,030 --> 00:14:36,970 hogy a következő website-- A következő weblapon hello.php. 259 00:14:36,970 --> 00:14:39,770 És valóban látni újra, ha akarunk. 260 00:14:39,770 --> 00:14:44,830 Ez a legegyszerűbb módja annak, hogy foglalkozik A web kódot az IDE, alapvetően. 261 00:14:44,830 --> 00:14:47,940 Elindítja a szervert, hogy ez futás, majd minden alkalommal, amikor 262 00:14:47,940 --> 00:14:50,649 hogy néhány változtatást, csak közel hogy a fájl csak a biztonság kedvéért. 263 00:14:50,649 --> 00:14:52,440 A Vissza gomb megnyomásával egy kicsit trükkös 264 00:14:52,440 --> 00:14:55,800 mert lehet betölteni egy korábbi változat, nem a legfrissebb az egyik. 265 00:14:55,800 --> 00:14:59,200 >> És akkor csak nyomd meg a gombot újra, pop jobb up-- ó, 266 00:14:59,200 --> 00:15:00,510 és most két formája van. 267 00:15:00,510 --> 00:15:10,440 És így ha beírjuk egy dolog az egyes one-- "Jason Hirshhorn" a instance-- 268 00:15:10,440 --> 00:15:11,590 köszönünk. 269 00:15:11,590 --> 00:15:12,840 Bízunk fel nálunk paramétereket. 270 00:15:12,840 --> 00:15:18,910 Úgy néz ki, megvan, mint várható, a = Jason és b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 amely a két paraméter hogy át ezt a funkciót. 272 00:15:23,760 --> 00:15:27,900 >> Így most nézzük valóban eljut végrehajtó funkciók, hogy mi 273 00:15:27,900 --> 00:15:30,840 volt a P szett 6. 274 00:15:30,840 --> 00:15:32,490 Akkor most mi csak visszhangzó helló. 275 00:15:32,490 --> 00:15:34,310 És ez nem túl hasznos. 276 00:15:34,310 --> 00:15:38,530 Azt akarjuk, hogy echo néhány változót hogy átadták nekünk. 277 00:15:38,530 --> 00:15:40,320 És tudjuk, hogy a neve ennek a változó. 278 00:15:40,320 --> 00:15:41,770 Van egy és mi b. 279 00:15:41,770 --> 00:15:43,500 Így lehet választani, hogy echo bármelyik. 280 00:15:43,500 --> 00:15:45,470 >> De hogyan hozzáférni? 281 00:15:45,470 --> 00:15:48,820 Nos, vannak bizonyos A globális változók a PHP. 282 00:15:48,820 --> 00:15:51,240 És én fogom írni azokat a megjegyzéseket itt. 283 00:15:51,240 --> 00:15:59,910 A két legfontosabbak get és tegye a céljainknak most. 284 00:15:59,910 --> 00:16:05,350 Ezek azok a sorok, illetve, Technikailag a szótárak 285 00:16:05,350 --> 00:16:10,540 ahol változók vagyunk átadva a következő weboldalon élőben. 286 00:16:10,540 --> 00:16:14,520 És hamarosan látni fogjuk, hogyan kell használni őket. 287 00:16:14,520 --> 00:16:19,720 >> Egy másik rövid megjegyzés a PHP kód és néhány sajátosságait it-- a C, 288 00:16:19,720 --> 00:16:23,260 , hogy egy változót vagy használni változók, 289 00:16:23,260 --> 00:16:24,570 először nyilatkoznia kellett őket. 290 00:16:24,570 --> 00:16:30,860 És mit kellett tennie, ha nyilvánította őket volt mondani int egy vagy char b. 291 00:16:30,860 --> 00:16:35,630 Meg kellett állapítsa meg a típusok ezeknek változók, mielőtt megalkotta őket. 292 00:16:35,630 --> 00:16:38,800 PHP-- nem kell semmilyen e. 293 00:16:38,800 --> 00:16:42,522 PHP nem kér a változó típusa. 294 00:16:42,522 --> 00:16:44,480 És az is, hogy hozzon létre egy változó-- inkább 295 00:16:44,480 --> 00:16:49,930 mintha azt mondanánk, int, char, string-- ami igazán char *, mint mi tudom-- 296 00:16:49,930 --> 00:16:52,180 ehelyett inkább az összes hogy azért, mert mindent 297 00:16:52,180 --> 00:16:54,620 van az azonos típusú, típus nélküli, mi csak 298 00:16:54,620 --> 00:16:59,210 használja karakter, amely a dollár jel. 299 00:16:59,210 --> 00:17:03,700 És látni fogja, ez már felbukkanó up, kis autocomplete dolgokat. 300 00:17:03,700 --> 00:17:11,380 És mondja, hogy _GET és _POST Két lehetőség van, hogy van elérhető 301 00:17:11,380 --> 00:17:11,900 nekem. 302 00:17:11,900 --> 00:17:16,430 Néhány ilyen egyéb dolgok más globális változók a PHP 303 00:17:16,430 --> 00:17:18,430 hogy akkor használja felett során P készlet 7. 304 00:17:18,430 --> 00:17:20,569 Most megyünk összpontosítani a GET és POST. 305 00:17:20,569 --> 00:17:22,910 De ez egy hasznos dolog, hogy az IDE csinál 306 00:17:22,910 --> 00:17:24,980 ahol egykor beírt abban a dollár jel, 307 00:17:24,980 --> 00:17:28,760 ez fog kezdeni kitöltésével globális változók vagy változók, amit már definiált. 308 00:17:28,760 --> 00:17:34,360 >> Tehát, ha akarta, hogy meghatározza változó a "szöveg" 309 00:17:34,360 --> 00:17:38,290 akkor csak meg azt egyenlő "hi". 310 00:17:38,290 --> 00:17:40,100 És ez alapvetően olyan egyszerű, mint ezt. 311 00:17:40,100 --> 00:17:44,720 És akkor tudnánk csinálni olyasmit, hogy "echo $ string." 312 00:17:44,720 --> 00:17:48,524 Az IDE kell dobott néhány hibákat, ha csinálok semmi rosszat, 313 00:17:48,524 --> 00:17:50,190 így remélhetőleg csinálok mindent jól. 314 00:17:50,190 --> 00:17:52,060 De a hibákat mindig nem merülnek fel. 315 00:17:52,060 --> 00:17:56,670 >> Egy másik trükkös dolog PHP hogy ez nem összeállítani. 316 00:17:56,670 --> 00:18:00,640 Tehát C program, akkor tegye A napi rutin of-- alapvetően, 317 00:18:00,640 --> 00:18:02,710 ha lenne szerkesztések A kód azt menteni, 318 00:18:02,710 --> 00:18:04,460 és akkor lenne teszik, ahol make volt 319 00:18:04,460 --> 00:18:08,830 A lépés, hogy nevezett a fordító, csenget, hogy a kódot, ez a szöveg 320 00:18:08,830 --> 00:18:10,570 fájlt, egy futtatható. 321 00:18:10,570 --> 00:18:15,550 PHP C-szerű, de ez végre menet közben használt böngésző. 322 00:18:15,550 --> 00:18:17,640 Szóval nincs lehet tudni. 323 00:18:17,640 --> 00:18:19,790 >> Tedd azt dobja azokat Hasznos hibákat, ugye? 324 00:18:19,790 --> 00:18:22,190 Olyan lenne, mint Ön nem vallották ezt a változót 325 00:18:22,190 --> 00:18:23,320 Mielőtt megpróbálta használni. 326 00:18:23,320 --> 00:18:29,120 Te tetted ezt rossz stuff-- szegmentációs hiba, szegmentációs hiba, minden fajta szórakozás alkalommal 327 00:18:29,120 --> 00:18:31,000 kapott make. 328 00:18:31,000 --> 00:18:33,920 A PHP egy kétélű kard mert nem fog ez a hiba, 329 00:18:33,920 --> 00:18:37,770 de ez azt is jelenti, hogy nem fogod tudni Tényleg, mi a baj a programmal 330 00:18:37,770 --> 00:18:39,840 ha csak futni, és ez nem működik. 331 00:18:39,840 --> 00:18:45,130 De a debugger ki kell emelnem, Néhány remélhetőleg hasznos kis dolgok 332 00:18:45,130 --> 00:18:47,950 nyelvtanilag, hogy meg tudod oldani. 333 00:18:47,950 --> 00:18:52,850 >> Tehát most, ha átmegyünk az alábbiakra: azt mondják, zárjuk ezt. 334 00:18:52,850 --> 00:18:54,522 Újranyitása. 335 00:18:54,522 --> 00:18:55,480 És újra itt vagyunk, hogy itt. 336 00:18:55,480 --> 00:18:57,210 Tehát van egy változó és egy B változó. 337 00:18:57,210 --> 00:18:58,626 És ezek végül nem számít. 338 00:18:58,626 --> 00:19:01,850 Hívjuk őket h és g különösebb ok nélkül. 339 00:19:01,850 --> 00:19:03,120 >> És köszönünk. 340 00:19:03,120 --> 00:19:07,480 Most úgy néz ki, mint a húr "hi" valóban a nyomtatást. 341 00:19:07,480 --> 00:19:10,460 Létrehoztunk egy változó nevű "karakterlánc," meg, egyenlő "hi". 342 00:19:10,460 --> 00:19:15,520 Figyeljük meg, hogy nem volt köze malloc vagy hogy egy karakter tömb. 343 00:19:15,520 --> 00:19:19,110 >> A PHP, mert változók a típus nélküli, egy string 344 00:19:19,110 --> 00:19:22,230 ugyanaz, mint egy char számára minden szándékkal és céllal. 345 00:19:22,230 --> 00:19:23,570 Ez lehet a "hi". 346 00:19:23,570 --> 00:19:26,340 Ez lehet csak a karakter k. 347 00:19:26,340 --> 00:19:29,290 Ez lehet egy szám 1. 348 00:19:29,290 --> 00:19:30,300 És ez nem érdekli. 349 00:19:30,300 --> 00:19:33,560 PHP nem érdekel milyen típusú a változó. 350 00:19:33,560 --> 00:19:34,390 Vagy ez nem érdekel. 351 00:19:34,390 --> 00:19:36,240 Ez érdekel, amikor megpróbál és olyan dolgokat vele, 352 00:19:36,240 --> 00:19:38,790 de ez nem érdekli A nyilatkozat lépést. 353 00:19:38,790 --> 00:19:46,960 >> És mint te is a C, akkor Kijelentem, húrok a verem, mint ez 354 00:19:46,960 --> 00:19:51,130 bár azt mondja: "verem" egy kicsit Kicsit potenciális helytelen elnevezés, amikor 355 00:19:51,130 --> 00:19:52,230 beszélünk PHP. 356 00:19:52,230 --> 00:19:54,020 De nem kell aggódni, hogy. 357 00:19:54,020 --> 00:19:55,936 Szóval megvan a húr "hi", és mi echo karakterlánc. 358 00:19:55,936 --> 00:19:58,880 Így most már tárgyalt változók. 359 00:19:58,880 --> 00:20:06,060 Tehát most kell beszélni get és Posta és végre az utolsó dolog, ami 360 00:20:06,060 --> 00:20:12,660 szükség, hogy valóban ezt vissza A funkció a P szett 6. 361 00:20:12,660 --> 00:20:14,990 Akkor most mi vagyunk visszhangos a húr, de 362 00:20:14,990 --> 00:20:17,080 nem kell ezeket a változókat kap és post. 363 00:20:17,080 --> 00:20:19,430 És mivel mi használ A módszer kap, akkor 364 00:20:19,430 --> 00:20:24,810 Természetesnek tűnik, hogy a változó, mi érdekli, az A és B, 365 00:20:24,810 --> 00:20:29,870 lesz található a tömbben vagy szótár, technikailag kap. 366 00:20:29,870 --> 00:20:33,510 >> Ha tehát létre, hogy ilyen Ön groups-- nyomtam be 367 00:20:33,510 --> 00:20:36,770 és ez nem tetszett it-- de itt már kap. 368 00:20:36,770 --> 00:20:38,000 És így kap már létezik. 369 00:20:38,000 --> 00:20:41,380 Így már elkezdheti a hozzáférést néhány eleme a GET. 370 00:20:41,380 --> 00:20:45,000 Ha nem kap, ez a szintaxis tömbök a PHP-ben nagyon C-szerű. 371 00:20:45,000 --> 00:20:47,900 Megvan a két szögletes zárójel. 372 00:20:47,900 --> 00:20:53,440 >> Tehát, ha azt mondjuk, hogy egy normális tömb, tudtuk elérni 373 00:20:53,440 --> 00:20:55,600 A nulladik index, az első index. 374 00:20:55,600 --> 00:20:56,840 PHP nulla index. 375 00:20:56,840 --> 00:21:00,550 Mondhatnánk nulla, egy, two-- dolgok, mint ez. 376 00:21:00,550 --> 00:21:03,420 És már azt mondja, hogy kap technikailag egy szótárban. 377 00:21:03,420 --> 00:21:08,290 Tehát mi PHP csinál a motorháztető alatt, ami egy kicsit szebb, mint a C, 378 00:21:08,290 --> 00:21:12,760 ez már ad némi szótár funkcionalitást, amely 379 00:21:12,760 --> 00:21:16,240 valóban hash táblák, vagy megpróbál, állítólag. 380 00:21:16,240 --> 00:21:19,360 Vagy, technikailag lehet egy próbát is. 381 00:21:19,360 --> 00:21:25,500 De a PHP végrehajtja a hash tábla, képező hatékony szótárban. 382 00:21:25,500 --> 00:21:28,400 >> És így tudjuk a nevét a mi változó, ugye? 383 00:21:28,400 --> 00:21:32,440 Akkor azt telt el A lekérdezés string PHP. 384 00:21:32,440 --> 00:21:37,290 Van egy = H és b = g, ahol a és b a nevei a változók. 385 00:21:37,290 --> 00:21:41,580 Tehát az is, hogy tudjuk elérni a értéket, amely megfelel a kulcs 386 00:21:41,580 --> 00:21:45,055 a mi szótár Csak azzal _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Tehát most van _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 És ha csak cserélje belül a visszhang, ha echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 és majd meglátjuk, hogy a hibakereső dob esetleges hibákat mintegy this-- 391 00:22:02,410 --> 00:22:05,620 fogjuk menteni, hogy zárja be ezt ki. 392 00:22:05,620 --> 00:22:07,130 Nyisd fel. 393 00:22:07,130 --> 00:22:10,390 Úgyhogy csak csinál egy jobb most, hogy b nem számít. 394 00:22:10,390 --> 00:22:12,980 "ő" és a "vele" - "zümmögés." "ő" és a "zümmögés". 395 00:22:12,980 --> 00:22:14,810 Jól hangzik. 396 00:22:14,810 --> 00:22:18,040 >> És ez kinyomtatható "ő", ami őrület. 397 00:22:18,040 --> 00:22:21,920 De hogy pontosan mi történik a P szett 6. 398 00:22:21,920 --> 00:22:27,240 Alapvetően mi P szett 6 volt doing-- echo hello, 399 00:22:27,240 --> 00:22:31,580 name-- ahol volt egy változó nevét, és ez csak 400 00:22:31,580 --> 00:22:35,520 kéri, hogy írja be azt a kis szöveget. 401 00:22:35,520 --> 00:22:37,380 Volt még néhány kiegészítő kód, ahol 402 00:22:37,380 --> 00:22:40,550 ez benne, ha nyilatkozatok, amit tehetünk most. 403 00:22:40,550 --> 00:22:50,120 >> Elmondhatjuk, ha létezik, amely egy funkciót a PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Az aláhúzás, "name" - amely lényegében azt mondja, 405 00:22:55,110 --> 00:22:58,760 "Ha a név nem lett kitöltve", mert tudtunk volna csak rákattintott a gombra 406 00:22:58,760 --> 00:23:02,580 elküldeni az űrlapot nélkül gépelés semmit ezen a területen. 407 00:23:02,580 --> 00:23:07,760 És csomagoljuk, hogy a mi barátságos kapcsoszárójele. 408 00:23:07,760 --> 00:23:09,175 Mi lehet egy else utasítás. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 És ez mind a PHP szög konzol, kérdőjel, hegyes zárójel, 411 00:23:18,820 --> 00:23:20,040 ha úgy tetszik. 412 00:23:20,040 --> 00:23:21,750 >> És most majd meglátjuk, ha ez működik. 413 00:23:21,750 --> 00:23:26,300 Folyton arra vár, hogy a debug és szarni ki rajtam, alapvetően, 414 00:23:26,300 --> 00:23:28,410 de ez még nem. 415 00:23:28,410 --> 00:23:30,830 Lehet, hogy majd most mert én beszéltem. 416 00:23:30,830 --> 00:23:31,330 Aha. 417 00:23:31,330 --> 00:23:32,510 Tette, sőt. 418 00:23:32,510 --> 00:23:34,610 Szóval, semmi sem mutat fel. 419 00:23:34,610 --> 00:23:38,750 Ennek oka, hogy valami baj van hogy én írtam a PHP kódot. 420 00:23:38,750 --> 00:23:42,844 És azt már említettem a hibakeresés trükkös, mert a PHP, mi 421 00:23:42,844 --> 00:23:45,260 nem fordította volna ezt megelőzően és a fordító nem tetszik, 422 00:23:45,260 --> 00:23:46,710 itt van, ahol a hibák. 423 00:23:46,710 --> 00:23:49,690 >> De mit tehetünk is-- tenni az emberek emlékeznek 424 00:23:49,690 --> 00:23:57,010 hogyan kell nézni a különböző hálózati kéri, hogy PHP-- vagy honlapok 425 00:23:57,010 --> 00:23:57,620 elküld? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Tette ezt előadás egyszer vagy kétszer. 427 00:24:00,290 --> 00:24:05,830 Emlékszel hova megyünk találni A különböző tartozások és 200 OKS, 428 00:24:05,830 --> 00:24:09,780 mindezek a szabályok, hogy küldik HTTP-n keresztül web oldalt weboldal? 429 00:24:09,780 --> 00:24:12,514 Tudja valaki emlékszik hová megyünk erre? 430 00:24:12,514 --> 00:24:13,787 >> Közönség: Oldal forrása. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: Oldal forrása. 432 00:24:14,870 --> 00:24:15,890 Pontosan. 433 00:24:15,890 --> 00:24:19,230 Ha megy oldal Source-- tökéletes. 434 00:24:19,230 --> 00:24:21,630 Tehát Oldal forrása húzza fel az ellenőr. 435 00:24:21,630 --> 00:24:23,140 >> És én vagyok a Safari. 436 00:24:23,140 --> 00:24:25,790 Sok akkor valószínűleg használja a Chrome vagy a Firefox. 437 00:24:25,790 --> 00:24:27,750 De amíg te minden modern browser-- 438 00:24:27,750 --> 00:24:29,500 és bátran kövesse valamint ha akarod. 439 00:24:29,500 --> 00:24:32,560 Akkor írja fel ezt a kódot, vagy Csak belenézel a Pset 6 440 00:24:32,560 --> 00:24:35,820 könyvtár néhány hasonló dolgokat. 441 00:24:35,820 --> 00:24:41,020 hello.php mi vagyunk jelenleg is dolgozik emulálni. 442 00:24:41,020 --> 00:24:42,476 >> Tehát vannak különböző fülek. 443 00:24:42,476 --> 00:24:43,850 Azt nézd meg a források. 444 00:24:43,850 --> 00:24:45,810 Láthatjuk a forráskódot. 445 00:24:45,810 --> 00:24:49,900 Így néz ki, hogy nem hogy elmúlt testület a végén. 446 00:24:49,900 --> 00:24:54,890 Ez hibát talált a PHP és megállt betölti az egész weboldal. 447 00:24:54,890 --> 00:24:58,320 Mi nem is kell véget címkét HTML, vagy bármi. 448 00:24:58,320 --> 00:25:07,189 >> És ha megnézzük a hálózat, tudjuk látom, hogy mi van intézett. 449 00:25:07,189 --> 00:25:07,980 Ez az a tartomány. 450 00:25:07,980 --> 00:25:09,270 Ez az a cím. 451 00:25:09,270 --> 00:25:10,070 Ez egy dokumentumot. 452 00:25:10,070 --> 00:25:14,310 Mi a GET-metódussal. 453 00:25:14,310 --> 00:25:15,760 >> És ez a piros. 454 00:25:15,760 --> 00:25:19,030 Vagy, Vörös volt, amikor én Nem bejelölésével. 455 00:25:19,030 --> 00:25:22,680 Hogyan vetted meg? 456 00:25:22,680 --> 00:25:23,980 Nos, nem volt piros. 457 00:25:23,980 --> 00:25:25,201 Hadd frissítsem. 458 00:25:25,201 --> 00:25:25,700 Ott van. 459 00:25:25,700 --> 00:25:26,640 Most már piros. 460 00:25:26,640 --> 00:25:30,530 >> Szóval ez a piros, ami azt jelenti, ez nem sikerült, ami rossz. 461 00:25:30,530 --> 00:25:32,280 Tehát nézzük meg, hogy miért nem. 462 00:25:32,280 --> 00:25:37,070 Így minden, az oldal forrását is Alapvetően mondani, hogy a dolog 463 00:25:37,070 --> 00:25:38,720 nem működött, amely akkor már látni. 464 00:25:38,720 --> 00:25:42,100 Tehát ideális esetben ott lenne használhatóbb eszköz. 465 00:25:42,100 --> 00:25:45,710 És van néhány böngésző kiterjesztés amely lehetővé teszi, hogy debug PHP, 466 00:25:45,710 --> 00:25:50,490 de mi nem megy írni egy csomó PHP, 467 00:25:50,490 --> 00:25:53,190 így talán csak a legjobb hogy nézze át a kódot 468 00:25:53,190 --> 00:25:56,760 gondosan és csak arról, hogy ez nem csinál mást. 469 00:25:56,760 --> 00:26:03,876 >> Tehát lássuk, ha a formátuma Ha az állítás, hol a probléma. 470 00:26:03,876 --> 00:26:07,420 Azt akarom tölteni, hogy újra itt. 471 00:26:07,420 --> 00:26:09,830 Helló, szia. 472 00:26:09,830 --> 00:26:11,350 Szóval van egy kis gond van. 473 00:26:11,350 --> 00:26:15,130 >> Tehát a helyes szintaxist PHP, PHP megy 474 00:26:15,130 --> 00:26:17,369 hogy a C-szerű, hogy látni fogod hurkok. 475 00:26:17,369 --> 00:26:18,410 Majd meglátod, ha kimutatásokat. 476 00:26:18,410 --> 00:26:20,920 Majd meglátod mindezeket barátok hogy már megismerik 477 00:26:20,920 --> 00:26:24,820 több mint során E CS50 félévben. 478 00:26:24,820 --> 00:26:29,960 De a legjobb módja annak, hogy kitaláljuk, hogyan lehet tenni valamit a PHP-ben, hogy a Google is 479 00:26:29,960 --> 00:26:33,170 vagy nézd meg néhány példát PHP kódot mert tudod, hogy a funkcionalitást. 480 00:26:33,170 --> 00:26:35,080 >> Tudod, mit tudsz ezt a programot. 481 00:26:35,080 --> 00:26:35,976 Tudod hurok. 482 00:26:35,976 --> 00:26:37,600 Tudod hurok, ahányszor csak akar. 483 00:26:37,600 --> 00:26:39,433 Akkor hurok minden a legkülönbözőbb módokon. 484 00:26:39,433 --> 00:26:40,700 Tudod teremt funkciókat. 485 00:26:40,700 --> 00:26:43,241 Tudod teremt funkciók hívni más funkciók, funkciók 486 00:26:43,241 --> 00:26:44,150 hogy hívják magukat. 487 00:26:44,150 --> 00:26:45,733 És van, neveket ezeket a fogalmakat. 488 00:26:45,733 --> 00:26:49,860 Megvan rekurzió, hurkok, ha más ellenőrzési folyamatok. 489 00:26:49,860 --> 00:26:51,300 És így a Google a legjobb barátod. 490 00:26:51,300 --> 00:26:53,540 Még azt mondják, "PHP, ha nyilatkozatot ", és hogy lesz- 491 00:26:53,540 --> 00:26:57,740 legyen tonna állások választ mások 492 00:26:57,740 --> 00:27:02,090 akik már voltak hasonló kérdések Önnek, akik csak most kezdik el a PHP 493 00:27:02,090 --> 00:27:03,820 és kíváncsi szintaktikai dolog. 494 00:27:03,820 --> 00:27:08,480 >> Mert mi van a luxust, hogy tudja, hogy nézd meg a kódot Pset 6, 495 00:27:08,480 --> 00:27:14,980 mi valójában húzza fel, és látom, hogy OK, itt van valami érdekes. 496 00:27:14,980 --> 00:27:18,070 Szóval ez az, amit valójában nézett ki, mint a P szett 6. 497 00:27:18,070 --> 00:27:20,340 Tehát, ha végig ezt, láthatjuk, hogy már 498 00:27:20,340 --> 00:27:27,150 Van több ilyen kis PHP-szerű kérdőjel bit. 499 00:27:27,150 --> 00:27:29,050 >> És itt nincsenek zárójelek segítségével. 500 00:27:29,050 --> 00:27:30,250 Vannak kettőspont. 501 00:27:30,250 --> 00:27:32,340 És vannak göndör nadrágtartó PHP, de ez 502 00:27:32,340 --> 00:27:38,700 egy olyan formátum, és egy módja a PHP, hogy jól működik a HTML 503 00:27:38,700 --> 00:27:43,830 mert ahogy látni fogjátok, mi záró ki ezeket PHP bits-- a másnak 504 00:27:43,830 --> 00:27:49,770 és az IFS és az összes hogy-- majd mi interspersing HTML bennük 505 00:27:49,770 --> 00:27:54,640 miközben követő vezérlésfolyam által meghatározott PHP. 506 00:27:54,640 --> 00:27:58,480 >> Szóval én csak fog gyors séta ezt 507 00:27:58,480 --> 00:28:01,740 mert ez egy csomó ugyanolyan koncepciók csinálunk előtt. 508 00:28:01,740 --> 00:28:07,280 Megvan ha nem üres, zárójelben, _GET_GET ["name"]. 509 00:28:07,280 --> 00:28:08,500 Ez mind ugyanazokat a dolgokat. 510 00:28:08,500 --> 00:28:15,430 Mi az _GET szótárban, hogy PHP küld kérésére formák, 511 00:28:15,430 --> 00:28:20,720 mert ez a paramétereit akció, és a módszer kap. 512 00:28:20,720 --> 00:28:22,110 És akkor, ha a vége, hogy. 513 00:28:22,110 --> 00:28:27,420 A vastagbél egy jelölő, hogy csak ezt ha az if értéke igaz. 514 00:28:27,420 --> 00:28:29,490 Ez olyan, mint egy kapcsos zárójel. 515 00:28:29,490 --> 00:28:33,320 És valóban, ez egy göndör merevítő Más nyelvek, mint a Python, 516 00:28:33,320 --> 00:28:37,070 amely akkor találkozhat, ha csak Ehhez a végleges projekt. 517 00:28:37,070 --> 00:28:40,170 >> És akkor ezt a sort, helló. 518 00:28:40,170 --> 00:28:41,510 Aztán itt van ez a fura dolog. 519 00:28:41,510 --> 00:28:43,190 Van több zárójelben. 520 00:28:43,190 --> 00:28:46,140 Nincs HTTP there-- vagy PHP, sajnálom. 521 00:28:46,140 --> 00:28:47,250 De van egy egyenlőségjel. 522 00:28:47,250 --> 00:28:50,625 És akkor mi van feladatuk, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Ez a fajta, mint egy továbbfejlesztett változata visszhang. 525 00:28:58,040 --> 00:29:01,450 Mint azt már echo, mert így nyomtatni dolgokat PHP. 526 00:29:01,450 --> 00:29:03,890 Ez a funkció, ami meghatározott PHP hogy 527 00:29:03,890 --> 00:29:08,160 foglalkozik majd néhány csúnya karakterek és bájtértékeket 528 00:29:08,160 --> 00:29:09,540 hogy meg tudná átadni. 529 00:29:09,540 --> 00:29:11,070 Mindig legbiztonságosabb használni ezt. 530 00:29:11,070 --> 00:29:14,930 De echo fogja elvégezni a munkát csak finom, ha nem vagyunk 531 00:29:14,930 --> 00:29:17,620 megbirkózni bármivel is csúnya. 532 00:29:17,620 --> 00:29:20,340 >> És így ez ugyanazt a hatása alapvetően, 533 00:29:20,340 --> 00:29:26,360 ez a cucc a kérdésből jelek értékeljük PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars visszatér egy szép HTML nyomtatott értéke _GET_GET ["name"], azaz 535 00:29:34,490 --> 00:29:36,010 amit csak gépelt formában. 536 00:29:36,010 --> 00:29:40,025 És akkor majd köszönni, vessző helyet, és akkor azt. 537 00:29:40,025 --> 00:29:42,910 Ez az egész dolog között relációjelet 538 00:29:42,910 --> 00:29:47,390 váltja fel, amit htmlspecialchars kioltja. 539 00:29:47,390 --> 00:29:49,390 Szóval ez alapvetően hasonló hogy mit csinálunk. 540 00:29:49,390 --> 00:29:54,760 És van egy else utasítás, hogy ez hello world, ami teljesen érthető. 541 00:29:54,760 --> 00:29:58,070 Szóval most menjünk vissza a kódot, és látni exactly-- ó. 542 00:29:58,070 --> 00:30:02,200 Azt mondta létezik, amely nem Egy dolog, hogy szerettünk volna csinálni. 543 00:30:02,200 --> 00:30:05,370 Azt akartam mondani, nem üres. 544 00:30:05,370 --> 00:30:10,020 >> És ezért ez a munka egy kicsit kicsit jobb, nem üres _GET_GET ["name"]. 545 00:30:10,020 --> 00:30:12,710 És ez kapcsos zárójel megegyezik kapcsos zárójel. 546 00:30:12,710 --> 00:30:15,210 Megvan a kapcsos zárójelek itt. 547 00:30:15,210 --> 00:30:17,790 echo hello _GET ["name"]. 548 00:30:17,790 --> 00:30:19,912 Lássuk, ha ez működik egy kicsit jobban. 549 00:30:19,912 --> 00:30:21,350 Még mindig fut a szerver. 550 00:30:21,350 --> 00:30:23,910 Szia Jason. 551 00:30:23,910 --> 00:30:24,780 Szia Jason. 552 00:30:24,780 --> 00:30:25,810 És működött ebben az időben. 553 00:30:25,810 --> 00:30:29,860 És ez az igazolás hogy valóban 554 00:30:29,860 --> 00:30:35,180 Használja a kapcsos zárójelek, hogy ismerik és szeretik a PHP kód HTML-ben. 555 00:30:35,180 --> 00:30:41,100 A PHP kód nyújtott Önt PSET 6-- PSET 6-- 556 00:30:41,100 --> 00:30:44,760 további lehetőségeket ad csinálja ugyanezt. 557 00:30:44,760 --> 00:30:49,220 >> Tehát most már a hatalom. 558 00:30:49,220 --> 00:30:55,740 Megvan a funkcionalitás megvalósítására A PHP kódot, amit látott PSET 6 559 00:30:55,740 --> 00:30:57,390 a magunk, alapvetően. 560 00:30:57,390 --> 00:31:01,350 Mielőtt áttérnénk arra, mik a kérdésre, hogy van ezen a ponton? 561 00:31:01,350 --> 00:31:02,066 Igen [hallható]. 562 00:31:02,066 --> 00:31:06,512 >> Közönség: Tehát változatának pset6, futtatáskor, van egy hely. 563 00:31:06,512 --> 00:31:09,330 És látom, ahol a tér a vessző után. [Hallhatatlan] Start 564 00:31:09,330 --> 00:31:10,700 A nyitó zárójel. 565 00:31:10,700 --> 00:31:15,420 Hogyan bele a helyet ahogy írtad a saját kódok? 566 00:31:15,420 --> 00:31:17,910 >> Előadó: Ez egy jó kérdés. 567 00:31:17,910 --> 00:31:21,650 És így nézzük, hogy ki. 568 00:31:21,650 --> 00:31:24,450 Szóval ez egy nagyon jó kérdés és az egyik, hogy nem tartottam. 569 00:31:24,450 --> 00:31:25,950 De nézzük együtt csináljuk. 570 00:31:25,950 --> 00:31:30,280 >> Tehát először is, hogy mi Csinálok echo 571 00:31:30,280 --> 00:31:33,690 van, amikor csak echo hello, kiadja helló. 572 00:31:33,690 --> 00:31:41,310 Ha echo most ez kap egy külön vonal, Vizsgáljuk meg, mi történik. 573 00:31:41,310 --> 00:31:43,740 Tehát kattintson erre. 574 00:31:43,740 --> 00:31:45,220 Tartjuk mondván, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Tehát újra, nem ezt a helyet. 576 00:31:48,690 --> 00:31:53,090 >> És ez azért van, mert a PHP, amikor már echo, 577 00:31:53,090 --> 00:31:55,820 nem számít, hány spaces-- dehogy, nem V-- 578 00:31:55,820 --> 00:32:01,770 nem számít, hány mezőt teszünk here-- ha most betölteni, hogy újra, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Igen, lásd, az összes ilyen terek kapott felemésztette. 581 00:32:05,770 --> 00:32:08,020 És ez olyasmi, Az echo függvény. 582 00:32:08,020 --> 00:32:11,110 >> Tehát vigyázni hogy a tér, és ez az 583 00:32:11,110 --> 00:32:14,960 az egyik oka miért nem használja echo 584 00:32:14,960 --> 00:32:18,200 és használja htmlspecialchars helyett. 585 00:32:18,200 --> 00:32:22,140 Kíváncsi vagyok, mi lenne történne, ha ezt tettük 586 00:32:22,140 --> 00:32:26,700 ahol zárt térben egy szövegben. 587 00:32:26,700 --> 00:32:29,720 Én tényleg nem tudom, mi fog történni, ha ezt csinálom. 588 00:32:29,720 --> 00:32:30,790 >> Szóval ez az egyik módja. 589 00:32:30,790 --> 00:32:32,210 Ez az egyik módja annak, hogy vigyázzon rá. 590 00:32:32,210 --> 00:32:34,840 Ha tekerje a helyet a szöveget, majd a tér 591 00:32:34,840 --> 00:32:36,920 akkor is kiviszi szépen visszhang. 592 00:32:36,920 --> 00:32:41,930 A legbiztonságosabb dolog, csinálni htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Ez mindig a biztonságos fogadást. 594 00:32:43,800 --> 00:32:47,050 De most van egy módja, ez az echo, ha szükséges. 595 00:32:47,050 --> 00:32:50,700 És hasonló módon tudunk echo új vonalak, minden sort 596 00:32:50,700 --> 00:32:53,550 A cucc még nem ismeri csinál PHP. 597 00:32:53,550 --> 00:32:57,460 >> Bárki más, mik többé kérdésre, hogy más emberek 598 00:32:57,460 --> 00:33:01,090 Ezen a ponton a PHP-ről? 599 00:33:01,090 --> 00:33:04,620 Ha az emberek mutatott fel egy kicsit későn, Boldog vagyok, hogy maradjon, miután egy kicsit 600 00:33:04,620 --> 00:33:06,420 és beszélni néhány elején. 601 00:33:06,420 --> 00:33:10,380 És ez is az összes livestreamed, és archív, ami őrület. 602 00:33:10,380 --> 00:33:13,960 >> Különben is, így most nézzük meg néhány fejlettebb cucc PHP. 603 00:33:13,960 --> 00:33:18,790 És az egyik legkorábbi dolog, amit vezették be, hogy a C volt a hurok. 604 00:33:18,790 --> 00:33:24,060 És a PHP van egy erősebb az hurok úgynevezett foreach ciklus. 605 00:33:24,060 --> 00:33:37,940 És úgy néz ki this-- minden üres üres, zárójelek, ezt a dolgot. 606 00:33:37,940 --> 00:33:41,500 Szóval ez alapvetően egy rövidített. 607 00:33:41,500 --> 00:33:45,380 >> Lásd, a for ciklus, mint a szintaktikai építése 608 00:33:45,380 --> 00:33:50,590 dolgozta ki a C és a gyülekezési nyelv és a dolgok tetszik. 609 00:33:50,590 --> 00:33:56,300 Kidolgozott C, pontosan, gyors- Egy csomó típusú hurkok 610 00:33:56,300 --> 00:33:57,750 hogy az emberek látni. 611 00:33:57,750 --> 00:34:01,230 Mint amikor azt írta a hurok, ott gyakran volt egy kiindulási lépésben 612 00:34:01,230 --> 00:34:04,700 végrehajtott rögtön az elején, egy állapot, amikor a hurok lenne stop-- 613 00:34:04,700 --> 00:34:07,030 és ez a funkció ez csak egy while ciklus, 614 00:34:07,030 --> 00:34:10,040 vagy hogy egy ideig pontosan Csak, hogy feature-- majd 615 00:34:10,040 --> 00:34:12,320 egy Növelés lépés végén. 616 00:34:12,320 --> 00:34:16,489 És így azt gyakran találja magát kódot írni, mint a következő. 617 00:34:16,489 --> 00:34:19,780 Megyek töröljön néhány e. 618 00:34:19,780 --> 00:34:23,850 >> De ha már ismételve keresztül karakter egy tömbben, 619 00:34:23,850 --> 00:34:26,960 például, mint mi már Van egy sor karakter. 620 00:34:26,960 --> 00:34:29,400 Sajnáljuk, hogy vissza C. tudom, azt hittem, kész. 621 00:34:29,400 --> 00:34:31,900 De ez csak arra a célra A tanulás PHP, ígérem. 622 00:34:31,900 --> 00:34:38,880 Tehát, ha van egy char str A hossza 8, és nézzük 623 00:34:38,880 --> 00:34:46,760 azt mondják, hogy mondja Hellooo A záró null. 624 00:34:46,760 --> 00:34:48,270 Nagy, szóval ez a string. 625 00:34:48,270 --> 00:34:51,469 >> És akkor volt egy hurok. 626 00:34:51,469 --> 00:34:53,730 Van int i értéke 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 És azt akarjuk, hogy kilépjen, ha str Az i értéke nem egyenlő null, 629 00:35:09,110 --> 00:35:11,590 mert lépni, ha az megegyezik null. 630 00:35:11,590 --> 00:35:19,170 És akkor mi i ++ minden pont a for ciklus. 631 00:35:19,170 --> 00:35:30,480 Csinál valamit str i. 632 00:35:30,480 --> 00:35:34,950 >> Tehát az alapvető formula volt, mi volt ez a tömb, hogy mi 633 00:35:34,950 --> 00:35:37,910 akarta kezelni különálló elemként. 634 00:35:37,910 --> 00:35:45,170 De amit meg kellett tennie, amit kellett alapvetően egy olyan külön integer 635 00:35:45,170 --> 00:35:50,530 változó, hogy számolta fel minden időt mentünk át a hurkon. 636 00:35:50,530 --> 00:35:55,240 És akkor mi lett volna akkor hívja strstr [i], ha az, amit igazán akartam csinálni 637 00:35:55,240 --> 00:35:57,280 csak menj karakter karakterre, ugye? 638 00:35:57,280 --> 00:36:00,185 Nem akarjuk, hogy növeljük a integer majd ezeknek az egész 639 00:36:00,185 --> 00:36:02,780 eléréséhez minden egyes karakter külön-külön. 640 00:36:02,780 --> 00:36:04,410 Valóban szeretnénk karakterenként. 641 00:36:04,410 --> 00:36:08,600 >> És így minden intelligensen úgy számol, hogy a számunkra. 642 00:36:08,600 --> 00:36:11,875 Ha van egy tömbben, amely kijelenthetjük PHP 643 00:36:11,875 --> 00:36:15,900 mint csak-- ha van egy változó nevű, nevezzük tömb. 644 00:36:15,900 --> 00:36:19,840 A csodák nincsenek gépelés, ez mint bármely más változó. 645 00:36:19,840 --> 00:36:20,730 Ez csak egy tömbben. 646 00:36:20,730 --> 00:36:26,890 És van egy kis [hallható], mint 1, 2, 3, csak egyfajta újonnan elkészített tömb. 647 00:36:26,890 --> 00:36:29,680 Az rendben van, hogy nem tetszik a foreach. 648 00:36:29,680 --> 00:36:33,120 >> De ha valóban foreach-- Beírtam, hogy egy kicsit rossz. 649 00:36:33,120 --> 00:36:34,840 Két módja van egy foreach ciklus. 650 00:36:34,840 --> 00:36:37,400 Ott a szintaxis és a mint a szintaxis. 651 00:36:37,400 --> 00:36:40,580 És fogunk csinálni szintaktikai első, nem. 652 00:36:40,580 --> 00:36:41,780 Ez az én hibám. 653 00:36:41,780 --> 00:36:53,785 >> Tehát foreach szám a tömbben, echo szám. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 És PHP ordibál nekem valamiért. 656 00:36:59,500 --> 00:37:03,520 Ez találni egy váratlan el valamit, 657 00:37:03,520 --> 00:37:05,820 ami egy kicsit a fáradságot. 658 00:37:05,820 --> 00:37:09,105 De majd kitaláljuk hogy ez miért van egy pillanat. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Szóval nem olyan. 661 00:37:13,610 --> 00:37:15,040 Próbáljuk az a. 662 00:37:15,040 --> 00:37:17,310 Kedveli a mint szintaxis tűnik. 663 00:37:17,310 --> 00:37:22,550 Tehát lássuk foreach tömb szám. 664 00:37:22,550 --> 00:37:24,520 >> Szóval egy kis magyarázatot Az, ami történt 665 00:37:24,520 --> 00:37:30,670 Az AS-szintaxist saying-- is első, nézzük meg, hogy mi ez a készülék kinyomtatja. 666 00:37:30,670 --> 00:37:32,260 Így nyitunk meg IDE. 667 00:37:32,260 --> 00:37:33,110 Mi megy itt. 668 00:37:33,110 --> 00:37:35,845 Azt mondjuk, Hello, Jason. 669 00:37:35,845 --> 00:37:41,390 És valóban 123, melyek tartalma a tömb, amit teremtett fel tetején. 670 00:37:41,390 --> 00:37:45,500 >> Tehát búvárkodás ebbe foreach ciklus, van egy változó nevű tömb 671 00:37:45,500 --> 00:37:47,470 ami a tömb három szám. 672 00:37:47,470 --> 00:37:52,120 És akkor mi csinálunk foreach tömb szám, echo szám. 673 00:37:52,120 --> 00:37:54,990 És ez több, intuitív, mint egy az lop. 674 00:37:54,990 --> 00:38:02,380 Azt mondjuk, kezelésére minden A dolgok a tömb szám, 675 00:38:02,380 --> 00:38:05,180 Azt akarom, hogy adjon nekem Num. 676 00:38:05,180 --> 00:38:06,640 És ez pontosan mit csinál. 677 00:38:06,640 --> 00:38:12,000 >> PHP kiszámításához amikor azt mondod foreach tömb, 678 00:38:12,000 --> 00:38:16,080 és van dolgunk, egy tömbben, mit fogsz akar végighaladni 679 00:38:16,080 --> 00:38:19,950 a karakter, hogy tömb, az ehavi abban tömb, 680 00:38:19,950 --> 00:38:21,920 az elemek, hogy a tömb. 681 00:38:21,920 --> 00:38:26,110 És ez hagyta, hogy tárolja azokat a változókat, mint szám, 682 00:38:26,110 --> 00:38:29,360 és aztán csak kimeneti num Azonnal ahelyett, mondván, 683 00:38:29,360 --> 00:38:34,090 Nekem van egy változó az i, és akkor szeretnék kimeneti strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> És úgy, hogy lehetővé teszi számunkra, hogy nem jó dolog. 685 00:38:39,130 --> 00:38:43,330 Mint alapvetően nincs létrehozni ezeket a változókat, mint az i és tegyenek meg mindent 686 00:38:43,330 --> 00:38:45,090 ez a növelés cucc végén. 687 00:38:45,090 --> 00:38:48,290 PHP gondoskodik minden, hogy az Ön számára. 688 00:38:48,290 --> 00:38:54,470 >> Tehát most beszéljünk foreach mint ez érvényes a _GET szótárban. 689 00:38:54,470 --> 00:38:57,170 Szóval majd hozzászóló gyorsan. 690 00:38:57,170 --> 00:39:02,030 Szóval megvan a _GET tömb. 691 00:39:02,030 --> 00:39:04,361 Van ez a változó. 692 00:39:04,361 --> 00:39:05,610 És van néhány dolog benne. 693 00:39:05,610 --> 00:39:10,275 >> Most már csak egy változót hárítanak rá, ami nevét. 694 00:39:10,275 --> 00:39:13,420 De ha nyomjuk meg, most mi lehet a két változó. 695 00:39:13,420 --> 00:39:17,910 Mi lehet nevét és korát, például, Ha azt akarjuk, hogy a kor és 696 00:39:17,910 --> 00:39:20,960 Az adott személy neve, furcsa módon. 697 00:39:20,960 --> 00:39:25,690 >> Tehát most _GET lesz a Szótár két elemet, 698 00:39:25,690 --> 00:39:27,980 két legfontosabb érték párokat. 699 00:39:27,980 --> 00:39:33,490 És az első key-- fogok levelet ezt fel a táblára is. 700 00:39:33,490 --> 00:39:37,136 Megvan a szótár _GET. 701 00:39:37,136 --> 00:39:39,520 Sajnálom, de ez egy kicsit nehéz észrevenni. 702 00:39:39,520 --> 00:39:46,690 De belül a szótár van Íme, amelyet lesz valami 703 00:39:46,690 --> 00:39:47,680 hogy mi adni. 704 00:39:47,680 --> 00:39:53,040 És mi lesz kor, amely szintén lesz valami, hogy mi adni. 705 00:39:53,040 --> 00:39:56,020 És ez a teljes egészében Az, hogy a szótár. 706 00:39:56,020 --> 00:39:57,730 >> Szóval ez van két elem benne. 707 00:39:57,730 --> 00:40:01,310 És így, mert foreach hurkok okos, mi 708 00:40:01,310 --> 00:40:04,900 Azt gondolhatnánk, és helyesen Azt gondolhatnánk, hogy foreach 709 00:40:04,900 --> 00:40:08,080 lehet halad végig ezt szótár, kinyomtatásával 710 00:40:08,080 --> 00:40:10,850 által megadott értékek nevét és életkorát. 711 00:40:10,850 --> 00:40:14,510 >> Úgyhogy tulajdonképpen nem csak ezt. 712 00:40:14,510 --> 00:40:17,520 Nézzük össze egy foreach ciklus. 713 00:40:17,520 --> 00:40:23,351 És fogunk csinálni _GET, mint. 714 00:40:23,351 --> 00:40:24,850 És mi lesz a következő lépésekre. 715 00:40:24,850 --> 00:40:34,186 Nézzük, mi történik, ha beírjuk Csak szót, majd azt mondják visszhangja szót. 716 00:40:34,186 --> 00:40:40,540 Mi is lesz, hogy echo egy új sort csak hogy egy kicsit világosabb, 717 00:40:40,540 --> 00:40:41,260 mi történik. 718 00:40:41,260 --> 00:40:42,890 >> Tehát lássuk. 719 00:40:42,890 --> 00:40:44,390 Ez nem ad nekem semmilyen hibát. 720 00:40:44,390 --> 00:40:46,810 És majd zárd be ezt. 721 00:40:46,810 --> 00:40:51,020 Honlapunkon fogsz csinálni egy csomó, amely során a pset7. 722 00:40:51,020 --> 00:40:53,890 Tehát azt mondjuk a nevem Sam. 723 00:40:53,890 --> 00:40:58,560 Korombeli 45. 724 00:40:58,560 --> 00:41:01,060 Ez nem. 725 00:41:01,060 --> 00:41:05,640 De nem írja ki, mint az várható volt, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> És így látjuk, hogy mi foreach ciklus did-- itt, 727 00:41:08,930 --> 00:41:12,360 menjünk vissza, hogy így akár A board-- kapunk _GET a szót. 728 00:41:12,360 --> 00:41:15,130 És volt négy dolgokat _GET. 729 00:41:15,130 --> 00:41:17,410 De ez csak az kinyomtathatók két dolgot. 730 00:41:17,410 --> 00:41:21,290 foreach, hogy a hírszerző én, Feltételezhető, hogy az, amit igazán akart 731 00:41:21,290 --> 00:41:24,100 volt az érték, nem a kulcsokat. 732 00:41:24,100 --> 00:41:27,800 >> De van egy módja, hogy mi lehetett nyomtatni ki a kulcsokat is, ha akarnánk. 733 00:41:27,800 --> 00:41:30,810 Ha akarnánk is tudom, mit ezeket a változókat hívták, 734 00:41:30,810 --> 00:41:33,540 van egy módja, hogy mi férsz is. 735 00:41:33,540 --> 00:41:36,840 És ahogy az a fajta csinálni, így elmondható, amellyel igazán 736 00:41:36,840 --> 00:41:39,485 osztott be kulcs érték párokat. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Nézzük, mi történik most. 739 00:41:47,580 --> 00:41:50,550 >> Tehát van kulcsa. 740 00:41:50,550 --> 00:41:52,290 Van értéket. 741 00:41:52,290 --> 00:41:56,650 Van egy új sorban az olvashatóság érdekében. 742 00:41:56,650 --> 00:42:00,540 És lássuk, mi történik ha ezt tesszük most. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Nem tudom, hány éves Jason. 745 00:42:06,720 --> 00:42:09,180 Jason 15. 746 00:42:09,180 --> 00:42:11,650 Tehát van név Jason, 15 éves korában. 747 00:42:11,650 --> 00:42:15,830 Így tudtuk elérni a kulcs és érték párokat ennek szótár 748 00:42:15,830 --> 00:42:18,590 Csak azzal a kulcsfontosságú pontokat értéket. 749 00:42:18,590 --> 00:42:23,350 És ez egy foreach szintaktikai cukor kicsit amely lehetővé teszi 750 00:42:23,350 --> 00:42:25,960 teszi a hozzáférést a dolgokat a szótárban. 751 00:42:25,960 --> 00:42:31,190 >> Így remélhetőleg ez a fajta hangsúlyozza A hatalom a foreach ciklus. 752 00:42:31,190 --> 00:42:35,690 Akkor elég sok dobás bármit, ami úgy tűnik, iterable, 753 00:42:35,690 --> 00:42:38,922 mint bármi, ami több elemeket, mint egy tömb, 754 00:42:38,922 --> 00:42:41,880 mint egy dictionary-- ez két elsődleges dolog, akkor lehet dolgozni 755 00:42:41,880 --> 00:42:45,630 mind az életben és a PSET 7. 756 00:42:45,630 --> 00:42:49,350 Szóval lehet dobni, hogy a cucc rajta, és ez lesz kitalálni 757 00:42:49,350 --> 00:42:51,030 mit akarsz csinálni vele. 758 00:42:51,030 --> 00:42:54,250 Ez fogja mondani, OK, megyek, hogy ezek a dolgok az adatokból, hogy 759 00:42:54,250 --> 00:42:55,680 átadták nekem. 760 00:42:55,680 --> 00:43:02,470 És ez olyasmi, te lesz egy csomó a PSET 7. 761 00:43:02,470 --> 00:43:08,550 >> Megyek Gyorsgörgetőt le, csak, hogy hol vagyok. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Vajon az emberek kérdései, ezen a ponton? 764 00:43:13,070 --> 00:43:13,778 Kérdések egyáltalán? 765 00:43:13,778 --> 00:43:14,400 Igen? 766 00:43:14,400 --> 00:43:18,320 >> Közönség: Tehát a kulcs és érték, akkor nevezd meg mást 767 00:43:18,320 --> 00:43:20,507 és ez még mindig működik? 768 00:43:20,507 --> 00:43:21,090 Előadó: Hoppá. 769 00:43:21,090 --> 00:43:22,820 Wow, én teljesen törölte a teljes vonalon. 770 00:43:22,820 --> 00:43:23,380 Nagy munka. 771 00:43:23,380 --> 00:43:26,502 Tehát egy, a. 772 00:43:26,502 --> 00:43:30,109 Kulcs és érték csupán egy konvenció. 773 00:43:30,109 --> 00:43:30,650 Ez hasznos. 774 00:43:30,650 --> 00:43:34,010 Akkor kap néhány tervezési pont, talán néhány stílus pont 775 00:43:34,010 --> 00:43:36,970 csinál, hogy azért, mert Tényleg közvetíti a szándék. 776 00:43:36,970 --> 00:43:39,650 De mondjuk egy és yarp. 777 00:43:39,650 --> 00:43:42,476 >> Közönség: Nem kell, hogy változtat semmit a HTML fájlban 778 00:43:42,476 --> 00:43:43,607 annak érdekében, hogy tükrözze ezt? 779 00:43:43,607 --> 00:43:44,440 Előadó: Egyáltalán nem. 780 00:43:44,440 --> 00:43:47,260 Közönség: És ez csak tudja, hogy mert az egyenlő nagyobb than-- 781 00:43:47,260 --> 00:43:47,801 Előadó: Igen. 782 00:43:47,801 --> 00:43:49,489 Közönség: --that mutatója, hogy that's-- 783 00:43:49,489 --> 00:43:50,030 Előadó: Igen. 784 00:43:50,030 --> 00:43:52,260 Ez egy foreach szintaxist, de igen. 785 00:43:52,260 --> 00:43:53,720 >> Közönség: Nincs típusok. 786 00:43:53,720 --> 00:43:57,230 Szóval mi van, ha akarta, kor csak egy szám? 787 00:43:57,230 --> 00:43:59,510 Van úgy, hogy? 788 00:43:59,510 --> 00:44:04,550 >> Előadó: Több lehetőség is van, hogy ellenőrizze, változók felelnek meg bizonyos típusú. 789 00:44:04,550 --> 00:44:08,482 Tehát PHP kéri egy kicsit többet Ön mivel nincsenek típus. 790 00:44:08,482 --> 00:44:09,440 Bizonyos szempontból ez azt kérdezi kevesebb. 791 00:44:09,440 --> 00:44:11,070 Bizonyos szempontból azt kérdezi többet. 792 00:44:11,070 --> 00:44:13,320 Mert ha csak valamit egy változó, 793 00:44:13,320 --> 00:44:14,960 Önnek fogalma sincs, milyen ez. 794 00:44:14,960 --> 00:44:19,310 De ha okos a változók hogy rendeljen típusok és győződjön meg róla, 795 00:44:19,310 --> 00:44:22,750 , amely csak akkor return-- szeretnénk funkciók csak vissza 796 00:44:22,750 --> 00:44:26,210 egy típusú értéket, így hogy akkor alapvetően 797 00:44:26,210 --> 00:44:31,090 elvárják, hogy a változó kapsz vissza Egy függvény lesz a típus 798 00:44:31,090 --> 00:44:32,780 hogy úgy gondolja, ez lesz, alapvetően. 799 00:44:32,780 --> 00:44:36,550 >> De vannak olyan módszerek amellyel ellenőrizheti. 800 00:44:36,550 --> 00:44:39,801 Nem emlékszem rájuk le a fejem tetején. 801 00:44:39,801 --> 00:44:43,300 Várom, hogy kék színűre. 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 Vannak módszerek épített PHP, amely 805 00:44:52,000 --> 00:44:54,440 ellenőrizze a változók típusa az Ön számára. 806 00:44:54,440 --> 00:44:58,250 De ha rendelni változók okosan, akkor nem kell 807 00:44:58,250 --> 00:45:01,330 meg kell csinálni, hogy túl sok a PSET 7. 808 00:45:01,330 --> 00:45:02,780 De ezek a módszerek léteznek. 809 00:45:02,780 --> 00:45:06,704 És ez olyasmi, ez a nyelv maga. 810 00:45:06,704 --> 00:45:08,370 És nem emlékszem pontosan szintaxist. 811 00:45:08,370 --> 00:45:09,930 Akár azt is nézni, hogy ki. 812 00:45:09,930 --> 00:45:11,974 De az idő a lényeg. 813 00:45:11,974 --> 00:45:13,890 Van-e bárki más még kérdésed? 814 00:45:13,890 --> 00:45:14,660 Igen. 815 00:45:14,660 --> 00:45:15,951 >> Közönség: Van még egy. 816 00:45:15,951 --> 00:45:19,050 Szóval említette a GET módszer, de Ön nem említette a POST módszert. 817 00:45:19,050 --> 00:45:20,500 Jövünk vissza, hogy? 818 00:45:20,500 --> 00:45:21,540 >> Előadó: Igen, úgy lesz jön vissza, hogy a. 819 00:45:21,540 --> 00:45:24,840 Pontosan ez az, amit kerestem a telefonom, amely most elaludt, 820 00:45:24,840 --> 00:45:26,960 de én fogom találni. 821 00:45:26,960 --> 00:45:30,680 Csak ügyelve elérünk az összes PHP megjegyzések. 822 00:45:30,680 --> 00:45:35,640 Ja, nincs hibakeresés változata. 823 00:45:35,640 --> 00:45:41,940 Igen, van még néhány dolog, akarunk csinálni most ezen a ponton. 824 00:45:41,940 --> 00:45:45,980 >> Így beszél POST, amit említett, 825 00:45:45,980 --> 00:45:49,630 Az egyetlen különbség között a GET és a POST 826 00:45:49,630 --> 00:45:53,150 hogy emlékszem, amikor néztük Ebben URL-t és láttuk, ó, 827 00:45:53,150 --> 00:45:58,270 név azonos egy és kora megegyezik yarp igaza van az URL-ben ott nekünk. 828 00:45:58,270 --> 00:46:03,300 POST egy kicsit titokzatos A múló információkat. 829 00:46:03,300 --> 00:46:08,090 >> Tehát, ha nem akar egy felhasználó tudni, például, akkor 830 00:46:08,090 --> 00:46:11,160 Nem akartam a felhasználóneveddel és a jelszót a személy 831 00:46:11,160 --> 00:46:15,080 bejelentkezett megjelenítéséhez az URL, ami egy ésszerű dolog 832 00:46:15,080 --> 00:46:17,770 hogy nem akarja az URL, mert valaki lássa. 833 00:46:17,770 --> 00:46:21,520 Ha ők hivatkoznak, hogy valaki egy oldalon nem akarják, hogy URL vakolt ott, 834 00:46:21,520 --> 00:46:27,850 mert ez lehetővé tenné, hogy az emberek a bejelentkezéshez Csak a beillesztés egy URL helyett 835 00:46:27,850 --> 00:46:29,670 A ténylegesen egy űrlap kitöltése. 836 00:46:29,670 --> 00:46:31,710 POST egy kicsit több titokzatos. 837 00:46:31,710 --> 00:46:34,150 >> És az egyetlen dolog, ami akkor meg kell változtatni 838 00:46:34,150 --> 00:46:38,550 vagy ez a módszer, a változás re fog küldeni. 839 00:46:38,550 --> 00:46:42,367 Majd belül a HTTP helyett bejutó a tömb _GET, 840 00:46:42,367 --> 00:46:43,950 fogunk elérni a tömb _POST. 841 00:46:43,950 --> 00:46:48,600 >> És mi észre, hogy ha megnyitjuk ezt vissza újra, 842 00:46:48,600 --> 00:46:51,910 Jason lassan csökken a korral. 843 00:46:51,910 --> 00:46:53,230 Íme Jason, 14 éves. 844 00:46:53,230 --> 00:46:54,280 Ugyanazokat a dolgokat bukkan fel. 845 00:46:54,280 --> 00:46:57,190 De megyünk a URL-t és azokat a változókat nincsenek ott. 846 00:46:57,190 --> 00:47:00,540 >> És az is, hogy a POST passes-- úgy emlékszem, 847 00:47:00,540 --> 00:47:02,750 hogyan kell nézni a forrása az oldalon. 848 00:47:02,750 --> 00:47:04,570 Mi megy a hálózat. 849 00:47:04,570 --> 00:47:06,920 Mi frissíteni. 850 00:47:06,920 --> 00:47:10,690 És ez egy másik dolog, hogy POST kapsz figyelmeztetéseket. 851 00:47:10,690 --> 00:47:15,050 Talán láttad egy doboz, egy szöveges doboz, mint ez a böngészőjében. 852 00:47:15,050 --> 00:47:18,170 Biztos benne, hogy szeretné küldeni formában újra? 853 00:47:18,170 --> 00:47:21,170 POST Mi a küldő ezek a formák. 854 00:47:21,170 --> 00:47:24,680 >> Mert alapvetően, ha elküldte a hitelkártya adatokat valaki, 855 00:47:24,680 --> 00:47:26,350 ez nem fog megjelenni az URL-ben. 856 00:47:26,350 --> 00:47:28,180 Hogy lesz egy POST kérést. 857 00:47:28,180 --> 00:47:32,905 Tehát, ha az oldal frissítése, ez újraküldése hogy a post kérést. 858 00:47:32,905 --> 00:47:35,530 Szóval most mi szeretnénk küldeni a alkotják újra, mert ez nem fog 859 00:47:35,530 --> 00:47:37,340 létrehozni az ismétlődő vásárlások. 860 00:47:37,340 --> 00:47:41,160 >> És akkor veszi észre, hogy itt lent, A módszer mi használ a POST. 861 00:47:41,160 --> 00:47:43,065 És ez valóban át bájt. 862 00:47:43,065 --> 00:47:45,460 Ez átutalt 401 közülük. 863 00:47:45,460 --> 00:47:47,190 Program elég apró. 864 00:47:47,190 --> 00:47:51,600 De nincs hová, hogy látjuk Az értékek kerülnek át. 865 00:47:51,600 --> 00:47:59,540 A weboldalak magukat láthatjuk, de a felhasználók nem tudják látni, 866 00:47:59,540 --> 00:48:01,650 hacsak nem egy hacker. 867 00:48:01,650 --> 00:48:05,340 Ha egy jó hacker, akkor nézd. 868 00:48:05,340 --> 00:48:09,360 >> Ha tudja az alapvető formátum a HTML, 869 00:48:09,360 --> 00:48:11,790 Az értékeket tesz jelentkezzenek az oldalt. 870 00:48:11,790 --> 00:48:13,160 Ön képes lesz látni. 871 00:48:13,160 --> 00:48:16,720 Az értékek ott lesz, ők Csak egy kicsit kevésbé nyilvánvaló az Ön számára 872 00:48:16,720 --> 00:48:19,522 a hozzáférés, alapvetően. 873 00:48:19,522 --> 00:48:23,620 >> Van már többé kérdései GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- mit fogunk csinálni a következő valójában nézd meg néhány, a kódot 875 00:48:26,800 --> 00:48:30,837 hogy adsz a PSET 7, beszélni hogyan használja néhány ezeket a fogalmakat, 876 00:48:30,837 --> 00:48:32,670 és megbeszéljük a dolgokat, hogy fogsz 877 00:48:32,670 --> 00:48:35,090 hogy meg kell csinálni egy kicsit a PSET 7. 878 00:48:35,090 --> 00:48:36,760 Több kérdésre előtte? 879 00:48:36,760 --> 00:48:38,047 Több kérdés a srácok? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Nagy. 882 00:48:41,840 --> 00:48:45,370 >> Rendben, nézzük meg Egy kicsit meg PSET 7, 883 00:48:45,370 --> 00:48:49,530 Nem kétséges, hogy mi vagy Minden leginkább izgatott. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Úgy értem, ez olyan dolog, David megy keresztül egy kicsit. 886 00:48:54,750 --> 00:49:00,890 De mi lesz három könyvtárat a top, valamint egy konfigurációs fájlt. 887 00:49:00,890 --> 00:49:04,650 Ez az adatbázis, amit majd beszélni körülbelül öt perc. 888 00:49:04,650 --> 00:49:07,220 Tartalmazza, soha nem kell nézni ebben a könyvtárban 889 00:49:07,220 --> 00:49:12,480 ha nem akarjuk, hogy de jó, hogy tudom, vannak mindenféle segítők. 890 00:49:12,480 --> 00:49:14,210 Segítők olyan, mint hasznos funkció. 891 00:49:14,210 --> 00:49:18,120 És akkor mi van config, amely meghatározza néhány dolgot. 892 00:49:18,120 --> 00:49:24,590 >> Vannak olyan funkciók, amelyek CS50 van írva, hogy vannak segítő és config. 893 00:49:24,590 --> 00:49:27,250 És néhány PHP, hogy Már kilép a fájlokat 894 00:49:27,250 --> 00:49:30,880 fog sokat a több sort A tompa láb munka az Ön számára. 895 00:49:30,880 --> 00:49:35,250 Mint ha bemegy az állami login.php, amely a mi 896 00:49:35,250 --> 00:49:38,350 felbukkan jobb, ha bemegy PSET 7. 897 00:49:38,350 --> 00:49:40,580 Meglátjuk, hogy van Ehhez pedig nyilatkozatot. 898 00:49:40,580 --> 00:49:43,420 És ez a fajta, mint egy Éles közé, hashtaget 899 00:49:43,420 --> 00:49:46,850 tartalmazzák, ha egy újabb generáció. 900 00:49:46,850 --> 00:49:49,740 De ez alapvetően azt mondja, hogy szükségem van-hozzáférés 901 00:49:49,740 --> 00:49:52,260 hogy az összes funkciót config.php. 902 00:49:52,260 --> 00:49:55,290 És akkor lehetett volna egy követeli mindenféle más dolog. 903 00:49:55,290 --> 00:49:59,670 >> config ténylegesen szüksége segítők. 904 00:49:59,670 --> 00:50:02,490 Szóval, ha szükségessé config, te is 905 00:50:02,490 --> 00:50:05,660 beleértve, vagy igénylő segítők is. 906 00:50:05,660 --> 00:50:09,590 Annak érdekében, hogy hozzáférést biztosít az összes hűvös funkciók, hogy fogunk használni, 907 00:50:09,590 --> 00:50:10,420 Dolgok, mint teszik. 908 00:50:10,420 --> 00:50:13,490 Én valóban megy, hogy megkönnyítsék ezt le egy kicsit. 909 00:50:13,490 --> 00:50:16,280 Így a funkció akkor vagyunk megy a séta 910 00:50:16,280 --> 00:50:22,380 mielőtt rátérnénk a SQL egy kicsit bit a login.php funkciót, csak 911 00:50:22,380 --> 00:50:26,586 mert használ néhány téma hogy mi csak beszélgettünk, PHP nyelven. 912 00:50:26,586 --> 00:50:30,840 >> Látod, az első dolog, ha a $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Ez egy újabb globális változó, hogy fogsz foglalkozni. 914 00:50:34,500 --> 00:50:38,460 Ez olyan, mint _GET és _POST, de mi szerver tartalmazza az ez engedi 915 00:50:38,460 --> 00:50:42,730 tudom, ha a kérelem módszer volt GET vagy POST. 916 00:50:42,730 --> 00:50:47,250 Mint korábban, amit csináltunk csak a mi kódban is, 917 00:50:47,250 --> 00:50:51,880 mi csak változó, hogy legyen a GET és POST attól függően, mi a HTML-ben. 918 00:50:51,880 --> 00:50:55,120 De vannak lapok is megközelíthető mindkét típusú kéréseket. 919 00:50:55,120 --> 00:50:57,410 És érdemes csinálni különböző dolgokat attól 920 00:50:57,410 --> 00:50:59,740 a kérés fajtája csakúgy, mint a login. 921 00:50:59,740 --> 00:51:04,400 >> Így ellenőrizheti, hogy kérésre módszer segítségével betekintés kulcsok, 922 00:51:04,400 --> 00:51:08,630 keresztül egy gombot, és egyre a értéke valamit a szótárban 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Szóval ez egy újabb globális változó, mint _GET és _POST. 925 00:51:13,800 --> 00:51:16,990 >> Ha ez a GET, szeretnénk teszi a belépés formában. 926 00:51:16,990 --> 00:51:21,920 Render egy olyan funkció, hogy alapvetően Csak teszi fel a megfelelő HTML 927 00:51:21,920 --> 00:51:24,500 és átadja néhány paraméter. 928 00:51:24,500 --> 00:51:28,740 Ez a cím egy olyan paraméter, ami használt megjelenítésére, furcsa módon, 929 00:51:28,740 --> 00:51:32,670 Az oldal címe a kérdés, a dolog itt, 930 00:51:32,670 --> 00:51:34,850 mondjuk, vagy hello előző példához. 931 00:51:34,850 --> 00:51:36,100 Most van egy másik dolog. 932 00:51:36,100 --> 00:51:38,570 Különben, ha ez bejegyzésben nem más dolog. 933 00:51:38,570 --> 00:51:40,790 Mi használva az üres módszer. 934 00:51:40,790 --> 00:51:42,750 Ez nem létezik, hogy üres. 935 00:51:42,750 --> 00:51:45,440 És láttuk korábban, PHP van egy szép összeg a beépített 936 00:51:45,440 --> 00:51:52,370 A módszerek, hogy David will-- ha olyan módszerek, amelyek hasznosak az Ön számára, 937 00:51:52,370 --> 00:51:55,560 akkor riasztani Önnek A séta, hogy Dávid 938 00:51:55,560 --> 00:51:59,770 ad az elején áttekintést, valamint Zamyla segítőkész bit. 939 00:51:59,770 --> 00:52:01,040 Ő vissza mindenki. 940 00:52:01,040 --> 00:52:03,100 Mindannyian örülni. 941 00:52:03,100 --> 00:52:06,530 elnézést egy találó nevű funkció hogy alapvetően csak kiírja 942 00:52:06,530 --> 00:52:10,130 Bizonyos hibaüzenetek, mert CS50 nagyon udvarias. 943 00:52:10,130 --> 00:52:14,770 >> És most ez az, ez egy trükkös kicsit, mert ez 944 00:52:14,770 --> 00:52:16,697 van, ahol mi vagyunk az adatbázis lekérdezésekor. 945 00:52:16,697 --> 00:52:18,280 Most még nem beszéltünk adatbázisokat. 946 00:52:18,280 --> 00:52:22,220 És mi lesz a következő öt perc múlva, maximum. 947 00:52:22,220 --> 00:52:24,980 De ez egy funkció hogy CS50 írt 948 00:52:24,980 --> 00:52:38,050 hogy egy asztalnál alapvetően egy adatbázisból hogy mi dolgozunk a PSET 7. 949 00:52:38,050 --> 00:52:40,860 Én nagyon rossz az én nulla indexelés ma. 950 00:52:40,860 --> 00:52:42,060 De igen, ez 7. 951 00:52:42,060 --> 00:52:46,340 >> Tehát kérdezni, hogy fog visszaadni tömb, alapvetően a kulcs kicsit. 952 00:52:46,340 --> 00:52:54,130 És mivel ezek a dolgok nem gépelés, így sor olyan tömb tömbök. 953 00:52:54,130 --> 00:52:59,480 Mert amikor arra gondoltunk, hogy egy asztal, mit fogunk csinálni 954 00:52:59,480 --> 00:53:04,830 van, ahogy tanult psets mint a játék 15, egyébként 955 00:53:04,830 --> 00:53:06,990 ahol kellett, hogy egy kettős tömb, mi alapvetően 956 00:53:06,990 --> 00:53:15,210 Van tömb többi tömbök teszi az asztalra. 957 00:53:15,210 --> 00:53:18,150 És neked sorok és oszlopok. 958 00:53:18,150 --> 00:53:24,450 És akkor érheti őket, mint [0] [1], az lesz a [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Alapvető ilyesmi. 960 00:53:26,900 --> 00:53:29,380 >> Szóval, mit csinálunk Itt ebben a funkcióban, 961 00:53:29,380 --> 00:53:35,070 kérünk az adatbázis ha a felhasználó ez 962 00:53:35,070 --> 00:53:40,200 próbálsz bejelentkezni, hogy lesz postán módszer. 963 00:53:40,200 --> 00:53:43,950 Meglátjuk, mi megvagyunk A felhasználói nevet _POST. 964 00:53:43,950 --> 00:53:46,900 Fognak küldött, a felhasználó vagy, küld egy értéket 965 00:53:46,900 --> 00:53:50,750 egy űrlap segítségével tegye, mert ez felhasználónevét és jelszavát cucc. 966 00:53:50,750 --> 00:53:54,830 Ellenőrizzük a felhasználóneveddel látni, ez a táblázat? 967 00:53:54,830 --> 00:53:58,070 Mert ha egy felhasználó bejelentkezik a, majd a felhasználóneveddel 968 00:53:58,070 --> 00:54:03,320 kell tárolni a táblázata a felhasználókat, hogy létezik ezen az oldalon. 969 00:54:03,320 --> 00:54:09,360 Tehát alapvetően, ha a felhasználó az adatbázisban, 970 00:54:09,360 --> 00:54:16,400 lekérdezés fog visszatérni hogy sorban, ami a tömb. 971 00:54:16,400 --> 00:54:24,560 >> De a kutya elásva, hogy ha még ha A kettős tömb csak az egyik sor, 972 00:54:24,560 --> 00:54:31,900 akkor is, ha ez egy egysoros array-- mint megvan basically-- 973 00:54:31,900 --> 00:54:36,900 ha van egy mérete egy tömbben hogy van a kezében egy másik tömb, 974 00:54:36,900 --> 00:54:38,940 te tényleg foglalkoznak egy oszlopban. 975 00:54:38,940 --> 00:54:41,420 De ez még mindig kezelik mint egy dupla tömb. 976 00:54:41,420 --> 00:54:44,560 >> És ez az, ahol lehet néha trükkös, mert megvan sorok itt. 977 00:54:44,560 --> 00:54:46,440 A változó sorok. 978 00:54:46,440 --> 00:54:48,590 És akkor mi hozzuk létre egy új változó nevű sorban 979 00:54:48,590 --> 00:54:51,450 és állítsa át megegyező az első sorban a sorok. 980 00:54:51,450 --> 00:54:55,150 És észre fogod venni, hogy megjegyzést azt mondja, hogy az első és egyetlen sorban. 981 00:54:55,150 --> 00:54:57,080 >> Szóval ez a trükkös rész, ahol most funkciók 982 00:54:57,080 --> 00:54:59,660 Visszatérhet tömbök nagyon könnyen. 983 00:54:59,660 --> 00:55:01,270 Ott nem mallocs. 984 00:55:01,270 --> 00:55:02,280 Nem fogja látni mallocs. 985 00:55:02,280 --> 00:55:03,940 Szóval akkor nem fogja látni seg hibákat. 986 00:55:03,940 --> 00:55:08,380 De funkciók továbbra is halad körüli tömbök és adatokat csoportosan. 987 00:55:08,380 --> 00:55:12,250 És van, hogy legyen óvatos, mit Pontosan a funkció visszatér. 988 00:55:12,250 --> 00:55:15,160 És még ha ez az egyik oszlop, mint ez, lekérdezés 989 00:55:15,160 --> 00:55:17,520 még mindig tart, hogy visszatérjen a kettős tömb. 990 00:55:17,520 --> 00:55:21,390 Tehát, hogy elérje az column-- vagy lehet gondolni mindez a fordított 991 00:55:21,390 --> 00:55:22,870 mivel beszélünk sor. 992 00:55:22,870 --> 00:55:26,810 De elérni, hogy egy sorban, nem lehet csak mondani sorokat. 993 00:55:26,810 --> 00:55:31,540 Annak ellenére, hogy az egyik sorban, meg kell ne rowsrows [0], hogy egyfajta megszüntesse ezt 994 00:55:31,540 --> 00:55:37,360 külső kicsit a tömb már csak a egy sort. 995 00:55:37,360 --> 00:55:38,342 >> Tetszik néhány más dolog. 996 00:55:38,342 --> 00:55:40,050 Van egy funkció nevű password_verify 997 00:55:40,050 --> 00:55:42,980 amely ellenőrzi a jelszót, hogy volt kifüggesztett. 998 00:55:42,980 --> 00:55:48,500 És akkor azt látjuk, egy újabb globális változó ide, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Alapvetően session id hogyan nyomon követni 1000 00:55:51,340 --> 00:55:53,990 Az, ha valaki be van jelentkezve vagy sem. 1001 00:55:53,990 --> 00:55:58,590 Tehát most a login.php, mi bejelentkezik egy felhasználó. 1002 00:55:58,590 --> 00:56:01,920 Tehát mi szeretnénk tenni, azt akarjuk, hogy mondjuk a session id megegyezik a sorban 1003 00:56:01,920 --> 00:56:05,890 id, amely csak akkor van értelme, mert minden sorban lesz egy másik id 1004 00:56:05,890 --> 00:56:07,239 számú részeként az asztalra. 1005 00:56:07,239 --> 00:56:09,280 Mi lesz az SQL egy második, így ha bármely e 1006 00:56:09,280 --> 00:56:13,500 Úgy tűnik, egy kicsit, mint bla, akkor minden rendben lesz tisztázni kell. 1007 00:56:13,500 --> 00:56:18,450 De mi lesz beállítani az id egyenlő A megfelelő dolog, naplózza a felhasználó. 1008 00:56:18,450 --> 00:56:20,530 Sajnálom, ha valami balul sül el. 1009 00:56:20,530 --> 00:56:27,600 És ez bejelentkezések célra az élet, mint professzor Malan mondaná. 1010 00:56:27,600 --> 00:56:29,130 >> Szóval ez volt login.php. 1011 00:56:29,130 --> 00:56:33,750 És egy csomó PHP kód írsz A PSET 7, akkor lesz egy kicsit. 1012 00:56:33,750 --> 00:56:36,470 Ne felejtsd el, hogy a chmod a megfelelő jogosultságokat. 1013 00:56:36,470 --> 00:56:40,180 Lesz egy kicsit hogy az elején a spec. 1014 00:56:40,180 --> 00:56:46,382 >> De a PHP, hogy te írásban lesz 1015 00:56:46,382 --> 00:56:47,840 csinálnak, ami ehhez hasonló. 1016 00:56:47,840 --> 00:56:49,715 Te leszel hozzáférés bizonyos dolgokat, 1017 00:56:49,715 --> 00:56:52,760 adott neked a A globális változók a PHP, hogy 1018 00:56:52,760 --> 00:56:56,105 foglalkozunk a jelenlegi bejelentkezett felhasználó, hogy van-e 1019 00:56:56,105 --> 00:57:00,460 Van már kérések erre oldal, különböző dolgokat. 1020 00:57:00,460 --> 00:57:05,790 És ez is potenciálisan iterációjával keresztül sorban ez a dolog. 1021 00:57:05,790 --> 00:57:09,010 >> Egy másik funkció, lekérdezés nem tér vissza ez a kettős tömb. 1022 00:57:09,010 --> 00:57:11,450 És ha több mint egy sor benne, 1023 00:57:11,450 --> 00:57:15,080 Ha van are-- igen, ha van több mint egy sort benne, 1024 00:57:15,080 --> 00:57:16,870 akkor ez lesz a táblázatban. 1025 00:57:16,870 --> 00:57:20,500 És érdemes ismételget A sorok között ezt a tömbben 1026 00:57:20,500 --> 00:57:22,860 A foreach ciklus, amit leírt. 1027 00:57:22,860 --> 00:57:30,270 >> Szóval, ha foreach egy dupla tömb, mi lesz a word-- itt, 1028 00:57:30,270 --> 00:57:31,909 Én valójában írni. 1029 00:57:31,909 --> 00:57:32,950 Majd írd gyors itt. 1030 00:57:32,950 --> 00:57:44,280 >> Ha van egy foreach sorok a sorban, mi a típusa sorban? 1031 00:57:44,280 --> 00:57:45,390 Tudja valaki? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Megcsináltad? 1034 00:57:54,500 --> 00:57:57,110 Tehát sorok kettős tömb. 1035 00:57:57,110 --> 00:58:02,810 Tehát mi foreach fog következtetni hogy akarunk e kettős tömb 1036 00:58:02,810 --> 00:58:04,280 ha már az iterációt ez? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Mi alapvetően azt feltételezik, hogy ez lesz akár elemeket, 1039 00:58:10,770 --> 00:58:14,970 vagy a sorok, vagy oszlopok, alapvetően. 1040 00:58:14,970 --> 00:58:18,740 És így a sorok és oszlopok is tudja kezelni, mint ugyanaz a dolog. 1041 00:58:18,740 --> 00:58:23,880 >> Alapvetően mi a foreach ciklus megy tennie, hogy ez meg fog visszatérni sorok. 1042 00:58:23,880 --> 00:58:28,500 sorban lesz a típus sorban, mivel sorok kettős tömb. 1043 00:58:28,500 --> 00:58:32,290 Tehát, ha adsz foreach kettős tömb, ez 1044 00:58:32,290 --> 00:58:35,830 Nem fog ismételget több mint egy szintnél mélyebben. 1045 00:58:35,830 --> 00:58:44,464 Amely alapvetően mondani, ha van Nyolc sejtek ebben table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- a foreach ciklus nem 1047 00:58:48,110 --> 00:58:51,880 megyek végig ezeken sejtek. 1048 00:58:51,880 --> 00:58:56,390 Mi a foreach ciklus fog tenni ben fog átmenni ezen a soron, 1049 00:58:56,390 --> 00:58:57,870 Önnek ezt az egész sort. 1050 00:58:57,870 --> 00:58:59,410 És akkor megyek át, hogy a sorban. 1051 00:58:59,410 --> 00:59:01,850 >> Tehát csak Végig egyszintű. 1052 00:59:01,850 --> 00:59:05,310 Ha hozzá egy beágyazott foreach ciklus, akkor 1053 00:59:05,310 --> 00:59:16,280 Kényeztesse minden sorban vissza sorok, te foreach sorban eleme, 1054 00:59:16,280 --> 00:59:17,640 mondjuk. 1055 00:59:17,640 --> 00:59:22,750 És akkor is visszhangoznak elem. 1056 00:59:22,750 --> 00:59:24,930 Szóval ez egy rövid kis üdítő, hogyan 1057 00:59:24,930 --> 00:59:30,220 lehet, hogy a foreach hurkok összefüggésben lekérdezés. 1058 00:59:30,220 --> 00:59:32,840 >> Vannak-e olyan kérdésre PHP? 1059 00:59:32,840 --> 00:59:36,520 Bármi, mielőtt lépni beszélünk SQL 1060 00:59:36,520 --> 00:59:37,820 és a szórakozás adatbázis? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Jól érzi magát? 1063 00:59:42,110 --> 00:59:42,750 Jól érzi magát. 1064 00:59:42,750 --> 00:59:43,470 Minden rendben. 1065 00:59:43,470 --> 00:59:49,130 >> Térjünk át vissza a PowerPoint, amit valószínűleg hiányozni. 1066 00:59:49,130 --> 00:59:51,800 SQL, hurrá. 1067 00:59:51,800 --> 00:59:57,900 Emberek, akik az én részén jellemzően tudni fogja, hogy alszámok betűszavak 1068 00:59:57,900 --> 01:00:01,220 Mindig csak az első szavakat Azt hiszem, az, hogy mérkőzésen 1069 01:00:01,220 --> 01:00:02,690 algorithm-- hogy mozaikszó. 1070 01:00:02,690 --> 01:00:04,090 Ez nem egy algoritmus. 1071 01:00:04,090 --> 01:00:08,050 >> Tehát SQL egy adatbázisban. 1072 01:00:08,050 --> 01:00:11,060 Ez egy nyelvet dolgozik adatbázisokkal. 1073 01:00:11,060 --> 01:00:14,440 És minden adatbázisok is asztalok, legalábbis a módon 1074 01:00:14,440 --> 01:00:17,220 hogy az SQL képviseli őket. 1075 01:00:17,220 --> 01:00:23,610 >> Egy másik módja annak, hogy gondolni adatbázisok adatbázisok egy kulcscsomót és értékek 1076 01:00:23,610 --> 01:00:24,110 alapvetően. 1077 01:00:24,110 --> 01:00:29,530 Akkor gondolj egy adatbázist, A szótár és úgy is, mint egy asztal. 1078 01:00:29,530 --> 01:00:34,300 Alapvetően ez egy módja annak, hogy társítani eltérő adatokat más adatokkal, 1079 01:00:34,300 --> 01:00:36,270 gyakran a sorok és oszlopok. 1080 01:00:36,270 --> 01:00:38,470 És ez az út ez SQL működik a legjobban. 1081 01:00:38,470 --> 01:00:40,880 >> Tehát ez az egyik példája a táblázatban. 1082 01:00:40,880 --> 01:00:44,610 Van néhány példa a az emberek az én rész, amely 1083 01:00:44,610 --> 01:00:45,970 Nem volt ideje változtatni. 1084 01:00:45,970 --> 01:00:52,020 De megvan a dolgok, mint azonosító, nevet, szuperhatalom, és szülővárosában. 1085 01:00:52,020 --> 01:00:54,100 Nem tudom, hol bárkit is ettől az én részén, 1086 01:00:54,100 --> 01:00:56,266 így én csak fog vállalni mindenki a New York- 1087 01:00:56,266 --> 01:00:59,370 Város, mert van egy nagy statisztikai valószínűsége, hogy helyes-e. 1088 01:00:59,370 --> 01:01:04,200 >> SQL automatikusan megteszi érdekel az ID oszlop az Ön számára. 1089 01:01:04,200 --> 01:01:07,560 Ha beszúr egy új sort egy SQL adatbázis, 1090 01:01:07,560 --> 01:01:09,700 ez a növekmény, hogy Azonosító száma és csak 1091 01:01:09,700 --> 01:01:14,890 Alapvetően kibír, mint öt nevet, szuperhatalom, szülővárosában, aki 1092 01:01:14,890 --> 01:01:16,430 rá a végén, hogy asztalra. 1093 01:01:16,430 --> 01:01:19,160 Tehát ID egy oszlopban lesz Soha nem kell aggódnia. 1094 01:01:19,160 --> 01:01:22,770 De, mint abban az esetben, A login.php, amikor 1095 01:01:22,770 --> 01:01:26,610 kezdtek a session ID- egy asztal és csak használ ID, 1096 01:01:26,610 --> 01:01:30,320 ID egy módja annak, hogy egyedileg azonosítja egy eleme egy adatbázisban. 1097 01:01:30,320 --> 01:01:34,980 >> Tehát, ha már két Sams, mind a amely azt tanította, CS50, és mind a kik 1098 01:01:34,980 --> 01:01:39,370 voltak Milwaukee, azoknak lenne még külön azonosító szám 1099 01:01:39,370 --> 01:01:43,420 és így különböztethetőek összefüggésben az asztalra. 1100 01:01:43,420 --> 01:01:48,700 Szóval ez az, amit az SQL foglalkozik a, dolgozó, a hátsó végén. 1101 01:01:48,700 --> 01:01:54,160 >> Ezek pedig a négy parancs hogy szüksége lesz, hogy az SQL. 1102 01:01:54,160 --> 01:01:56,390 És dobtam mindet fel egy dián. 1103 01:01:56,390 --> 01:01:59,530 De megyünk végig őket külön-külön. 1104 01:01:59,530 --> 01:02:03,300 >> Az első parancs UPDATE, ami azt teszi, amit várnánk. 1105 01:02:03,300 --> 01:02:07,240 Mondja el, hogy van néhány adat A táblázatban ez elavult. 1106 01:02:07,240 --> 01:02:09,470 Mint ha tartod követni az emberek nevét 1107 01:02:09,470 --> 01:02:13,350 és korú, ha valaki életkor növekedésével, majd a 1108 01:02:13,350 --> 01:02:18,590 fogsz akar menni, és frissíteni, csak az adott személy életkora. 1109 01:02:18,590 --> 01:02:21,902 Egy példa, hogy működik a mi első table-- 1110 01:02:21,902 --> 01:02:24,610 ne aggódj írásban minden ezeket a parancsokat egyidejűleg. 1111 01:02:24,610 --> 01:02:27,640 De ha van frissítés le, hogy jó lesz ez a rész, 1112 01:02:27,640 --> 01:02:29,790 mert megyünk menj vissza az asztalhoz. 1113 01:02:29,790 --> 01:02:33,920 >> Tehát, ha megyünk vissza az asztalhoz, mondjuk valami történt 1114 01:02:33,920 --> 01:02:38,480 ben volt egy földrengés, vagy törésvonal, amely osztott közvetlenül 1115 01:02:38,480 --> 01:02:39,920 a New York City-ben. 1116 01:02:39,920 --> 01:02:45,130 És azt akartuk, hogy frissítse mindenkinek aki élt New Yorkban. 1117 01:02:45,130 --> 01:02:49,670 Mindannyian kellett költözniük Pennsylvania. 1118 01:02:49,670 --> 01:02:51,130 Ez nem szülővárosában. 1119 01:02:51,130 --> 01:02:53,180 Mindannyian kellett költöznie, New Haven. 1120 01:02:53,180 --> 01:02:54,030 Ott vagyunk. 1121 01:02:54,030 --> 01:02:57,630 Tehát mindenki a New York-i költözik New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> És így, hogy valami, ami szerkesztésekor három sor ebben a táblázatban. 1123 01:03:01,300 --> 01:03:04,716 De az SQL, amit tehetünk, hogy csak egy nyilatkozatot. 1124 01:03:04,716 --> 01:03:05,715 Szóval megyünk vissza a frissítés. 1125 01:03:05,715 --> 01:03:09,670 Hadd gyors törölni ezen a fórumon újra. 1126 01:03:09,670 --> 01:03:14,570 Amikor beszélünk frissítése, vannak 1127 01:03:14,570 --> 01:03:17,640 Néhány rész a szintaxis szempontjából kulcsfontosságú. 1128 01:03:17,640 --> 01:03:19,770 Nos, ez mind a szintaxis gombot. 1129 01:03:19,770 --> 01:03:22,210 De a dolgok a zöld opcionális. 1130 01:03:22,210 --> 01:03:25,680 A fehér van szükség, mint előre nevét. 1131 01:03:25,680 --> 01:03:30,750 És a világoskék olyan dolgok hogy függ az asztalra. 1132 01:03:30,750 --> 01:03:34,640 Szóval ez mi folyik a A színösszeállítás itt, akár ott. 1133 01:03:34,640 --> 01:03:40,250 >> Tehát ha azt akarjuk, hogy frissíteni csak azokat a sorokat Az ember, aki New Yorkban él, 1134 01:03:40,250 --> 01:03:43,490 így mit tennénk, ha mi azt mondtuk UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Szóval asztal, ahol fel a neve a mi asztalon. 1136 01:03:46,320 --> 01:03:49,170 Mondjuk úgy, hogy a név a mi tábla tábla egyik. 1137 01:03:49,170 --> 01:03:52,515 Tehát szeretnénk jobb asztalra egy. 1138 01:03:52,515 --> 01:03:57,470 És azt akarjuk, hogy set-- mit akarunk beállítani? 1139 01:03:57,470 --> 01:04:05,160 Hát azt akarjuk mondani, így column-- PHP kezeli sorok egyedi azonosítóként. 1140 01:04:05,160 --> 01:04:07,930 És akkor oszlopok A különböző területeken 1141 01:04:07,930 --> 01:04:09,940 ezen elemek az adatbázis. 1142 01:04:09,940 --> 01:04:14,210 >> Tehát az első eleme az adatbázis van egy neve Sam, szuperhatalma CS50, 1143 01:04:14,210 --> 01:04:16,210 és a szülővárosa Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Tehát, ha azt mondtuk állítva, nézzük meg A paraméterek újra, hogy sor kerül. 1145 01:04:20,710 --> 01:04:23,880 Van oszlop egyenlő értéket. 1146 01:04:23,880 --> 01:04:27,290 Szóval azt akarom mondani néhány column-- amely emlékszik 1147 01:04:27,290 --> 01:04:31,850 egy field-- szeretnénk látni a mező egyenlő valami újat. 1148 01:04:31,850 --> 01:04:42,340 >> Tehát, ha csak azt mondta frissítés 1. táblázat nevét nem egyenlő Elliot. 1149 01:04:42,340 --> 01:04:46,310 Kap néhány ember a új szakasz ezen. 1150 01:04:46,310 --> 01:04:51,540 De ha csak nem frissítés 1. táblázat állítsa név egyenlő Elliot, mi lenne 1151 01:04:51,540 --> 01:04:55,530 A táblázatban néz utána? 1152 01:04:55,530 --> 01:04:56,410 Emberek van valami ötlete? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Igen. 1155 01:05:00,210 --> 01:05:03,195 >> Közönség: Minden, az adott sorban válna Elliot. 1156 01:05:03,195 --> 01:05:04,570 Előadó: Minden, amelyben egymás után? 1157 01:05:04,570 --> 01:05:06,067 Közönség: Az első sorban. 1158 01:05:06,067 --> 01:05:07,150 Előadó: Az első sorban? 1159 01:05:07,150 --> 01:05:09,724 Miért az első sorban? 1160 01:05:09,724 --> 01:05:10,890 Nem úgy értem, hogy vegye rád. 1161 01:05:10,890 --> 01:05:13,287 >> Közönség: Talán mindent Az egész asztal? 1162 01:05:13,287 --> 01:05:15,120 Előadó: Minden, Az egész asztal, igen. 1163 01:05:15,120 --> 01:05:19,520 És ez pontosan így van because-- I Csak segít ki egy kicsit 1164 01:05:19,520 --> 01:05:22,650 there-- mert kihagytuk Az opcionális WHERE záradékot. 1165 01:05:22,650 --> 01:05:27,260 Ha nincs meg a WHERE záradékot, hogy mi ez a parancs fogja tenni 1166 01:05:27,260 --> 01:05:32,240 A jó lesz minden Egyetlen sort a táblázatban. 1167 01:05:32,240 --> 01:05:35,430 Mindenki nevet fogja válnak Elliott, alapvetően, 1168 01:05:35,430 --> 01:05:37,360 ami Elliot nagyon örül. 1169 01:05:37,360 --> 01:05:40,070 Vagy Yanni, az egyik a kettő. 1170 01:05:40,070 --> 01:05:42,490 De mindenki nevét meg fog változni. 1171 01:05:42,490 --> 01:05:47,880 >> Szóval, hogyan használjuk a WHERE clause-- és ez vonatkozik minden, a hová 1172 01:05:47,880 --> 01:05:51,410 amelyek mindegyikében Ezek különböző dolog. 1173 01:05:51,410 --> 01:05:54,380 Szóval, észre fogod venni, hogy a SET van oszlop egyenlő értékű. 1174 01:05:54,380 --> 01:05:55,190 És így nem WHERE. 1175 01:05:55,190 --> 01:06:00,040 De ezek nem azonosak deklarációkat. 1176 01:06:00,040 --> 01:06:04,400 Tehát az oszlop egyenlő érték A SET van feladat. 1177 01:06:04,400 --> 01:06:08,320 Mint azt mondjuk azt akarjuk, beállítani név megegyezik Elliot. 1178 01:06:08,320 --> 01:06:15,390 De a WHERE, Ezek az egyenlőség nyilatkozatok. 1179 01:06:15,390 --> 01:06:20,410 Tehát mondjuk mi csak akart változtatni a személy nevét, hogy Elliot 1180 01:06:20,410 --> 01:06:23,940 ha nevük volt, Ryan, mondjuk. 1181 01:06:23,940 --> 01:06:24,920 >> Tehát amikor azt mondjuk 1182 01:06:24,920 --> 01:06:32,700 >> HOL neve egyet Ryan, hogy lenne sikeresen egyetlen változás 1183 01:06:32,700 --> 01:06:37,440 A name-- ez csak módosítsa a mező a sorok 1184 01:06:37,440 --> 01:06:40,770 ahol a név mező egyenlő Ryan. 1185 01:06:40,770 --> 01:06:44,430 Tehát, ha lenne több ember nevű Ryan, minden nevük 1186 01:06:44,430 --> 01:06:45,730 váltanának Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Ez hasonló a példa Az, ha egy törésvonal osztja 1188 01:06:48,169 --> 01:06:50,960 New York City, és mindenkinek meg kell költözött New Haven, ahogy csak tudunk 1189 01:06:50,960 --> 01:06:56,570 Ehhez az egyik állítás UPDATE tábla1 SET szülővárosában = New Haven 1190 01:06:56,570 --> 01:07:00,210 ahol szülővárosában egyenlő New York City-ben. 1191 01:07:00,210 --> 01:07:03,410 Ez a hatalom Az UPDATE utasítás. 1192 01:07:03,410 --> 01:07:10,530 Mi lehet kijelölni kívánt sorok révén igaz állítások 1193 01:07:10,530 --> 01:07:12,860 a mezők azokat a sorokat. 1194 01:07:12,860 --> 01:07:19,510 Nem tudjuk megmondani, UPDATE tábla1 szett name = Elliot HOL sor = 1, 1195 01:07:19,510 --> 01:07:24,820 kivéve, hogy tudjuk, ha azt mondjuk, ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Szóval lesz dolgozó egyenlőség 1198 01:07:29,830 --> 01:07:32,830 A mezők, az egyenlőség oszlopok. 1199 01:07:32,830 --> 01:07:38,030 De az ID mező egy módja annak, jelölje ki az egyes sorok külön, 1200 01:07:38,030 --> 01:07:43,210 mert az ID mező egy egyedi azonosító egy SQL adatbázisba. 1201 01:07:43,210 --> 01:07:45,860 Szóval, mint frissítése sorban egy, ID = 1. 1202 01:07:45,860 --> 01:07:49,560 Frissítése sorban két, csak megváltoztatni, hogy az azonosító számot. 1203 01:07:49,560 --> 01:07:51,610 De a hatalom a HOL állítás, hogy mi 1204 01:07:51,610 --> 01:07:57,480 frissítheti a dolgokat annak alapján, amit a aktuális értékeket bizonyos dolgok. 1205 01:07:57,480 --> 01:07:58,155 Igen Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> Közönség: És mi van, ha azt szeretnénk alábbiakra: újra, ez egy másik kérdés. 1207 01:08:02,678 --> 01:08:07,660 De az első kérdésem az volt, hol van ez? 1208 01:08:07,660 --> 01:08:09,130 Hol vagyok frissítésével? 1209 01:08:09,130 --> 01:08:11,100 Ez egy PHP kódot? 1210 01:08:11,100 --> 01:08:13,379 >> Előadó: Hol frissíteni, igen. 1211 01:08:13,379 --> 01:08:15,170 Fogunk beszélni hol mindez 1212 01:08:15,170 --> 01:08:18,729 történik valami egyszer megyünk az összes olyan parancsot. 1213 01:08:18,729 --> 01:08:21,130 De mit kell tudom, most alapvetően 1214 01:08:21,130 --> 01:08:26,279 hogy az SQL adatbázis létezik valami 1215 01:08:26,279 --> 01:08:30,090 hogy elérhető legyen a lekérdezés funkciót, amely CS50 meghatározza. 1216 01:08:30,090 --> 01:08:33,800 Tehát, ha használja a lekérdezés funkciót, elérheti a táblázatban. 1217 01:08:33,800 --> 01:08:39,529 >> Így lesz küldését parancsokat a táblázatot PHP fájlok 1218 01:08:39,529 --> 01:08:41,420 segítségével a lekérdezés funkciót. 1219 01:08:41,420 --> 01:08:45,410 Azt is játszani körül Ön asztalra közvetlenül. 1220 01:08:45,410 --> 01:08:49,050 És ez a legjobb módja annak, hogy tesztelje efféle parancsokat. 1221 01:08:49,050 --> 01:08:52,720 És megyünk keresztül, pontosan hogyan kell csinálni, hogy csak egy kicsit. 1222 01:08:52,720 --> 01:08:54,910 >> Szóval ez UPDATE parancsot. 1223 01:08:54,910 --> 01:08:57,939 És a többi a parancsok lesznek valamiféle hasonló, 1224 01:08:57,939 --> 01:08:59,069 dolgozik hasonló dolgokat. 1225 01:08:59,069 --> 01:09:02,740 Az INSERT INTO valószínűleg A legnagyobb mértékben különbözik UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Én elmegyek, hogy ott a Csak egy kicsit, és a munka itt. 1227 01:09:06,170 --> 01:09:10,215 Szóval INSERT INTO, látni fogod ez a táblázat még mindig ugyanaz. 1228 01:09:10,215 --> 01:09:17,010 Meg akar szúrni. 1229 01:09:17,010 --> 01:09:20,286 A kapitalizáció, SQL a kis- és nagybetűket. 1230 01:09:20,286 --> 01:09:22,160 Szóval nem kell kihasználni ezeket a dolgokat. 1231 01:09:22,160 --> 01:09:27,960 Megegyezés alapján, a szavak fehér aktiválásra kerülnek. 1232 01:09:27,960 --> 01:09:31,590 De azt is színkóddal őket. 1233 01:09:31,590 --> 01:09:34,390 Az egyetlen ok, hogy tőkét kovácsoljon ezeket, ha írsz nekik 1234 01:09:34,390 --> 01:09:36,609 csak kiemelni hogy az említett konstansok. 1235 01:09:36,609 --> 01:09:39,189 És így akkor sem nézni A kapitalizáció vagy az a tény, 1236 01:09:39,189 --> 01:09:40,740 hogy már színes különbözőkként. 1237 01:09:40,740 --> 01:09:44,910 >> Tehát van INSERT INTO, csináljuk tábla1 újra. 1238 01:09:44,910 --> 01:09:45,930 Ez az egész egy sorba. 1239 01:09:45,930 --> 01:09:48,609 Én csak azt elválasztó A különböző nyilatkozatok. 1240 01:09:48,609 --> 01:09:52,399 Szóval ne aggódj amiatt, hogy tábla1 tette rá a második sorban. 1241 01:09:52,399 --> 01:09:56,130 >> Tehát szeretné szúrni INTO tábla1 néhány érték. 1242 01:09:56,130 --> 01:09:58,922 És észre fogod venni az opcionális bites, amelyet mindjárt a második. 1243 01:09:58,922 --> 01:09:59,755 Tehát van értékeket. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Tehát mondjuk azt akarjuk, hogy adjunk Andi az asztalunkhoz, mert hiányzik Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi beteg. 1247 01:10:09,390 --> 01:10:12,490 Tehát tegyük hozzá Andi az asztalunkhoz. 1248 01:10:12,490 --> 01:10:15,150 Ne feledje, hogy a személyazonosító számot automatikusan frissül. 1249 01:10:15,150 --> 01:10:17,320 Így az egyetlen ágakból kell aggódni 1250 01:10:17,320 --> 01:10:20,230 név, szuperhatalom, és szülővárosában. 1251 01:10:20,230 --> 01:10:23,660 >> És így az is, hogy ezt tesszük, nézi a szintaxis, a mi már 1252 01:10:23,660 --> 01:10:28,780 Most kaptam egy zárójelben, vesszővel elválasztott értékek, amelyek mindegyike 1253 01:10:28,780 --> 01:10:29,890 olyan érték. 1254 01:10:29,890 --> 01:10:35,530 Tehát ha azt akartuk, hogy helyezze Andi a mi asztal, minden, amit meg kell tennie, hogy jobb Andi. 1255 01:10:35,530 --> 01:10:38,630 Mi Andi szuperhatalom, emberek Andi részben? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Azt szeretném repülés, vagy tetszik sebesség, vagy valami. 1258 01:10:47,545 --> 01:10:48,920 Mit nekünk már van ott? 1259 01:10:48,920 --> 01:10:53,425 Van CS50, repülés, gyorsaság, és erő. 1260 01:10:53,425 --> 01:10:54,850 >> Közönség: Időutazás. 1261 01:10:54,850 --> 01:10:56,180 >> Előadó: Időutazás, csodálatos. 1262 01:10:56,180 --> 01:11:04,280 Tehát van Andi, ideje utazás, és szülővárosában. 1263 01:11:04,280 --> 01:11:05,530 Ez egy nagyon jó kérdés. 1264 01:11:05,530 --> 01:11:09,210 New York City, kivéve, ha valaki tudja. 1265 01:11:09,210 --> 01:11:13,600 Mindenki New York a tanulság, hogy elvegye a mai. 1266 01:11:13,600 --> 01:11:17,710 >> Tehát ez a kijelentés helyezze, mint egy ötödik sorban, 1267 01:11:17,710 --> 01:11:21,900 a szuperhatalom időutazás és a szülővárosa New York City. 1268 01:11:21,900 --> 01:11:25,660 De a nem kötelező mező alapvetően egy módja 1269 01:11:25,660 --> 01:11:30,090 hogy határozza meg pontosan, hogy mely oszlopokat beszúrni kívánt dolgokat. 1270 01:11:30,090 --> 01:11:33,710 >> Az hogy csinálunk most, Andi, időutazás, New York City, 1271 01:11:33,710 --> 01:11:38,150 megy a pontos sorrendje a table-- nevet, szuperhatalom, szülővárosában. 1272 01:11:38,150 --> 01:11:42,290 És ha akartam csinálni valami más, mint az, 1273 01:11:42,290 --> 01:11:44,970 mint mondják, nem tudtad valaki szuperhatalom, 1274 01:11:44,970 --> 01:11:47,660 mint a hogyan nem tudtam Andi szuperhatalom az elején. 1275 01:11:47,660 --> 01:11:50,450 Szóval csak annyit tudtam volt a név és szülővárosában. 1276 01:11:50,450 --> 01:11:54,550 Mit tehettem van tudtam do-- fogom törölni ezt a gyors. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Azt akarom, hogy csak az oszlopok frissítéséhez. 1279 01:12:00,090 --> 01:12:04,100 És ez az, ahol az opcionális oszlop lista kerül szóba. 1280 01:12:04,100 --> 01:12:09,185 Én csak azt akarom, hogy frissíteni nevet és szülővárosában. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 És akkor én azt mondom értékeket. 1283 01:12:16,480 --> 01:12:24,430 Megteszem Andi és New Yorkban. 1284 01:12:24,430 --> 01:12:28,980 >> Ha tudtam volna kimaradt oszlopok listájából és csak tenni ezt a két dolgot, 1285 01:12:28,980 --> 01:12:32,450 hol lenne New York City mentek? 1286 01:12:32,450 --> 01:12:35,900 Melyik oszlop lenne New York Város kerültek be? 1287 01:12:35,900 --> 01:12:38,950 Emberek van valami ötlete? 1288 01:12:38,950 --> 01:12:40,160 Szuperhatalom, pontosan. 1289 01:12:40,160 --> 01:12:41,890 >> Tehát ez csak megy érdekében. 1290 01:12:41,890 --> 01:12:45,530 És, amint eléri a végén a listán, akkor csak megállítani töltés dolgokat. 1291 01:12:45,530 --> 01:12:49,080 És az értékeket, amelyeket maradok itt az összes oszlopot lesz csak NULL. 1292 01:12:49,080 --> 01:12:51,840 Szóval, mert mi megadva nevét és szülővárosában, 1293 01:12:51,840 --> 01:12:56,110 megyünk, hogy azonosító 5, Íme Andi, szuperhatalom NULL. 1294 01:12:56,110 --> 01:12:58,750 Tehát szuperhatalom egy előkészítetlen értéket. 1295 01:12:58,750 --> 01:13:01,340 Ön nem feltétlenül kap a ugyanolyan Valgrid hibákat, ha megpróbálja 1296 01:13:01,340 --> 01:13:01,970 és hozzáférni. 1297 01:13:01,970 --> 01:13:05,160 Minden meg fog szépen nullázni ki, mert NULL érték van a SQL. 1298 01:13:05,160 --> 01:13:06,780 Ez egy állandó. 1299 01:13:06,780 --> 01:13:08,980 És akkor szülővárosában lesz New Yorkban. 1300 01:13:08,980 --> 01:13:11,860 Szóval ez a INSERT INTO parancsot. 1301 01:13:11,860 --> 01:13:13,610 Mielőtt rátérnénk, van További két parancs. 1302 01:13:13,610 --> 01:13:19,060 Vajon az emberek bármilyen kérdése van UPDATE, mintegy INSERT INTO, az SQL 1303 01:13:19,060 --> 01:13:21,556 Általában mielőtt továbbmegyünk ra a végső bit? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Az emberek jól érzik magukat, jó. 1306 01:13:26,910 --> 01:13:27,410 Imádom. 1307 01:13:27,410 --> 01:13:29,480 Szóval beszéljünk SELECT. 1308 01:13:29,480 --> 01:13:33,445 Megy árok UPDATE ide. 1309 01:13:33,445 --> 01:13:35,720 >> És válassza ki lesz nagyon hasonló. 1310 01:13:35,720 --> 01:13:38,790 A cél a SELECT, SELECT célja az életben 1311 01:13:38,790 --> 01:13:45,910 az, hogy kapsz egy csomó oszlopok amelyek megfelelnek bizonyos feltételeknek. 1312 01:13:45,910 --> 01:13:48,230 És amikor azt mondom kielégíteni bizonyos körülmények között, 1313 01:13:48,230 --> 01:13:50,800 elméd talán azonnal menj vissza, hogy WHERE záradék 1314 01:13:50,800 --> 01:13:52,090 hogy jött az UPDATE. 1315 01:13:52,090 --> 01:13:54,880 És ez a záradék Pontosan ott SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Ha nem tesszük meg a WHERE záradékot, és azt mondjuk SELECT név, 1317 01:14:06,020 --> 01:14:16,490 hometown-- tönköly, hogy egy kicsit wrong-- nevét, szülővárosában FROM tábla1. 1318 01:14:16,490 --> 01:14:19,690 Ha csak annyit, hogy mi SELECT fog adni számunkra ez 1319 01:14:19,690 --> 01:14:23,730 fog adni nekünk egy double-- asztalra, inkább. 1320 01:14:23,730 --> 01:14:27,450 A kettős tömb, ha mi vagyunk gondolkodik PHP érzékeli. 1321 01:14:27,450 --> 01:14:33,239 De ez csak fog nekünk egy kettős tömb két columns-- nevet, 1322 01:14:33,239 --> 01:14:33,780 és szülővárosában. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 És akkor figyelmen kívül hagyja ID. 1325 01:14:38,130 --> 01:14:41,310 És akkor figyelmen kívül hagyja szuperhatalom. 1326 01:14:41,310 --> 01:14:44,696 És akkor csak ad nekünk minden egysoros a táblázat. 1327 01:14:44,696 --> 01:14:46,570 Tehát, ha csak be Andi, mi lesz Andi. 1328 01:14:46,570 --> 01:14:48,605 És mi lesz az eredeti négy. 1329 01:14:48,605 --> 01:14:53,720 Ha már frissített, hogy lesz tükröződik, satöbbi, satöbbi. 1330 01:14:53,720 --> 01:14:56,520 >> Szóval ez azért van, mert nem használja a WHERE. 1331 01:14:56,520 --> 01:14:59,200 De tudjuk használni pontosan Ugyanígy használták UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Ha csak szeretne egy táblázatot a nevét és szuper erőkre élők 1333 01:15:05,310 --> 01:15:13,430 New York-ban, akkor végre utasítást mint a SELECT név, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Én csak hagyom hogy-- FROM tábla1 WHERE szülővárosában = New York City-ben. 1335 01:15:27,190 --> 01:15:33,370 >> Tehát ez azt mutatja, hogy tudsz hogy teljesen más oszlopok, 1336 01:15:33,370 --> 01:15:36,920 majd tegye oszlopokat, hogy te nem még kapok vissza a WHERE záradékot. 1337 01:15:36,920 --> 01:15:39,200 Még azt sem akarja, hogy a szülővárosa mindenkinek. 1338 01:15:39,200 --> 01:15:41,920 De mi szeretnénk a nevét, és a szuperhatalom az emberek 1339 01:15:41,920 --> 01:15:43,817 akinek szülővárosában, New Yorkban. 1340 01:15:43,817 --> 01:15:45,650 Szóval ez olyasmi, amit tehetünk a WHERE 1341 01:15:45,650 --> 01:15:49,112 záradék tudunk foglalkozni oszlopok hogy nem feltétlenül akarja vissza. 1342 01:15:49,112 --> 01:15:52,320 Ugyanígy az UPDATE, tudjuk kezelni oszlopok, amit mi nem feltétlenül 1343 01:15:52,320 --> 01:15:53,270 frissíteni szeretne. 1344 01:15:53,270 --> 01:15:58,890 Mi lehet frissíteni a város mindenkinek aki neve Sam, például. 1345 01:15:58,890 --> 01:16:02,080 Mi lehet frissíteni a város Mindenkinek, akinek azonosító száma 2 lehet. 1346 01:16:02,080 --> 01:16:04,960 Szóval csak frissíteni a város a második sorban 1347 01:16:04,960 --> 01:16:08,220 ahol nem kell foglalkozni szükséges a gyakori kérdés. 1348 01:16:08,220 --> 01:16:13,264 >> És törölni, ahogy az számíthat töröljön tábla1. 1349 01:16:13,264 --> 01:16:14,930 És akkor mi van a másik WHERE záradékot. 1350 01:16:14,930 --> 01:16:17,940 Tehát elmondhatjuk WHERE ID = 1. 1351 01:16:17,940 --> 01:16:18,950 Törölje az első sorban. 1352 01:16:18,950 --> 01:16:23,240 És törölje mindig törli a sorban, vagy akkor töröljön néhány sorok számát. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM asztal, ahol szülővárosa = New York City 1354 01:16:26,990 --> 01:16:28,740 törli mindenki New Yorkban. 1355 01:16:28,740 --> 01:16:30,985 Ez, ha volt egy hirtelen tragikus csapás 1356 01:16:30,985 --> 01:16:33,360 és akkor csak azt akartam, hogy távolítsa el mindenki az asztalnál, aki 1357 01:16:33,360 --> 01:16:35,760 élt egy bizonyos városban hogy elütötte a pestis. 1358 01:16:35,760 --> 01:16:38,050 Lehet nyugodjanak békében. 1359 01:16:38,050 --> 01:16:43,849 >> Ezek a négy SQL parancsok hogy akkor kell használni. 1360 01:16:43,849 --> 01:16:45,390 Lehet, hogy nem is kell használni őket. 1361 01:16:45,390 --> 01:16:47,690 De ez az a négy hogy CS50 várja el, 1362 01:16:47,690 --> 01:16:53,630 hogy kényelmes megy Mindkét kvíz 1 és pset7 és pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Már csak az asztalnál újra. 1364 01:16:55,820 --> 01:16:58,930 Ebben egy, Roy szuperhatalom van frissült a lézersugarak, amely 1365 01:16:58,930 --> 01:17:00,880 egy példa, amikor nem használtam. 1366 01:17:00,880 --> 01:17:05,480 Nem tudom, melyik Roy preferálja, de ereje. 1367 01:17:05,480 --> 01:17:07,670 Roy van egy szuperhatalom ereje. 1368 01:17:07,670 --> 01:17:09,090 Katherine nem sikerült ma. 1369 01:17:09,090 --> 01:17:10,260 Ez pech. 1370 01:17:10,260 --> 01:17:11,260 De van szuper sebesség. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Hát ez volt a PHP. 1373 01:17:14,670 --> 01:17:19,410 Mielőtt beszélünk MVC, nem Van valakinek kérdése van a PHP? 1374 01:17:19,410 --> 01:17:23,864 Most SQL vagy PHP ha hirtelen felér egy kérdést a PHP-ről? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Nagy. 1377 01:17:28,460 --> 01:17:29,920 Rendben, készen is van akkor. 1378 01:17:29,920 --> 01:17:33,660 >> Így beszél egy kicsit mintegy modell nézet vezérlők, 1379 01:17:33,660 --> 01:17:38,770 menjünk vissza néhány A cucc pset7. 1380 01:17:38,770 --> 01:17:42,470 Szóval, milyen modell nézet vezérlő is-- nem vagyok 1381 01:17:42,470 --> 01:17:45,660 fogja menteni a változtatásokat a bejelentkezéshez mert én teljesen lemészárolták azt. 1382 01:17:45,660 --> 01:17:49,220 De alapvetően két külön dolog folyik. 1383 01:17:49,220 --> 01:17:52,390 Van egy nyilvános tartalmazó könyvtárat 1384 01:17:52,390 --> 01:17:56,460 A kód lesz végrehajtva és a weboldalakat, hogy lesz látogatható. 1385 01:17:56,460 --> 01:17:58,780 És mi is ezt a kilátást könyvtárban. 1386 01:17:58,780 --> 01:18:01,780 És nézetek sablonokat tartalmaz. 1387 01:18:01,780 --> 01:18:04,390 >> Ez az, amit a függvény render-- láttuk a render 1388 01:18:04,390 --> 01:18:08,240 feladatát egy csomó PHP kód hogy CS50 már írt neked, 1389 01:18:08,240 --> 01:18:10,550 vevő bizonyos paramétereket. 1390 01:18:10,550 --> 01:18:14,510 Mi a kód csinál A ez lesz a nézetek, 1391 01:18:14,510 --> 01:18:18,000 amelyekben egymáshoz, mint előre megírt HTML kódot, 1392 01:18:18,000 --> 01:18:20,720 és ez behelyezése értékek a bizonyos helyeken. 1393 01:18:20,720 --> 01:18:23,990 Így, ha bemegy CS50 pénzügyek, 1394 01:18:23,990 --> 01:18:25,760 azonos fejléc minden oldalon. 1395 01:18:25,760 --> 01:18:28,130 Ugyanez a lábléc minden oldalon. 1396 01:18:28,130 --> 01:18:31,880 Ez azért van, mert az utat amelyek miatt alkotások Nem lesz 1397 01:18:31,880 --> 01:18:36,720 automatikusan tapaszt, hogy fejléc és olvasó, amely megtalálható a kilátást. 1398 01:18:36,720 --> 01:18:41,400 >> Igazából mehet be fejléc, és nézd, ez egy HTML fájlt egy fej. 1399 01:18:41,400 --> 01:18:43,280 Van rajta néhány stíluslapok. 1400 01:18:43,280 --> 01:18:48,450 Nem kell nézni CSS A pset7, ha nem akar. 1401 01:18:48,450 --> 01:18:50,560 De lehet módosítani őket, ha akarod, hogy 1402 01:18:50,560 --> 01:18:53,470 A pénzügyminiszter egy kicsit másként néznek. 1403 01:18:53,470 --> 01:18:57,560 >> Van rajta néhány PHP A fejléc egy kicsit látni 1404 01:18:57,560 --> 01:19:01,240 ha van egy másik cím meg kell tenni ezt a fejlécet. 1405 01:19:01,240 --> 01:19:04,300 De csak néhány más scriptek, hivatkozásokat, és egyéb dolgok. 1406 01:19:04,300 --> 01:19:08,700 Fejvégek, szervezet megkezdi, és hoppá, mi ez a fura kis végére kicsit. 1407 01:19:08,700 --> 01:19:14,730 És van egy div, mint formátlan fajta elem 1408 01:19:14,730 --> 01:19:17,120 hogy van egy ötlete közepén. 1409 01:19:17,120 --> 01:19:22,450 >> És akkor, amikor azt látjuk, lábléc, mi van a végén egy div. 1410 01:19:22,450 --> 01:19:25,000 Van egy alsó, ami ahol a lábléc szöveg. 1411 01:19:25,000 --> 01:19:26,770 Vége a div, vége a test, vége HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Tehát mi vakolat Ennek a vakolat sort 1413 01:19:29,070 --> 01:19:33,150 A folt fel fejléc, a különböző PHP fájlt 1414 01:19:33,150 --> 01:19:37,110 tartalmazni fogja a tényleges dolgok akkor megtekinthetjük, mint az asztal készletek 1415 01:19:37,110 --> 01:19:39,690 ha vételi vagy eladási készletek. 1416 01:19:39,690 --> 01:19:41,480 És akkor majd hozzá a lábléc. 1417 01:19:41,480 --> 01:19:44,890 És a modell nézet vezérlő ötlet az, hogy mi 1418 01:19:44,890 --> 01:19:49,590 külön szeretné választani, hogyan dolgok a kódot. 1419 01:19:49,590 --> 01:19:53,420 Ez azt akarjuk, hogy külön a frontend és a backend, ahol a frontend is 1420 01:19:53,420 --> 01:20:00,440 A dolog, hogy a felhasználó lát, a szép visuals-- HTML, CSS, ilyesmi, 1421 01:20:00,440 --> 01:20:02,320 Képek, satöbbi. 1422 01:20:02,320 --> 01:20:05,780 És a backend PHP. 1423 01:20:05,780 --> 01:20:07,710 Ez kódot, hogy írsz. 1424 01:20:07,710 --> 01:20:10,240 Ez az, ahol a kód, ami ezzel a tényleges műveletek. 1425 01:20:10,240 --> 01:20:12,400 Ez, ha éppen hozzá tőzsdén a táblázatot, 1426 01:20:12,400 --> 01:20:14,890 ha veszel, és Értékelési, ez backend. 1427 01:20:14,890 --> 01:20:20,210 >> És tudjuk, ahogy láttam, beleértve a PHP közvetlenül a HTML-ben. 1428 01:20:20,210 --> 01:20:23,210 Tehát mi tudtunk volna a ez a feladat most volt 1429 01:20:23,210 --> 01:20:26,200 egy HTML fájlt az egyes oldalak, mint a belépés. 1430 01:20:26,200 --> 01:20:30,260 És akkor azon az oldalon, csak Volt egy hatalmas PHP kód, 1431 01:20:30,260 --> 01:20:33,822 beleértve az összes kódot, hogy hogy az oldal kifejezetten szüksége lenne. 1432 01:20:33,822 --> 01:20:35,780 És akkor mi lehetett volna tenni, hogy a portfólió. 1433 01:20:35,780 --> 01:20:40,250 Tudtunk volna minden a vásárlási és értékesítése az egyes oldalakat. 1434 01:20:40,250 --> 01:20:43,680 >> De mivel mi teszi elkülönítve, ahol 1435 01:20:43,680 --> 01:20:46,660 írunk a backend kódot, akkor könnyen 1436 01:20:46,660 --> 01:20:52,660 változás, hogy a dolgok nem változó minden egyes fájlt. 1437 01:20:52,660 --> 01:20:55,460 Mi a dolgokat, mint csak add egy új div az aljára 1438 01:20:55,460 --> 01:21:00,720 of-- Hello módosította a lábléc. 1439 01:21:00,720 --> 01:21:03,710 Tudod csak csinálni ilyesmi. 1440 01:21:03,710 --> 01:21:07,250 De azt is meg lehet változtatni a teljes vizuális megjelenésének 1441 01:21:07,250 --> 01:21:09,290 anélkül, hogy mi megy a háttérben. 1442 01:21:09,290 --> 01:21:12,000 És meg lehet változtatni a teljes backend és még 1443 01:21:12,000 --> 01:21:13,900 Van úgy néznek ki, mint korábban. 1444 01:21:13,900 --> 01:21:14,400 Ez 1445 01:21:14,400 --> 01:21:16,170 >> Az ötlet MVC. 1446 01:21:16,170 --> 01:21:19,992 És ez valóban egy kiszabott paradigma egyes, a programozási nyelvek 1447 01:21:19,992 --> 01:21:21,700 érdemes használni A végleges projekt. 1448 01:21:21,700 --> 01:21:25,100 Ha igen iOS fejlesztés, van kilátás, 1449 01:21:25,100 --> 01:21:29,120 ami az, amit látsz az iPhone, és majd backend például külön dolog. 1450 01:21:29,120 --> 01:21:31,260 >> Akkor gondolj egy kicsit. 1451 01:21:31,260 --> 01:21:35,190 Van egy csomó binárisok a számítástechnika, ami vicces, 1452 01:21:35,190 --> 01:21:37,270 mert minden bináris. 1453 01:21:37,270 --> 01:21:38,550 Nem terveztem, hogy. 1454 01:21:38,550 --> 01:21:41,590 Ez egy szójáték nem szándékos. 1455 01:21:41,590 --> 01:21:43,860 Igen, szójáték nem célja. 1456 01:21:43,860 --> 01:21:49,070 >> De mint .h fájlokat és .c fájlok, van Sok elválasztó dolog, hogy mi 1457 01:21:49,070 --> 01:21:49,900 talán nem is kell. 1458 01:21:49,900 --> 01:21:54,330 Így tudjuk csak szerkeszteni a h fájlokat, vagy valaki csak látni egy .h fájlt, és tudom, 1459 01:21:54,330 --> 01:21:57,650 pontosan a funkciókat, amelyek a .c fájlt anélkül, hogy feltétlenül tudva 1460 01:21:57,650 --> 01:21:58,870 azok végrehajtását. 1461 01:21:58,870 --> 01:22:02,800 Ez szétválasztásának gondolata a komponensek hogy függnek egymástól 1462 01:22:02,800 --> 01:22:06,990 de egyfajta hozzáférhet egymás különböző csatornákon keresztül, múló 1463 01:22:06,990 --> 01:22:09,310 változók, csak kijelentéseket tartalmaz, a dolgok 1464 01:22:09,310 --> 01:22:14,440 mint, hogy ezt az elvet segít létrehozni alkalmazások 1465 01:22:14,440 --> 01:22:17,080 hogy könnyebben szerkesztette több ember, 1466 01:22:17,080 --> 01:22:20,440 könnyebben lehet változtatni vagy módosított egy nagy méretű, 1467 01:22:20,440 --> 01:22:24,880 és könnyebben hibakeresés egy csomó módon. 1468 01:22:24,880 --> 01:22:28,254 >> Nagyon gyors, van Néhány tipp a pset7, 1469 01:22:28,254 --> 01:22:31,420 amely Csinálok teljes képernyőn, így nem csak néztem the-- tip tip tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Nincs túl sok tipp. 1472 01:22:35,130 --> 01:22:38,060 >> De már említettem PHP nehéz nyomon követni. 1473 01:22:38,060 --> 01:22:39,290 A dupla és tripla ellenőrizze. 1474 01:22:39,290 --> 01:22:41,550 Ha a kód csak nem felbukkan az oldalon, 1475 01:22:41,550 --> 01:22:46,240 ez talán PHP hibát, sajnálom. 1476 01:22:46,240 --> 01:22:48,570 >> Soha nem kell nézni CSS, ha nem akar. 1477 01:22:48,570 --> 01:22:52,150 De ha egyszer már elkészült, akkor Jó kis móka dolog, hogy csak megy 1478 01:22:52,150 --> 01:22:54,770 és szórakozz a CSS paramétereket. 1479 01:22:54,770 --> 01:22:58,700 CSS és a HTML egy példa egy modell Tekintettel vezérlő stílus dolog is, ugye? 1480 01:22:58,700 --> 01:23:02,150 Lehetne-szerű tag belsejében HTML elemeket. 1481 01:23:02,150 --> 01:23:04,800 De ha valami outsourcing őket CSS, 1482 01:23:04,800 --> 01:23:08,180 ők könnyebb szerkeszteni, és a játék körül, és érezd jól magad. 1483 01:23:08,180 --> 01:23:10,816 >> Kényeztesse CS50 helper funkciók, mint a fekete doboz. 1484 01:23:10,816 --> 01:23:12,940 Önnek nem kell tudni pontosan mit tehetik csinál, 1485 01:23:12,940 --> 01:23:16,770 de bízik benne, hogy mindig a helyes dolog attól függően, hogy mit adsz meg, 1486 01:23:16,770 --> 01:23:17,690 dolgok, mint ez. 1487 01:23:17,690 --> 01:23:21,040 És azt ajánlom figyelte Dávid áttekintése, 1488 01:23:21,040 --> 01:23:24,490 megy végig a cucc, nem csak a todos, 1489 01:23:24,490 --> 01:23:26,960 de akkor tényleg lehet kezelni Ezek a fekete dobozok. 1490 01:23:26,960 --> 01:23:29,280 Ne menj bele ezek a funkciók keres hibákat. 1491 01:23:29,280 --> 01:23:33,510 >> És üdvözlik a visszatérés A mi Overlord Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Nagy. 1493 01:23:34,010 --> 01:23:40,430 >> Van-e végső kérdésekre előtt Ezt egy kissé ugrál a nap? 1494 01:23:40,430 --> 01:23:42,610 Vagyok még mindig él? 1495 01:23:42,610 --> 01:23:44,700 Nagy. 1496 01:23:44,700 --> 01:23:47,120 Hi Fogadok emberek. 1497 01:23:47,120 --> 01:23:47,620 Nagy. 1498 01:23:47,620 --> 01:23:50,260 Vannak-e már kérdése? 1499 01:23:50,260 --> 01:23:50,760 Nem? 1500 01:23:50,760 --> 01:23:52,884 >> És akkor azt hiszem, jó menni ma. 1501 01:23:52,884 --> 01:23:55,550 Maradok egy kicsit Utána, ha az emberek voltak kérdéseik 1502 01:23:55,550 --> 01:23:57,480 féltek megkérdezni a patak. 1503 01:23:57,480 --> 01:23:59,790 De egyébként, van egy jó nap. 1504 01:23:59,790 --> 01:24:01,933