1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM LEVATICH: Dobrodošli oddelek za ta teden. 3 00:00:08,440 --> 00:00:10,040 Nisem Andi. 4 00:00:10,040 --> 00:00:14,590 Andi je zbolel za ta dan, in jaz so bili nekako imenuje v zadnji minuti 5 00:00:14,590 --> 00:00:15,700 prevzeti. 6 00:00:15,700 --> 00:00:20,920 To je sezona gripe, zato poskrbite, da boste prebivajo čisto, umivanju rok, 7 00:00:20,920 --> 00:00:24,800 in zdravo prehranjevanje, tako da tudi vi niste Iznemogao. 8 00:00:24,800 --> 00:00:26,870 >> Toda brez nadaljnje ado, začnimo. 9 00:00:26,870 --> 00:00:29,970 Danes bomo govorili približno PHP malo bit-- kako 10 00:00:29,970 --> 00:00:33,900 PHP se nanaša na HTML, kako ga nanaša na CSS, in nekatere spleta 11 00:00:33,900 --> 00:00:36,100 stvari si na zadnji dodelitvi. 12 00:00:36,100 --> 00:00:37,930 Bomo pogovoril malo o SQL 13 00:00:37,930 --> 00:00:41,360 in kako lahko delate z bazami podatkov, ki je zelo bistvena sestavina P 14 00:00:41,360 --> 00:00:43,650 nastavite 8-- P nastavite 7. 15 00:00:43,650 --> 00:00:44,480 P nastavite 7. 16 00:00:44,480 --> 00:00:48,400 >> In potem bomo govorili malo malo o tem, kako krmilniki pogled deluje 17 00:00:48,400 --> 00:00:54,640 in zakaj to je filozofija nekaj sodobne spletne strani in drugačno zasnovo. 18 00:00:54,640 --> 00:00:58,760 Precej veliko vrst aplikacij in aplikacije, ki jih lahko ladja 19 00:00:58,760 --> 00:01:01,120 so z uporabo tega modela, Okvir pogled krmilnik, 20 00:01:01,120 --> 00:01:02,890 da si bo z uporabo v P nastavljena 7, tako da bom 21 00:01:02,890 --> 00:01:05,220 govori malo o tem, zakaj da je postalo 22 00:01:05,220 --> 00:01:07,970 priljubljen, zakaj je pomembno in lepo. 23 00:01:07,970 --> 00:01:12,052 In potem bom končno premakniti na nekaj nasvetov o reševanju P nastavite 7. 24 00:01:12,052 --> 00:01:13,760 In če bomo imeli čas ostala na koncu, 25 00:01:13,760 --> 00:01:17,320 bomo lahko dejansko narediti nekaj delati na tem skupaj. 26 00:01:17,320 --> 00:01:20,380 >> Torej, PHP. 27 00:01:20,380 --> 00:01:23,790 V bistvu, ste morda opazili this-- vam ni res, da se potopite v it-- 28 00:01:23,790 --> 00:01:27,880 ampak P nastavite 6 imel nekaj PHP kodo, ki se dogaja. 29 00:01:27,880 --> 00:01:34,710 In zato, ker PHP je C-like jezik, PHP, za razliko od HTML in CSS, 30 00:01:34,710 --> 00:01:39,030 je programski jezik, ker se HTML in CSS so statična. 31 00:01:39,030 --> 00:01:44,050 Oni označevalni jeziki, ki se ukvarjajo s stilom in vizualno postavitev. 32 00:01:44,050 --> 00:01:46,230 PHP je prava stvar. 33 00:01:46,230 --> 00:01:51,590 >> PHP ima zank, da ima conditions-- vse te stvari, da je zabavno o C. 34 00:01:51,590 --> 00:01:56,190 To je nekaj stvari, ki so malo malo bolje kot C, kar bomo videli, 35 00:01:56,190 --> 00:01:59,760 ampak mislim, da je najlažje govoriti o PHP je le, da se potopite v. 36 00:01:59,760 --> 00:02:04,087 Tako da sem šel desno v IDE na tej točki. 37 00:02:04,087 --> 00:02:06,170 Prva stvar, ki jo boš storiti, je dejansko videti 38 00:02:06,170 --> 00:02:10,169 malo na nekatere izmed PHP koda, ki je bila v P nastavite 6. 39 00:02:10,169 --> 00:02:13,600 Torej način, da delamo that-- prej, tako, da smo bili z operacijskim 40 00:02:13,600 --> 00:02:18,550 strežnik za napravo je bila, da bi morali type-- 41 00:02:18,550 --> 00:02:21,750 ali uporabite svoj izvajanja ali izvajanje Kadrovskih je 42 00:02:21,750 --> 00:02:27,059 od server.c ki ga bo v imenik in teče server.c bodisi ni 43 00:02:27,059 --> 00:02:30,100 arguments-- tako samo pozivam lokalnega gostitelja, ki je tisto, kar ste verjetno 44 00:02:30,100 --> 00:02:31,849 storila večina time-- in nato s polnjenjem 45 00:02:31,849 --> 00:02:35,380 directory-- z za uporabo kot koreninah 46 00:02:35,380 --> 00:02:38,310 kjer je spletna stran bi biti prost, v bistvu. 47 00:02:38,310 --> 00:02:42,180 >> Ta teden P set 7, kakor velik kot naš kode za server.c 48 00:02:42,180 --> 00:02:47,580 je, da obstajajo ljudje, ki imajo že napisal te lepe stvari znova na CS50 49 00:02:47,580 --> 00:02:49,630 ki imajo malo več funkcionalnosti, 50 00:02:49,630 --> 00:02:52,920 program strežnik, ki je sposoben ki se ukvarjajo z malo več 51 00:02:52,920 --> 00:02:56,350 od zapletenosti da bomo glej tako v P nastavite 7 in P nastavite 8. 52 00:02:56,350 --> 00:03:01,410 In način, da začnete gor Strežnik, ki ga vtipkate "apache50." 53 00:03:01,410 --> 00:03:03,960 >> In preden narediš karkoli, želite prepričati 54 00:03:03,960 --> 00:03:06,070 da je Apache 50 ne že teče, kot je 55 00:03:06,070 --> 00:03:08,130 na mojem računalniku, ki sem jo naredil, da ga preizkusite. 56 00:03:08,130 --> 00:03:10,320 In ti to, da ga kliče apache50. 57 00:03:10,320 --> 00:03:14,070 Stop, in videli boste, da je ustavljanje spletni strežnik, če si lahko ogledate tam 58 00:03:14,070 --> 00:03:16,340 Na dnu okna terminala. 59 00:03:16,340 --> 00:03:21,090 In potem samo za začetek, smo bo poklical, "apache50 začetek." 60 00:03:21,090 --> 00:03:23,150 In potem gremo ga nahraniti imenik. 61 00:03:23,150 --> 00:03:26,950 >> Zdaj, ker smo želeli videti na nekatere P določi 6 kodo 62 00:03:26,950 --> 00:03:32,850 da smo izvajali, sem dejansko kopirali malo P 63 00:03:32,850 --> 00:03:37,090 nastavite 6 kodo v mojo mapo, ki jih lahko vidite na levi strani tam. 64 00:03:37,090 --> 00:03:40,170 To se imenuje "SECTION8" v vseh z velikimi tiskanimi črkami 65 00:03:40,170 --> 00:03:44,510 saj sem samo tako navdušen da bo v živo predvajale-danes. 66 00:03:44,510 --> 00:03:47,330 >> Torej, če tečemo s tem bi bilo Vse deluje zelo učinkovito. 67 00:03:47,330 --> 00:03:52,350 Piše, OK, naša stran je zdaj na voljo na naslovu IDE, 68 00:03:52,350 --> 00:03:57,710 v bistvu, ki je tisto, kar ste bili z uporabo točno tako, kot je bilo v P nastavite 7-- P nastavite 6. 69 00:03:57,710 --> 00:04:00,899 Vsi moji indeksi so eden indeks danes. 70 00:04:00,899 --> 00:04:02,940 Torej, lahko gremo na to naslov, če si boste zapomnili, 71 00:04:02,940 --> 00:04:05,710 s klikom ta mali gumb v zgornjem desnem kotu. 72 00:04:05,710 --> 00:04:14,200 >> In se spomnite to kodo, ki se je zgodilo, ko si šel v hello.php. 73 00:04:14,200 --> 00:04:18,000 In kaj koda je zasnovan tako, da storiti, je, ko ste vnesli ime 74 00:04:18,000 --> 00:04:20,550 here-- če rečete Sam ker to je moj name-- 75 00:04:20,550 --> 00:04:23,620 in sem kliknite Hello Say, ko smo šli na naslednjo stran, 76 00:04:23,620 --> 00:04:25,270 To ime naj bi bil prikazan. 77 00:04:25,270 --> 00:04:28,550 To bi rekel: "Zdravo, Sam" ali "Hello", karkoli vam ime 78 00:04:28,550 --> 00:04:32,470 vanjo, čeprav smo šli na povsem novi spletni strani. 79 00:04:32,470 --> 00:04:36,610 >> In to je reč da lahko PHP stori za vas. 80 00:04:36,610 --> 00:04:42,840 PHP je sposoben, da prenese podatke med dvema spletnih straneh. 81 00:04:42,840 --> 00:04:44,390 To je popolnoma drugačna stran. 82 00:04:44,390 --> 00:04:46,990 Videli boste, naslov je "zdravo" tukaj. 83 00:04:46,990 --> 00:04:49,080 Pravzaprav imajo isti naslov, vendar sem 84 00:04:49,080 --> 00:04:52,560 Obljubim, da so različni web strani, če gledamo na viru. 85 00:04:52,560 --> 00:04:55,890 In lahko prenese podatke, ki je vnesejo v tem besedilnem polju, 86 00:04:55,890 --> 00:04:59,830 ga predloži naslednji strani, ki je vpoklican, 87 00:04:59,830 --> 00:05:02,490 in nato, da se podatki lahko tam v svoji sedanji obliki. 88 00:05:02,490 --> 00:05:04,810 >> Zdaj smo še ne izvajajo to sami, ki 89 00:05:04,810 --> 00:05:08,710 je tisto, kar bomo storili zdaj, da nekako dobili okus za to, kako PHP deluje, 90 00:05:08,710 --> 00:05:15,070 vendar je ključna ideja je, da PHP-- lahko nekako si o njej mislijo kot funkcijo. 91 00:05:15,070 --> 00:05:18,570 Nekaj, kar lahko PHP vam pustiti pa je lahko trajalo parametre 92 00:05:18,570 --> 00:05:24,710 da vnesete v HTML stran z uporabo PHP in oblik, 93 00:05:24,710 --> 00:05:29,960 in se lahko prenese s tistimi kot parametri na naslednjo stran, ki je naložila gor. 94 00:05:29,960 --> 00:05:35,110 >> V tem primeru, bomo nakladanje up to Stran z gumbom "pozdravi". 95 00:05:35,110 --> 00:05:38,960 Ampak za zdaj, sem dejansko črta nekaj te kode 96 00:05:38,960 --> 00:05:44,850 v hello.php da je prost dostop da je bil dejansko prikazovanje "zdravo, 97 00:05:44,850 --> 00:05:49,680 svet "ali" zdravo, Sam ", ali "zdravo", kar je samo vhod. 98 00:05:49,680 --> 00:05:53,620 Torej za zdaj, smo bo za to, v bistvu. 99 00:05:53,620 --> 00:05:56,570 Bomo ponovno, da je in dodate tudi nekaj več funkcionalnosti, 100 00:05:56,570 --> 00:06:00,210 narediti malo več z njim, si oglejte kaj PHP je res sposoben. 101 00:06:00,210 --> 00:06:04,870 >> Torej, najprej, kaj je govoril o ta datoteka, hello.php. 102 00:06:04,870 --> 00:06:07,440 Torej, če smo zoomom malo bit-- in zdaj sem 103 00:06:07,440 --> 00:06:10,520 nekako poskuša pomikanje vse način around-- tam gremo. 104 00:06:10,520 --> 00:06:14,220 Boste videli, da se imenuje hello.php, ampak sintaksa njega 105 00:06:14,220 --> 00:06:16,880 Izgleda datoteko HTML. 106 00:06:16,880 --> 00:06:20,380 To je zato, ker Dejanska PHP v tej datoteki 107 00:06:20,380 --> 00:06:25,220 se vsi zaljubljen med njimi vprašanje mark-strešica bloki. 108 00:06:25,220 --> 00:06:28,610 Vse je tukaj Šteje se PHP koda. 109 00:06:28,610 --> 00:06:32,040 >> In boste opazili, da ko sem komentar, 110 00:06:32,040 --> 00:06:35,320 boste videli poznajo dve poševnici. 111 00:06:35,320 --> 00:06:38,440 In če boste spomnimo, v HTML, če sem tip komentar, 112 00:06:38,440 --> 00:06:42,540 je videti nekaj bližje to, kar je komentar v HTML. 113 00:06:42,540 --> 00:06:46,570 Torej, res je vse med ti dve kotni nosilci 114 00:06:46,570 --> 00:06:50,060 Zdaj je PHP koda, ki se odraža v tem, 115 00:06:50,060 --> 00:06:53,270 da je to malo simbol komentar je obrnil v komentarju. 116 00:06:53,270 --> 00:06:58,420 >> Torej, vsakič, ko pišete PHP kodo, celo če ni HTML koda zunaj njega, 117 00:06:58,420 --> 00:07:02,720 to je vedno bo zaprti v teh kotnih oklepajih 118 00:07:02,720 --> 00:07:04,080 z vprašaji. 119 00:07:04,080 --> 00:07:08,260 Lahko nekako misliti it-- kako vse kode, ki je potekal v vaših programih C 120 00:07:08,260 --> 00:07:13,950 je bil zaprt v int glavno, praznino, kodrasti naramnicami, konec kodrasti izjava brace. 121 00:07:13,950 --> 00:07:17,100 In videli boste, zavite oklepaje v PHP, tudi, toda to je vrsta 122 00:07:17,100 --> 00:07:20,490 kot glavno metodo PHP. 123 00:07:20,490 --> 00:07:25,630 >> Torej sedaj, kako bomo storili ničesar v PHP? 124 00:07:25,630 --> 00:07:29,190 Zdaj, PHP je programski jezik, ki je zelo-C, kot so, 125 00:07:29,190 --> 00:07:30,970 ampak deluje na spletu. 126 00:07:30,970 --> 00:07:33,270 Torej, ena stvar, ki boste immediately-- eno 127 00:07:33,270 --> 00:07:38,130 od prvih stvari, ki jih res z C je bil ste tiskali stvari, kajne? 128 00:07:38,130 --> 00:07:42,290 Torej, v C smo naredili, da s funkcijo printf. 129 00:07:42,290 --> 00:07:46,430 Dali smo to niz, verjetno z novo linijo, 130 00:07:46,430 --> 00:07:49,850 potem pa preneha je s podpičjem. 131 00:07:49,850 --> 00:07:53,790 >> Torej tako, da bomo za to, da v PHP-- ker to ni čisto printf. 132 00:07:53,790 --> 00:07:55,940 To je malo drugačen sintakso. 133 00:07:55,940 --> 00:08:02,580 Tako, da smo natisnete stvari v PHP je, da smo rekli, "echo zdravo" 134 00:08:02,580 --> 00:08:04,180 ali "echo" kakršno koli besedo. 135 00:08:04,180 --> 00:08:09,830 In da ima tak učinek printf z vrvico, "zdravo." 136 00:08:09,830 --> 00:08:11,990 In dodaja novo linijo z njo. 137 00:08:11,990 --> 00:08:16,000 >> Torej, kaj je zdaj, da sure-- Bom pomanjšati spet malo bit-- 138 00:08:16,000 --> 00:08:18,250 dajmo se prepričajte, da da koda deluje 139 00:08:18,250 --> 00:08:21,030 ker je morda zelo pa gre za napako v tem kodeksu 140 00:08:21,030 --> 00:08:22,880 da bomo morali lotiti. 141 00:08:22,880 --> 00:08:25,860 Torej je strežnik že teče. 142 00:08:25,860 --> 00:08:30,630 Torej, če smo pomikanje nazaj na dno, Ja, je strežnik še vedno teče. 143 00:08:30,630 --> 00:08:34,510 Torej, če smo samo pritisnete na to malo desno here-- 144 00:08:34,510 --> 00:08:37,620 welcome-- moramo get-- super. 145 00:08:37,620 --> 00:08:39,930 >> Še vedno smo ob seznanjeni "Pozdravi" dialog, 146 00:08:39,930 --> 00:08:45,750 ampak ko sem tip v "hi", bomo videli da je besedilo "zdravo" je bil dejansko 147 00:08:45,750 --> 00:08:50,080 natisne, ki je točno tako, kot smo pričakovali, saj odmeva v PHP 148 00:08:50,080 --> 00:08:53,190 je tako kot izjavo printf. 149 00:08:53,190 --> 00:09:01,410 Torej nazaj na kodo, kako v P nastavite 6 storil porazdelitev koda, ki jo pod 150 00:09:01,410 --> 00:09:05,920 bi bilo tako, da je PHP bi izhod za stvar, ki se vam 151 00:09:05,920 --> 00:09:07,920 vnesli na prejšnji zaslon? 152 00:09:07,920 --> 00:09:10,350 >> In nekako preuči zakaj se to zgodi, smo 153 00:09:10,350 --> 00:09:15,510 bo šel v index.html, ki je izvirna datoteka, datoteka, ki 154 00:09:15,510 --> 00:09:18,710 se pojavi na zaslonu z gumbom "pozdravi". 155 00:09:18,710 --> 00:09:20,950 Opazite, da je vse klasične stvari, 156 00:09:20,950 --> 00:09:26,910 smo prišli, da pričakujejo od HTML takega kot te stvari, zaprto te oznake 157 00:09:26,910 --> 00:09:31,080 v kotnih oklepajih, kot so PHP vendar brez vprašaji, 158 00:09:31,080 --> 00:09:34,650 kar kaže na posebno stvar HTML. 159 00:09:34,650 --> 00:09:36,895 Imamo naziv, ki je "zdravo." 160 00:09:36,895 --> 00:09:41,010 In boste opazili, da se, kot smo videli, naslov je "zdravo", v obeh primerih. 161 00:09:41,010 --> 00:09:43,260 Oglejmo spremeniti tole da "reči" samo zato, da bomo 162 00:09:43,260 --> 00:09:48,170 mogoče razlikovati sebe, kje smo. 163 00:09:48,170 --> 00:09:49,600 >> Ampak imamo telo. 164 00:09:49,600 --> 00:09:52,690 In potem je zanimivo bit je bit, ki se prikaže v HTML, 165 00:09:52,690 --> 00:09:54,530 je ta oblika element. 166 00:09:54,530 --> 00:09:56,370 In tako smo dobili obliko. 167 00:09:56,370 --> 00:09:58,330 In to je ključ. 168 00:09:58,330 --> 00:10:00,530 To je, kako delamo s PHP. 169 00:10:00,530 --> 00:10:05,790 Akcijski parameter Obrazec pravi, da hello.php 170 00:10:05,790 --> 00:10:09,310 je tisto, kar bomo poslali vrednosti v tej obliki do. 171 00:10:09,310 --> 00:10:13,830 To je, če smo mimo parametri, če se tako izrazim. 172 00:10:13,830 --> 00:10:18,680 >> Opazili boste, še ena stvar tukaj je, da je metoda "znebiti." 173 00:10:18,680 --> 00:10:24,450 Obstajata dva osnovna Načini, s katerimi bo 174 00:10:24,450 --> 00:10:28,750 lahko z uporabo PHP, da prenese podatke med websites-- spletnih straneh, 175 00:10:28,750 --> 00:10:30,500 rather-- v tej nalogi. 176 00:10:30,500 --> 00:10:34,070 In te metode so "dobili" in "delovno mesto." 177 00:10:34,070 --> 00:10:37,010 Obstaja nekaj subtilno Razlike med get in pošti 178 00:10:37,010 --> 00:10:40,520 da bomo dobili into-- smo bo "dobil" v, če hočete. 179 00:10:40,520 --> 00:10:44,030 >> Ampak za vse namene in namene, dobili in post 180 00:10:44,030 --> 00:10:47,120 sta le načini, da podaš parametre 181 00:10:47,120 --> 00:10:49,500 z nekoliko drugačnimi usmrtitev. 182 00:10:49,500 --> 00:10:53,500 Za zdaj, bomo uporabili priti, ker dobil je, kar je bilo prvotno uporabljena 183 00:10:53,500 --> 00:10:57,340 V datoteki PHP P nastavite 6. 184 00:10:57,340 --> 00:11:00,850 In dejansko, če gremo v in poglej preden smo uredili ničesar drugega, 185 00:11:00,850 --> 00:11:03,090 Grem pozdravit to-- kako ti je ime? 186 00:11:03,090 --> 00:11:03,812 >> OBČINSTVO: Elliot. 187 00:11:03,812 --> 00:11:04,770 SAM LEVATICH: Oh, bog. 188 00:11:04,770 --> 00:11:05,600 Ne vem, kako naj napiše. 189 00:11:05,600 --> 00:11:06,766 Lahko napiše, da je za mano? 190 00:11:06,766 --> 00:11:08,710 Skupina: 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 >> OBČINSTVO: Ja. 193 00:11:10,440 --> 00:11:10,960 >> SAM LEVATICH: Popolna. 194 00:11:10,960 --> 00:11:11,210 V REDU. 195 00:11:11,210 --> 00:11:12,751 Mislim, da sem vedel, kako se napiše. 196 00:11:12,751 --> 00:11:13,510 Oprosti zaradi tega. 197 00:11:13,510 --> 00:11:16,560 Toda, če rečemo »Say Hello«, to ni da se ne bo prikazal na zaslonu 198 00:11:16,560 --> 00:11:18,476 vendar, ker smo spremenjeno koda malo. 199 00:11:18,476 --> 00:11:21,290 Toda, če ne bomo "Pozdravi" - OK, tako "zdravo", je tu. 200 00:11:21,290 --> 00:11:24,137 Ampak, če vzamemo bližje poglej URL sama, 201 00:11:24,137 --> 00:11:26,220 bomo videli, da se konča Ime s hello.php? = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Torej, to je način komuniciranje na naslednjo spletno stran 204 00:11:37,180 --> 00:11:39,240 parametri, ki smo jih opravili. 205 00:11:39,240 --> 00:11:40,870 Rekli smo name = Elliot. 206 00:11:40,870 --> 00:11:46,290 In to je, navsezadnje, kako P nastavite 6 pogledali spremenljivke, ki smo jih opravili v 207 00:11:46,290 --> 00:11:47,520 preko obliki. 208 00:11:47,520 --> 00:11:51,470 In to je nekaj, kar je značilen za zahtevo GET. 209 00:11:51,470 --> 00:11:57,480 Zahteva za get naredi parametre znana v URL spletne strani. 210 00:11:57,480 --> 00:12:01,190 >> In se spomnite, preveč, v P nastavite 6, ki vas 211 00:12:01,190 --> 00:12:04,450 moral napisati funkcijo da je ukvarjal z dejstvom, 212 00:12:04,450 --> 00:12:09,700 da te poizvedbe niz lahko obstajajo po datoteki. 213 00:12:09,700 --> 00:12:14,684 Tam bi se lahko vprašanje znamka sledila ga bistvu poljubno število znakov. 214 00:12:14,684 --> 00:12:16,350 In to je točno tisto, kar se dogaja tukaj. 215 00:12:16,350 --> 00:12:21,280 In razlog, da si je moral razčleniti, da v vašem izvajanju server.c v P 216 00:12:21,280 --> 00:12:27,570 nastavite 6 je tako, da lahko poveš PHP koda, da naštejemo = Elliot. 217 00:12:27,570 --> 00:12:30,460 Je potrebno, da bo lahko razčleniti, da iz URL-ja 218 00:12:30,460 --> 00:12:35,900 tako da je datoteka PHP v vprašanju ni vedel, kaj je bilo, ki se ukvarjajo z. 219 00:12:35,900 --> 00:12:39,350 >> Zato upajmo, da to daje motivacija za server.c 220 00:12:39,350 --> 00:12:43,900 zdaj, ko se selimo na izven C v PHP. 221 00:12:43,900 --> 00:12:48,240 Torej, kaj je dejansko osredotočiti na dostopom do Stvari prečkale zahtevo GET zdaj 222 00:12:48,240 --> 00:12:48,880 na tej točki. 223 00:12:48,880 --> 00:12:50,157 Bom rešil to. 224 00:12:50,157 --> 00:12:51,240 Mi ni spremenilo nič. 225 00:12:51,240 --> 00:12:56,080 Izgleda, da imamo vnosno polje. 226 00:12:56,080 --> 00:12:58,550 >> Mi smo nastaviti nekaj lastnosti, saj ne moremo storiti HTML. 227 00:12:58,550 --> 00:12:59,550 To so preproste stvari. 228 00:12:59,550 --> 00:13:00,580 Ne potrebujemo jih. 229 00:13:00,580 --> 00:13:03,750 Ampak imamo autocomplete off, ki v bistvu says-- veste, 230 00:13:03,750 --> 00:13:05,710 Ko vtipkate stvari v spletu, včasih 231 00:13:05,710 --> 00:13:07,355 poskuša zapolniti, da se za vas. 232 00:13:07,355 --> 00:13:08,230 Torej, to je lepa stvar. 233 00:13:08,230 --> 00:13:11,700 Želimo, da ga izklopite za ta namen. 234 00:13:11,700 --> 00:13:13,970 To je bila odločitev CS50. 235 00:13:13,970 --> 00:13:15,640 Tako bomo lahko izbrišete, da če smo želeli. 236 00:13:15,640 --> 00:13:19,510 >> Samodejno ostrenje samo palice kazalec v pravi obliki na začetku. 237 00:13:19,510 --> 00:13:21,060 Še enkrat, ni preveč pomembna. 238 00:13:21,060 --> 00:13:26,220 >> Ampak name = "ime" - to je malo težavno, ker je to ime in ime. 239 00:13:26,220 --> 00:13:28,730 Ampak lahko smo spremenili da je to nekaj drugega. 240 00:13:28,730 --> 00:13:30,563 In z dejstvom, da je Kaj bomo storili zdaj. 241 00:13:30,563 --> 00:13:34,830 Bomo rekli "osebo", ki je nekaj podobnega imena 242 00:13:34,830 --> 00:13:36,790 če je oseba definirana njihova imena. 243 00:13:36,790 --> 00:13:41,480 >> Torej, kaj je blizu tega, ponovno odpre našo spletno stran 244 00:13:41,480 --> 00:13:46,110 saj naš strežnik še vedno teče Apache 50, in bomo rekli, zdravo, tukaj je 245 00:13:46,110 --> 00:13:47,200 Elliot znova. 246 00:13:47,200 --> 00:13:48,460 Zakaj ne? 247 00:13:48,460 --> 00:13:49,220 Zdravo. 248 00:13:49,220 --> 00:13:52,880 In če gremo tukaj gor, bomo videli potem namesto imena = Elliot, 249 00:13:52,880 --> 00:13:55,200 piše oseba = Elliot. 250 00:13:55,200 --> 00:14:00,060 In to je neposredna posledica dejstva, da smo pravkar spremenili name = "osebo." 251 00:14:00,060 --> 00:14:06,840 >> Torej, v vhodni element obrazec HTML, polje ime 252 00:14:06,840 --> 00:14:10,590 je identifikator za parameter, ki se je mimo. 253 00:14:10,590 --> 00:14:14,250 To je tako kot če ste ustvarili funkcijo "dodati", ki je v dveh števil 254 00:14:14,250 --> 00:14:16,670 in si rekel int A in int b. 255 00:14:16,670 --> 00:14:22,680 To bi bilo imena, in če si je želel še en obrazec, ki 256 00:14:22,680 --> 00:14:27,800 lahko storimo samo s kopiranjem in lepljenje, potem bomo imeli ime b. 257 00:14:27,800 --> 00:14:31,030 >> Sedaj bomo imeli dva parametra ki se prenašajo prek 258 00:14:31,030 --> 00:14:36,970 dobili na naslednjo website-- naslednjo spletno stran, hello.php. 259 00:14:36,970 --> 00:14:39,770 In bomo lahko dejansko videli da še enkrat, če želimo. 260 00:14:39,770 --> 00:14:44,830 To je najlažji način za spopadanje s spletna koda v IDE, v bistvu. 261 00:14:44,830 --> 00:14:47,940 Zaženete strežnik, da dobim teče, in nato vsakič, ko 262 00:14:47,940 --> 00:14:50,649 narediti nekaj sprememb, tako blizu da datoteko samo, da je varna. 263 00:14:50,649 --> 00:14:52,440 S pritiskom na gumb za nazaj je malo zapleteno 264 00:14:52,440 --> 00:14:55,800 ker bi bilo nalaganje prej različica, ni najbolj posodobljene ena. 265 00:14:55,800 --> 00:14:59,200 >> In potem si samo kliknite vaš Gumb za ponovno pop desno up-- oh, 266 00:14:59,200 --> 00:15:00,510 in sedaj obstajata dve vrsti. 267 00:15:00,510 --> 00:15:10,440 In tako, če vpišemo eno stvar v vsakem one-- "Jason Hirshhorn," za instance-- 268 00:15:10,440 --> 00:15:11,590 smo pozdravit. 269 00:15:11,590 --> 00:15:12,840 Mi poglej gor na naših parametrov. 270 00:15:12,840 --> 00:15:18,910 Izgleda, da imamo, kot je Pričakuje se, a = Jason in b = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 kar predstavlja dva parametra da smo opravili s to funkcijo. 272 00:15:23,760 --> 00:15:27,900 >> Torej, zdaj, kaj je v resnici priti do izvajanje te funkcije, ki jih 273 00:15:27,900 --> 00:15:30,840 imela v P nastavite 6. 274 00:15:30,840 --> 00:15:32,490 Torej, zdaj smo šele odmeval zdravo. 275 00:15:32,490 --> 00:15:34,310 In to ni zelo koristen. 276 00:15:34,310 --> 00:15:38,530 Želimo, da odmeva nekaj spremenljivko ki je bil sprejet na nas. 277 00:15:38,530 --> 00:15:40,320 In vemo, ime te spremenljivke. 278 00:15:40,320 --> 00:15:41,770 Imamo in smo b. 279 00:15:41,770 --> 00:15:43,500 Tako smo lahko odločijo, da odmeva niti enega. 280 00:15:43,500 --> 00:15:45,470 >> Toda, kako lahko dostopate do njega? 281 00:15:45,470 --> 00:15:48,820 No, obstajajo določene globalne spremenljivke v PHP. 282 00:15:48,820 --> 00:15:51,240 In bom napisal jim v komentarjih tukaj. 283 00:15:51,240 --> 00:15:59,910 Dve najpomembnejše so get in post za naše namene zdaj. 284 00:15:59,910 --> 00:16:05,350 To so nizi ali, Tehnično, slovarji 285 00:16:05,350 --> 00:16:10,540 kjer so naši spremenljivke, ki sva prehod na naslednjo spletno stran živi. 286 00:16:10,540 --> 00:16:14,520 In bomo kmalu videli, kako jih uporabljati. 287 00:16:14,520 --> 00:16:19,720 >> Še ena kratka opomba o PHP kodo in nekatere posebnosti it-- v C, 288 00:16:19,720 --> 00:16:23,260 da razglasi spremenljivko ali za uporabo spremenljivk, 289 00:16:23,260 --> 00:16:24,570 ste prvič imeli, da jih razglasi. 290 00:16:24,570 --> 00:16:30,860 In kaj ste morali storiti, ko ste razglasila jim je rekel, int a ali char b. 291 00:16:30,860 --> 00:16:35,630 Si moral razglasiti vrste teh spremenljivke, preden jih ustvarili. 292 00:16:35,630 --> 00:16:38,800 PHP-- vam ni treba storiti nič od tega. 293 00:16:38,800 --> 00:16:42,522 PHP ne zaprosi za tip spremenljivke. 294 00:16:42,522 --> 00:16:44,480 In pot, ki vas ustvariti variable-- precej 295 00:16:44,480 --> 00:16:49,930 kot pravijo, int, char, string-- ki je res char *, kot smo know-- 296 00:16:49,930 --> 00:16:52,180 namesto šel vse da, ker je vse 297 00:16:52,180 --> 00:16:54,620 je istega tipa, typeless, lahko smo samo 298 00:16:54,620 --> 00:16:59,210 uporabite en znak, ki je znak za dolar. 299 00:16:59,210 --> 00:17:03,700 In boste videli, da je že popping gor, malo samodokončanje stvari. 300 00:17:03,700 --> 00:17:11,380 In je rekel, da _GET in _POST sta dve možnosti, ki jih imam na voljo 301 00:17:11,380 --> 00:17:11,900 meni. 302 00:17:11,900 --> 00:17:16,430 Nekatere od teh drugim so druge globalne spremenljivke v PHP 303 00:17:16,430 --> 00:17:18,430 da boste uporabljali več potek P nastavite 7. 304 00:17:18,430 --> 00:17:20,569 Za zdaj bomo osredotočiti na get in post. 305 00:17:20,569 --> 00:17:22,910 Ampak to je koristno stvar, da je IDE ne 306 00:17:22,910 --> 00:17:24,980 kjer je nekoč ste vnesli v tem znak za dolar, 307 00:17:24,980 --> 00:17:28,760 da bomo začeli izpolnjevanju globalnih spremenljivk ali spremenljivke, ki ste jih že določili. 308 00:17:28,760 --> 00:17:34,360 >> Torej, če boste želeli opredeliti spremenljivka imenuje "niz" 309 00:17:34,360 --> 00:17:38,290 si lahko samo nastavite tako enaka "živjo". 310 00:17:38,290 --> 00:17:40,100 In to je v bistvu tako enostavno, kot da. 311 00:17:40,100 --> 00:17:44,720 In potem lahko storimo nekaj podobnega "echo $ string." 312 00:17:44,720 --> 00:17:48,524 IDE treba metanje nekatere Napake, če delam kaj narobe, 313 00:17:48,524 --> 00:17:50,190 zato upajmo, da delam vse, kar je prav. 314 00:17:50,190 --> 00:17:52,060 Vendar bugs vedno ne pojavijo. 315 00:17:52,060 --> 00:17:56,670 >> Drug rafiniran stvar PHP je, da je niso pripravljeni. 316 00:17:56,670 --> 00:18:00,640 Torej s programi C, bi vam dnevna rutina of-- bistvu, 317 00:18:00,640 --> 00:18:02,710 vam bi Uredite kodo, ki ste jo shranite, 318 00:18:02,710 --> 00:18:04,460 in potem bi bi bilo, če je bil make 319 00:18:04,460 --> 00:18:08,830 korak, ki se imenuje prevajalnik, Jek, da bo svojo kodo, to besedilo 320 00:18:08,830 --> 00:18:10,570 datoteke, v izvršljiv. 321 00:18:10,570 --> 00:18:15,550 PHP je C-všeč, vendar pa je že izvedena na letenje s strani spletnega brskalnika. 322 00:18:15,550 --> 00:18:17,640 Torej ni mogoče vedeti. 323 00:18:17,640 --> 00:18:19,790 >> Naj bi vrgel tisti, koristne napake, kajne? 324 00:18:19,790 --> 00:18:22,190 To bi bilo všeč, ni prijavil te spremenljivke 325 00:18:22,190 --> 00:18:23,320 preden si se potrudil, da ga uporabljate. 326 00:18:23,320 --> 00:18:29,120 Si naredil vse to slab stuff-- segfault, segfault, vse to vrsta zabavno-krat 327 00:18:29,120 --> 00:18:31,000 ki je prišel z znamko. 328 00:18:31,000 --> 00:18:33,920 PHP je dvorezen meč ker ne boste dobili te napake, 329 00:18:33,920 --> 00:18:37,770 vendar to tudi pomeni, da ne boste vedeli, Res, kaj je narobe z vašim programom 330 00:18:37,770 --> 00:18:39,840 če si jo vodijo in to ne deluje. 331 00:18:39,840 --> 00:18:45,130 Vendar bi morala razhroščevalnik poudariti nekateri upajmo koristnih malenkosti 332 00:18:45,130 --> 00:18:47,950 skladenjsko da lahko popravim. 333 00:18:47,950 --> 00:18:52,850 >> Torej, zdaj, če gremo čez to-- reči, kaj je zapreti to. 334 00:18:52,850 --> 00:18:54,522 Znova odpreti. 335 00:18:54,522 --> 00:18:55,480 In smo spet tukaj. 336 00:18:55,480 --> 00:18:57,210 Torej imamo spremenljivko in spremenljivi b. 337 00:18:57,210 --> 00:18:58,626 In ti ne bo na koncu važno. 338 00:18:58,626 --> 00:19:01,850 Mi jim bomo poklical h in g brez posebnega razloga. 339 00:19:01,850 --> 00:19:03,120 >> In smo pozdravit. 340 00:19:03,120 --> 00:19:07,480 Zdaj pa izgleda naš niz "hi" je dejansko za tiskanje. 341 00:19:07,480 --> 00:19:10,460 Ustvarili smo spremenljivko z imenom "niz", nastavljen je enaka "živjo". 342 00:19:10,460 --> 00:19:15,520 Obvestilo, da nismo imeli opraviti malloc ali narediti niz znakov. 343 00:19:15,520 --> 00:19:19,110 >> V PHP, ker spremenljivk so typeless, niz 344 00:19:19,110 --> 00:19:22,230 je enak kot za char vse namene. 345 00:19:22,230 --> 00:19:23,570 To bi lahko bilo "živjo". 346 00:19:23,570 --> 00:19:26,340 To je lahko samo k značaj. 347 00:19:26,340 --> 00:19:29,290 To je lahko število 1. 348 00:19:29,290 --> 00:19:30,300 In to ne skrbi. 349 00:19:30,300 --> 00:19:33,560 PHP ne skrbi tip vašega spremenljivke. 350 00:19:33,560 --> 00:19:34,390 Ali pa to ne skrbi. 351 00:19:34,390 --> 00:19:36,240 Prav briga ko poskušate in delati stvari, s tem, 352 00:19:36,240 --> 00:19:38,790 vendar ne skrbi, v korak deklaracija. 353 00:19:38,790 --> 00:19:46,960 >> In tako kot si lahko v C, lahko razglasi strune na sklad, kot je ta 354 00:19:46,960 --> 00:19:51,130 čeprav pravijo, "kup", je malo bit potencialnega napačno ime kadar 355 00:19:51,130 --> 00:19:52,230 govorimo o PHP. 356 00:19:52,230 --> 00:19:54,020 Ampak mi ne bo treba skrbeti za to. 357 00:19:54,020 --> 00:19:55,936 Tako smo dobili našo niz "hi", in mi echo niz. 358 00:19:55,936 --> 00:19:58,880 Torej, zdaj smo razpravljali spremenljivk. 359 00:19:58,880 --> 00:20:06,060 Torej sedaj moramo govoriti o get in post in opraviti končni stvar, ki je 360 00:20:06,060 --> 00:20:12,660 potrebno, da bo res dobil to nazaj gor k funkcionalnosti P nastavite 6. 361 00:20:12,660 --> 00:20:14,990 Torej, zdaj smo odmeval niz, vendar smo 362 00:20:14,990 --> 00:20:17,080 imajo te spremenljivke dobiti in po njem. 363 00:20:17,080 --> 00:20:19,430 In ker smo s pomočjo metoda dobili pa 364 00:20:19,430 --> 00:20:24,810 Zdi se logično, da je naša spremenljivka, ki smo zainteresirani, tako a in b, 365 00:20:24,810 --> 00:20:29,870 se bo nahajal v matriki ali slovar, tehnično dobili. 366 00:20:29,870 --> 00:20:33,510 >> Torej, če smo postavili dobili takole s svojim groups-- Pritisnil sem vstopiti 367 00:20:33,510 --> 00:20:36,770 in to it-- ni všeč ampak tukaj smo dobili. 368 00:20:36,770 --> 00:20:38,000 In tako dobili že obstaja. 369 00:20:38,000 --> 00:20:41,380 Tako bomo lahko že začnete z dostopom nekaj elementov dobil. 370 00:20:41,380 --> 00:20:45,000 Če ne bomo dobili, to sintakso za nizi v PHP je zelo C podobno. 371 00:20:45,000 --> 00:20:47,900 Imamo dve oglatih oklepajih. 372 00:20:47,900 --> 00:20:53,440 >> Torej, če rečemo, priti v normalno matrika, smo lahko dostopate 373 00:20:53,440 --> 00:20:55,600 indeks Ničti, prvi indeks. 374 00:20:55,600 --> 00:20:56,840 PHP je nič kazalo. 375 00:20:56,840 --> 00:21:00,550 Lahko bi rekli nič, ena, dvo stvari, kot je ta. 376 00:21:00,550 --> 00:21:03,420 In sem rekel, da bi dobili je tehnično slovar. 377 00:21:03,420 --> 00:21:08,290 Torej, kaj PHP počne pod pokrovom, ki je malo lepše od C, 378 00:21:08,290 --> 00:21:12,760 je že daje vam nekaj slovar funkcionalnost, ki 379 00:21:12,760 --> 00:21:16,240 je res hash tabele, ali poskuša, menda. 380 00:21:16,240 --> 00:21:19,360 Ali pa, tehnično jo je lahko poskušali tudi. 381 00:21:19,360 --> 00:21:25,500 Vendar PHP je izvajanje razpršene tabele, ki tvori učinkovito slovar. 382 00:21:25,500 --> 00:21:28,400 >> In tako vemo ime naše spremenljivke, kajne? 383 00:21:28,400 --> 00:21:32,440 To pa je opravil v poizvedba niz PHP. 384 00:21:32,440 --> 00:21:37,290 Imamo = H in B = g, kje in b so imena spremenljivk. 385 00:21:37,290 --> 00:21:41,580 Torej način, da bomo lahko dostop do Vrednost, ki se ujema s ključem 386 00:21:41,580 --> 00:21:45,055 v našem slovarju, je samo z besedami _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Torej, zdaj imamo _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 In če smo samo zamenjati znotraj naša echo, če bomo echo _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 in bomo videli, če razhroščevalnik meče vse napake glede this-- 391 00:22:02,410 --> 00:22:05,620 bomo prihranili da in zapreti to. 392 00:22:05,620 --> 00:22:07,130 Jo odprli. 393 00:22:07,130 --> 00:22:10,390 Tako da smo samo delaš pravico Zdaj, da b ne bi pomembno. 394 00:22:10,390 --> 00:22:12,980 "njo" in "njega" - "hum." "njo" in "hum." 395 00:22:12,980 --> 00:22:14,810 Sliši se dobro. 396 00:22:14,810 --> 00:22:18,040 >> In to izpisal "ji", ki je noro. 397 00:22:18,040 --> 00:22:21,920 Ampak to je točno tisto, se je dogajalo v P nastavite 6. 398 00:22:21,920 --> 00:22:27,240 V bistvu, kaj P nastavite 6 je doing-- echo zdravo, 399 00:22:27,240 --> 00:22:31,580 name-- kjer je imela Ime spremenljivke in to šele 400 00:22:31,580 --> 00:22:35,520 prosi, da tip v tem nekaj besedila. 401 00:22:35,520 --> 00:22:37,380 Obstajala je tudi nekaj dodatna številka, kjer 402 00:22:37,380 --> 00:22:40,550 vključen, če izjave, ki jih lahko storite zdaj. 403 00:22:40,550 --> 00:22:50,120 >> Lahko rečemo, če obstaja, ki je funkcionalnost v PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Z podčrtaj, "ime" - ki je v bistvu rekel, 405 00:22:55,110 --> 00:22:58,760 "če je bilo ime izpolnjen", ker smo lahko samo kliknili na gumb 406 00:22:58,760 --> 00:23:02,580 da predloži obrazec brez karkoli vpisali v tem področju. 407 00:23:02,580 --> 00:23:07,760 In smo zaviti, da je v naši Prijazno zaviti oklepaji. 408 00:23:07,760 --> 00:23:09,175 Imamo lahko stavka drugega. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 In to je vse v PHP kotom nosilec, vprašaj, kot nosilec, 411 00:23:18,820 --> 00:23:20,040 če hočete. 412 00:23:20,040 --> 00:23:21,750 >> In zdaj bomo videli, če to deluje. 413 00:23:21,750 --> 00:23:26,300 Držim čakajo na to, da debug in sranje od mene, v bistvu, 414 00:23:26,300 --> 00:23:28,410 vendar to še ni. 415 00:23:28,410 --> 00:23:30,830 Mogoče se bo zdaj ker sem govoril o tem. 416 00:23:30,830 --> 00:23:31,330 Ja. 417 00:23:31,330 --> 00:23:32,510 To je storil, v resnici. 418 00:23:32,510 --> 00:23:34,610 Torej, nič ne kaže navzgor. 419 00:23:34,610 --> 00:23:38,750 To je zato, ker nečesa napačnega da sem napisal v PHP kodo. 420 00:23:38,750 --> 00:23:42,844 In omenil sem razhroščevanje je zapleteno, ker v PHP, smo 421 00:23:42,844 --> 00:23:45,260 ga ni predhodno pripravijo in prevajalnik ni bilo všeč, 422 00:23:45,260 --> 00:23:46,710 tukaj je, kjer so vaše napake. 423 00:23:46,710 --> 00:23:49,690 >> Toda kaj lahko storimo is-- ljudje spomnite 424 00:23:49,690 --> 00:23:57,010 kako gledati na drugo omrežje zahteva, da PHP-- ali da spletne strani 425 00:23:57,010 --> 00:23:57,620 poslali? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] To storili v predavanje enkrat ali dvakrat. 427 00:24:00,290 --> 00:24:05,830 Se spomniš, kam gremo, da bi našli različni dolgovi in ​​200 OKS, 428 00:24:05,830 --> 00:24:09,780 vse te kode, ki se pošiljajo preko HTTP od spletne strani na spletni strani? 429 00:24:09,780 --> 00:24:12,514 Ali kdo ne pozabite kam gremo, da to storim? 430 00:24:12,514 --> 00:24:13,787 >> OBČINSTVO: Page Source. 431 00:24:13,787 --> 00:24:14,870 SAM LEVATICH: vir Page. 432 00:24:14,870 --> 00:24:15,890 Točno tako. 433 00:24:15,890 --> 00:24:19,230 Če greste na stran Source-- popoln. 434 00:24:19,230 --> 00:24:21,630 Torej Page Source potegne navzgor inšpektorja. 435 00:24:21,630 --> 00:24:23,140 >> In jaz sem z uporabo Safari. 436 00:24:23,140 --> 00:24:25,790 Veliko vas bo verjetno lahko uporabljate Chrome ali Firefox. 437 00:24:25,790 --> 00:24:27,750 Ampak tako dolgo, kot ste v vsaki sodobni browser-- 438 00:24:27,750 --> 00:24:29,500 in vas prosimo, da sledite skupaj, če hočeš. 439 00:24:29,500 --> 00:24:32,560 Lahko vnesete to kodo ali samo poglej znotraj P set 6 440 00:24:32,560 --> 00:24:35,820 imenik za kakšno podobno stvari. 441 00:24:35,820 --> 00:24:41,020 hello.php je tisto, kar smo Trenutno delajo na posnemanju. 442 00:24:41,020 --> 00:24:42,476 >> Torej obstajajo različne zavihke. 443 00:24:42,476 --> 00:24:43,850 Mi lahko ogledate na vseh virov. 444 00:24:43,850 --> 00:24:45,810 Vidimo lahko izvorno kodo. 445 00:24:45,810 --> 00:24:49,900 Torej izgleda, da ni dobili mimo telo na koncu. 446 00:24:49,900 --> 00:24:54,890 Napako je najti v PHP in njej ustavil nalaganju celotno spletno stran. 447 00:24:54,890 --> 00:24:58,320 Nimamo še konec tag za HTML ali karkoli. 448 00:24:58,320 --> 00:25:07,189 >> In če se ozremo na omrežje, smo lahko videli, da smo se pošlje zahtevek. 449 00:25:07,189 --> 00:25:07,980 To je domena. 450 00:25:07,980 --> 00:25:09,270 To je naslov. 451 00:25:09,270 --> 00:25:10,070 To je dokument. 452 00:25:10,070 --> 00:25:14,310 Mi smo z metodo get. 453 00:25:14,310 --> 00:25:15,760 >> In to je rdeča. 454 00:25:15,760 --> 00:25:19,030 Ali pa je bila rdeča, ko sem ni ga izberete. 455 00:25:19,030 --> 00:25:22,680 Kako ga unselect? 456 00:25:22,680 --> 00:25:23,980 No, bilo je rdeče. 457 00:25:23,980 --> 00:25:25,201 Dovolite mi, da osvežite. 458 00:25:25,201 --> 00:25:25,700 Tukaj je. 459 00:25:25,700 --> 00:25:26,640 Zdaj je rdeča. 460 00:25:26,640 --> 00:25:30,530 >> Torej, to je rdeče, kar pomeni, to ni uspelo, kar je slabo. 461 00:25:30,530 --> 00:25:32,280 Torej, si oglejmo, zakaj je propadel. 462 00:25:32,280 --> 00:25:37,070 Torej vse, da Page Source lahko v bistvu povedal, da je tvoja stvar 463 00:25:37,070 --> 00:25:38,720 ni delo, ki smo ga že lahko videli. 464 00:25:38,720 --> 00:25:42,100 Torej v najboljšem primeru pa bi biti bolj uporabno orodje. 465 00:25:42,100 --> 00:25:45,710 In tam so nekateri razširitve brskalnika ki vam omogočajo, da debug PHP, 466 00:25:45,710 --> 00:25:50,490 vendar ne bomo do pisanje tono PHP, 467 00:25:50,490 --> 00:25:53,190 tako da je verjetno samo najboljše odmisliti kodo 468 00:25:53,190 --> 00:25:56,760 previdno in samo poskrbite, da to ne počne nič drugega. 469 00:25:56,760 --> 00:26:03,876 >> Torej, da vidimo, če je format tega če izjava je, kje je problem. 470 00:26:03,876 --> 00:26:07,420 Želim naložiti, da tu gor nazaj. 471 00:26:07,420 --> 00:26:09,830 Pozdravljeni, hi. 472 00:26:09,830 --> 00:26:11,350 Torej je problem tam. 473 00:26:11,350 --> 00:26:15,130 >> Torej za pravilno sintakso PHP, PHP se dogaja 474 00:26:15,130 --> 00:26:17,369 biti-C, kot s tem, da boste videli zanke. 475 00:26:17,369 --> 00:26:18,410 Če izjavah boste videli. 476 00:26:18,410 --> 00:26:20,920 Videli boste vse te prijatelje da ste postali seznanjeni 477 00:26:20,920 --> 00:26:24,820 s tekom tega CS50 semestra. 478 00:26:24,820 --> 00:26:29,960 Vendar je najboljši način, da ugotovimo, kako storiti nekaj v PHP je, da ga vprašaš 479 00:26:29,960 --> 00:26:33,170 ali pa, da pogled na nekaj primerov PHP kodo saj veš funkcionalnosti. 480 00:26:33,170 --> 00:26:35,080 >> Veš, kaj lahko delati s programom. 481 00:26:35,080 --> 00:26:35,976 Lahko zanka. 482 00:26:35,976 --> 00:26:37,600 Lahko zanko tolikokrat, kot želite. 483 00:26:37,600 --> 00:26:39,433 Lahko zanka v vseh vrste različnih načinov. 484 00:26:39,433 --> 00:26:40,700 Lahko ustvarite funkcij. 485 00:26:40,700 --> 00:26:43,241 Ustvarite lahko funkcije, ki poklicati druge funkcije, funkcije 486 00:26:43,241 --> 00:26:44,150 ki se imenujejo. 487 00:26:44,150 --> 00:26:45,733 In imate imena za te koncepte. 488 00:26:45,733 --> 00:26:49,860 Imaš rekurzijo, zank, če pa se drugi tokovi nadzora. 489 00:26:49,860 --> 00:26:51,300 In tako Google je tvoj najboljši prijatelj. 490 00:26:51,300 --> 00:26:53,540 Celo rekli, "PHP če izjava "in tam bom 491 00:26:53,540 --> 00:26:57,740 bo ton mest s odgovori na druge ljudi 492 00:26:57,740 --> 00:27:02,090 ki ste imeli podobnih vprašanj za vas, ki so šele začenjajo z PHP 493 00:27:02,090 --> 00:27:03,820 in so radovedni skladnje stvar. 494 00:27:03,820 --> 00:27:08,480 >> Ker imamo razkošje bivanja lahko pogled na kodo v P set 6, 495 00:27:08,480 --> 00:27:14,980 smo ga dejansko potegnite navzgor in videli, da OK, tukaj je nekaj zanimivega. 496 00:27:14,980 --> 00:27:18,070 Torej, to je tisto, kar je pravzaprav izgledala v P nastavite 6. 497 00:27:18,070 --> 00:27:20,340 Torej, če gremo skozi to, lahko vidimo, da smo jih 498 00:27:20,340 --> 00:27:27,150 dobil več od teh malo -PHP kot bitov vprašaj. 499 00:27:27,150 --> 00:27:29,050 >> In tam niso zaviti oklepaji. 500 00:27:29,050 --> 00:27:30,250 Obstajajo dvopičja. 501 00:27:30,250 --> 00:27:32,340 In tam so kodrasti naramnice v PHP, vendar je to 502 00:27:32,340 --> 00:27:38,700 je oblika in način delovanja PHP, ki dobro deluje s HTML 503 00:27:38,700 --> 00:27:43,830 saj, kot boste videli, bomo zaprli off teh PHP bits-- elses 504 00:27:43,830 --> 00:27:49,770 in jev in vsi that-- in nato smo interspersing HTML znotraj njih 505 00:27:49,770 --> 00:27:54,640 medtem ko še vedno sledi nadzor pretoka določena s PHP. 506 00:27:54,640 --> 00:27:58,480 >> Tako da sem le, da bo Hiter sprehod skozi to 507 00:27:58,480 --> 00:28:01,740 ker je veliko enako koncepti, ki smo počeli prej. 508 00:28:01,740 --> 00:28:07,280 Imava če ni prazna, oklepaje, _GET_GET ["ime"]. 509 00:28:07,280 --> 00:28:08,500 To je vse isto stvar. 510 00:28:08,500 --> 00:28:15,430 Mi smo s pomočjo _GET slovar, ki PHP pošlje na zahtevo oblik, 511 00:28:15,430 --> 00:28:20,720 ker je parametri dejanje, in ta metoda znebiti. 512 00:28:20,720 --> 00:28:22,110 In potem, da se konča to. 513 00:28:22,110 --> 00:28:27,420 Debelo črevo je označevalec, da samo to storiti če, če izjava ovrednoten kot resničen. 514 00:28:27,420 --> 00:28:29,490 To je kot kodrasto opornico. 515 00:28:29,490 --> 00:28:33,320 In v resnici, je kodrasti brace v drugih jezikih, kot so Python, 516 00:28:33,320 --> 00:28:37,070 ki lahko naletite, če ste le to, da za svoj končni projekt. 517 00:28:37,070 --> 00:28:40,170 >> In potem je ta linija, zdravo. 518 00:28:40,170 --> 00:28:41,510 Potem imamo to čudno stvar. 519 00:28:41,510 --> 00:28:43,190 Imamo več konzol. 520 00:28:43,190 --> 00:28:46,140 Ni HTTP there-- ali PHP, žal. 521 00:28:46,140 --> 00:28:47,250 Ampak tam je enačaj. 522 00:28:47,250 --> 00:28:50,625 In potem imamo funkcijo, htmlspecialchars (_GEThtmlspecialchars (_GET ["ime"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 To je nekako tako kot bolj napredna različica odmev. 525 00:28:58,040 --> 00:29:01,450 Tako kot smo odmeva kot način natisniti stvari v PHP. 526 00:29:01,450 --> 00:29:03,890 To je funkcija, ki je opredeljena v PHP, ki 527 00:29:03,890 --> 00:29:08,160 se bo spopadel z nekaterimi bolj grdo znaki in bajt vrednosti 528 00:29:08,160 --> 00:29:09,540 da bi lahko to prenese. 529 00:29:09,540 --> 00:29:11,070 To je vedno najvarnejša treba uporabljati. 530 00:29:11,070 --> 00:29:14,930 Ampak echo bo to delo čisto v redu, če ne bomo 531 00:29:14,930 --> 00:29:17,620 ki se ukvarjajo s čimerkoli preveč grdo. 532 00:29:17,620 --> 00:29:20,340 >> In tako ima to isto Učinek bistvu 533 00:29:20,340 --> 00:29:26,360 te stvari med vprašanjem Ocene se ovrednoti s PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars vrne lepo HTML tiskani vrednost _GET_GET ["name"], t.j. 535 00:29:34,490 --> 00:29:36,010 karkoli bomo vnesli v obrazec. 536 00:29:36,010 --> 00:29:40,025 In potem bo to pozdravi, vejica prostor, nato pa, da je. 537 00:29:40,025 --> 00:29:42,910 To je stvar med kotni nosilci 538 00:29:42,910 --> 00:29:47,390 bodo nadomestili karkoli htmlspecialchars postavlja ven. 539 00:29:47,390 --> 00:29:49,390 Tako da je v bistvu podoben s tem, kar delamo. 540 00:29:49,390 --> 00:29:54,760 In imamo izjavo drugega, ki je Zdravo svet, ki ima smisel. 541 00:29:54,760 --> 00:29:58,070 Torej sedaj se vrnimo k naši kodo in videli exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Omenjeni I obstaja, ki ni stvar, ki smo želeli storiti. 543 00:30:02,200 --> 00:30:05,370 Smo želeli povedati, ni prazna. 544 00:30:05,370 --> 00:30:10,020 >> In tako bi to moralo delati malo malo bolje, ni prazna _GET_GET ["ime"]. 545 00:30:10,020 --> 00:30:12,710 In da kodrasti brace ujema kodrasti oklepaja. 546 00:30:12,710 --> 00:30:15,210 Imamo naše zavitimi oklepaji tukaj. 547 00:30:15,210 --> 00:30:17,790 echo zdravo _GET ["ime"]. 548 00:30:17,790 --> 00:30:19,912 Poglejmo, če to deluje malo bolje. 549 00:30:19,912 --> 00:30:21,350 Mi smo še vedno teče našo strežnik. 550 00:30:21,350 --> 00:30:23,910 Hello Jason. 551 00:30:23,910 --> 00:30:24,780 Hello Jason. 552 00:30:24,780 --> 00:30:25,810 In je delal ta čas. 553 00:30:25,810 --> 00:30:29,860 In da je to dokaz, da lahko zares 554 00:30:29,860 --> 00:30:35,180 uporabite zavitih oklepajih, ki jih poznajo in ljubezen v PHP kodo v HTML. 555 00:30:35,180 --> 00:30:41,100 PHP koda zagotovljena ste v pset 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 zagotavlja drug način počne to isto stvar. 557 00:30:44,760 --> 00:30:49,220 >> Torej, zdaj imamo moč. 558 00:30:49,220 --> 00:30:55,740 Imamo funkcionalnost za izvajanje PHP kodo, ki smo videli v pset 6 559 00:30:55,740 --> 00:30:57,390 sami, v bistvu. 560 00:30:57,390 --> 00:31:01,350 Preden sem korak naprej, kaj so nekateri od Vprašanja, ki ste jih v tem trenutku? 561 00:31:01,350 --> 00:31:02,066 Da [neslišno]. 562 00:31:02,066 --> 00:31:06,512 >> OBČINSTVO: Torej, v različici, ki pset6, ko jo zaženete, tam je prostor. 563 00:31:06,512 --> 00:31:09,330 In vidim, kje je prostor vejico. [Neslišno] start 564 00:31:09,330 --> 00:31:10,700 odprta nosilec. 565 00:31:10,700 --> 00:31:15,420 Kako ste vključiti prostor, v tako, kot si napisal svoje kode? 566 00:31:15,420 --> 00:31:17,910 >> SPEAKER: To je dobro vprašanje. 567 00:31:17,910 --> 00:31:21,650 In tako da je to ugotovil. 568 00:31:21,650 --> 00:31:24,450 Tako, da je res dobro vprašanje in tisti, ki mi ni zdelo. 569 00:31:24,450 --> 00:31:25,950 Ampak dajmo skupaj. 570 00:31:25,950 --> 00:31:30,280 >> Torej, najprej, kaj Delam z echo 571 00:31:30,280 --> 00:31:33,690 je, ko smo pravkar odmeva Pozdravljeni, realizacij zdravo. 572 00:31:33,690 --> 00:31:41,310 Če bomo echo zdaj to dobite na ločen linija, si oglejmo, kaj se dogaja. 573 00:31:41,310 --> 00:31:43,740 Tako smo kliknite to. 574 00:31:43,740 --> 00:31:45,220 Hranimo rekel, hi Jason. 575 00:31:45,220 --> 00:31:48,690 Torej še enkrat, nimamo tega prostora. 576 00:31:48,690 --> 00:31:53,090 >> In da je zato, ker v PHP, ko smo odmeva, 577 00:31:53,090 --> 00:31:55,820 ne glede na to, koliko spaces-- nope, ne V- 578 00:31:55,820 --> 00:32:01,770 ne glede na to, koliko mest smo se v here-- če smo zdaj naložili, da spet gor, 579 00:32:01,770 --> 00:32:03,010 hi Jason. 580 00:32:03,010 --> 00:32:05,770 Ja, vidiš, vsi tisti, prostori požrta up. 581 00:32:05,770 --> 00:32:08,020 In to je nekaj, kar odmev funkcija počne. 582 00:32:08,020 --> 00:32:11,110 >> Torej, da skrbijo za ta prostor, in to je 583 00:32:11,110 --> 00:32:14,960 eden od razlogov zakaj jih ne uporabljate odmev 584 00:32:14,960 --> 00:32:18,200 in uporabljate htmlspecialchars namesto. 585 00:32:18,200 --> 00:32:22,140 Sem radoveden, kaj bi se zgodilo, če bomo to storili 586 00:32:22,140 --> 00:32:26,700 kjer smo zaprti prostor v nizu. 587 00:32:26,700 --> 00:32:29,720 Jaz sem iskreno ne vem, kaj se bo zgodilo, ko sem to naredil. 588 00:32:29,720 --> 00:32:30,790 >> Torej, to je eden od načinov. 589 00:32:30,790 --> 00:32:32,210 To je eden od načinov, da poskrbimo za to. 590 00:32:32,210 --> 00:32:34,840 Če ste zaviti prostor v niz, nato prostor 591 00:32:34,840 --> 00:32:36,920 bo izhod lepo ga odmev. 592 00:32:36,920 --> 00:32:41,930 Najvarnejši stvar je, storiti htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 To je vedno varna stava. 594 00:32:43,800 --> 00:32:47,050 Zdaj pa imamo tako opraviti je z echo, če je potrebno. 595 00:32:47,050 --> 00:32:50,700 In na podoben način lahko echo novih progah, vse vrste 596 00:32:50,700 --> 00:32:53,550 stvari ste seznanjeni delaš v PHP. 597 00:32:53,550 --> 00:32:57,460 >> Kdorkoli drug, kaj so vse bolj vprašanja, ki jih imajo drugi ljudje 598 00:32:57,460 --> 00:33:01,090 v tem trenutku približno PHP? 599 00:33:01,090 --> 00:33:04,620 Če ljudje prišel malo pozno, Jaz sem vesel, da ostanejo po malo 600 00:33:04,620 --> 00:33:06,420 in govori o nekaterih začetku. 601 00:33:06,420 --> 00:33:10,380 In to je tudi vse livestreamed, in arhivirajo, ki je noro. 602 00:33:10,380 --> 00:33:13,960 >> Kakorkoli že, tako da zdaj naredimo nekaj bolj napredne stvari s PHP. 603 00:33:13,960 --> 00:33:18,790 In ena od prvih stvari, ki jih so bili uvedeni, da je bila pri C zank. 604 00:33:18,790 --> 00:33:24,060 In PHP ima močnejši za zanka se imenuje foreach zanke. 605 00:33:24,060 --> 00:33:37,940 In izgleda, da this-- za vsako prazno kot prazne, zavitih oklepajih, narediti stvar. 606 00:33:37,940 --> 00:33:41,500 Torej, to je v bistvu okrajšava. 607 00:33:41,500 --> 00:33:45,380 >> Vidite, za zanko kot sintaktične konstrukcije 608 00:33:45,380 --> 00:33:50,590 je bil zasnovan v C in pri montaži jezik in stvari všeč. 609 00:33:50,590 --> 00:33:56,300 Oblikovala v C, natančneje, kot okrajšavo za veliko vrst zank 610 00:33:56,300 --> 00:33:57,750 da bi ljudje videli. 611 00:33:57,750 --> 00:34:01,230 Kot takrat, ko si napisal zanko, obstaja je pogosto inicializacija korak 612 00:34:01,230 --> 00:34:04,700 izvrši takoj na začetku, a stanje, ko bi se zanka stop-- 613 00:34:04,700 --> 00:34:07,030 in da je funkcija da je samo v while zanki, 614 00:34:07,030 --> 00:34:10,040 ali da ima, medtem ko natanko samo, da feature-- in nato 615 00:34:10,040 --> 00:34:12,320 naraščanje v korak konec. 616 00:34:12,320 --> 00:34:16,489 In tako boš pogosto znajdete pisanje kode, kot spodaj. 617 00:34:16,489 --> 00:34:19,780 Jaz grem izbrisati nekaj tega. 618 00:34:19,780 --> 00:34:23,850 >> Ampak, če smo ponavljanjem skozi znaki v array, 619 00:34:23,850 --> 00:34:26,960 na primer, kot smo jih dobil niz znakov. 620 00:34:26,960 --> 00:34:29,400 Žal mi je, da bi nazaj C. I know, ste mislili storiti. 621 00:34:29,400 --> 00:34:31,900 Ampak to je samo za namen za učenje PHP, obljubim. 622 00:34:31,900 --> 00:34:38,880 Torej, če imaš char str dolžine 8, in ne dovolimo, 623 00:34:38,880 --> 00:34:46,760 pravijo, da pravi Hellooo z odtočnem null. 624 00:34:46,760 --> 00:34:48,270 Super, tako da je naš niz. 625 00:34:48,270 --> 00:34:51,469 >> In potem smo imeli za zanke. 626 00:34:51,469 --> 00:34:53,730 Imamo int i enak 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 In želimo, da zapustite ko STR od i enaka ni enaka NULL, 629 00:35:09,110 --> 00:35:11,590 ker smo izhod, ko je enaka nič. 630 00:35:11,590 --> 00:35:19,170 In potem mi i ++ na vsaki točka v zanko. 631 00:35:19,170 --> 00:35:30,480 Narediti nekaj s str dne i. 632 00:35:30,480 --> 00:35:34,950 >> Tako da je osnovna formula je bila, smo imeli to vrsto, da smo 633 00:35:34,950 --> 00:35:37,910 želel obravnavati kot ločene elemente. 634 00:35:37,910 --> 00:35:45,170 Ampak tisto, kar smo morali storiti, je, da smo imeli na v bistvu ustvariti ločen celo 635 00:35:45,170 --> 00:35:50,530 spremenljivko, ki je štetje gor vsak Tokrat smo šli skozi zanko. 636 00:35:50,530 --> 00:35:55,240 In potem bi morali potem klic strstr [i], ko tisto, kar smo res želeli storiti 637 00:35:55,240 --> 00:35:57,280 se pojdi značaja ga značaja, kajne? 638 00:35:57,280 --> 00:36:00,185 Nočemo, da prirastek celo število in nato uporabite, da celo 639 00:36:00,185 --> 00:36:02,780 dostop vsak znak posebej. 640 00:36:02,780 --> 00:36:04,410 Res želimo znak za znakom. 641 00:36:04,410 --> 00:36:08,600 >> In tako za vsako pametno izračuna, da je za nami. 642 00:36:08,600 --> 00:36:11,875 Če imamo matriko, ki bomo lahko v PHP razglasi 643 00:36:11,875 --> 00:36:15,900 kot just-- če imamo spremenljivko imenovan, recimo ji niz. 644 00:36:15,900 --> 00:36:19,840 Čudeži brez tipkanja, je tako kot vsako drugo spremenljivko. 645 00:36:19,840 --> 00:36:20,730 To je samo polje. 646 00:36:20,730 --> 00:36:26,890 In imamo malo všeč 1 [neslišno] 2, 3, le nekako inicializiranem matrike. 647 00:36:26,890 --> 00:36:29,680 To je v redu, da ne mara moje foreach. 648 00:36:29,680 --> 00:36:33,120 >> Toda, če ne bomo foreach-- dejansko Sem tipkal, da malo narobe. 649 00:36:33,120 --> 00:36:34,840 Obstajata dva načina, da to foreach zanke. 650 00:36:34,840 --> 00:36:37,400 Tam je v sintakso in kot sintakso. 651 00:36:37,400 --> 00:36:40,580 In bomo storili v sintakse prvič, ni tako. 652 00:36:40,580 --> 00:36:41,780 To je moja napaka. 653 00:36:41,780 --> 00:36:53,785 >> Torej foreach num v array, echo num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 In PHP kričiš me iz neznanega razloga. 656 00:36:59,500 --> 00:37:03,520 To je ugotovitev nepričakovan leta v nekaj, 657 00:37:03,520 --> 00:37:05,820 ki je malo moti. 658 00:37:05,820 --> 00:37:09,105 Ampak bomo razbrati Zato, da je v trenutku. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Torej ni všeč. 661 00:37:13,610 --> 00:37:15,040 Poskusimo z uporabo kot. 662 00:37:15,040 --> 00:37:17,310 To raje kot skladnja zdi. 663 00:37:17,310 --> 00:37:22,550 Torej, kaj je storiti foreach paleto, kot num. 664 00:37:22,550 --> 00:37:24,520 >> Torej, malo razlaga o tem, kaj se je zgodilo 665 00:37:24,520 --> 00:37:30,670 je kot skladnja je dobro saying-- prvič, oglejmo, kaj to natisne. 666 00:37:30,670 --> 00:37:32,260 Tako smo odprli našo IDE. 667 00:37:32,260 --> 00:37:33,110 Gremo tukaj. 668 00:37:33,110 --> 00:37:35,845 Pravimo, Hello Jason. 669 00:37:35,845 --> 00:37:41,390 In je to storil 123, ki je bila vsebina matrike, ki smo ga ustvarili do vrha. 670 00:37:41,390 --> 00:37:45,500 >> Torej, potapljanje v tem foreach zanke, imamo spremenljivo imenovano zaporedje 671 00:37:45,500 --> 00:37:47,470 ki je niz treh številk. 672 00:37:47,470 --> 00:37:52,120 In potem delamo foreach matrika kot num, echo num. 673 00:37:52,120 --> 00:37:54,990 In da je bolj intuitivno kot za lop. 674 00:37:54,990 --> 00:38:02,380 Mi praviš, zdravljenje vsako stvari v matriki kot num, 675 00:38:02,380 --> 00:38:05,180 Želim si, da mi tel. 676 00:38:05,180 --> 00:38:06,640 In to je točno to, kar počne. 677 00:38:06,640 --> 00:38:12,000 >> PHP je izračun, ki ko rečeš foreach niz, 678 00:38:12,000 --> 00:38:16,080 in imate opravka s paleto, kar boste želeli ponoviti čez 679 00:38:16,080 --> 00:38:19,950 je liki v tej matriki, Je Ints v tem polju, 680 00:38:19,950 --> 00:38:21,920 se elementi v tem polju. 681 00:38:21,920 --> 00:38:26,110 In to je kar vam omogoča shranjevanje te spremenljivke so num, 682 00:38:26,110 --> 00:38:29,360 in potem samo izhod num Takoj namesto rekel, 683 00:38:29,360 --> 00:38:34,090 Imam spremenljivko i, in potem hočem izhodni strstr [i]. 684 00:38:34,090 --> 00:38:39,130 >> In tako, da nam omogoča narediti kul stvari. 685 00:38:39,130 --> 00:38:43,330 Tako kot v bistvu nimamo za ustvarjanje te spremenljivke, kot so i je in storila vse, 686 00:38:43,330 --> 00:38:45,090 to naraščanje v stvari na koncu. 687 00:38:45,090 --> 00:38:48,290 PHP skrbi za vse to za vas. 688 00:38:48,290 --> 00:38:54,470 >> Torej, zdaj kaj je govoril o foreach kot to velja tudi za naše _GET slovarju. 689 00:38:54,470 --> 00:38:57,170 Torej bomo to zakomentirajte hitro. 690 00:38:57,170 --> 00:39:02,030 Torej imamo _GET paleto. 691 00:39:02,030 --> 00:39:04,361 Imamo te spremenljivke. 692 00:39:04,361 --> 00:39:05,610 In to je dobil nekaj stvari v njem. 693 00:39:05,610 --> 00:39:10,275 >> Zdaj imamo samo eno spremenljivko prevalili na to, kar je ime. 694 00:39:10,275 --> 00:39:13,420 Ampak, če bomo pritisnite tipko Enter, zdaj lahko imamo dve spremenljivki. 695 00:39:13,420 --> 00:39:17,910 Imamo lahko ime in starost, na primer, če želimo, da bi dobili starosti in tudi 696 00:39:17,910 --> 00:39:20,960 ime osebe, Ljevkasto dovolj. 697 00:39:20,960 --> 00:39:25,690 >> Torej, zdaj _GET se dogaja, da se slovar z dvema elementoma, 698 00:39:25,690 --> 00:39:27,980 z dvema ključnima parov vrednosti. 699 00:39:27,980 --> 00:39:33,490 In prvi key-- grem napisati tole gor na krovu preveč. 700 00:39:33,490 --> 00:39:37,136 Mi imamo Slovar je _GET. 701 00:39:37,136 --> 00:39:39,520 Žal mi je, da je je malo težko videti. 702 00:39:39,520 --> 00:39:46,690 Vendar znotraj našem slovarju imamo ime, ki se bo nekaj 703 00:39:46,690 --> 00:39:47,680 da smo dati. 704 00:39:47,680 --> 00:39:53,040 In bomo imeli starost, ki je prav tako bo nekaj, kar bomo dano. 705 00:39:53,040 --> 00:39:56,020 In to je celota našega slovarja. 706 00:39:56,020 --> 00:39:57,730 >> Torej, to je dobil dva elementa v njem. 707 00:39:57,730 --> 00:40:01,310 In zato, ker foreach zanke so pametni, smo 708 00:40:01,310 --> 00:40:04,900 Morda mislite, in pravilno Morda mislite, da foreach 709 00:40:04,900 --> 00:40:08,080 lahko Ponovil skozi to slovar, tiskanje 710 00:40:08,080 --> 00:40:10,850 vrednosti, ki jo ime in starost. 711 00:40:10,850 --> 00:40:14,510 >> Torej, kaj je v resnici prav to. 712 00:40:14,510 --> 00:40:17,520 Dajmo zgraditi foreach zanke. 713 00:40:17,520 --> 00:40:23,351 In bomo narediti za _GET kot. 714 00:40:23,351 --> 00:40:24,850 In bomo storiti naslednje. 715 00:40:24,850 --> 00:40:34,186 Torej, da vidimo, kaj se zgodi, če vpišemo samo beseda, potem pa pravijo echo besedo. 716 00:40:34,186 --> 00:40:40,540 Mi smo se tudi dogaja, da odmeva novo linijo samo, da bi bilo malo bolj jasno, 717 00:40:40,540 --> 00:40:41,260 kaj se dogaja. 718 00:40:41,260 --> 00:40:42,890 >> Torej, poglejmo. 719 00:40:42,890 --> 00:40:44,390 To mi je ne daje nobenih napak. 720 00:40:44,390 --> 00:40:46,810 In bomo to zaprlo. 721 00:40:46,810 --> 00:40:51,020 Na naši spletni strani, boste, da se delaš veliko, da tekom pset7. 722 00:40:51,020 --> 00:40:53,890 Tako rečemo, moje ime je Sam. 723 00:40:53,890 --> 00:40:58,560 Moja starost je 45. 724 00:40:58,560 --> 00:41:01,060 Ni. 725 00:41:01,060 --> 00:41:05,640 Ampak to natisne, kot je bilo pričakovano, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> In tako boste opazili, da kaj foreach zanke did-- tukaj, 727 00:41:08,930 --> 00:41:12,360 pojdimo nazaj, da tako da je do na board-- pridemo _GET kot besede. 728 00:41:12,360 --> 00:41:15,130 In tam so štiri stvari v _GET. 729 00:41:15,130 --> 00:41:17,410 Ampak to samo natisne dve stvari. 730 00:41:17,410 --> 00:41:21,290 foreach, pri čemer je njegovo inteligenco sebe, Predpostavlja se, da tisto, kar smo res želeli 731 00:41:21,290 --> 00:41:24,100 je vrednosti, ne pa ključi. 732 00:41:24,100 --> 00:41:27,800 >> Vendar pa je tako, da lahko tiskamo od ključev, kot tudi, če smo želeli. 733 00:41:27,800 --> 00:41:30,810 Če smo želeli izvedeti tudi, kaj Te spremenljivke so bili imenovani, 734 00:41:30,810 --> 00:41:33,540 tam je pot, ki smo lahko dostopate tudi to. 735 00:41:33,540 --> 00:41:36,840 In način, da se nekako ne da, tako da lahko rečemo, omogoča zares 736 00:41:36,840 --> 00:41:39,485 je razdeljen na ključnih parov vrednosti. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Torej, da vidimo, kaj se bo zdaj zgodilo. 739 00:41:47,580 --> 00:41:50,550 >> Torej imamo ključ. 740 00:41:50,550 --> 00:41:52,290 Imamo vrednost. 741 00:41:52,290 --> 00:41:56,650 Imamo še eno novo linija za berljivost. 742 00:41:56,650 --> 00:42:00,540 In da vidimo, kaj se zgodi ko to počnemo sedaj. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 Ne vem, koliko je star Jason je. 745 00:42:06,720 --> 00:42:09,180 Jason je 15. 746 00:42:09,180 --> 00:42:11,650 Torej imamo ime Jason, starost 15. 747 00:42:11,650 --> 00:42:15,830 Tako da smo bili sposobni za dostop do ključa in parov vrednost tega slovarju 748 00:42:15,830 --> 00:42:18,590 samo z besedami, kot ključne točke na vrednost. 749 00:42:18,590 --> 00:42:23,350 In to je foreach skladenjska malo sladkorja, ki omogoča 750 00:42:23,350 --> 00:42:25,960 vam omogoča dostop do stvari v slovarju. 751 00:42:25,960 --> 00:42:31,190 >> Zato upajmo, da to nekako poudarja moč foreach zanke. 752 00:42:31,190 --> 00:42:35,690 Lahko precej met karkoli da iterable zdi, 753 00:42:35,690 --> 00:42:38,922 kot karkoli, ki ima več elemente, kot so matrike, 754 00:42:38,922 --> 00:42:41,880 Tako kot dictionary-- tiste, sta dva osnovne stvari, boste delali z 755 00:42:41,880 --> 00:42:45,630 tako v življenju in v pset 7. 756 00:42:45,630 --> 00:42:49,350 Tako da lahko vrgel te stvari na njej, in da bo ugotoviti, 757 00:42:49,350 --> 00:42:51,030 kaj želite storiti z njim. 758 00:42:51,030 --> 00:42:54,250 To bom rekel, OK, grem, da bi dobili te stvari iz podatkov, ki jih 759 00:42:54,250 --> 00:42:55,680 je bil sprejet z mano. 760 00:42:55,680 --> 00:43:02,470 In to je nekaj, kar ste dogaja, da se z veliko od pset 7. 761 00:43:02,470 --> 00:43:08,550 >> Bom hitro pomikanje dol samo da vidim, kje sem na. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 Ali imajo ljudje vprašanj na tem mestu? 764 00:43:13,070 --> 00:43:13,778 Vprašanja sploh? 765 00:43:13,778 --> 00:43:14,400 Ja? 766 00:43:14,400 --> 00:43:18,320 >> OBČINSTVO: Torej, s ključem in vrednosti, lahko bi to ime kaj drugega 767 00:43:18,320 --> 00:43:20,507 in bi to še vedno deluje? 768 00:43:20,507 --> 00:43:21,090 SPEAKER: Ups. 769 00:43:21,090 --> 00:43:22,820 Wow, sem popolnoma izbrisal celotno linijo. 770 00:43:22,820 --> 00:43:23,380 Veliko delo. 771 00:43:23,380 --> 00:43:26,502 Torej, a. 772 00:43:26,502 --> 00:43:30,109 Key in vrednost je le dogovor. 773 00:43:30,109 --> 00:43:30,650 To je koristno. 774 00:43:30,650 --> 00:43:34,010 Ti bi dobili nekaj zasnovo točke, morda nekaj slog točk 775 00:43:34,010 --> 00:43:36,970 za to, da je zato, ker je res izraža namero. 776 00:43:36,970 --> 00:43:39,650 Vendar smo rekli in yarp. 777 00:43:39,650 --> 00:43:42,476 >> OBČINSTVO: Nimate za ničesar spremeniti v datoteki HTML 778 00:43:42,476 --> 00:43:43,607 da bi odražala to? 779 00:43:43,607 --> 00:43:44,440 SPEAKER: Sploh ne. 780 00:43:44,440 --> 00:43:47,260 OBČINSTVO: In to samo ve, da ker ne doseže večjo than-- 781 00:43:47,260 --> 00:43:47,801 SPEAKER: Da. 782 00:43:47,801 --> 00:43:49,489 OBČINSTVO: --that kazalnik, ki that's-- 783 00:43:49,489 --> 00:43:50,030 SPEAKER: Da. 784 00:43:50,030 --> 00:43:52,260 To je foreach sintakso, ampak ja. 785 00:43:52,260 --> 00:43:53,720 >> OBČINSTVO: Ni vrste. 786 00:43:53,720 --> 00:43:57,230 Pa kaj, če si hotel starost, da je le nekaj? 787 00:43:57,230 --> 00:43:59,510 Ali obstaja način za to? 788 00:43:59,510 --> 00:44:04,550 >> SPEAKER: Obstajajo načini, da preverite, če spremenljivke v skladu z nekaterimi vrstami. 789 00:44:04,550 --> 00:44:08,482 Torej PHP zahteva malo več od ste, ker ni vrste v. 790 00:44:08,482 --> 00:44:09,440 Nekaj ​​načinov, da vpraša manj. 791 00:44:09,440 --> 00:44:11,070 V nekaterih pogledih se sprašuje več. 792 00:44:11,070 --> 00:44:13,320 Ker če imaš samo nekaj v spremenljivko, 793 00:44:13,320 --> 00:44:14,960 nimate pojma, kakšne vrste je. 794 00:44:14,960 --> 00:44:19,310 Ampak, če ste pametni o spremenljivkah da dodelite vrstami in se prepričajte, 795 00:44:19,310 --> 00:44:22,750 da vam deluje le return-- želim funkcij v samo vračanje 796 00:44:22,750 --> 00:44:26,210 en tip vrednosti tako da lahko v bistvu 797 00:44:26,210 --> 00:44:31,090 Pričakujem, da spremenljivka dobiš nazaj iz funkcije bodo tipa 798 00:44:31,090 --> 00:44:32,780 da misliš, da bo, v bistvu. 799 00:44:32,780 --> 00:44:36,550 >> Vendar pa obstajajo nekatere metode s katerim lahko preverite. 800 00:44:36,550 --> 00:44:39,801 Jaz jih ne spomnim off vrhu moje glave. 801 00:44:39,801 --> 00:44:43,300 Čakam, da obarva modro. 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 Obstajajo metode zgrajena v PHP, ki lahko 805 00:44:52,000 --> 00:44:54,440 preverite vrsto spremenljivk za vas. 806 00:44:54,440 --> 00:44:58,250 Ampak, če ga dodelite spremenljivke pametno, da ne bi smeli 807 00:44:58,250 --> 00:45:01,330 morali storiti, da preveč v pset 7. 808 00:45:01,330 --> 00:45:02,780 Vendar te metode ne obstajajo. 809 00:45:02,780 --> 00:45:06,704 In to je nekaj, kar je v jeziku samem. 810 00:45:06,704 --> 00:45:08,370 In jaz se ne spomnim natančno sintakso. 811 00:45:08,370 --> 00:45:09,930 Lahko bi celo poglej gor. 812 00:45:09,930 --> 00:45:11,974 Ampak čas je ključnega pomena. 813 00:45:11,974 --> 00:45:13,890 ima še kdo Za vsa dodatna vprašanja? 814 00:45:13,890 --> 00:45:14,660 Da. 815 00:45:14,660 --> 00:45:15,951 >> OBČINSTVO: Imam samo eno več. 816 00:45:15,951 --> 00:45:19,050 Torej ste omenili metodo GET, vendar nisi omenil metodo POST. 817 00:45:19,050 --> 00:45:20,500 Smo se vračali na to? 818 00:45:20,500 --> 00:45:21,540 >> SPEAKER: Ja, bomo se vrnemo na to. 819 00:45:21,540 --> 00:45:24,840 To je točno to, kar sem iskal na moj telefon, ki je zdaj zaspala, 820 00:45:24,840 --> 00:45:26,960 ampak ga bom našel. 821 00:45:26,960 --> 00:45:30,680 Samo pazite, smo zadeli vse PHP not. 822 00:45:30,680 --> 00:45:35,640 Ja, ni debugging version. 823 00:45:35,640 --> 00:45:41,940 Ja, imamo še nekaj stvari, ki jih želimo narediti zdaj na tej točki. 824 00:45:41,940 --> 00:45:45,980 >> Torej, govorimo o POST, ki ste jo omenili, 825 00:45:45,980 --> 00:45:49,630 edina razlika med GET in POST je 826 00:45:49,630 --> 00:45:53,150 da se spomniš, ko sva pogledala na tem URL in videli smo, oh, 827 00:45:53,150 --> 00:45:58,270 Ime je enaka in starost je enaka yarp prav v URL tam za nas. 828 00:45:58,270 --> 00:46:03,300 POST je malo bolj skrivnosten s prenosu podatkov. 829 00:46:03,300 --> 00:46:08,090 >> Torej, če niste želeli uporabnika vedeti, za primer, 830 00:46:08,090 --> 00:46:11,160 ni želel uporabniško ime in geslo osebe 831 00:46:11,160 --> 00:46:15,080 Trenutno prijavljeni se prikaže v URL, ki je razumna stvar 832 00:46:15,080 --> 00:46:17,770 da ne želijo v URL, ker je nekdo lahko videli. 833 00:46:17,770 --> 00:46:21,520 Če se povežete nekoga na strani Ne želim njihov URL tam ometane, 834 00:46:21,520 --> 00:46:27,850 saj bi to omogočilo ljudem, da prijavo samo z lepljenjem URL-ja namesto 835 00:46:27,850 --> 00:46:29,670 dejansko izpolnite obrazec. 836 00:46:29,670 --> 00:46:31,710 POST je malo bolj skrivnosten. 837 00:46:31,710 --> 00:46:34,150 >> In edini stvari, ki bomo morali spremeniti 838 00:46:34,150 --> 00:46:38,550 so ta metoda, sprememba od dobili bi objavili. 839 00:46:38,550 --> 00:46:42,367 In nato znotraj HTTP, namesto dostopanja matrično _GET, 840 00:46:42,367 --> 00:46:43,950 bomo dostop matrično _POST. 841 00:46:43,950 --> 00:46:48,600 >> In bomo opazili, da se, če je smo odprli to spet nazaj, 842 00:46:48,600 --> 00:46:51,910 Jason počasi upada v starosti. 843 00:46:51,910 --> 00:46:53,230 ime Jason, starost 14. 844 00:46:53,230 --> 00:46:54,280 Ista stvar izskoči. 845 00:46:54,280 --> 00:46:57,190 Ampak gremo na URL in te spremenljivke niso tam. 846 00:46:57,190 --> 00:47:00,540 >> In način, POST passes-- zato ne pozabite, 847 00:47:00,540 --> 00:47:02,750 kako gledati na vir strani. 848 00:47:02,750 --> 00:47:04,570 Gremo na omrežje. 849 00:47:04,570 --> 00:47:06,920 Mi osvežiti. 850 00:47:06,920 --> 00:47:10,690 In to je še ena stvar, ki POST vam bo dala opozorila o. 851 00:47:10,690 --> 00:47:15,050 Morda ste opazili polje, besedilno polje, kot je ta v vašem brskalniku. 852 00:47:15,050 --> 00:47:18,170 Ali ste prepričani, da želite spet poslala obrazec? 853 00:47:18,170 --> 00:47:21,170 POST je, kaj se pošilja te oblike. 854 00:47:21,170 --> 00:47:24,680 >> Ker v bistvu, če ste poslali vaš podatke o kreditni kartici, da nekdo, 855 00:47:24,680 --> 00:47:26,350 da se ne bo pojavil v URL. 856 00:47:26,350 --> 00:47:28,180 To se dogaja, da je zahteva za POST. 857 00:47:28,180 --> 00:47:32,905 Torej, ko si osvežite stran, to je ponovno poslati to prošnjo naknadno. 858 00:47:32,905 --> 00:47:35,530 Torej, zdaj smo pa želeli poslati tvorijo še enkrat, ker je ne bo 859 00:47:35,530 --> 00:47:37,340 ustvariti nobenih podvojenih nakupe. 860 00:47:37,340 --> 00:47:41,160 >> In bomo opazili, da tukaj, metodo smo uporabljate, POST. 861 00:47:41,160 --> 00:47:43,065 In to je dejansko prenos bajtov. 862 00:47:43,065 --> 00:47:45,460 Prenese 401 od njih. 863 00:47:45,460 --> 00:47:47,190 Program je precej majhen. 864 00:47:47,190 --> 00:47:51,600 Ampak tam je nikjer, da lahko vidimo, vrednote, ki se prenašajo. 865 00:47:51,600 --> 00:47:59,540 Na spletnih straneh se lahko sami vidite, vendar smo kot uporabniki niso mogli videti, 866 00:47:59,540 --> 00:48:01,650 če ste heker. 867 00:48:01,650 --> 00:48:05,340 Če si dober hacker, si lahko ogledate. 868 00:48:05,340 --> 00:48:09,360 >> Če veste, da je osnovni Oblika HTML, 869 00:48:09,360 --> 00:48:11,790 Vrednosti bo javijo na straneh. 870 00:48:11,790 --> 00:48:13,160 Boste lahko videli. 871 00:48:13,160 --> 00:48:16,720 Vrednosti bodo tam, oni samo malo manj očitno za vas 872 00:48:16,720 --> 00:48:19,522 dostop, v bistvu. 873 00:48:19,522 --> 00:48:23,620 >> Ali imamo več Vprašanja o GET, POST 874 00:48:23,620 --> 00:48:26,800 before-- kaj bomo storili Naslednja je pravzaprav pogled na nekatere kode 875 00:48:26,800 --> 00:48:30,837 da ste kar v pset 7, govorimo o kako se uporablja nekatere od teh konceptov, 876 00:48:30,837 --> 00:48:32,670 in govoriti o stvari, ki jih boste 877 00:48:32,670 --> 00:48:35,090 morali narediti malo v pset 7. 878 00:48:35,090 --> 00:48:36,760 Vsa več vprašanj pred tem? 879 00:48:36,760 --> 00:48:38,047 Več vprašanj, ki jih fantje imajo? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Great. 882 00:48:41,840 --> 00:48:45,370 >> V redu, si oglejmo malo na pset 7, 883 00:48:45,370 --> 00:48:49,530 ni dvoma, kaj ste vsi najbolj veseli. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Mislim, da je to nekaj, kar David gre skozi malo. 886 00:48:54,750 --> 00:49:00,890 Bom vendar imamo tri imenike na top, kakor tudi datoteka konfiguracijo. 887 00:49:00,890 --> 00:49:04,650 To je za podatkovne baze, kar bomo govoriti v približno petih minutah. 888 00:49:04,650 --> 00:49:07,220 Vključuje, vam nikoli ni treba pogledati v ta imenik 889 00:49:07,220 --> 00:49:12,480 Če ne želite, vendar je lepo, da veš, da so vse vrste pomočniki. 890 00:49:12,480 --> 00:49:14,210 Pomočniki je kot koristne funkcije. 891 00:49:14,210 --> 00:49:18,120 In potem imamo zaupnik, ki določa nekaj stvari gor. 892 00:49:18,120 --> 00:49:24,590 >> Obstajajo nekatere funkcije, ki jih ima CS50 zapisano, da so v pomočnika in zaupnik. 893 00:49:24,590 --> 00:49:27,250 In nekaj PHP, ki že izstopi v datotekah 894 00:49:27,250 --> 00:49:30,880 bo naredil veliko bolj vrste od topi dela noge za vas. 895 00:49:30,880 --> 00:49:35,250 Like, če gremo v javnosti login.php, ki je kaj 896 00:49:35,250 --> 00:49:38,350 pokaže prav, ko greste v pset 7. 897 00:49:38,350 --> 00:49:40,580 Bomo videli, da obstaja to zahtevalo izjavo. 898 00:49:40,580 --> 00:49:43,420 In to nekako kot oster vključujejo hashtag 899 00:49:43,420 --> 00:49:46,850 vključujejo, če ste za novejšo generacijo. 900 00:49:46,850 --> 00:49:49,740 Ampak to v bistvu pravi, da moram dostop 901 00:49:49,740 --> 00:49:52,260 do vseh funkcij v config.php. 902 00:49:52,260 --> 00:49:55,290 In lahko imate zahtevajo za vse vrste drugih stvari. 903 00:49:55,290 --> 00:49:59,670 >> config dejansko potrebuje pomočnike. 904 00:49:59,670 --> 00:50:02,490 Torej, ko boste potrebovali config, ste tudi 905 00:50:02,490 --> 00:50:05,660 vključno ali zahteva pomočnike, kot dobro. 906 00:50:05,660 --> 00:50:09,590 Tako da omogoča dostop do vseh kul funkcije, ki jih bomo uporabili, 907 00:50:09,590 --> 00:50:10,420 Stvari všeč render. 908 00:50:10,420 --> 00:50:13,490 Jaz sem pravzaprav dogaja, da olajša to dol malo. 909 00:50:13,490 --> 00:50:16,280 Tako funkcijo, potem smo bom sprehod skozi 910 00:50:16,280 --> 00:50:22,380 tik preden gremo na SQL malo bit je funkcija login.php, samo 911 00:50:22,380 --> 00:50:26,586 saj uporablja nekatere teme da smo pravkar govorili v PHP. 912 00:50:26,586 --> 00:50:30,840 >> Vidiš, prva stvar je, če $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 To je še ena globalna spremenljivka, boš se ukvarjajo z. 914 00:50:34,500 --> 00:50:38,460 To je kot _GET in _POST, ampak kaj Strežnik vsebuje je lahko to pustil 915 00:50:38,460 --> 00:50:42,730 vem, če je metoda zahteva je GET ali POST. 916 00:50:42,730 --> 00:50:47,250 Tako kot prej, kar smo počeli je samo v našem kodo, ki smo pisali, 917 00:50:47,250 --> 00:50:51,880 smo samo spremenili, da je GET in POST je odvisno od tega, kaj je HTML. 918 00:50:51,880 --> 00:50:55,120 Vendar pa obstajajo tudi strani, ki jih je mogoče dostopate z obema vrstama zahtev. 919 00:50:55,120 --> 00:50:57,410 In boste morda želeli narediti različne stvari, odvisno 920 00:50:57,410 --> 00:50:59,740 na vrsto zahteve, tako kot prijava počne. 921 00:50:59,740 --> 00:51:04,400 >> Torej, lahko preverite to zahtevo Metoda skozi dostop do ključev, 922 00:51:04,400 --> 00:51:08,630 s pomočjo ključa in pridobivanje vrednost nečesa v slovarju 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Torej, to je druga svetovna spremenljivka kot _GET in _POST. 925 00:51:13,800 --> 00:51:16,990 >> Če je to GET, želimo render obrazec za prijavo. 926 00:51:16,990 --> 00:51:21,920 Render je funkcija, ki v bistvu samo postavlja ustrezno HTML 927 00:51:21,920 --> 00:51:24,500 in prehaja nekatere parametre. 928 00:51:24,500 --> 00:51:28,740 Ta naslov je parameter, ki je uporablja pri prikazovanju, Nenavadno, 929 00:51:28,740 --> 00:51:32,670 naslov strani v Vprašanje je stvar tu, 930 00:51:32,670 --> 00:51:34,850 povedati ali pozdravite v našem prejšnjem primeru. 931 00:51:34,850 --> 00:51:36,100 Zdaj imamo drugačno stvar. 932 00:51:36,100 --> 00:51:38,570 Else, če je delovno mesto, smo še nekaj drugih stvari. 933 00:51:38,570 --> 00:51:40,790 Mi smo z uporabo te prazne metodo. 934 00:51:40,790 --> 00:51:42,750 To ne obstaja, da je prazna. 935 00:51:42,750 --> 00:51:45,440 In smo videli prej, PHP ima pošteno količino zgrajena 936 00:51:45,440 --> 00:51:52,370 metod, da David will-- če obstaja so metode, ki so koristne za vas, 937 00:51:52,370 --> 00:51:55,560 bodo opozorjeni, da vas na sprehod skozi ta Davidov 938 00:51:55,560 --> 00:51:59,770 daje na začetku pregleda, in tudi koristnih bitov Zamyla je. 939 00:51:59,770 --> 00:52:01,040 Ona je nazaj vsakdo. 940 00:52:01,040 --> 00:52:03,100 Vsi smo se lahko veselili. 941 00:52:03,100 --> 00:52:06,530 Opravičujem se je posrečeno poimenovali funkcija da samo v bistvu natisne 942 00:52:06,530 --> 00:52:10,130 nekatera sporočila o napakah, ker CS50 je zelo vljuden. 943 00:52:10,130 --> 00:52:14,770 >> In sedaj ta, da gre za zapleteno bit, ker ta 944 00:52:14,770 --> 00:52:16,697 je, če smo poizvedovanju baze podatkov. 945 00:52:16,697 --> 00:52:18,280 Zdaj nismo govorili o zbirkah podatkov. 946 00:52:18,280 --> 00:52:22,220 In bomo v naslednjem pet minut ali tako, največja. 947 00:52:22,220 --> 00:52:24,980 Toda to je funkcija da CS50 je napisal 948 00:52:24,980 --> 00:52:38,050 dobiti mizo v bistvu iz baze podatkov da delamo z v pset 7. 949 00:52:38,050 --> 00:52:40,860 Sem res slabo z mojim nič indeksiranje danes. 950 00:52:40,860 --> 00:52:42,060 Ampak ja, je 7. 951 00:52:42,060 --> 00:52:46,340 >> Tako poizvedovanje se dogaja, da se vrneta matrika, v bistvu je ključ bit. 952 00:52:46,340 --> 00:52:54,130 In ker te stvari nimajo tipkanje, zato vrstic je niz polj. 953 00:52:54,130 --> 00:52:59,480 Ker, ko razmišljamo o miza, kaj bomo storili 954 00:52:59,480 --> 00:53:04,830 je, kot ste se naučili v psets kot igra 15, nekako 955 00:53:04,830 --> 00:53:06,990 kjer boste imeli, da uporabite dvojna tabela, smo v bistvu 956 00:53:06,990 --> 00:53:15,210 imajo vrsto drugih nizi naredi tabelo. 957 00:53:15,210 --> 00:53:18,150 In imaš stolpce in vrstice. 958 00:53:18,150 --> 00:53:24,450 In potem se lahko do njih dostopate kot [0] [1], dobiš [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Osnovne stvari, kot je ta. 960 00:53:26,900 --> 00:53:29,380 >> Torej, kaj delamo tukaj v tej funkciji, 961 00:53:29,380 --> 00:53:35,070 smo prosi baze podatkov če uporabnik, ki je 962 00:53:35,070 --> 00:53:40,200 poskuša prijavo, bo to poslana z metodo POST. 963 00:53:40,200 --> 00:53:43,950 Bomo videli, smo dobili uporabniško ime iz _POST. 964 00:53:43,950 --> 00:53:46,900 Ki so jih poslali bomo, uporabnika ali pa bodo poslali vrednost 965 00:53:46,900 --> 00:53:50,750 prek obrazca prek POST ker to je uporabniško ime in geslo stvari. 966 00:53:50,750 --> 00:53:54,830 Preverjamo uporabniško ime videti, je to v tabeli? 967 00:53:54,830 --> 00:53:58,070 Ker če ga uporabnik prijavi , potem pa njihovo ime 968 00:53:58,070 --> 00:54:03,320 morajo biti shranjeni v tabeli Uporabniki, ki obstajajo za to spletno stran. 969 00:54:03,320 --> 00:54:09,360 Torej v bistvu če Uporabnik je v podatkovni bazi, 970 00:54:09,360 --> 00:54:16,400 izraz se bo vrnil da je vrsta, ki je niz. 971 00:54:16,400 --> 00:54:24,560 >> Toda rafiniran del je, da če četudi dvojna array je samo iz ene vrste, 972 00:54:24,560 --> 00:54:31,900 tudi če je ena vrstica array-- kot imaš basically-- 973 00:54:31,900 --> 00:54:36,900 če imaš velikost enim nizom da je gospodarstvo še en niz, 974 00:54:36,900 --> 00:54:38,940 ste res ukvarjajo z eno kolono. 975 00:54:38,940 --> 00:54:41,420 Ampak to je še vedno zdravijo kot dvojni matriki. 976 00:54:41,420 --> 00:54:44,560 >> In to je, če se lahko včasih težavno, saj imamo vrstice tukaj. 977 00:54:44,560 --> 00:54:46,440 Naš spremenljivka je vrstice. 978 00:54:46,440 --> 00:54:48,590 In potem smo ustvariti nova spremenljivka imenuje vrstica 979 00:54:48,590 --> 00:54:51,450 in določanja enaka prva vrsta vrstic. 980 00:54:51,450 --> 00:54:55,150 In boste opazili, da je komentar pravi, da je prva in edina vrsta. 981 00:54:55,150 --> 00:54:57,080 >> Torej je to težavno del, kjer sedaj deluje 982 00:54:57,080 --> 00:54:59,660 Lahko se vrnete nizi zelo enostavno. 983 00:54:59,660 --> 00:55:01,270 Tam ni mallocs. 984 00:55:01,270 --> 00:55:02,280 Ne boste videli mallocs. 985 00:55:02,280 --> 00:55:03,940 Tako ne boste videli SEG napake. 986 00:55:03,940 --> 00:55:08,380 Vendar bo funkcije še vedno poteka okoli nizi in podatkov v skupinah. 987 00:55:08,380 --> 00:55:12,250 In moraš biti pozorna, kaj točno bodo vaši funkcije vrnejo. 988 00:55:12,250 --> 00:55:15,160 In tudi če je ena stolpec, kot je ta, se pozanima 989 00:55:15,160 --> 00:55:17,520 se še vedno dogaja, da se vrnete dvojni niz. 990 00:55:17,520 --> 00:55:21,390 Torej, da dostopa, ki column-- ali ste lahko zamislite vse to, kot je obrnjen 991 00:55:21,390 --> 00:55:22,870 saj govorimo o vrstah. 992 00:55:22,870 --> 00:55:26,810 Ampak za dostop do tega eno vrstico, ne moreš kar reči vrstice. 993 00:55:26,810 --> 00:55:31,540 Čeprav je ena vrstica, morate ne rowsrows [0], da bi nekako odpravila to 994 00:55:31,540 --> 00:55:37,360 Zunanja bit niz in ima samo svojo vrstico. 995 00:55:37,360 --> 00:55:38,342 >> Še nekaj drugih stvari. 996 00:55:38,342 --> 00:55:40,050 Tam je funkcija imenuje password_verify 997 00:55:40,050 --> 00:55:42,980 da preveri geslo, ki je bil objavljen. 998 00:55:42,980 --> 00:55:48,500 In potem bomo videli drugo svetovno spremenljivka tukaj, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Seja v bistvu id je, kako spremljate 1000 00:55:51,340 --> 00:55:53,990 to, če nekdo, ki je prijavljen ali ne. 1001 00:55:53,990 --> 00:55:58,590 Torej, zdaj s login.php, smo prijavo uporabnika v. 1002 00:55:58,590 --> 00:56:01,920 Torej, kaj želimo storiti, je, da smo želeli pravijo id seje enaka zapored 1003 00:56:01,920 --> 00:56:05,890 id, ki je le smiselno, ker je vsaka vrsta bo imela drugačno id 1004 00:56:05,890 --> 00:56:07,239 število kot del tabele. 1005 00:56:07,239 --> 00:56:09,280 Bomo dobili v SQL je z po drugi strani, tako da, če nič od tega 1006 00:56:09,280 --> 00:56:13,500 Zdi se malo, kot bla, potem vse bo zjasnilo. 1007 00:56:13,500 --> 00:56:18,450 Ampak bomo nastavili id ​​enak pravilna stvar, prijavo uporabnika v. 1008 00:56:18,450 --> 00:56:20,530 Opravičujem se, če gre kaj narobe. 1009 00:56:20,530 --> 00:56:27,600 In to je prijave namen v življenje kot profesor Malan bi rekel. 1010 00:56:27,600 --> 00:56:29,130 >> Tako da je bil login.php. 1011 00:56:29,130 --> 00:56:33,750 In veliko PHP kodo pišete v pset 7, boste morali biti malo. 1012 00:56:33,750 --> 00:56:36,470 Ne pozabite, da chmod na ustreznih dovoljenj. 1013 00:56:36,470 --> 00:56:40,180 Tam bo malo o da je v začetku spec. 1014 00:56:40,180 --> 00:56:46,382 >> Ampak PHP, ki ste pisanje se bo 1015 00:56:46,382 --> 00:56:47,840 počne stvari, ki je podoben temu. 1016 00:56:47,840 --> 00:56:49,715 Ti boš, da bo dostop do nekaterih stvari, ki 1017 00:56:49,715 --> 00:56:52,760 so dana za vas v globalne spremenljivke PHP, ki 1018 00:56:52,760 --> 00:56:56,105 se ukvarjajo s sedanjim prijavljeni uporabnik, ali obstaja 1019 00:56:56,105 --> 00:57:00,460 so prošnje poslane s tem Stran, različne stvari, kot je ta. 1020 00:57:00,460 --> 00:57:05,790 In to bo tudi potencialno ponavljanjem skozi vrsticah to stvar. 1021 00:57:05,790 --> 00:57:09,010 >> V drugi funkciji, poizvedbo ne vrne ta dvojni niz. 1022 00:57:09,010 --> 00:57:11,450 In če obstaja več kot ene vrstice v njem, 1023 00:57:11,450 --> 00:57:15,080 če obstaja are-- ja, če obstaja več kot eno vrstic v njej, 1024 00:57:15,080 --> 00:57:16,870 potem bo miza. 1025 00:57:16,870 --> 00:57:20,500 In boste morda želeli Ponovil po vrsticah matrike, ki uporabljajo 1026 00:57:20,500 --> 00:57:22,860 foreach zanke, ki smo opisali. 1027 00:57:22,860 --> 00:57:30,270 >> Torej, če vam foreach na dvojni matrika, kaj bo word-- tukaj, 1028 00:57:30,270 --> 00:57:31,909 Bom dejansko pisati. 1029 00:57:31,909 --> 00:57:32,950 Bom napisati hitro tukaj. 1030 00:57:32,950 --> 00:57:44,280 >> Če bomo imeli foreach vrstic kot vrsti, kaj je tip vrstice? 1031 00:57:44,280 --> 00:57:45,390 Ali kdo ve? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Si razumel? 1034 00:57:54,500 --> 00:57:57,110 Torej vrstic je dvojna tabela. 1035 00:57:57,110 --> 00:58:02,810 Torej, kaj je foreach gre sklepati, da želimo iz te dvojne matrike 1036 00:58:02,810 --> 00:58:04,280 če smo ponavljanjem nad njo? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Mi v bistvu lahko domnevamo, da to se dogaja, da se bodisi elementi, 1039 00:58:10,770 --> 00:58:14,970 ali vrstice ali stolpce, v bistvu. 1040 00:58:14,970 --> 00:58:18,740 In tako vrstice in stolpce smo mogoče obravnavati kot isto stvar. 1041 00:58:18,740 --> 00:58:23,880 >> V bistvu, kaj foreach zanke se dogaja storiti, je, da se dogaja, da se vrnete vrstice. 1042 00:58:23,880 --> 00:58:28,500 vrstica se bo tipa zapored ker vrstic je dvojna tabela. 1043 00:58:28,500 --> 00:58:32,290 Torej, če daš foreach dvojni niz, to je 1044 00:58:32,290 --> 00:58:35,830 ne bo Ponovil globoka več kot ena raven. 1045 00:58:35,830 --> 00:58:44,464 Ki je v bistvu pravi, če obstaja osem celice v tem table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 3 4, 5, 6, 7, 8-- foreach zanke ni 1047 00:58:48,110 --> 00:58:51,880 šli skozi vsako od teh celic. 1048 00:58:51,880 --> 00:58:56,390 Kaj foreach zanke bo naredil je bo šel skozi te vrstice, 1049 00:58:56,390 --> 00:58:57,870 vam to celotno vrstico. 1050 00:58:57,870 --> 00:58:59,410 In potem bomo šli skozi te vrstice. 1051 00:58:59,410 --> 00:59:01,850 >> Tako da se ponovi samo eno raven globoko. 1052 00:59:01,850 --> 00:59:05,310 Če dodate ugnezdena foreach zanke, potem si 1053 00:59:05,310 --> 00:59:16,280 lahko obravnava vsako vrstico vrnil iz vrstice, vam foreach vrstico kot elementa, 1054 00:59:16,280 --> 00:59:17,640 recimo. 1055 00:59:17,640 --> 00:59:22,750 In potem si lahko echo element. 1056 00:59:22,750 --> 00:59:24,930 Tako, da je kratek Malo za osvežitev na to, kako 1057 00:59:24,930 --> 00:59:30,220 vas bo morda s pomočjo foreach zank v okviru poizvedbe. 1058 00:59:30,220 --> 00:59:32,840 >> Ali obstaja kakršna koli vprašanja o PHP? 1059 00:59:32,840 --> 00:59:36,520 Sploh kaj, preden smo premaknete na govorimo o SQL 1060 00:59:36,520 --> 00:59:37,820 in zabavno zbirko podatkov? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Počutiti se dobro? 1063 00:59:42,110 --> 00:59:42,750 Počutiti se dobro. 1064 00:59:42,750 --> 00:59:43,470 V redu. 1065 00:59:43,470 --> 00:59:49,130 >> Pojdimo nazaj k PowerPoint, ki jo verjetno izpustili. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Ljudje, ki so v mojem oddelku tipično bodo vedeli, da podštevilke kratic 1068 00:59:57,900 --> 01:00:01,220 so vedno samo prve besede Mislim, da te tekme, ki 1069 01:00:01,220 --> 01:00:02,690 algorithm-- to kratico. 1070 01:00:02,690 --> 01:00:04,090 To ni algoritem. 1071 01:00:04,090 --> 01:00:08,050 >> Torej SQL je baza podatkov. 1072 01:00:08,050 --> 01:00:11,060 To je jezik, ki dela z bazami podatkov. 1073 01:00:11,060 --> 01:00:14,440 In vse baze podatkov, so se mize, vsaj na način, 1074 01:00:14,440 --> 01:00:17,220 da SQL jih zastopa. 1075 01:00:17,220 --> 01:00:23,610 >> Drug način, da razmišljajo o zbirkah zbirke so nabor tipk in vrednot 1076 01:00:23,610 --> 01:00:24,110 v bistvu. 1077 01:00:24,110 --> 01:00:29,530 Lahko pomislite bazo kot Slovar in tudi kot mizo. 1078 01:00:29,530 --> 01:00:34,300 V bistvu je to način, da se povežete različnih podatkov z drugimi podatki, 1079 01:00:34,300 --> 01:00:36,270 pogosto po vrsticah in stolpcih. 1080 01:00:36,270 --> 01:00:38,470 In to je način, da je SQL deluje najbolje. 1081 01:00:38,470 --> 01:00:40,880 >> Torej, to je en primer mizo. 1082 01:00:40,880 --> 01:00:44,610 Imam nekaj primerov ljudje v mojem oddelku, ki 1083 01:00:44,610 --> 01:00:45,970 Nisem imel časa za spremembo. 1084 01:00:45,970 --> 01:00:52,020 Ampak imamo stvari, kot so ID, ime, velesila, in rojstni kraj. 1085 01:00:52,020 --> 01:00:54,100 Ne vem, kje kdo je od v mojem oddelku, 1086 01:00:54,100 --> 01:00:56,266 tako da sem šele tekoč, da prevzame vsakdo je iz New Yorka 1087 01:00:56,266 --> 01:00:59,370 Mesto, ker imam visoko statistično verjetnost, da je pravilna. 1088 01:00:59,370 --> 01:01:04,200 >> SQL bo samodejno sprejme skrbi za ID stolpec za vas. 1089 01:01:04,200 --> 01:01:07,560 Če vstavite novo vrstico v bazo podatkov SQL, 1090 01:01:07,560 --> 01:01:09,700 bo prirastek, ki ID številka in samo 1091 01:01:09,700 --> 01:01:14,890 v bistvu držijo kot pet imen, velesila, hometown, kdor 1092 01:01:14,890 --> 01:01:16,430 na koncu te tabele. 1093 01:01:16,430 --> 01:01:19,160 Torej ID je stolpec boste nikoli ni treba skrbeti. 1094 01:01:19,160 --> 01:01:22,770 Vendar, kot v primeru od login.php, ko smo 1095 01:01:22,770 --> 01:01:26,610 so dobili ID seje iz tabele, in samo z uporabo ID, 1096 01:01:26,610 --> 01:01:30,320 ID je način za identifikacijo element baze podatkov. 1097 01:01:30,320 --> 01:01:34,980 >> Torej, če bi imeli dva Sams, oba ki poučujejo CS50, in oba kdo 1098 01:01:34,980 --> 01:01:39,370 so bili iz Milwaukee, tistih bi še vedno različne identifikacijskih številk 1099 01:01:39,370 --> 01:01:43,420 in tako se razlikujejo v kontekst tabele. 1100 01:01:43,420 --> 01:01:48,700 Torej, to je tisto, kar SQL se ukvarja s, ki sodeluje z na zadnjem koncu. 1101 01:01:48,700 --> 01:01:54,160 >> To so štirje ukazi da boste morali za delo z SQL. 1102 01:01:54,160 --> 01:01:56,390 In sem jih vse bruhal na enem diapozitivu. 1103 01:01:56,390 --> 01:01:59,530 Vendar smo šli skozi jim individualno. 1104 01:01:59,530 --> 01:02:03,300 >> Prvi ukaz je UPDATE, ki počne tisto, kar bi pričakovali. 1105 01:02:03,300 --> 01:02:07,240 Recimo, da imate nekaj podatkov v tabela, ki je zastarel. 1106 01:02:07,240 --> 01:02:09,470 Like, če ste vodenje track imen ljudi 1107 01:02:09,470 --> 01:02:13,350 in starosti, če nekdo starost povečanja, nato 1108 01:02:13,350 --> 01:02:18,590 boste želeli, da gredo v in posodobiti starost samo, da osebe. 1109 01:02:18,590 --> 01:02:21,902 Za primer, da deluje z našo prvo table-- 1110 01:02:21,902 --> 01:02:24,610 Ne skrbite pisanju vse ti ukazi hkrati. 1111 01:02:24,610 --> 01:02:27,640 Ampak, če imaš posodobitev navzdol, da bo dober za ta del, 1112 01:02:27,640 --> 01:02:29,790 ker bomo pojdi nazaj k mizi. 1113 01:02:29,790 --> 01:02:33,920 >> Torej, če se vrnemo k mizi, recimo, kaj se je zgodilo 1114 01:02:33,920 --> 01:02:38,480 je bil tam je bil potres ali vrstica krivda, da neposredno po delih 1115 01:02:38,480 --> 01:02:39,920 skozi New York City. 1116 01:02:39,920 --> 01:02:45,130 In smo želeli posodobiti vse ki je živel v New Yorku. 1117 01:02:45,130 --> 01:02:49,670 So vsi imeli preseliti v Pensilvaniji. 1118 01:02:49,670 --> 01:02:51,130 To ni hometown. 1119 01:02:51,130 --> 01:02:53,180 So vsi imeli preseliti v New Haven. 1120 01:02:53,180 --> 01:02:54,030 Tam gremo. 1121 01:02:54,030 --> 01:02:57,630 Torej, vsi v New Yorku preseli v New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> In tako, da je nekaj, kar je urejanje tri vrstice v tej tabeli. 1123 01:03:01,300 --> 01:03:04,716 Toda v SQL, lahko to storite da je v samo enem izkazu. 1124 01:03:04,716 --> 01:03:05,715 Torej gremo nazaj v posodobitev. 1125 01:03:05,715 --> 01:03:09,670 Naj hitro ponovno izbrisati ta odbor. 1126 01:03:09,670 --> 01:03:14,570 Ko govorimo o posodabljanje obstajajo 1127 01:03:14,570 --> 01:03:17,640 nekaj delov sintakso, ki so ključnega pomena. 1128 01:03:17,640 --> 01:03:19,770 No, vse sintakse je ključnega pomena. 1129 01:03:19,770 --> 01:03:22,210 Toda stvari v zeleni barvi, je neobvezno. 1130 01:03:22,210 --> 01:03:25,680 Potrebna je bela, kot vnaprej določeni imena. 1131 01:03:25,680 --> 01:03:30,750 In svetlo modra, so stvari ki se razlikujejo glede na mizi. 1132 01:03:30,750 --> 01:03:34,640 Torej, to je tisto, kar se dogaja z barvna shema tu, tam gor. 1133 01:03:34,640 --> 01:03:40,250 >> Torej, če želimo posodobiti samo tiste vrstice od ljudi, ki živijo v New Yorku, 1134 01:03:40,250 --> 01:03:43,490 Torej, kaj bomo storili, če smo rekli UPDATE? 1135 01:03:43,490 --> 01:03:46,320 Torej miza, kjer smo se ime za našo mizo. 1136 01:03:46,320 --> 01:03:49,170 Naj samo povem ime za našo mizo je miza ena. 1137 01:03:49,170 --> 01:03:52,515 Zato želimo, da posodobite tabelo eno. 1138 01:03:52,515 --> 01:03:57,470 In želimo set-- kaj želimo nastaviti? 1139 01:03:57,470 --> 01:04:05,160 No, želimo povedati, da column-- PHP obravnava vrstice kot edinstvene identifikatorje. 1140 01:04:05,160 --> 01:04:07,930 In potem stolpci na različnih področjih 1141 01:04:07,930 --> 01:04:09,940 od teh elementov baze podatkov. 1142 01:04:09,940 --> 01:04:14,210 >> Torej prvega elementa podatkovne baze ima ime Sam, velesilo CS50, 1143 01:04:14,210 --> 01:04:16,210 in hometown Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Torej, če smo rekli nastavljena, si oglejmo spet parametri, ki set traja. 1145 01:04:20,710 --> 01:04:23,880 Imamo stolpec enaka vrednost. 1146 01:04:23,880 --> 01:04:27,290 Torej želimo povedati nekaj column-- ki spomnite 1147 01:04:27,290 --> 01:04:31,850 je field-- želimo videti polje enako nekaj novega. 1148 01:04:31,850 --> 01:04:42,340 >> Torej, če smo pravkar dejal update tabela 1, nastavite ime enako Elliot. 1149 01:04:42,340 --> 01:04:46,310 Dobili nekaj ljudi iz nov oddelek, v zvezi s tem. 1150 01:04:46,310 --> 01:04:51,540 Ampak, če smo le naredili posodobitev tabele 1 nastavite ime enako Elliot, kaj bi 1151 01:04:51,540 --> 01:04:55,530 poglej tabelo, kot po tem? 1152 01:04:55,530 --> 01:04:56,410 Ljudje imajo kakšno idejo? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Ja. 1155 01:05:00,210 --> 01:05:03,195 >> OBČINSTVO: Vse, da vrstica bi postal Elliot. 1156 01:05:03,195 --> 01:05:04,570 SPEAKER: Vse v kateri vrsti? 1157 01:05:04,570 --> 01:05:06,067 SKUPINA: V prvi vrstici. 1158 01:05:06,067 --> 01:05:07,150 SPEAKER: V prvi vrstici? 1159 01:05:07,150 --> 01:05:09,724 Zakaj prva vrstica? 1160 01:05:09,724 --> 01:05:10,890 Ne mislim, da poberem na vas. 1161 01:05:10,890 --> 01:05:13,287 >> OBČINSTVO: Mogoče je vse v celotni tabeli? 1162 01:05:13,287 --> 01:05:15,120 SPEAKER: Vse v celotna tabela, ja. 1163 01:05:15,120 --> 01:05:19,520 In to je ravno prav because-- I je bil samo ti pomagam malo 1164 01:05:19,520 --> 01:05:22,650 there-- ker smo izpustili opcijska WHERE. 1165 01:05:22,650 --> 01:05:27,260 Če nimate kjer klavzula, kaj ta ukaz bo naredil 1166 01:05:27,260 --> 01:05:32,240 se, da bomo delo z vsako enojna vrsta v tabeli. 1167 01:05:32,240 --> 01:05:35,430 Ime vsakogar bo postati Elliott, v bistvu, 1168 01:05:35,430 --> 01:05:37,360 ki Elliot je zelo zadovoljna. 1169 01:05:37,360 --> 01:05:40,070 Ali Yanni, ena od njiju. 1170 01:05:40,070 --> 01:05:42,490 Vendar bo ime vsakogar spremeni. 1171 01:05:42,490 --> 01:05:47,880 >> Torej, kako bomo uporabili KJE clause-- in to velja za vse Wheres 1172 01:05:47,880 --> 01:05:51,410 da so v vsakem ti različni stvari. 1173 01:05:51,410 --> 01:05:54,380 Torej, boste opazili, da SET ima stolpca enako vrednost. 1174 01:05:54,380 --> 01:05:55,190 In tako ne kam. 1175 01:05:55,190 --> 01:06:00,040 Ampak to so različni Vrste izkazov. 1176 01:06:00,040 --> 01:06:04,400 Torej kolona je enaka vrednosti SET je v nalogi. 1177 01:06:04,400 --> 01:06:08,320 Všeč mi govoriš želimo nastaviti imena enak Elliot. 1178 01:06:08,320 --> 01:06:15,390 Toda v oddelkih, kjer To so izjave enakosti. 1179 01:06:15,390 --> 01:06:20,410 Torej, recimo, da smo želeli le spremenite ime osebe za Elliot 1180 01:06:20,410 --> 01:06:23,940 če je bilo njihovo ime Ryan, recimo. 1181 01:06:23,940 --> 01:06:24,920 >> Torej, ko smo rekli, 1182 01:06:24,920 --> 01:06:32,700 >> WHERE ime enaka Ryan, ki bi uspešno le sprememba 1183 01:06:32,700 --> 01:06:37,440 name-- da bi le spremenite Ime polja v vrsticah 1184 01:06:37,440 --> 01:06:40,770 kjer je polje ime enako Ryan. 1185 01:06:40,770 --> 01:06:44,430 Torej, če bi imeli več ljudi imenom Ryan vseh njihovih imen 1186 01:06:44,430 --> 01:06:45,730 bi spremenilo na Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> To je podobno kot v primeru o če je prelomnica razcepi 1188 01:06:48,169 --> 01:06:50,960 New York City, in vsakdo ima do preseliti v New Haven, na način, da lahko 1189 01:06:50,960 --> 01:06:56,570 to, da je v eni izjavi UPDATE Tabela1 SET hometown = New Haven 1190 01:06:56,570 --> 01:07:00,210 kjer hometown enaka New York City. 1191 01:07:00,210 --> 01:07:03,410 To je moč izjava UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Mi lahko izberete poljubno število vrstice prek resničnih izjav 1193 01:07:10,530 --> 01:07:12,860 o poljih v teh vrsticah. 1194 01:07:12,860 --> 01:07:19,510 Ne moremo reči, UPDATE Tabela 1 komplet name = Elliot WHERE vrstica = 1, 1195 01:07:19,510 --> 01:07:24,820 razen, da bomo lahko, če bomo rekli, ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Tako bomo lahko delo z enakostjo 1198 01:07:29,830 --> 01:07:32,830 polj, enakost stolpcev. 1199 01:07:32,830 --> 01:07:38,030 Le da smo uporabili ID področju je način izberite posamezne vrstice posebej, 1200 01:07:38,030 --> 01:07:43,210 ker polje ID je edinstven identifikator v zbirki podatkov SQL. 1201 01:07:43,210 --> 01:07:45,860 Torej, kot je posodabljanje vrstico eno, ID enaka 1. 1202 01:07:45,860 --> 01:07:49,560 Posodabljanje vrstico dve, samo spremeniti to ID številko. 1203 01:07:49,560 --> 01:07:51,610 Toda moč KJE izjava je, da smo 1204 01:07:51,610 --> 01:07:57,480 lahko posodobite stvari, ki temelji na kaj je njihova Trenutne vrednosti nekaterih stvari so. 1205 01:07:57,480 --> 01:07:58,155 Da Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> OBČINSTVO: In kaj, če hočeš to-- še enkrat, to je drugo vprašanje. 1207 01:08:02,678 --> 01:08:07,660 Ampak moje prvo vprašanje je bilo, kjer se to dogaja? 1208 01:08:07,660 --> 01:08:09,130 Kje sem posodabljanje to? 1209 01:08:09,130 --> 01:08:11,100 Je to v PHP kodo? 1210 01:08:11,100 --> 01:08:13,379 >> SPEAKER: Kje ste posodobiti, ja. 1211 01:08:13,379 --> 01:08:15,170 Bomo govorili kje vse to 1212 01:08:15,170 --> 01:08:18,729 se zgodi, nekako, ko gremo skozi vse ukaze. 1213 01:08:18,729 --> 01:08:21,130 Ampak tisto, kar potrebujete, da vem, za zdaj je v bistvu 1214 01:08:21,130 --> 01:08:26,279 da vaš SQL podatkovno bazo obstaja kot nekaj, 1215 01:08:26,279 --> 01:08:30,090 da lahko dostopate s poizvedbo Funkcija, ki CS50 opredeljuje. 1216 01:08:30,090 --> 01:08:33,800 Torej, če uporabljate funkcijo poizvedbe, lahko dostopate do te tabele. 1217 01:08:33,800 --> 01:08:39,529 >> Torej boste poslali ti ukaze za vašo mizo v PHP datotek 1218 01:08:39,529 --> 01:08:41,420 prek funkcije poizvedbe. 1219 01:08:41,420 --> 01:08:45,410 Lahko tudi igral z vašo mizo neposredno. 1220 01:08:45,410 --> 01:08:49,050 In to je najboljši način za preizkušanje te vrste ukazov. 1221 01:08:49,050 --> 01:08:52,720 In bomo šli skozi točno kako narediti, da je v samo malo. 1222 01:08:52,720 --> 01:08:54,910 >> Torej, to je ukaz UPDATE. 1223 01:08:54,910 --> 01:08:57,939 In ostali ukazov se bo nekako podobno, 1224 01:08:57,939 --> 01:08:59,069 delajo na podobnih stvari. 1225 01:08:59,069 --> 01:09:02,740 INSERT INTO je verjetno najbolj razlikuje od UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Bom zapustil, da je tam za samo malo in dela tukaj. 1227 01:09:06,170 --> 01:09:10,215 Torej vstavite, boste videli, da miza je še vedno isto. 1228 01:09:10,215 --> 01:09:17,010 Si želite vstaviti. 1229 01:09:17,010 --> 01:09:20,286 Kapitalizacija, SQL je občutljivo na velikost črk. 1230 01:09:20,286 --> 01:09:22,160 Tako da vam ne bi bilo treba izkoristiti te stvari. 1231 01:09:22,160 --> 01:09:27,960 Po dogovoru besede v beli barvi so kapitalizirane. 1232 01:09:27,960 --> 01:09:31,590 Ampak jaz tudi barvno jih kodirani. 1233 01:09:31,590 --> 01:09:34,390 Edini razlog, ki ga izkoristi tiste, ko ste jih tipkanje 1234 01:09:34,390 --> 01:09:36,609 je samo poudariti, da tisti so konstante. 1235 01:09:36,609 --> 01:09:39,189 In tako lahko bodisi poglej kapitalizacija ali dejstvo 1236 01:09:39,189 --> 01:09:40,740 da sem jih tudi drugačne barve. 1237 01:09:40,740 --> 01:09:44,910 >> Torej imamo vstavite, naredimo table1 znova. 1238 01:09:44,910 --> 01:09:45,930 To je vse v eni vrstici. 1239 01:09:45,930 --> 01:09:48,609 Jaz sem samo to ločevanje, ki jih različne izjave. 1240 01:09:48,609 --> 01:09:52,399 Torej, ne skrbite o tem, da Tabela1 jo je na drugi liniji. 1241 01:09:52,399 --> 01:09:56,130 >> Zato želimo, da vstavite INTO Tabela1 nekaj vrednosti. 1242 01:09:56,130 --> 01:09:58,922 In boste opazili, neobvezno bit, ki se bom v sekundi. 1243 01:09:58,922 --> 01:09:59,755 Torej imamo vrednote. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Torej, recimo, da želimo dodati Andi k naši mizi, ker smo zamudili Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi je bolan. 1247 01:10:09,390 --> 01:10:12,490 Torej, kaj je dodati Andi na naši mizi. 1248 01:10:12,490 --> 01:10:15,150 Ne pozabite, da je ID številka se samodejno posodablja. 1249 01:10:15,150 --> 01:10:17,320 Tako da je edina področjih smo treba skrbeti 1250 01:10:17,320 --> 01:10:20,230 so ime, velesila, in rojstni kraj. 1251 01:10:20,230 --> 01:10:23,660 >> In tako pot, da bomo to storili, videti na naši sintakse, je, ki smo jih 1252 01:10:23,660 --> 01:10:28,780 pravkar dobil oklepaje, z vejico Ločene vrednosti, od katerih je vsak 1253 01:10:28,780 --> 01:10:29,890 je vrednota. 1254 01:10:29,890 --> 01:10:35,530 Torej, če smo želeli vstaviti Andi v naši miza, vse, kar moramo storiti, je prav Andi. 1255 01:10:35,530 --> 01:10:38,630 Kaj je Andi je velesila, ljudje v oddelku Andi je? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Rada polet, ali je všeč hitrost, ali kaj podobnega. 1258 01:10:47,545 --> 01:10:48,920 Kaj že imamo tam gor? 1259 01:10:48,920 --> 01:10:53,425 Imamo CS50, polet, Hitrost in žilavosti. 1260 01:10:53,425 --> 01:10:54,850 >> OBČINSTVO: Čas potovanja. 1261 01:10:54,850 --> 01:10:56,180 >> SPEAKER: Čas vožnje, neverjetno. 1262 01:10:56,180 --> 01:11:04,280 Torej imamo Andi, čas potovanje, in njen rojstni kraj. 1263 01:11:04,280 --> 01:11:05,530 To je res dobro vprašanje. 1264 01:11:05,530 --> 01:11:09,210 New York City, razen če kdo ve. 1265 01:11:09,210 --> 01:11:13,600 Vsakdo je iz New York je Lekcija vzeti od danes. 1266 01:11:13,600 --> 01:11:17,710 >> Torej, ta izjava bi vstaviti, kot peta zapored 1267 01:11:17,710 --> 01:11:21,900 z velesila potovanja skozi čas in hometown New Yorku. 1268 01:11:21,900 --> 01:11:25,660 Toda izbirno polje je v bistvu način 1269 01:11:25,660 --> 01:11:30,090 točno, kateri stolpci določajo želite vstaviti stvari. 1270 01:11:30,090 --> 01:11:33,710 >> Tako, da to delamo zdaj, Andi, čas potovanja, New York City, 1271 01:11:33,710 --> 01:11:38,150 se dogaja v točno določenem vrstnem redu našega table-- ime, supersila, rojstni kraj. 1272 01:11:38,150 --> 01:11:42,290 In če si hotel narediti nekaj drugega kot to, 1273 01:11:42,290 --> 01:11:44,970 kot pravijo, da niste vedeli nekdo velesila, 1274 01:11:44,970 --> 01:11:47,660 všeč, kako nisem vedel Andi je velesila na začetku. 1275 01:11:47,660 --> 01:11:50,450 Torej, vse, kar sem vedel, je bila ona ime in njen rojstni kraj. 1276 01:11:50,450 --> 01:11:54,550 Kaj lahko storim je, da sem lahko do-- bom izbrisati to hitro. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Rad bi samo posodobi stolpce. 1279 01:12:00,090 --> 01:12:04,100 In to je, če ni obvezno Seznam kolona prihaja v igro. 1280 01:12:04,100 --> 01:12:09,185 Želim samo, da posodobite imena in rojstni kraj. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 In potem bom rekel vrednosti. 1283 01:12:16,480 --> 01:12:24,430 Naredil bom Andi in New York City. 1284 01:12:24,430 --> 01:12:28,980 >> Če sem izpuščen seznam stolpcev in samo narediti ti dve stvari, 1285 01:12:28,980 --> 01:12:32,450 kjer bi New York City šla? 1286 01:12:32,450 --> 01:12:35,900 Kateri stolpec bi New York Mesto so bile dane v? 1287 01:12:35,900 --> 01:12:38,950 Ljudje imajo kakšno idejo? 1288 01:12:38,950 --> 01:12:40,160 Velesila, točno. 1289 01:12:40,160 --> 01:12:41,890 >> Torej bo to samo pojdi v redu. 1290 01:12:41,890 --> 01:12:45,530 In ko to doseže konca seznam, se bo samo ustaviti polnjenje stvari. 1291 01:12:45,530 --> 01:12:49,080 In vrednote, ki bo to držijo v vsi stolpci bo zgolj NULL. 1292 01:12:49,080 --> 01:12:51,840 Zato, ker smo opredelili ime in rojstni kraj, 1293 01:12:51,840 --> 01:12:56,110 bomo imeli ID 5, ime Andi, velesila NULL. 1294 01:12:56,110 --> 01:12:58,750 Torej velesila je neinicializiranih vrednost. 1295 01:12:58,750 --> 01:13:01,340 Vam ne bo nujno dobiti Iste napake Valgrind Če skušate 1296 01:13:01,340 --> 01:13:01,970 in dostop do nje. 1297 01:13:01,970 --> 01:13:05,160 Vse bo lepo nastavi na ničlo ven, ker NULL je vrednost v SQL. 1298 01:13:05,160 --> 01:13:06,780 Da je konstantna. 1299 01:13:06,780 --> 01:13:08,980 In potem bo hometown biti New York City. 1300 01:13:08,980 --> 01:13:11,860 Tako, da je INSERT INTO ukaz. 1301 01:13:11,860 --> 01:13:13,610 Preden gremo, tam je dve ukazov. 1302 01:13:13,610 --> 01:13:19,060 Ali ljudje imajo kakršna koli vprašanja o UPDATE, približno vstavite, o SQL 1303 01:13:19,060 --> 01:13:21,556 splošno preden gremo na naših končnih bitov? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 Ljudje se počutijo dobro, odlično. 1306 01:13:26,910 --> 01:13:27,410 Ljubim to. 1307 01:13:27,410 --> 01:13:29,480 Torej, kaj je govoril o SELECT. 1308 01:13:29,480 --> 01:13:33,445 Going jarku UPDATE tukaj. 1309 01:13:33,445 --> 01:13:35,720 >> In SELECT se bo zelo podobna. 1310 01:13:35,720 --> 01:13:38,790 Cilj izberite Namen izberite v življenju 1311 01:13:38,790 --> 01:13:45,910 je, da vam kup stolpcev ki izpolnjujejo določene pogoje. 1312 01:13:45,910 --> 01:13:48,230 In ko rečem zadovoljiti določeni pogoji, 1313 01:13:48,230 --> 01:13:50,800 vaš um morda takoj segajo da WHERE 1314 01:13:50,800 --> 01:13:52,090 ki je prišel v posodobitev. 1315 01:13:52,090 --> 01:13:54,880 In da klavzula točno tam izberete. 1316 01:13:54,880 --> 01:14:06,020 >> Če nam ne dajo, kjer Klavzula in rečemo SELECT ime, 1317 01:14:06,020 --> 01:14:16,490 hometown-- napisane, da je malo wrong-- ime, rojstni FROM Tabela1. 1318 01:14:16,490 --> 01:14:19,690 Če bomo samo reči, da je tisto, kar SELECT se dogaja, da se nam je, da je 1319 01:14:19,690 --> 01:14:23,730 dogaja, da nam double-- mizo, ne. 1320 01:14:23,730 --> 01:14:27,450 Dvojno matrika, če smo razmišljal v PHP zazna. 1321 01:14:27,450 --> 01:14:33,239 Ampak to je le, da bo dal nam dvojni niz dveh columns-- imena, 1322 01:14:33,239 --> 01:14:33,780 in rojstni kraj. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 In bo prezreti ID. 1325 01:14:38,130 --> 01:14:41,310 In bo prezreti velesilo. 1326 01:14:41,310 --> 01:14:44,696 In bo to samo nam vsak single row navedene tabele. 1327 01:14:44,696 --> 01:14:46,570 Torej, če smo samo vstavljena Andi, bomo imeli Andi. 1328 01:14:46,570 --> 01:14:48,605 In bomo imeli prvotni štiri. 1329 01:14:48,605 --> 01:14:53,720 Če ste bili posodobljeni, bo to morajo odražati, et cetera, et cetera. 1330 01:14:53,720 --> 01:14:56,520 >> Torej, to je zato, ker mi ni uporabila klavzulo kje. 1331 01:14:56,520 --> 01:14:59,200 Vendar ga lahko uporabite v točno enak način smo ga uporabili pri posodobitvi. 1332 01:14:59,200 --> 01:15:05,310 Če smo le želeli tabelo imen in super pooblastila ljudi, ki živijo 1333 01:15:05,310 --> 01:15:13,430 v New Yorku, se lahko izvrši izjavo kot SELECT ime, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Jaz sem le, da bo zapustil that-- IZ Tabela1 KJE hometown = New York City. 1335 01:15:27,190 --> 01:15:33,370 >> Torej, to dokazuje, da lahko dobili povsem različne stolpce, 1336 01:15:33,370 --> 01:15:36,920 in nato dal stolpce, ki niste celo dobili nazaj v klavzuli kje. 1337 01:15:36,920 --> 01:15:39,200 Mi sploh ne želijo hometown vsakogar. 1338 01:15:39,200 --> 01:15:41,920 Ampak želimo ime in velesila ljudi 1339 01:15:41,920 --> 01:15:43,817 katerih rojstni kraj je New York City. 1340 01:15:43,817 --> 01:15:45,650 Torej, to je nekaj, kar smo lahko naredite s KAM 1341 01:15:45,650 --> 01:15:49,112 klavzula je lahko imamo opravka s stolpci da ne bomo nujno želijo nazaj. 1342 01:15:49,112 --> 01:15:52,320 Na enak način dopolnitve, lahko imamo opravka s stebri, ki jih ne nujno 1343 01:15:52,320 --> 01:15:53,270 želite posodobiti. 1344 01:15:53,270 --> 01:15:58,890 Mi lahko posodobite mesto vsakogar kdo je ime je Sam, na primer. 1345 01:15:58,890 --> 01:16:02,080 Mi lahko posodobite mesto Vsakdo, čigar ID številka 2. 1346 01:16:02,080 --> 01:16:04,960 Torej samo posodobiti mesto v drugi vrsti 1347 01:16:04,960 --> 01:16:08,220 kjer nam ni treba ukvarjati z potrebno skupno vprašanje. 1348 01:16:08,220 --> 01:16:13,264 >> In brisanje je, kot ste jo pričakujejo, DELETE FROM Tabela1. 1349 01:16:13,264 --> 01:16:14,930 In potem imamo klavzulo še kje. 1350 01:16:14,930 --> 01:16:17,940 Tako lahko rečemo, kjer je id = 1. 1351 01:16:17,940 --> 01:16:18,950 Izbrisati prvo vrstico. 1352 01:16:18,950 --> 01:16:23,240 In DELETE bo vedno izbrišete vrstico, ali bo to izbrisati določeno število vrstic. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM tabela WHERE hometown = New York City 1354 01:16:26,990 --> 01:16:28,740 bo izbrisal vse v New Yorku. 1355 01:16:28,740 --> 01:16:30,985 To je, če je bila nenadno tragično kuga 1356 01:16:30,985 --> 01:16:33,360 in si želel, da se odstranijo vsi iz tabele, ki 1357 01:16:33,360 --> 01:16:35,760 živel v nekem mestu ki je prizadela kuga. 1358 01:16:35,760 --> 01:16:38,050 Lahko počivajo v miru. 1359 01:16:38,050 --> 01:16:43,849 >> To so štiri SQL ukazi da boste morali uporabiti. 1360 01:16:43,849 --> 01:16:45,390 Morda ne potrebujete niti uporabiti vse. 1361 01:16:45,390 --> 01:16:47,690 Ampak to so štiri da CS50 vas pričakuje 1362 01:16:47,690 --> 01:16:53,630 biti zadovoljni z tekoč v tako kviz 1 in tudi pset7 in pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Tam je samo, da tabela znova. 1364 01:16:55,820 --> 01:16:58,930 V tem enem, Roy velesila ima bila posodobljena zaradi laserskih žarkov, ki 1365 01:16:58,930 --> 01:17:00,880 je primer nisem uporabil. 1366 01:17:00,880 --> 01:17:05,480 Ne vem, katera Roy raje, vendar trdnost. 1367 01:17:05,480 --> 01:17:07,670 Roy je velesila moči. 1368 01:17:07,670 --> 01:17:09,090 Katherine ne bi bilo danes. 1369 01:17:09,090 --> 01:17:10,260 To je žalostno. 1370 01:17:10,260 --> 01:17:11,260 Ampak ona je super hitrost. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> No, da je PHP. 1373 01:17:14,670 --> 01:17:19,410 Preden govorimo o MVC, ne kdo vprašanja o PHP? 1374 01:17:19,410 --> 01:17:23,864 Zdaj SQL ali PHP, če ste nenadoma prišli z vprašanjem o PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Great. 1377 01:17:28,460 --> 01:17:29,920 Vse je v redu, smo vsi, ki takrat. 1378 01:17:29,920 --> 01:17:33,660 >> Torej govorimo malo o kontrolorjev modela pogled, 1379 01:17:33,660 --> 01:17:38,770 vrnimo na nekatere od stvari v pset7. 1380 01:17:38,770 --> 01:17:42,470 Torej, kakšen model pogled Krmilnik is-- Nisem 1381 01:17:42,470 --> 01:17:45,660 dogaja, da shranite svoje spremembe na prijavo ker popolnoma sem ga pobili. 1382 01:17:45,660 --> 01:17:49,220 Ampak v bistvu imamo dve ločeni stvari dogaja. 1383 01:17:49,220 --> 01:17:52,390 Imamo javnost imenika, ki vsebuje 1384 01:17:52,390 --> 01:17:56,460 koda, ki se dogaja, da se izvrši in spletne strani, ki bodo obiskali. 1385 01:17:56,460 --> 01:17:58,780 In imamo tudi to ogledov imenik. 1386 01:17:58,780 --> 01:18:01,780 In poglede vsebuje predloge. 1387 01:18:01,780 --> 01:18:04,390 >> To je tisto, kar je funkcija render-- smo videli ometa 1388 01:18:04,390 --> 01:18:08,240 Funkcija v kup PHP kodo da CS50 je že napisal za vas, 1389 01:18:08,240 --> 01:18:10,550 da je v določenih parametrih. 1390 01:18:10,550 --> 01:18:14,510 Kaj to kodo počne se dogaja v pogledih, 1391 01:18:14,510 --> 01:18:18,000 ki so sklopi, kot so napisanih HTML kodo, 1392 01:18:18,000 --> 01:18:20,720 in to je vstavljanje vrednote v nekaterih krajih. 1393 01:18:20,720 --> 01:18:23,990 To je, kako, če vas iti v CS50 finance, 1394 01:18:23,990 --> 01:18:25,760 ista glava je na vsaki strani. 1395 01:18:25,760 --> 01:18:28,130 Enako Noga je na vsaki strani. 1396 01:18:28,130 --> 01:18:31,880 To je zato, ker je način da postanejo del je, da bomo 1397 01:18:31,880 --> 01:18:36,720 samodejno obliž v tej glavi in Gledalec, ki jih lahko najdete v pogledih. 1398 01:18:36,720 --> 01:18:41,400 >> Mi lahko dejansko šel v glavo, in poglej, to je datoteka HTML z glavo. 1399 01:18:41,400 --> 01:18:43,280 Ima nekaj slogovnih. 1400 01:18:43,280 --> 01:18:48,450 Vam ni treba gledati CSS za pset7, če ne želite. 1401 01:18:48,450 --> 01:18:50,560 Vendar pa lahko spremenite jih, če želite, da 1402 01:18:50,560 --> 01:18:53,470 Vaše Finance poglej malo drugačna. 1403 01:18:53,470 --> 01:18:57,560 >> Ima nekaj PHP v glava malo videti 1404 01:18:57,560 --> 01:19:01,240 če je drugačen naslov je treba dati v tej glavi. 1405 01:19:01,240 --> 01:19:04,300 Vendar le nekatere druge skripte, in povezave, in druge stvari. 1406 01:19:04,300 --> 01:19:08,700 Glava se konča, začne telo in oops, imamo to čudno malo končni bit. 1407 01:19:08,700 --> 01:19:14,730 In tam je div, prav tako kot brezoblična vrsta elementa 1408 01:19:14,730 --> 01:19:17,120 da ima idejo sredini. 1409 01:19:17,120 --> 01:19:22,450 >> In potem, ko smo videli nogo, imamo konec div. 1410 01:19:22,450 --> 01:19:25,000 Imamo dno, ki je kjer je besedilo noga. 1411 01:19:25,000 --> 01:19:26,770 Konec div, konca telesa, konec HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Torej, kaj ometa je početje je render je nekako 1413 01:19:29,070 --> 01:19:33,150 za krpanje gor glavo, A drugačna PHP datoteka, ki 1414 01:19:33,150 --> 01:19:37,110 bo vsebovala dejanske stvari, ki boste videti, kot vaši mizi zalog 1415 01:19:37,110 --> 01:19:39,690 če ste odkup ali prodajo zalog. 1416 01:19:39,690 --> 01:19:41,480 In potem bomo dodali v nogi. 1417 01:19:41,480 --> 01:19:44,890 In pogled modela Ideja krmilnik je, da smo 1418 01:19:44,890 --> 01:19:49,590 želijo ločiti kako stvari pogledati od kodeksa. 1419 01:19:49,590 --> 01:19:53,420 To želimo ločiti frontend in hrbtenica, kjer je začelje 1420 01:19:53,420 --> 01:20:00,440 stvari, ki jo uporabnik vidi se lepo visuals-- HTML, CSS, take stvari, 1421 01:20:00,440 --> 01:20:02,320 slike, et cetera. 1422 01:20:02,320 --> 01:20:05,780 In backend PHP. 1423 01:20:05,780 --> 01:20:07,710 To je koda, ki ste napisali. 1424 01:20:07,710 --> 01:20:10,240 To je, če je koda, ki je početje dejanske operacije. 1425 01:20:10,240 --> 01:20:12,400 To je, ko ste dodali stalež na vašo mizo, 1426 01:20:12,400 --> 01:20:14,890 Ko kupujete in prodaja, da je backend. 1427 01:20:14,890 --> 01:20:20,210 >> In bomo lahko, kot ste videli, vključno z PHP neposredno v HTML. 1428 01:20:20,210 --> 01:20:23,210 Torej, kaj bi lahko smo storili za Ta naloga je ravnokar 1429 01:20:23,210 --> 01:20:26,200 HTML datoteka za vsako stran, kot prijavo. 1430 01:20:26,200 --> 01:20:30,260 In potem na tej strani, samo imel ogromen blok PHP kodo, 1431 01:20:30,260 --> 01:20:33,822 vključno z vsemi kode, ki ta stran bi posebej potrebovali. 1432 01:20:33,822 --> 01:20:35,780 In potem lahko imamo narediti, da je za portfelj. 1433 01:20:35,780 --> 01:20:40,250 Lahko bi naredili vse za nakup in prodajo znotraj posameznih straneh. 1434 01:20:40,250 --> 01:20:43,680 >> Ampak zato, ker smo upodabljanje ločeno od koder 1435 01:20:43,680 --> 01:20:46,660 smo pisno backend koda, lahko zlahka 1436 01:20:46,660 --> 01:20:52,660 spremeniti, kako stvari videti brez spreminja vsak eno datoteko. 1437 01:20:52,660 --> 01:20:55,460 Počnemo stvari, kot le dodatek nov div na dno 1438 01:20:55,460 --> 01:21:00,720 of-- Pozdravljeni, sem spremenil nogo. 1439 01:21:00,720 --> 01:21:03,710 Lahko samo delati stvari, kot je ta. 1440 01:21:03,710 --> 01:21:07,250 Pa tudi, lahko spremenite celotna vizualna postavitev 1441 01:21:07,250 --> 01:21:09,290 brez vpliva na tisto, kar je dogaja v ozadju. 1442 01:21:09,290 --> 01:21:12,000 In lahko spremenite Celotna backend in še vedno 1443 01:21:12,000 --> 01:21:13,900 imajo to videti tako, kot je to storila prej. 1444 01:21:13,900 --> 01:21:14,400 To 1445 01:21:14,400 --> 01:21:16,170 >> Je ideja modela pogled krmilnika. 1446 01:21:16,170 --> 01:21:19,992 In to je pravzaprav vsiljen paradigma v nekaterih programskih jezikov 1447 01:21:19,992 --> 01:21:21,700 boste morda želeli uporabiti za končne projekte. 1448 01:21:21,700 --> 01:21:25,100 Če boste to storili razvoj iOS, imajo poglede, 1449 01:21:25,100 --> 01:21:29,120 ki je tisto, kar vidite na iPhone, in potem hrbtenica kot kot samostojna stvar. 1450 01:21:29,120 --> 01:21:31,260 >> Lahko pomislite malo. 1451 01:21:31,260 --> 01:21:35,190 Tam je veliko binarne datoteke v računalništva, kar je smešno, 1452 01:21:35,190 --> 01:21:37,270 ker je vse, kar je v binarno. 1453 01:21:37,270 --> 01:21:38,550 Nisem načrtovati, da. 1454 01:21:38,550 --> 01:21:41,590 To je bil pun nenamerna. 1455 01:21:41,590 --> 01:21:43,860 Da, pun ni namenjen. 1456 01:21:43,860 --> 01:21:49,070 >> Ampak kot .h datotek in .c datotek, tam je Veliko ločevanje od stvari, ki smo 1457 01:21:49,070 --> 01:21:49,900 ne bi potrebovali. 1458 01:21:49,900 --> 01:21:54,330 Tako smo lahko samo urejate h datoteke, ali lahko nekdo pravkar videli .h datoteko in vedeti 1459 01:21:54,330 --> 01:21:57,650 natanko funkcije, ki so v .c datoteka ni nujno, da vedo, 1460 01:21:57,650 --> 01:21:58,870 njihovo izvajanje. 1461 01:21:58,870 --> 01:22:02,800 Ta ideja, ki ločujejo komponent ki medsebojno odvisni 1462 01:22:02,800 --> 01:22:06,990 vendar pa lahko nekako dostop seboj prek različnih kanalov, ki poteka 1463 01:22:06,990 --> 01:22:09,310 spremenljivk, samo vključujejo izjav, stvari 1464 01:22:09,310 --> 01:22:14,440 kot da je to načelo prispeva k ustvarjanju aplikacij 1465 01:22:14,440 --> 01:22:17,080 da se lahko lažje uredil več ljudi, 1466 01:22:17,080 --> 01:22:20,440 lahko lažje spremenila ali spremenjena na velikem merilu, 1467 01:22:20,440 --> 01:22:24,880 in se lažje debug na veliko načinov. 1468 01:22:24,880 --> 01:22:28,254 >> Res hitro, imam Nekaj ​​nasvetov za pset7, 1469 01:22:28,254 --> 01:22:31,420 ki bom, poln zaslon, tako da ne samo gledaš na the-- Namig Namig tippee. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 Tam se ne da veliko nasvetov. 1472 01:22:35,130 --> 01:22:38,060 >> Ampak sem omenil PHP je težko debug. 1473 01:22:38,060 --> 01:22:39,290 Dvojne in trojne preverite. 1474 01:22:39,290 --> 01:22:41,550 Če koda ni samo prikazujejo na strani, 1475 01:22:41,550 --> 01:22:46,240 je to verjetno PHP napaka, žal. 1476 01:22:46,240 --> 01:22:48,570 >> Vam nikoli ni treba pogledati CSS, če ne želite. 1477 01:22:48,570 --> 01:22:52,150 Ampak, ko ste končali, je lahko lepo zabavna stvar, pojdite v 1478 01:22:52,150 --> 01:22:54,770 in igraš s parametri CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS in HTML so primer modela Pogled slog krmilnik stvar preveč, kajne? 1480 01:22:58,700 --> 01:23:02,150 Lahko bi slogovne oznake znotraj HTML elementov. 1481 01:23:02,150 --> 01:23:04,800 Ampak, če vas nekako jih outsourcing CSS, 1482 01:23:04,800 --> 01:23:08,180 oni lažje urediti, in play okrog z in se zabavajte s. 1483 01:23:08,180 --> 01:23:10,816 >> Privoščite CS50 pomočnika deluje kot črnih skrinjic. 1484 01:23:10,816 --> 01:23:12,940 Vam ni treba vedeti, točno, kaj render počne, 1485 01:23:12,940 --> 01:23:16,770 ampak mu zaupate, da vedno narediti pravo stvar, odvisno od tega, kaj vam je zgodilo, 1486 01:23:16,770 --> 01:23:17,690 Stvari, kot je ta. 1487 01:23:17,690 --> 01:23:21,040 In jaz bi priporočal gledal Davidovo walkthrough, 1488 01:23:21,040 --> 01:23:24,490 skozi vse stvari, ne samo todos, 1489 01:23:24,490 --> 01:23:26,960 ampak res lahko privoščite ti kot črne skrinjice. 1490 01:23:26,960 --> 01:23:29,280 Ne gredo v te Funkcije išče hrošče. 1491 01:23:29,280 --> 01:23:33,510 >> In pozdravljajo vrnitev naše Overlord Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Great. 1493 01:23:34,010 --> 01:23:40,430 >> Ali obstajajo kakršne koli končne vprašanja pred smo nekako premetavati na dan? 1494 01:23:40,430 --> 01:23:42,610 Sem še vedno živi? 1495 01:23:42,610 --> 01:23:44,700 Great. 1496 01:23:44,700 --> 01:23:47,120 Hi Uživo ljudi. 1497 01:23:47,120 --> 01:23:47,620 Great. 1498 01:23:47,620 --> 01:23:50,260 Ali obstaja več vprašanj? 1499 01:23:50,260 --> 01:23:50,760 Ne? 1500 01:23:50,760 --> 01:23:52,884 >> In potem mislim, da smo na dobri poti za danes. 1501 01:23:52,884 --> 01:23:55,550 Jaz bom ostal malo potem, če ljudje imeli vprašanja 1502 01:23:55,550 --> 01:23:57,480 ki so se bali vprašati o potoku. 1503 01:23:57,480 --> 01:23:59,790 Drugače pa, imajo dober dan. 1504 01:23:59,790 --> 01:24:01,933