1 00:00:00,000 --> 00:00:05,040 2 00:00:05,040 --> 00:00:08,440 >> SAM Levatich: Benvingut a secció per a aquesta setmana. 3 00:00:08,440 --> 00:00:10,040 No sóc Andi. 4 00:00:10,040 --> 00:00:14,590 Andi ha caigut malalt el dia d'avui, i jo han estat una espècie de crida d'últim minut 5 00:00:14,590 --> 00:00:15,700 per fer-se càrrec de. 6 00:00:15,700 --> 00:00:20,920 És la temporada de grip, així que assegureu-vos que vostè són mantenir net, rentar-se les mans, 7 00:00:20,920 --> 00:00:24,800 i menjar sa perquè vostè, també, no està postrat al llit. 8 00:00:24,800 --> 00:00:26,870 >> Però sense més preàmbuls, anem a començar. 9 00:00:26,870 --> 00:00:29,970 Avui, parlarem sobre PHP una mica bit-- com 10 00:00:29,970 --> 00:00:33,900 PHP es refereix a HTML, la forma en què es refereix a CSS, i alguns dels web 11 00:00:33,900 --> 00:00:36,100 coses que vas fer en l'última assignació. 12 00:00:36,100 --> 00:00:37,930 Anem a parlar una poc sobre SQL 13 00:00:37,930 --> 00:00:41,360 i com es pot treballar amb les bases de dades, que és un component clau de la P bastant 14 00:00:41,360 --> 00:00:43,650 estableix 8-- P va fixar juliol. 15 00:00:43,650 --> 00:00:44,480 P va fixar juliol. 16 00:00:44,480 --> 00:00:48,400 >> I després anem a parlar una mica mica sobre com funcionen els controladors de vista 17 00:00:48,400 --> 00:00:54,640 i per què això és una filosofia darrere d'alguns pàgines web modernes i un disseny diferent. 18 00:00:54,640 --> 00:00:58,760 Més o menys una gran quantitat de tipus d'aplicacions i les aplicacions que et poden enviar 19 00:00:58,760 --> 00:01:01,120 estan utilitzant aquest model, marc regulador de vista, 20 00:01:01,120 --> 00:01:02,890 que vostè va a utilitzar a P lloc 7, així que vaig a 21 00:01:02,890 --> 00:01:05,220 parlar una mica sobre per què que s'ha convertit 22 00:01:05,220 --> 00:01:07,970 popular, per què és important i agradable. 23 00:01:07,970 --> 00:01:12,052 I després vaig a fi de passar a alguns consells sobre la lluita contra P fixi juliol. 24 00:01:12,052 --> 00:01:13,760 I si tenim temps sobrant al final, 25 00:01:13,760 --> 00:01:17,320 realment podem fer alguna cosa treballar en això junts. 26 00:01:17,320 --> 00:01:20,380 >> Així, PHP. 27 00:01:20,380 --> 00:01:23,790 De fet, t'hauràs adonat esto-- que realment no ha de submergir-se en it-- 28 00:01:23,790 --> 00:01:27,880 però P lloc 6 tingut algun PHP codi que estava passant. 29 00:01:27,880 --> 00:01:34,710 I pel fet que PHP és un C-com idioma, PHP, a diferència d'HTML i CSS, 30 00:01:34,710 --> 00:01:39,030 és un llenguatge de programació, mentre que HTML i CSS són estàtiques. 31 00:01:39,030 --> 00:01:44,050 Són llenguatges de marques que tracten amb l'estil i el disseny visual. 32 00:01:44,050 --> 00:01:46,230 PHP és el veritable negoci. 33 00:01:46,230 --> 00:01:51,590 >> PHP té bucles, té conditions-- totes aquestes coses que és divertit sobre C. 34 00:01:51,590 --> 00:01:56,190 Té algunes coses que són una mica mica millor que C, que ja veurem, 35 00:01:56,190 --> 00:01:59,760 però crec que la forma més fàcil de parlar sobre el PHP és només per a bussejar. 36 00:01:59,760 --> 00:02:04,087 Així que em vaig a anar a la dreta en l'IDE en aquest punt. 37 00:02:04,087 --> 00:02:06,170 El primer que anem de fer és mirar realment 38 00:02:06,170 --> 00:02:10,169 una mica a alguns dels Codi PHP que estava en P va fixar juny. 39 00:02:10,169 --> 00:02:13,600 Així que la manera que ho fem que-- abans, la forma en què estàvem corrent 40 00:02:13,600 --> 00:02:18,550 el servidor per a l'aparell va ser que hauríem de type-- 41 00:02:18,550 --> 00:02:21,750 o bé utilitzar la seva aplicació o implementació del personal 42 00:02:21,750 --> 00:02:27,059 de server.c per entrar a directori i corrent server.c amb cap 43 00:02:27,059 --> 00:02:30,100 arguments-- de manera que només en diuen a la host local, que és el que, probablement, 44 00:02:30,100 --> 00:02:31,849 va fer la major part del temps-- i després alimentant 45 00:02:31,849 --> 00:02:35,380 1 directory-- amb que per utilitzar com la seva arrel 46 00:02:35,380 --> 00:02:38,310 on el lloc web faria ser córrer, bàsicament. 47 00:02:38,310 --> 00:02:42,180 >> Aquesta setmana per a P va fixar 7, com gran com el nostre codi de server.c 48 00:02:42,180 --> 00:02:47,580 És a dir, hi ha persones que ja tenen escrit aquestes coses fines sobre en CS50 49 00:02:47,580 --> 00:02:49,630 que tenen una mica més funcionalitat, 50 00:02:49,630 --> 00:02:52,920 un programa de servidor que és capaç de treballar amb una mica més de 51 00:02:52,920 --> 00:02:56,350 de les complexitats que anem a veure tant a P lloc 7 i P lloc 8. 52 00:02:56,350 --> 00:03:01,410 I la forma en què s'inicia el servidor és amb només teclejar "apache50." 53 00:03:01,410 --> 00:03:03,960 >> I abans de fer res, vostè vol assegurar-se que 54 00:03:03,960 --> 00:03:06,070 que Apache 50 no és ja s'està executant, ja que és 55 00:03:06,070 --> 00:03:08,130 en la meva màquina, el que vaig fer per provar-ho. 56 00:03:08,130 --> 00:03:10,320 I ho fa cridant apache50. 57 00:03:10,320 --> 00:03:14,070 Deixa, i veuràs que està parant el servidor web, si vostè pot mirar allà 58 00:03:14,070 --> 00:03:16,340 a la part inferior de la finestra de terminal. 59 00:03:16,340 --> 00:03:21,090 I a continuació, només per començar, estem va a cridar, "apache50 començar." 60 00:03:21,090 --> 00:03:23,150 I després anem per alimentar un directori. 61 00:03:23,150 --> 00:03:26,950 >> Ara, perquè volem veure a alguns dels P lloc 6 Codi 62 00:03:26,950 --> 00:03:32,850 que havíem implementat, en realitat copiat una mica de la P 63 00:03:32,850 --> 00:03:37,090 setembre 6 codi en la meva pròpia carpeta, que es pot veure a l'esquerra allà. 64 00:03:37,090 --> 00:03:40,170 Es diu "SECCIÓ 8" en lletres majúscules 65 00:03:40,170 --> 00:03:44,510 perquè estic tan emocionada per a ser transmès en viu-en l'actualitat. 66 00:03:44,510 --> 00:03:47,330 >> Així que si correm això, ha de tota la feina bastant eficaç. 67 00:03:47,330 --> 00:03:52,350 Diu, OK, el nostre lloc és ara disponible a l'adreça de la IDE, 68 00:03:52,350 --> 00:03:57,710 bàsicament, que és el que estava fent servir exactament com ho va ser a P estableix 7-- P va fixar juny. 69 00:03:57,710 --> 00:04:00,899 Tots els meus índexs són un índex d'avui. 70 00:04:00,899 --> 00:04:02,940 Així que podem anar a aquesta direcció, si vostè recordarà, 71 00:04:02,940 --> 00:04:05,710 amb només fer clic aquest petit botó a la part superior dreta. 72 00:04:05,710 --> 00:04:14,200 >> I vostè recordarà aquest codi, que va passar quan vas entrar a hello.php. 73 00:04:14,200 --> 00:04:18,000 I el que el codi està dissenyat per fer és l'escriure un nom 74 00:04:18,000 --> 00:04:20,550 aquí-- si vostè diu Sam perquè aquest és el meu nom-- 75 00:04:20,550 --> 00:04:23,620 i faig clic Say Hello, quan ens vam anar a la pàgina següent, 76 00:04:23,620 --> 00:04:25,270 Se suposava que el nom que es mostrarà. 77 00:04:25,270 --> 00:04:28,550 Es deia: "Hola, Sam" o "Hola," el que sigui que el nom 78 00:04:28,550 --> 00:04:32,470 posem en ell tot i que ens vam anar a una nova pàgina web. 79 00:04:32,470 --> 00:04:36,610 >> I aquest és el tipus de coses que PHP pot fer per vostè. 80 00:04:36,610 --> 00:04:42,840 PHP és capaç de passar les dades entre dues pàgines web. 81 00:04:42,840 --> 00:04:44,390 Aquesta és una pàgina totalment diferent. 82 00:04:44,390 --> 00:04:46,990 Veureu el títol és "hola" aquí. 83 00:04:46,990 --> 00:04:49,080 En realitat, tenen el mateix títol, però jo 84 00:04:49,080 --> 00:04:52,560 prometen són diferents web pàgines si ens fixem en la font. 85 00:04:52,560 --> 00:04:55,890 I vostè pot passar les dades que és introduït en aquest camp de text, 86 00:04:55,890 --> 00:04:59,830 enviar-lo a la següent pàgina que està sent cridat a files, 87 00:04:59,830 --> 00:05:02,490 i després que les dades és capaç de ser-hi en la seva forma actual. 88 00:05:02,490 --> 00:05:04,810 >> Ara encara no hem implementat això nosaltres mateixos, que 89 00:05:04,810 --> 00:05:08,710 és el que farem ara mateix per espècie aconseguir un gust de com funciona PHP, 90 00:05:08,710 --> 00:05:15,070 però la idea fonamental és que PHP-- puguis espècie de pensar-hi com una funció. 91 00:05:15,070 --> 00:05:18,570 Una cosa que PHP pot deixar-te do és que pot prendre paràmetres 92 00:05:18,570 --> 00:05:24,710 que l'entrada en una pàgina HTML mitjançant l'ús de PHP i formes, 93 00:05:24,710 --> 00:05:29,960 i pot passar com a paràmetres els a la següent pàgina que es carrega cap amunt. 94 00:05:29,960 --> 00:05:35,110 >> En aquest cas, estem carregant aquest pàgina amb el botó de "Say hello". 95 00:05:35,110 --> 00:05:38,960 Però, per ara, en realitat eliminat alguns d'aquest codi 96 00:05:38,960 --> 00:05:44,850 en el hello.php que estava sent dirigit que va ser realment Veient el "hola, 97 00:05:44,850 --> 00:05:49,680 món "o" hola, Sam "o "hola," el que era l'entrada sol. 98 00:05:49,680 --> 00:05:53,620 Així que per ara, estem va a fer això, bàsicament. 99 00:05:53,620 --> 00:05:56,570 Anem a recrear aquest i També afegir una mica més funcionalitat, 100 00:05:56,570 --> 00:06:00,210 fer una mica més amb ella, consulteu el que PHP és realment capaç de fer. 101 00:06:00,210 --> 00:06:04,870 >> Així que primer, anem a parlar de aquest arxiu, hello.php. 102 00:06:04,870 --> 00:06:07,440 Així que si ens acostem en un poc bit-- i ara estic 103 00:06:07,440 --> 00:06:10,520 espècie de tractar de desplaçar tots el camí around-- allà anem. 104 00:06:10,520 --> 00:06:14,220 Veuràs que es diu hello.php, però la sintaxi d'ella 105 00:06:14,220 --> 00:06:16,880 s'assembla a un arxiu HTML. 106 00:06:16,880 --> 00:06:20,380 Això és perquè el PHP real en aquest arxiu 107 00:06:20,380 --> 00:06:25,220 és tot encallat entre aquests interrogació blocs mark-caret. 108 00:06:25,220 --> 00:06:28,610 Tot aquí es considera codi PHP. 109 00:06:28,610 --> 00:06:32,040 >> I t'adonaràs que quan vaig fer un comentari, 110 00:06:32,040 --> 00:06:35,320 veuràs el familiar de dues barres diagonals. 111 00:06:35,320 --> 00:06:38,440 I si vostè recordarà, en HTML, si escric un comentari, 112 00:06:38,440 --> 00:06:42,540 es veu una mica més a prop això, que és un comentari en HTML. 113 00:06:42,540 --> 00:06:46,570 Així que en realitat tot el que entre aquests dos claus angulars 114 00:06:46,570 --> 00:06:50,060 ara és de codi PHP, que es reflecteix en el fet 115 00:06:50,060 --> 00:06:53,270 que aquest petit comentari símbol es va convertir en un comentari. 116 00:06:53,270 --> 00:06:58,420 >> Així que cada vegada que escriure codi PHP, fins i tot si no hi ha codi HTML a fora, 117 00:06:58,420 --> 00:07:02,720 Sempre serà tancat en aquests claus angulars 118 00:07:02,720 --> 00:07:04,080 amb signes d'interrogació. 119 00:07:04,080 --> 00:07:08,260 Pot espècie de pensar it-- com tot del codi que corria en els seus programes en C 120 00:07:08,260 --> 00:07:13,950 va ser tancat en una principal int, nul·la, claudàtor, extrem declaració claudàtor. 121 00:07:13,950 --> 00:07:17,100 I veuràs claus en PHP, també, però això és una espècie de 122 00:07:17,100 --> 00:07:20,490 com el principal ús de PHP. 123 00:07:20,490 --> 00:07:25,630 >> Així que ara, com ho fem res en PHP? 124 00:07:25,630 --> 00:07:29,190 Ara, PHP és una programació llenguatge que és molt similar a C, 125 00:07:29,190 --> 00:07:30,970 però opera a la web. 126 00:07:30,970 --> 00:07:33,270 Així que una cosa que podràs immediately-- un sol 127 00:07:33,270 --> 00:07:38,130 de les primeres coses que realment va fer amb C se li imprimeix coses, oi? 128 00:07:38,130 --> 00:07:42,290 Així que en C el vam fer amb una funció printf. 129 00:07:42,290 --> 00:07:46,430 Li vam donar una cadena, probablement amb una nova línia, 130 00:07:46,430 --> 00:07:49,850 i després ens vam acabar amb un punt i coma. 131 00:07:49,850 --> 00:07:53,790 >> Així que la forma en què farem això en PHP-- perquè no és prou printf. 132 00:07:53,790 --> 00:07:55,940 És una mica de sintaxi diferent. 133 00:07:55,940 --> 00:08:02,580 La forma en què imprimim coses en PHP és que diem, "echo hola" 134 00:08:02,580 --> 00:08:04,180 o "eco" paraula. 135 00:08:04,180 --> 00:08:09,830 I això té l'efecte de fer printf amb una cadena, "hola". 136 00:08:09,830 --> 00:08:11,990 I afegeix la nova línia a la mateixa. 137 00:08:11,990 --> 00:08:16,000 >> Així que farem en aquest moment sure-- Vaig a allunyar el zoom de nou una mica bit-- 138 00:08:16,000 --> 00:08:18,250 anem a fer de que el codi està treballant 139 00:08:18,250 --> 00:08:21,030 perquè pot molt bé d'un error en el codi 140 00:08:21,030 --> 00:08:22,880 que haurem d'afrontar. 141 00:08:22,880 --> 00:08:25,860 Així que el servidor ja s'està executant. 142 00:08:25,860 --> 00:08:30,630 Així que si ens desplacem cap avall fins al fons, yup, el servidor continua funcionant. 143 00:08:30,630 --> 00:08:34,510 Així que si simplement fem tapping en aquest poc adequat aquí-- 144 00:08:34,510 --> 00:08:37,620 welcome-- hem get-- gran. 145 00:08:37,620 --> 00:08:39,930 >> Seguim tenint la familiar "Saluda" diàleg, 146 00:08:39,930 --> 00:08:45,750 però quan escric en "hola", ja veurem que el text "hola" era de fet 147 00:08:45,750 --> 00:08:50,080 imprès, que és exactament com que esperàvem degut ressò en PHP 148 00:08:50,080 --> 00:08:53,190 és com una declaració printf. 149 00:08:53,190 --> 00:09:01,410 Així que de tornada al codi, la forma en P lloc 6 ho van fer el codi de distribució se li proporciona 150 00:09:01,410 --> 00:09:05,920 fer-ho de manera que ho faria PHP sortida del que vostè 151 00:09:05,920 --> 00:09:07,920 teclejat a la pantalla anterior? 152 00:09:07,920 --> 00:09:10,350 >> I per sort d'examinar per què passa això, estem 153 00:09:10,350 --> 00:09:15,510 va entrar en index.html, que és l'arxiu original, l'arxiu que 154 00:09:15,510 --> 00:09:18,710 apareix en aquesta pantalla amb el botó "Saluda". 155 00:09:18,710 --> 00:09:20,950 T'adones que hi ha totes les coses clàssiques 156 00:09:20,950 --> 00:09:26,910 que hem arribat a esperar d'HTML, com ja que aquestes coses, aquestes etiquetes tancades 157 00:09:26,910 --> 00:09:31,080 entre parèntesis angulars, com PHP però sense els signes d'interrogació, 158 00:09:31,080 --> 00:09:34,650 la qual cosa indica una cosa especial a HTML. 159 00:09:34,650 --> 00:09:36,895 Hem títol, que és "hola". 160 00:09:36,895 --> 00:09:41,010 I t'adonaràs que, com hem vist, el títol és "hola" en tots dos casos. 161 00:09:41,010 --> 00:09:43,260 Anem a canviar aquest "dir" el que només 162 00:09:43,260 --> 00:09:48,170 pot distingir-nos on som. 163 00:09:48,170 --> 00:09:49,600 >> Però tenim un cos. 164 00:09:49,600 --> 00:09:52,690 I llavors el poc interessant, el bits que apareix en el codi HTML, 165 00:09:52,690 --> 00:09:54,530 És aquest element de formulari. 166 00:09:54,530 --> 00:09:56,370 I així que tenim un formulari. 167 00:09:56,370 --> 00:09:58,330 I aquesta és la clau. 168 00:09:58,330 --> 00:10:00,530 Així és com estem treballant amb PHP. 169 00:10:00,530 --> 00:10:05,790 El paràmetre d'acció de manera diu que hello.php 170 00:10:05,790 --> 00:10:09,310 és el que anem a enviar els valors d'aquesta manera a. 171 00:10:09,310 --> 00:10:13,830 Aquí és on estem passant els paràmetres, per així dir-ho. 172 00:10:13,830 --> 00:10:18,680 >> Es donarà compte d'una altra cosa aquí és que el mètode és "arribar". 173 00:10:18,680 --> 00:10:24,450 Hi ha dos principals mètodes pels quals serà 174 00:10:24,450 --> 00:10:28,750 a utilitzar PHP per passar dades entre les pàgines web websites--, 175 00:10:28,750 --> 00:10:30,500 rather-- en aquesta assignació. 176 00:10:30,500 --> 00:10:34,070 I aquests mètodes són "get" i "post". 177 00:10:34,070 --> 00:10:37,010 Hi ha algunes subtils diferències entre GET i POST 178 00:10:37,010 --> 00:10:40,520 que obtindrem into-- ens serà "arribar" a, si es vol. 179 00:10:40,520 --> 00:10:44,030 >> Però per a tots els intents i fins, obtenir i post 180 00:10:44,030 --> 00:10:47,120 són a formes que passar paràmetres 181 00:10:47,120 --> 00:10:49,500 amb una mica diferents execucions. 182 00:10:49,500 --> 00:10:53,500 Per ara, utilitzarem aconseguir perquè aconseguir era el que s'usava originalment 183 00:10:53,500 --> 00:10:57,340 a l'arxiu PHP de P lloc 6. 184 00:10:57,340 --> 00:11:00,850 I de fet, si anem en i buscar abans que hàgim editat qualsevol altra cosa, 185 00:11:00,850 --> 00:11:03,090 Vaig a dir hola A-- ¿com et dius? 186 00:11:03,090 --> 00:11:03,812 >> AUDIÈNCIA: Elliot. 187 00:11:03,812 --> 00:11:04,770 Levatich SAM: Oh, Déu meu. 188 00:11:04,770 --> 00:11:05,600 No sé com s'escriu això. 189 00:11:05,600 --> 00:11:06,766 Podria explicar això per mi? 190 00:11:06,766 --> 00:11:08,710 AUDIÈNCIA: E-L-L-Me-O-T. 191 00:11:08,710 --> 00:11:09,720 >> Levatich SAM: Me-O-T? 192 00:11:09,720 --> 00:11:10,440 >> AUDIÈNCIA: Sí. 193 00:11:10,440 --> 00:11:10,960 >> SAM Levatich: Perfecte. 194 00:11:10,960 --> 00:11:11,210 D'ACORD. 195 00:11:11,210 --> 00:11:12,751 Suposo que ho vaig fer saber com s'escriu això. 196 00:11:12,751 --> 00:11:13,510 Em sap greu això. 197 00:11:13,510 --> 00:11:16,560 Però si diem "Vaig donar hola," no és no va a aparèixer a la pantalla 198 00:11:16,560 --> 00:11:18,476 encara perquè modifiquem el codi una mica. 199 00:11:18,476 --> 00:11:21,290 Però si "Say Hello" - OK, així que "hola" és aquí. 200 00:11:21,290 --> 00:11:24,137 Però si prenem un cerrador mirar a la pròpia adreça URL, 201 00:11:24,137 --> 00:11:26,220 veurem que acaba amb hello.php? name = Elliot. 202 00:11:26,220 --> 00:11:30,980 203 00:11:30,980 --> 00:11:37,180 >> Per tant, aquesta és una manera de comunicar a la següent pàgina web 204 00:11:37,180 --> 00:11:39,240 els paràmetres que hem passat. 205 00:11:39,240 --> 00:11:40,870 Vam dir name = Elliot. 206 00:11:40,870 --> 00:11:46,290 I això és en última instància com P va fixar juny accedit a la variable que vam passar a 207 00:11:46,290 --> 00:11:47,520 a través del formulari. 208 00:11:47,520 --> 00:11:51,470 I això és una cosa que és peculiar a una petició GET. 209 00:11:51,470 --> 00:11:57,480 Una petició get fa que els paràmetres conegut a l'URL de la pàgina web. 210 00:11:57,480 --> 00:12:01,190 >> I vostè recordarà, també, a P lloc 6 que 211 00:12:01,190 --> 00:12:04,450 havia d'escriure una funció que es va referir al fet 212 00:12:04,450 --> 00:12:09,700 que aquesta cadena de consulta podria existir després d'un arxiu. 213 00:12:09,700 --> 00:12:14,684 Podria haver-hi un signe d'interrogació seguit per, bàsicament, qualsevol nombre de caràcters. 214 00:12:14,684 --> 00:12:16,350 I això és exactament el que està passant aquí. 215 00:12:16,350 --> 00:12:21,280 I la raó per la qual calia analitzar que en la seva implementació de server.c a P 216 00:12:21,280 --> 00:12:27,570 setembre 6 és perquè es notava el codi PHP que name = Elliot. 217 00:12:27,570 --> 00:12:30,460 Necessitaves poder analitzar que de la URL 218 00:12:30,460 --> 00:12:35,900 perquè l'arxiu PHP en qüestió sabia el que estava tractant. 219 00:12:35,900 --> 00:12:39,350 >> Així que espero que això li dóna la motivació per server.c 220 00:12:39,350 --> 00:12:43,900 ara que ens estem movent en fora del C en PHP. 221 00:12:43,900 --> 00:12:48,240 Així que anem a realment se centren en l'accés a la les coses passen a través d'una petició GET ara 222 00:12:48,240 --> 00:12:48,880 en aquest punt. 223 00:12:48,880 --> 00:12:50,157 Vaig a guardar aquest. 224 00:12:50,157 --> 00:12:51,240 No canviem res. 225 00:12:51,240 --> 00:12:56,080 Sembla que tenim un camp d'entrada. 226 00:12:56,080 --> 00:12:58,550 >> Estem establint algunes propietats, com podem fer un HTML. 227 00:12:58,550 --> 00:12:59,550 Aquestes són les coses simples. 228 00:12:59,550 --> 00:13:00,580 No necessitem aquests. 229 00:13:00,580 --> 00:13:03,750 Però tenim autocompletat apagat, que bàsicament says-- ja saps, 230 00:13:03,750 --> 00:13:05,710 quan escriu coses a la web, de vegades 231 00:13:05,710 --> 00:13:07,355 es tracta d'omplir que per a vostè. 232 00:13:07,355 --> 00:13:08,230 Així que és una bona cosa. 233 00:13:08,230 --> 00:13:11,700 Volem que apagar per a aquest propòsit. 234 00:13:11,700 --> 00:13:13,970 Aquesta va ser una decisió CS50. 235 00:13:13,970 --> 00:13:15,640 Així que podem eliminar que si volíem. 236 00:13:15,640 --> 00:13:19,510 >> L'enfocament automàtic simplement pega el cursor en la forma com en el principi. 237 00:13:19,510 --> 00:13:21,060 Un cop més, no és massa important. 238 00:13:21,060 --> 00:13:26,220 >> Però name = "nom" - que és una mica difícil perquè el seu nom i el nom. 239 00:13:26,220 --> 00:13:28,730 Però podríem haver canviat això a alguna cosa més. 240 00:13:28,730 --> 00:13:30,563 I de fet, això és el que farem ara. 241 00:13:30,563 --> 00:13:34,830 Anem a dir "persona", que és una cosa així com el nom 242 00:13:34,830 --> 00:13:36,790 si una persona es defineix pel seu nom. 243 00:13:36,790 --> 00:13:41,480 >> Així que anem a tancar aquesta, obrir de nou fins al nostre lloc web 244 00:13:41,480 --> 00:13:46,110 ja que el nostre servidor encara està en execució Apache 50, i ens diran, hola, aquí està 245 00:13:46,110 --> 00:13:47,200 Elliot de nou. 246 00:13:47,200 --> 00:13:48,460 Perquè no? 247 00:13:48,460 --> 00:13:49,220 Hola. 248 00:13:49,220 --> 00:13:52,880 I si anem per aquí, ja veurem llavors en lloc de name = Elliot, 249 00:13:52,880 --> 00:13:55,200 diu persona = Elliot. 250 00:13:55,200 --> 00:14:00,060 I això és un resultat directe del fet que simplement canviem name = "persona". 251 00:14:00,060 --> 00:14:06,840 >> Així, en un element d'entrada de un formulari HTML, el camp de nom 252 00:14:06,840 --> 00:14:10,590 és l'identificador per al paràmetre que està sent passat. 253 00:14:10,590 --> 00:14:14,250 És com si crearà una funció "afegir" que es va dur a dos enters 254 00:14:14,250 --> 00:14:16,670 i vas dir int a i b int. 255 00:14:16,670 --> 00:14:22,680 Això seria un nom, i si volies una altra manera, que 256 00:14:22,680 --> 00:14:27,800 que podem fer amb només copiar i enganxar, llavors tindria nom b. 257 00:14:27,800 --> 00:14:31,030 >> Així que ara tindrem dos paràmetres que s'estan passant a través de 258 00:14:31,030 --> 00:14:36,970 arribar al següent website-- la següent pàgina web, hello.php. 259 00:14:36,970 --> 00:14:39,770 I en realitat podem veure que de nou si volem. 260 00:14:39,770 --> 00:14:44,830 Aquesta és la forma més fàcil per fer front a el codi web al IDE, bàsicament. 261 00:14:44,830 --> 00:14:47,940 Comences el servidor, ho aconsegueix córrer, i després cada vegada que 262 00:14:47,940 --> 00:14:50,649 fer alguns canvis, just a prop aquest arxiu només per estar segur. 263 00:14:50,649 --> 00:14:52,440 En prémer el botó de retrocés és una mica difícil 264 00:14:52,440 --> 00:14:55,800 perquè podria carregar una anterior versió, no la més actualitzada. 265 00:14:55,800 --> 00:14:59,200 >> I després simplement feu clic al botó de nou, pop up-- dreta oh, 266 00:14:59,200 --> 00:15:00,510 i ara hi ha dos formes. 267 00:15:00,510 --> 00:15:10,440 I pel que si escrivim una cosa a cada un-- "Hirshhorn jason," per instance-- 268 00:15:10,440 --> 00:15:11,590 diem hola. 269 00:15:11,590 --> 00:15:12,840 Mirem cap als nostres paràmetres. 270 00:15:12,840 --> 00:15:18,910 Sembla que tenim, com era d'esperar, a = jason ib = Hirshhorn, 271 00:15:18,910 --> 00:15:23,760 que representa els dos paràmetres que passem a aquesta funció. 272 00:15:23,760 --> 00:15:27,900 >> Així que ara anem a realment arribar a l'aplicació d'aquesta funcionalitat que ens 273 00:15:27,900 --> 00:15:30,840 tingut en P lloc 6. 274 00:15:30,840 --> 00:15:32,490 Així que en aquest moment només estem fent ressò hola. 275 00:15:32,490 --> 00:15:34,310 I això no és molt útil. 276 00:15:34,310 --> 00:15:38,530 Volem fer ressò d'alguna variable que es va passar a nosaltres. 277 00:15:38,530 --> 00:15:40,320 I sabem el nom d'aquesta variable. 278 00:15:40,320 --> 00:15:41,770 Tenim una i hem b. 279 00:15:41,770 --> 00:15:43,500 Així que podríem optar per repetir qualsevol d'ells. 280 00:15:43,500 --> 00:15:45,470 >> Però, com accedir-hi? 281 00:15:45,470 --> 00:15:48,820 Bé, hi ha certa variables globals en PHP. 282 00:15:48,820 --> 00:15:51,240 I jo vaig a escriure en comentaris aquí. 283 00:15:51,240 --> 00:15:59,910 Els dos més importants són get i després per als nostres propòsits en aquest moment. 284 00:15:59,910 --> 00:16:05,350 Aquestes són les matrius o, Tècnicament, els diccionaris 285 00:16:05,350 --> 00:16:10,540 on les nostres variables que estem que passa a la següent pàgina web en directe. 286 00:16:10,540 --> 00:16:14,520 I aviat veurem com usar-los. 287 00:16:14,520 --> 00:16:19,720 >> Una altra breu nota sobre el codi PHP i alguns detalls de it-- en C, 288 00:16:19,720 --> 00:16:23,260 per declarar una variable o utilitzar variables, 289 00:16:23,260 --> 00:16:24,570 que primer calia declarar-los. 290 00:16:24,570 --> 00:16:30,860 I el que havia de fer quan van declarar ells era dir int a carbó o b. 291 00:16:30,860 --> 00:16:35,630 Vostè va haver de declarar els tipus d'aquests les variables abans que els va crear. 292 00:16:35,630 --> 00:16:38,800 PHP-- vostè no ha de fer res d'això. 293 00:16:38,800 --> 00:16:42,522 PHP no demana el tipus de variable. 294 00:16:42,522 --> 00:16:44,480 I la forma en què vostè crear un lloc variable-- 295 00:16:44,480 --> 00:16:49,930 de dir int, char, string-- que és realment char *, ja que sabes-- 296 00:16:49,930 --> 00:16:52,180 en lloc de fer tot això, perquè tot 297 00:16:52,180 --> 00:16:54,620 és del mateix tipus, sense tipus, podem simplement 298 00:16:54,620 --> 00:16:59,210 utilitzar un caràcter, el qual és el signe de dòlar. 299 00:16:59,210 --> 00:17:03,700 I veuràs que ja està apareixent dalt, petites coses d'autocompletar. 300 00:17:03,700 --> 00:17:11,380 I està dient que _GET i _POST dues opcions que tinc disponible 301 00:17:11,380 --> 00:17:11,900 a mi. 302 00:17:11,900 --> 00:17:16,430 Algunes d'aquestes altres coses són altres variables globals en PHP 303 00:17:16,430 --> 00:17:18,430 que vostè va a utilitzar més de el curs de P fixar juliol. 304 00:17:18,430 --> 00:17:20,569 Per ara anem a centrar-se en GET i POST. 305 00:17:20,569 --> 00:17:22,910 Però aquest és un útil cosa que l'IDE fa 306 00:17:22,910 --> 00:17:24,980 on una vegada que has escrit en aquest signe de dòlar, 307 00:17:24,980 --> 00:17:28,760 que va començar a omplir les variables globals o variables que ja han definit. 308 00:17:28,760 --> 00:17:34,360 >> Així que si volia definir una variable anomenada "cadena" 309 00:17:34,360 --> 00:17:38,290 vostè podria posar-lo igual a "hola". 310 00:17:38,290 --> 00:17:40,100 I és, bàsicament, tan simple com això. 311 00:17:40,100 --> 00:17:44,720 I llavors podríem fer una cosa així com "$ string ressò." 312 00:17:44,720 --> 00:17:48,524 L'IDE s'ha de llençar algunes errors si estic fent alguna cosa malament, 313 00:17:48,524 --> 00:17:50,190 així que espero que estic fent les coses bé. 314 00:17:50,190 --> 00:17:52,060 Però els errors sempre es presenten. 315 00:17:52,060 --> 00:17:56,670 >> Una altra cosa difícil sobre PHP és que no està compilat. 316 00:17:56,670 --> 00:18:00,640 Així que amb els programes en C, que faria la rutina diària de-- bàsicament, 317 00:18:00,640 --> 00:18:02,710 vostè fer canvis a el codi, havia guardar-lo, 318 00:18:02,710 --> 00:18:04,460 i després ho faria fan, on era maquillatge 319 00:18:04,460 --> 00:18:08,830 el pas que diu el compilador, Clang, per fer que el seu codi, aquest text 320 00:18:08,830 --> 00:18:10,570 presentar, en un arxiu executable. 321 00:18:10,570 --> 00:18:15,550 PHP és similar a C, però ha executat sobre la marxa del seu navegador web. 322 00:18:15,550 --> 00:18:17,640 Així que no hi ha forma de saber-ho. 323 00:18:17,640 --> 00:18:19,790 >> Fer llançaria els errors vots, no? 324 00:18:19,790 --> 00:18:22,190 Seria com, vostè no va declarar aquesta variable 325 00:18:22,190 --> 00:18:23,320 abans d'intentar usar-lo. 326 00:18:23,320 --> 00:18:29,120 Vas fer tot aquest mal segfault stuff--, violació de segment, tot aquest tipus de moments de diversió 327 00:18:29,120 --> 00:18:31,000 que van venir amb maquillatge. 328 00:18:31,000 --> 00:18:33,920 PHP és una arma de doble tall perquè no aconseguirà aquests errors, 329 00:18:33,920 --> 00:18:37,770 però això també vol dir que vostè no sabrà realment el que està malament amb el seu programa 330 00:18:37,770 --> 00:18:39,840 si vostè acaba d'executar i no està treballant. 331 00:18:39,840 --> 00:18:45,130 Però el depurador d'assenyalar algunes petites coses esperem vots 332 00:18:45,130 --> 00:18:47,950 sintàcticament que es pot arreglar. 333 00:18:47,950 --> 00:18:52,850 >> Així que ara si anem més A-- diuen, anem a tancar això. 334 00:18:52,850 --> 00:18:54,522 Torneu a obrir. 335 00:18:54,522 --> 00:18:55,480 I estem de tornada aquí. 336 00:18:55,480 --> 00:18:57,210 Així que tenim una variable i una variable b. 337 00:18:57,210 --> 00:18:58,626 I aquests no importa en última instància. 338 00:18:58,626 --> 00:19:01,850 Anem als anomenem hi g per cap raó en particular. 339 00:19:01,850 --> 00:19:03,120 >> I diem hola. 340 00:19:03,120 --> 00:19:07,480 Ara sembla que la nostra cadena "hola" és de fet la impressió. 341 00:19:07,480 --> 00:19:10,460 Creem una variable anomenada "cadena", el va posar igual a "hola". 342 00:19:10,460 --> 00:19:15,520 Tingueu en compte que no havíem de fer malloc o fer un arranjament de caràcters. 343 00:19:15,520 --> 00:19:19,110 >> En PHP, ja que les variables són sense tipus, una cadena 344 00:19:19,110 --> 00:19:22,230 és la mateixa que per a un char tots els efectes. 345 00:19:22,230 --> 00:19:23,570 Això podria ser "hi". 346 00:19:23,570 --> 00:19:26,340 Això podria ser només el caràcter k. 347 00:19:26,340 --> 00:19:29,290 Aquest pot ser un número 1. 348 00:19:29,290 --> 00:19:30,300 I no li importa. 349 00:19:30,300 --> 00:19:33,560 PHP no es preocupa per el tipus de la variable. 350 00:19:33,560 --> 00:19:34,390 O bé, es preocupa. 351 00:19:34,390 --> 00:19:36,240 Es preocupa quan intenta i fer coses amb ell, 352 00:19:36,240 --> 00:19:38,790 però no li importa en el pas de la declaració. 353 00:19:38,790 --> 00:19:46,960 >> I igual que es pot en C, pot declarar cadenes a la pila com aquest 354 00:19:46,960 --> 00:19:51,130 encara que dir "pila" és una mica nom poc apropiat potencial quan 355 00:19:51,130 --> 00:19:52,230 estem parlant de PHP. 356 00:19:52,230 --> 00:19:54,020 Però no hem de preocupar-nos per això. 357 00:19:54,020 --> 00:19:55,936 Així que ens van donar la nostra cadena "hola", i ens fem ressò de la cadena. 358 00:19:55,936 --> 00:19:58,880 Així que ara que hem discutit variables. 359 00:19:58,880 --> 00:20:06,060 Així que ara hem de parlar sobre get i publicar i fer l'última cosa que és 360 00:20:06,060 --> 00:20:12,660 necessària per aconseguir realment la còpia de seguretat a la funcionalitat de la P lloc 6. 361 00:20:12,660 --> 00:20:14,990 Així que ara mateix estem fent-se ressò de la cadena, però 362 00:20:14,990 --> 00:20:17,080 no tenen aquestes variables GET i POST. 363 00:20:17,080 --> 00:20:19,430 I pel fet que estem utilitzant El mètode GET, que 364 00:20:19,430 --> 00:20:24,810 Sembla natural que la nostra variable que ens interessa, tant A com B, 365 00:20:24,810 --> 00:20:29,870 s'ubicarà a la matriu o diccionari, tècnicament aconseguir. 366 00:20:29,870 --> 00:20:33,510 >> Així que si establim aconseguir d'aquesta manera amb el seu groups-- premeu ENTRAR 367 00:20:33,510 --> 00:20:36,770 i no li agradava it-- però aquí tenim aconseguir. 368 00:20:36,770 --> 00:20:38,000 I així que ja existeix. 369 00:20:38,000 --> 00:20:41,380 Així que ja podem començar amb l'accés alguns dels elements d'aconseguir. 370 00:20:41,380 --> 00:20:45,000 Si nosaltres aconseguim, aquesta sintaxi per matrius en PHP és molt similar a C. 371 00:20:45,000 --> 00:20:47,900 Tenim els nostres dos claudàtors. 372 00:20:47,900 --> 00:20:53,440 >> Així que si diem arribar de manera normal array, podríem accedir 373 00:20:53,440 --> 00:20:55,600 l'índex d'ordre zero, el primer índex. 374 00:20:55,600 --> 00:20:56,840 PHP és l'índex zero. 375 00:20:56,840 --> 00:21:00,550 Podríem dir zero, un, coses dos-- com aquest. 376 00:21:00,550 --> 00:21:03,420 I he estat dient que aconsegueixen és tècnicament un diccionari. 377 00:21:03,420 --> 00:21:08,290 Així que el que PHP està fent sota el capó, que és una mica millor que C, 378 00:21:08,290 --> 00:21:12,760 és que ja està donant alguns funcionalitat diccionari, que 379 00:21:12,760 --> 00:21:16,240 és realment taules de hash, o intenta, suposadament. 380 00:21:16,240 --> 00:21:19,360 O, tècnicament podria ser una oportunitat així. 381 00:21:19,360 --> 00:21:25,500 Però PHP està implementant una taula hash, que forma un diccionari eficaç. 382 00:21:25,500 --> 00:21:28,400 >> I pel que sabem el nom de la nostra variable, oi? 383 00:21:28,400 --> 00:21:32,440 Es tracta de ser aprovada en la cadena de consulta per PHP. 384 00:21:32,440 --> 00:21:37,290 Tenim a = h i b = g on a i b són els noms de les variables. 385 00:21:37,290 --> 00:21:41,580 Així que la forma en què podem accedir a la valor que correspon a la tecla 386 00:21:41,580 --> 00:21:45,055 en el diccionari és només dir _GET_GET ["a"]. 387 00:21:45,055 --> 00:21:48,170 388 00:21:48,170 --> 00:21:51,365 >> Així que ara tenim _GET ["a"]. 389 00:21:51,365 --> 00:21:56,930 I si simplement reemplacem l'interior nostre eco, si ens fem ressò _GET_GET ["a"] - 390 00:21:56,930 --> 00:22:02,410 i veurem si el depurador llança qualsevol error del voltant esto-- 391 00:22:02,410 --> 00:22:05,620 anem a guardar això i tanquem això. 392 00:22:05,620 --> 00:22:07,130 Obre'l. 393 00:22:07,130 --> 00:22:10,390 Així que estem fent un dret ara, perquè b no hauria d'importar. 394 00:22:10,390 --> 00:22:12,980 "ella" i "ell" - "hum". "ella" i "brunzit". 395 00:22:12,980 --> 00:22:14,810 Sona bé. 396 00:22:14,810 --> 00:22:18,040 >> I imprimeix "ella", que és una bogeria. 397 00:22:18,040 --> 00:22:21,920 Però això és exactament el que estava succeint en P lloc 6. 398 00:22:21,920 --> 00:22:27,240 Bàsicament, el que estableix P 6 va ser doing-- tiro hola, 399 00:22:27,240 --> 00:22:31,580 nom-- on va tenir un nom de la variable i que només 400 00:22:31,580 --> 00:22:35,520 li demana que escrigui en aquest poc de text. 401 00:22:35,520 --> 00:22:37,380 També hi va haver alguna codi addicional en 402 00:22:37,380 --> 00:22:40,550 incloïa sentències if, que podem fer en aquest moment. 403 00:22:40,550 --> 00:22:50,120 >> Podem dir, si existeix, que és una funcionalitat dins de PHP, 404 00:22:50,120 --> 00:22:55,110 _GET Amb el subratllat, "nom" - que és bàsicament dient: 405 00:22:55,110 --> 00:22:58,760 "si el nom ha estat emplenat" perquè podríem haver fet clic al botó 406 00:22:58,760 --> 00:23:02,580 per enviar el formulari sense escriure res en aquest camp. 407 00:23:02,580 --> 00:23:07,760 I ens emboliquem que en la nostra amistoses entre claus. 408 00:23:07,760 --> 00:23:09,175 Podem tenir una declaració més. 409 00:23:09,175 --> 00:23:13,300 410 00:23:13,300 --> 00:23:18,820 I això és tot dins l'angle de PHP suport, signe d'interrogació, suport en angle, 411 00:23:18,820 --> 00:23:20,040 si es vol. 412 00:23:20,040 --> 00:23:21,750 >> I ara anem a veure si això funciona. 413 00:23:21,750 --> 00:23:26,300 Segueixo esperant que la depuració i merda sobre mi, bàsicament, 414 00:23:26,300 --> 00:23:28,410 però encara no ho ha fet. 415 00:23:28,410 --> 00:23:30,830 Potser ho farà ara perquè jo vaig parlar. 416 00:23:30,830 --> 00:23:31,330 SIP. 417 00:23:31,330 --> 00:23:32,510 Ho va fer, de fet. 418 00:23:32,510 --> 00:23:34,610 Així, res està apareixent. 419 00:23:34,610 --> 00:23:38,750 Això es deu a alguna cosa malament que vaig escriure en el codi PHP. 420 00:23:38,750 --> 00:23:42,844 I vaig esmentar la depuració és difícil perquè en PHP, que 421 00:23:42,844 --> 00:23:45,260 no compilar endavant i el compilador no era com, 422 00:23:45,260 --> 00:23:46,710 aquí és on els seus errors són. 423 00:23:46,710 --> 00:23:49,690 >> Però el que podem fer és-- fer la gent recorda 424 00:23:49,690 --> 00:23:57,010 com mirar a les diferents xarxes sol·licituds que PHP-- o que els llocs web 425 00:23:57,010 --> 00:23:57,620 enviar? 426 00:23:57,620 --> 00:24:00,290 [? Malin?] Va fer això en donar una conferència una vegada o dues vegades. 427 00:24:00,290 --> 00:24:05,830 Te'n recordes d'on trobarem les diferents deutes i 200 aprova, 428 00:24:05,830 --> 00:24:09,780 tots aquests codis que s'estan enviant a través d'HTTP de la pàgina web a la pàgina web? 429 00:24:09,780 --> 00:24:12,514 Algú recorda on farem això? 430 00:24:12,514 --> 00:24:13,787 >> AUDIÈNCIA: Pàgina Font. 431 00:24:13,787 --> 00:24:14,870 SAM Levatich: origen de la pàgina. 432 00:24:14,870 --> 00:24:15,890 Exactament. 433 00:24:15,890 --> 00:24:19,230 Si vostè va a la pàgina Source-- perfecte. 434 00:24:19,230 --> 00:24:21,630 Així Pàgina Font deté l'inspector. 435 00:24:21,630 --> 00:24:23,140 >> I jo estic fent servir Safari. 436 00:24:23,140 --> 00:24:25,790 Molts de vosaltres probablement a utilitzar Chrome o Firefox. 437 00:24:25,790 --> 00:24:27,750 Però mentre estàs en qualsevol browser-- moderna 438 00:24:27,750 --> 00:24:29,500 i no dubteu a seguir junt, si vols. 439 00:24:29,500 --> 00:24:32,560 Pot escriure fins a aquest codi o només cal veure l'interior del conjunt P 6 440 00:24:32,560 --> 00:24:35,820 directori per a algunes coses similars. 441 00:24:35,820 --> 00:24:41,020 hello.php és el que estem Actualment treballa en l'emulació. 442 00:24:41,020 --> 00:24:42,476 >> Així que hi ha una varietat de fitxes. 443 00:24:42,476 --> 00:24:43,850 Podem mirar a tots els recursos. 444 00:24:43,850 --> 00:24:45,810 Podem veure el codi font. 445 00:24:45,810 --> 00:24:49,900 Així que sembla que no ho va fer aconseguir el cos passat a la final. 446 00:24:49,900 --> 00:24:54,890 Es va trobar un error en PHP i deixat de carregar tota la pàgina web. 447 00:24:54,890 --> 00:24:58,320 Ni tan sols tenim un cap etiqueta per HTML ni res. 448 00:24:58,320 --> 00:25:07,189 >> I si ens fixem en la xarxa, podem veiem que estem sent enviat una sol·licitud. 449 00:25:07,189 --> 00:25:07,980 Aquest és el domini. 450 00:25:07,980 --> 00:25:09,270 Aquesta és l'adreça. 451 00:25:09,270 --> 00:25:10,070 És un document. 452 00:25:10,070 --> 00:25:14,310 Estem utilitzant el mètode get. 453 00:25:14,310 --> 00:25:15,760 >> I és vermell. 454 00:25:15,760 --> 00:25:19,030 O, va ser vermell quan No el selecciona. 455 00:25:19,030 --> 00:25:22,680 Com puc eliminar la selecció? 456 00:25:22,680 --> 00:25:23,980 Bé, era de color vermell. 457 00:25:23,980 --> 00:25:25,201 Permetin-me Actualitza. 458 00:25:25,201 --> 00:25:25,700 Aquí està. 459 00:25:25,700 --> 00:25:26,640 Ara és el vermell. 460 00:25:26,640 --> 00:25:30,530 >> Així que és de color vermell, el que significa va fracassar, el que és dolent. 461 00:25:30,530 --> 00:25:32,280 Així que anem a examinar per què es va deixar. 462 00:25:32,280 --> 00:25:37,070 Així que tot el que la font de la pàgina pot bàsicament diuen és el teu 463 00:25:37,070 --> 00:25:38,720 no treballem, que ja podem veure. 464 00:25:38,720 --> 00:25:42,100 Així que l'ideal no hauria ser una eina més útil. 465 00:25:42,100 --> 00:25:45,710 I hi ha algunes extensions del navegador que li permeten depurar PHP, 466 00:25:45,710 --> 00:25:50,490 però nosaltres no anem a estar escrivint un munt de PHP, 467 00:25:50,490 --> 00:25:53,190 per la qual cosa és probable que només el millor mirar a través del seu codi 468 00:25:53,190 --> 00:25:56,760 amb cura i només assegureu-vos que no està fent una altra cosa. 469 00:25:56,760 --> 00:26:03,876 >> Així que anem a veure si el format d'aquest si la declaració és on està el problema. 470 00:26:03,876 --> 00:26:07,420 Vull carregar de tornar aquí. 471 00:26:07,420 --> 00:26:09,830 Hola Hola. 472 00:26:09,830 --> 00:26:11,350 Així que hi ha un problema allà. 473 00:26:11,350 --> 00:26:15,130 >> Així que per la sintaxi correcta de PHP, PHP va 474 00:26:15,130 --> 00:26:17,369 sent C-com en què veuràs bucles. 475 00:26:17,369 --> 00:26:18,410 Vas a veure si les declaracions. 476 00:26:18,410 --> 00:26:20,920 Vas a veure tots aquests amics que t'has convertit en familiaritzats 477 00:26:20,920 --> 00:26:24,820 amb en el transcurs d'aquest semestre CS50. 478 00:26:24,820 --> 00:26:29,960 Però la millor manera de trobar la manera de fer alguna cosa en PHP és Google que 479 00:26:29,960 --> 00:26:33,170 o mirar alguns exemples de codi PHP perquè vostè sap la funcionalitat. 480 00:26:33,170 --> 00:26:35,080 >> Vostè sap el que pugui veure amb el programa. 481 00:26:35,080 --> 00:26:35,976 Vostè pot recórrer. 482 00:26:35,976 --> 00:26:37,600 Vostè pot bucle tantes vegades com vulguis. 483 00:26:37,600 --> 00:26:39,433 Vostè pot recórrer en tota tipus de maneres diferents. 484 00:26:39,433 --> 00:26:40,700 Podeu crear funcions. 485 00:26:40,700 --> 00:26:43,241 Vostè pot crear funcions que trucar a altres funcions, funcions 486 00:26:43,241 --> 00:26:44,150 que diuen a si mateixos. 487 00:26:44,150 --> 00:26:45,733 I vostè té noms per a aquests conceptes. 488 00:26:45,733 --> 00:26:49,860 Tens recursivitat, loops, si, altres fluxos de control. 489 00:26:49,860 --> 00:26:51,300 I pel que Google és el seu millor amic. 490 00:26:51,300 --> 00:26:53,540 Fins i tot dir, "si PHP declaració "i que hi haurà 491 00:26:53,540 --> 00:26:57,740 ser tones de missatges amb respostes a altres persones 492 00:26:57,740 --> 00:27:02,090 que he tingut preguntes similars a vostè, que estan començant a terme amb PHP 493 00:27:02,090 --> 00:27:03,820 i tenen curiositat per una cosa sintaxi. 494 00:27:03,820 --> 00:27:08,480 >> Perquè tenim el luxe de ser capaç de mirar el codi a P sèrie 6, 495 00:27:08,480 --> 00:27:14,980 que realment tiri cap amunt i veiem que OK, aquí hi ha alguna cosa interessant. 496 00:27:14,980 --> 00:27:18,070 Així que això és el que realment semblava a P lloc 6. 497 00:27:18,070 --> 00:27:20,340 Així que si passem per això, podem veure que hem 498 00:27:20,340 --> 00:27:27,150 té diversos d'aquests petits Bits de signe d'interrogació en PHP similars. 499 00:27:27,150 --> 00:27:29,050 >> I no hi ha claus. 500 00:27:29,050 --> 00:27:30,250 Hi ha dos punts. 501 00:27:30,250 --> 00:27:32,340 I hi ha arrissat suports en PHP, però això 502 00:27:32,340 --> 00:27:38,700 és un format i una forma de fer PHP que funciona bé amb HTML 503 00:27:38,700 --> 00:27:43,830 perquè com veurà, estem tancant fora d'aquests PHP bits-- la vigilés 504 00:27:43,830 --> 00:27:49,770 i l'IFS i tot això-- i després estem intercalant HTML dins d'ells 505 00:27:49,770 --> 00:27:54,640 mentre que encara després de la flux de control establert per PHP. 506 00:27:54,640 --> 00:27:58,480 >> Així que només vaig a ràpid passeig a través d'aquest 507 00:27:58,480 --> 00:28:01,740 perquè és una gran part de la mateixa conceptes que estàvem fent abans. 508 00:28:01,740 --> 00:28:07,280 Tenim, si no està buit, parèntesi, _GET_GET ["nom"]. 509 00:28:07,280 --> 00:28:08,500 Això és tot el mateix. 510 00:28:08,500 --> 00:28:15,430 Estem utilitzant el diccionari que _GET PHP envia a petició de les formes, 511 00:28:15,430 --> 00:28:20,720 perquè és els paràmetres de acció, i el mètode és aconseguir. 512 00:28:20,720 --> 00:28:22,110 I a continuació, que acaba això. 513 00:28:22,110 --> 00:28:27,420 El còlon és un significant només fer això si la sentència if s'avalua com a veritable. 514 00:28:27,420 --> 00:28:29,490 És com una clau. 515 00:28:29,490 --> 00:28:33,320 I de fet, és una clau en altres llenguatges com Python, 516 00:28:33,320 --> 00:28:37,070 que pot trobar si només fer això per al seu projecte final. 517 00:28:37,070 --> 00:28:40,170 >> I després aquesta línia, hola. 518 00:28:40,170 --> 00:28:41,510 Llavors tenim aquesta cosa rara. 519 00:28:41,510 --> 00:28:43,190 Tenim més suports. 520 00:28:43,190 --> 00:28:46,140 No hi ha HTTP allà- o PHP, ho sento. 521 00:28:46,140 --> 00:28:47,250 Però hi ha un signe igual. 522 00:28:47,250 --> 00:28:50,625 I després tenim una funció, htmlspecialchars (_GEThtmlspecialchars (_GET ["name"]). 523 00:28:50,625 --> 00:28:54,440 524 00:28:54,440 --> 00:28:58,040 Això és una cosa així com una major versió avançada de l'eco. 525 00:28:58,040 --> 00:29:01,450 Com havíem fet com una forma per imprimir coses en PHP. 526 00:29:01,450 --> 00:29:03,890 Aquesta és una funció que és es defineix en el qual PHP 527 00:29:03,890 --> 00:29:08,160 s'ocuparà d'alguns més desagradable personatges i valors de bytes 528 00:29:08,160 --> 00:29:09,540 que podria passar. 529 00:29:09,540 --> 00:29:11,070 Sempre és més segur que usar això. 530 00:29:11,070 --> 00:29:14,930 Però trobo farà el treball bé si no estem 531 00:29:14,930 --> 00:29:17,620 es tracta d'una cosa massa desagradable. 532 00:29:17,620 --> 00:29:20,340 >> I pel que aquest té el mateix efecte que, bàsicament, 533 00:29:20,340 --> 00:29:26,360 aquestes coses en el medi la qüestió marques s'avalua per PHP. 534 00:29:26,360 --> 00:29:34,490 htmlspecialchars retorna un bonic HTML valor imprès de _GET_GET ["nom"], és a dir, 535 00:29:34,490 --> 00:29:36,010 ho hem escrit en el formulari. 536 00:29:36,010 --> 00:29:40,025 I llavors va a dir hola, espai de coma, i després d'això. 537 00:29:40,025 --> 00:29:42,910 Tota aquesta cosa entre els parèntesis angulars 538 00:29:42,910 --> 00:29:47,390 serà reemplaçat pel que sigui htmlspecialchars posa a terme. 539 00:29:47,390 --> 00:29:49,390 Així que això és bàsicament similar al que estem fent. 540 00:29:49,390 --> 00:29:54,760 I tenim una sentència else que és hola món, cosa que té sentit. 541 00:29:54,760 --> 00:29:58,070 Així que ara anem a tornar al nostre codi i veure exactly-- oh. 542 00:29:58,070 --> 00:30:02,200 Vaig dir existeix, que no és una cosa que volíem fer. 543 00:30:02,200 --> 00:30:05,370 Volíem dir no està buit. 544 00:30:05,370 --> 00:30:10,020 >> I el que aquest ha de treballar una mica mica millor, no _GET_GET buit ["nom"]. 545 00:30:10,020 --> 00:30:12,710 I això claudàtor partits que claudàtor. 546 00:30:12,710 --> 00:30:15,210 Tenim les nostres claus aquí. 547 00:30:15,210 --> 00:30:17,790 trobo hola _GET ["nom"]. 548 00:30:17,790 --> 00:30:19,912 Anem a veure si això funciona una mica millor. 549 00:30:19,912 --> 00:30:21,350 Estem encara en marxa el nostre servidor. 550 00:30:21,350 --> 00:30:23,910 Hola Jason. 551 00:30:23,910 --> 00:30:24,780 Hola Jason. 552 00:30:24,780 --> 00:30:25,810 I va funcionar aquesta vegada. 553 00:30:25,810 --> 00:30:29,860 I això és una prova que pugui de fet 554 00:30:29,860 --> 00:30:35,180 utilitzar les claus que conèixer i estimar en codi PHP en HTML. 555 00:30:35,180 --> 00:30:41,100 El codi PHP proporcionada a que en conjunt de processadors 6-- pset 6-- 556 00:30:41,100 --> 00:30:44,760 proporciona una altra manera de fent la mateixa cosa. 557 00:30:44,760 --> 00:30:49,220 >> Així que ara tenim el poder. 558 00:30:49,220 --> 00:30:55,740 Tenim la funcionalitat per implementar el codi PHP que vam veure en el conjunt de processadors juny 559 00:30:55,740 --> 00:30:57,390 per nosaltres mateixos, bàsicament. 560 00:30:57,390 --> 00:31:01,350 Abans de passar, quins són alguns dels preguntes que vostè té en aquest moment? 561 00:31:01,350 --> 00:31:02,066 Sí [inaudible]. 562 00:31:02,066 --> 00:31:06,512 >> AUDIÈNCIA: Llavors, en la versió en pset6, quan s'executa, hi ha un espai. 563 00:31:06,512 --> 00:31:09,330 I puc veure que l'espai és després de la coma. [Inaudible] inici 564 00:31:09,330 --> 00:31:10,700 el suport obert. 565 00:31:10,700 --> 00:31:15,420 Com incorporar l'espai la forma en què va escriure els seus propis codis? 566 00:31:15,420 --> 00:31:17,910 >> ALTAVEU: Aquesta és una bona pregunta. 567 00:31:17,910 --> 00:31:21,650 I així anem a donar-se compte d'això. 568 00:31:21,650 --> 00:31:24,450 Així que això és una molt bona pregunta i un que no em considero. 569 00:31:24,450 --> 00:31:25,950 Però anem a fer-ho junts. 570 00:31:25,950 --> 00:31:30,280 >> Així que en primer lloc, el que Que estic fent amb ressò 571 00:31:30,280 --> 00:31:33,690 és quan acabem d'eco hola, emet hola. 572 00:31:33,690 --> 00:31:41,310 Si ens fem ressò ara això pujar a un independent línia, anem a examinar el que succeeix. 573 00:31:41,310 --> 00:31:43,740 Així fem clic això. 574 00:31:43,740 --> 00:31:45,220 Seguim dient hola Jason. 575 00:31:45,220 --> 00:31:48,690 Així que de nou, no tenim aquest espai. 576 00:31:48,690 --> 00:31:53,090 >> I és que, en PHP, quan hem fet, 577 00:31:53,090 --> 00:31:55,820 no importa quantes spaces-- doncs no, no la V-- 578 00:31:55,820 --> 00:32:01,770 no importa quants espais que posem en aquí-- si ara carreguem que de nou, 579 00:32:01,770 --> 00:32:03,010 hola Jason. 580 00:32:03,010 --> 00:32:05,770 Sí, veure, tots aquells espais van aconseguir devorats. 581 00:32:05,770 --> 00:32:08,020 I això és una cosa que la funció d'eco fa. 582 00:32:08,020 --> 00:32:11,110 >> Així que per tenir cura de aquest espai, i això és 583 00:32:11,110 --> 00:32:14,960 una de les raons ¿Per què no utilitza el ressò 584 00:32:14,960 --> 00:32:18,200 i utilitza htmlspecialchars lloc. 585 00:32:18,200 --> 00:32:22,140 Tinc curiositat pel faria passaria si féssim això 586 00:32:22,140 --> 00:32:26,700 on adjuntem un espai en una cadena. 587 00:32:26,700 --> 00:32:29,720 Sincerament, no estic segur del passarà quan faig això. 588 00:32:29,720 --> 00:32:30,790 >> Així que aquesta és una forma. 589 00:32:30,790 --> 00:32:32,210 Aquesta és una manera de tenir cura d'ell. 590 00:32:32,210 --> 00:32:34,840 Si embolica l'espai una cadena, llavors l'espai 591 00:32:34,840 --> 00:32:36,920 s'emetrà molt bé pel ressò. 592 00:32:36,920 --> 00:32:41,930 El més segur és fer htmlspecialchars. 593 00:32:41,930 --> 00:32:43,800 Això sempre és l'aposta segura. 594 00:32:43,800 --> 00:32:47,050 Però ara tenim una manera de fer- amb ressò en cas necessari. 595 00:32:47,050 --> 00:32:50,700 I de manera similar, podem ressò noves línies, tota la classe 596 00:32:50,700 --> 00:32:53,550 de coses que vostè està familiaritzat fer-ho en PHP. 597 00:32:53,550 --> 00:32:57,460 >> Qualsevol altra persona, el que són més preguntes que altres persones tenen 598 00:32:57,460 --> 00:33:01,090 en aquest punt sobre PHP? 599 00:33:01,090 --> 00:33:04,620 Si la gent es va presentar una mica tard, Estic feliç d'estar després d'una mica 600 00:33:04,620 --> 00:33:06,420 i parlar d'alguns dels principis. 601 00:33:06,420 --> 00:33:10,380 I està també tota livestreamed, i arxivats, que és una bogeria. 602 00:33:10,380 --> 00:33:13,960 >> De totes maneres, així que ara farem alguns més coses avançades amb PHP. 603 00:33:13,960 --> 00:33:18,790 I una de les primeres coses que vostè es van introduir al C va ser de bucles. 604 00:33:18,790 --> 00:33:24,060 I PHP té un motor més potent per llaç diu el bucle foreach. 605 00:33:24,060 --> 00:33:37,940 I sembla que esto-- per a cada espai en blanc com, entre claus en blanc, fer la cosa. 606 00:33:37,940 --> 00:33:41,500 Així que això és bàsicament una drecera. 607 00:33:41,500 --> 00:33:45,380 >> Vegeu, el bucle for com una construcció sintàctica 608 00:33:45,380 --> 00:33:50,590 va ser ideat en C i en assemblea llengua i coses així. 609 00:33:50,590 --> 00:33:56,300 Ideat en C, precisament, com una abreviatura per a molts dels tipus de bucles 610 00:33:56,300 --> 00:33:57,750 que la gent vegi. 611 00:33:57,750 --> 00:34:01,230 Com quan vostè va escriure un bucle, hi ha era sovint un pas d'inicialització 612 00:34:01,230 --> 00:34:04,700 executat des del principi, un condició en la qual el bucle seria stop-- 613 00:34:04,700 --> 00:34:07,030 i aquesta és la característica això és només en un bucle while, 614 00:34:07,030 --> 00:34:10,040 o que fa temps té exactament només que feature-- i després 615 00:34:10,040 --> 00:34:12,320 un pas d'increment a l'extrem. 616 00:34:12,320 --> 00:34:16,489 I així que li trobes sovint escriure codi com el següent. 617 00:34:16,489 --> 00:34:19,780 Vaig a esborrar una mica d'això. 618 00:34:19,780 --> 00:34:23,850 >> Però si estem iteració a través de personatges d'una matriu, 619 00:34:23,850 --> 00:34:26,960 per exemple, de la mateixa manera que hem té una gran varietat de personatges. 620 00:34:26,960 --> 00:34:29,400 Ho sentim per portar de tornada C. Ja ho sé, vostè pensava que estava fet. 621 00:34:29,400 --> 00:34:31,900 Però és només amb el propòsit d'aprenentatge de PHP, ho prometo. 622 00:34:31,900 --> 00:34:38,880 Així que si tens un str carbó de longitud 8, i anem a 623 00:34:38,880 --> 00:34:46,760 diuen que diu Hellooo amb un nul final. 624 00:34:46,760 --> 00:34:48,270 Gran, així que això és la nostra cadena. 625 00:34:48,270 --> 00:34:51,469 >> I després vam tenir un bucle for. 626 00:34:51,469 --> 00:34:53,730 Tenim int i és igual a 0. 627 00:34:53,730 --> 00:34:57,960 628 00:34:57,960 --> 00:35:09,110 I volem sortir quan str d'i no és igual a igual a null, 629 00:35:09,110 --> 00:35:11,590 perquè vam sortir quan és igual a zero. 630 00:35:11,590 --> 00:35:19,170 I després fem i ++ en cada punt en el bucle for. 631 00:35:19,170 --> 00:35:30,480 Fer alguna cosa amb str de i. 632 00:35:30,480 --> 00:35:34,950 >> Així la fórmula bàsica era, vam tenir aquesta matriu que 633 00:35:34,950 --> 00:35:37,910 volgut tractar com a elements separats. 634 00:35:37,910 --> 00:35:45,170 Però el que havíem de fer és que vam haver bàsicament crear un nombre enter separada 635 00:35:45,170 --> 00:35:50,530 variable que va anar explicant cada vegada que vam anar a través del bucle. 636 00:35:50,530 --> 00:35:55,240 I llavors hauríem de després trucar strstr [i] quan el que realment volia fer 637 00:35:55,240 --> 00:35:57,280 és anar personatge pel personatge, no? 638 00:35:57,280 --> 00:36:00,185 No volem incrementar la nombre enter i aleshores utilitzar aquest sencer 639 00:36:00,185 --> 00:36:02,780 per accedir a cada caràcter individual. 640 00:36:02,780 --> 00:36:04,410 Tenim moltes ganes de caràcter per caràcter. 641 00:36:04,410 --> 00:36:08,600 >> I així per a cada un de forma intel·ligent calcula que per a nosaltres. 642 00:36:08,600 --> 00:36:11,875 Si tenim una matriu, que podem declarar en PHP 643 00:36:11,875 --> 00:36:15,900 com sol-- si tenim una variable flama, anem a dir-matriu. 644 00:36:15,900 --> 00:36:19,840 Els miracles de cap tipificació, és de la mateixa manera que qualsevol altra variable. 645 00:36:19,840 --> 00:36:20,730 És només una matriu. 646 00:36:20,730 --> 00:36:26,890 I tenim una mica de [inaudible] com 1, 2, 3, només una espècie de matriu inicialitzat. 647 00:36:26,890 --> 00:36:29,680 Està bé, no li agrada el meu foreach. 648 00:36:29,680 --> 00:36:33,120 >> Però si foreach-- realitat He escrit que una mica malament. 649 00:36:33,120 --> 00:36:34,840 Hi ha dues maneres de fer un bucle foreach. 650 00:36:34,840 --> 00:36:37,400 Aquí està la sintaxi i el com sintaxi. 651 00:36:37,400 --> 00:36:40,580 I nosaltres farem en primera sintaxi, no com. 652 00:36:40,580 --> 00:36:41,780 Aquesta és la meva error. 653 00:36:41,780 --> 00:36:53,785 >> Num Així foreach en ordenança, eco num. 654 00:36:53,785 --> 00:36:56,970 655 00:36:56,970 --> 00:36:59,500 I PHP està cridant a mi per alguna raó. 656 00:36:59,500 --> 00:37:03,520 Es tracta de trobar un inesperat en en alguna cosa, 657 00:37:03,520 --> 00:37:05,820 que és una mica d'una molèstia. 658 00:37:05,820 --> 00:37:09,105 Però anem a esbrinar per què és això en un moment. 659 00:37:09,105 --> 00:37:11,960 660 00:37:11,960 --> 00:37:13,610 Així que no li agrada això. 661 00:37:13,610 --> 00:37:15,040 Anem a tractar d'usar el com. 662 00:37:15,040 --> 00:37:17,310 Prefereix la sintaxi és com sembla. 663 00:37:17,310 --> 00:37:22,550 Així que farem array foreach com num. 664 00:37:22,550 --> 00:37:24,520 >> Així que una mica d'explicació del que acaba de succeir 665 00:37:24,520 --> 00:37:30,670 es la com sintaxi es dient-- bé primer, donem una ullada al que aquest imprimeix. 666 00:37:30,670 --> 00:37:32,260 Així que vam obrir la nostra IDE. 667 00:37:32,260 --> 00:37:33,110 Anem aquí. 668 00:37:33,110 --> 00:37:35,845 Diem: Hola Jason. 669 00:37:35,845 --> 00:37:41,390 I ho va fer 123, que eren els continguts de la matriu que hem creat fins a la part superior. 670 00:37:41,390 --> 00:37:45,500 >> Així que submergir-se en aquest bucle foreach, tenim una gamma variable anomenada 671 00:37:45,500 --> 00:37:47,470 que és un conjunt de tres nombres. 672 00:37:47,470 --> 00:37:52,120 I després estem fent foreach matriu com num, eco num. 673 00:37:52,120 --> 00:37:54,990 I això és més intuïtiu que una de llop. 674 00:37:54,990 --> 00:38:02,380 Estem dient, el tractament de cada un les coses en la matriu com num, 675 00:38:02,380 --> 00:38:05,180 Vull que em donis num. 676 00:38:05,180 --> 00:38:06,640 I això és exactament el que està fent. 677 00:38:06,640 --> 00:38:12,000 >> PHP és el càlcul que quan dius gamma foreach, 678 00:38:12,000 --> 00:38:16,080 i que està tractant amb una matriu, el que vostè va a voler per repetir 679 00:38:16,080 --> 00:38:19,950 són els personatges d'aquesta matriu, són els sencers en aquesta matriu, 680 00:38:19,950 --> 00:38:21,920 són els elements de la matriu. 681 00:38:21,920 --> 00:38:26,110 I és el que li permet emmagatzemar aquelles variables com num, 682 00:38:26,110 --> 00:38:29,360 i num continuació, només de sortida immediatament en lloc de dir, 683 00:38:29,360 --> 00:38:34,090 Tinc una variable anomenada i, i llavors vull strstr sortida [i]. 684 00:38:34,090 --> 00:38:39,130 >> I perquè ens permet fer coses interessants. 685 00:38:39,130 --> 00:38:43,330 Igual que, bàsicament, no tenim per crear aquestes variables com l'i de i fer tot 686 00:38:43,330 --> 00:38:45,090 aquestes coses d'increment al final. 687 00:38:45,090 --> 00:38:48,290 PHP s'encarrega de tot això per a vostè. 688 00:38:48,290 --> 00:38:54,470 >> Així que ara anem a parlar de foreach com s'aplica al nostre diccionari _GET. 689 00:38:54,470 --> 00:38:57,170 Així que anem a comentar aquesta ràpidament. 690 00:38:57,170 --> 00:39:02,030 Així que tenim la nostra matriu _GET. 691 00:39:02,030 --> 00:39:04,361 Tenim aquesta variable. 692 00:39:04,361 --> 00:39:05,610 I té algunes coses en ella. 693 00:39:05,610 --> 00:39:10,275 >> En aquest moment, només tenim una variable es passa a ella, que és nom. 694 00:39:10,275 --> 00:39:13,420 Però si prem ENTER, ara podem tenir dues variables. 695 00:39:13,420 --> 00:39:17,910 Podem tenir el nom i l'edat, per exemple, si volem obtenir l'edat i també 696 00:39:17,910 --> 00:39:20,960 el nom d'una persona, curiosament. 697 00:39:20,960 --> 00:39:25,690 >> Així que ara _GET serà un diccionari amb dos elements, 698 00:39:25,690 --> 00:39:27,980 amb dos parells de valors clau. 699 00:39:27,980 --> 00:39:33,490 I la primera key-- vaig a escriure aquesta en el tauler també. 700 00:39:33,490 --> 00:39:37,136 Tenim el nostre diccionari és _GET. 701 00:39:37,136 --> 00:39:39,520 Ho sento, és que és una mica difícil de veure. 702 00:39:39,520 --> 00:39:46,690 Però dins del nostre diccionari tenim nomenar, que serà una cosa 703 00:39:46,690 --> 00:39:47,680 que se'ns dóna. 704 00:39:47,680 --> 00:39:53,040 I tindrem l'edat, que és també serà una cosa que se'ns dóna. 705 00:39:53,040 --> 00:39:56,020 I aquesta és la totalitat del nostre diccionari. 706 00:39:56,020 --> 00:39:57,730 >> Així que té dos elements en els mateixos. 707 00:39:57,730 --> 00:40:01,310 I així perquè foreach bucles són intel·ligents, que 708 00:40:01,310 --> 00:40:04,900 podria pensar, i correcta podria pensar que foreach 709 00:40:04,900 --> 00:40:08,080 pot recórrer aquest diccionari, imprimint 710 00:40:08,080 --> 00:40:10,850 els valors donats pel seu nom i edat. 711 00:40:10,850 --> 00:40:14,510 >> Així que anem, de fet, ho fan precisament això. 712 00:40:14,510 --> 00:40:17,520 Anem a construir un bucle foreach. 713 00:40:17,520 --> 00:40:23,351 I farem per _GET com. 714 00:40:23,351 --> 00:40:24,850 I farem el següent. 715 00:40:24,850 --> 00:40:34,186 Així que anem a veure què passa si teclegem simplement la paraula, i després dir paraula ressò. 716 00:40:34,186 --> 00:40:40,540 També anem a fer-se ressò d'una nova línia només perquè sigui una mica més clar, 717 00:40:40,540 --> 00:40:41,260 què està passant. 718 00:40:41,260 --> 00:40:42,890 >> Així que anem a veure. 719 00:40:42,890 --> 00:40:44,390 No em dóna cap error. 720 00:40:44,390 --> 00:40:46,810 I anem a tancar això. 721 00:40:46,810 --> 00:40:51,020 A la nostra pàgina web, vas a estar fent molt d'això en el transcurs de pset7. 722 00:40:51,020 --> 00:40:53,890 Per això diem que el meu nom és Sam. 723 00:40:53,890 --> 00:40:58,560 La meva edat és 45. 724 00:40:58,560 --> 00:41:01,060 No és. 725 00:41:01,060 --> 00:41:05,640 Però imprimeix, com s'esperava, Sam 45. 726 00:41:05,640 --> 00:41:08,930 >> I així t'adonaràs que el que bucle foreach did-- aquí, 727 00:41:08,930 --> 00:41:12,360 tornarem a això pel que toca al board-- obtenim _GET com a paraula. 728 00:41:12,360 --> 00:41:15,130 I hi havia quatre coses en _GET. 729 00:41:15,130 --> 00:41:17,410 Però només imprimeix dues coses. 730 00:41:17,410 --> 00:41:21,290 foreach, sent el seu acte d'intel·ligència, per descomptat que el que realment volíem 731 00:41:21,290 --> 00:41:24,100 era dels valors, no les claus. 732 00:41:24,100 --> 00:41:27,800 >> Però hi ha una manera que poguéssim imprimir les claus, així, si volíem. 733 00:41:27,800 --> 00:41:30,810 Si volguéssim també saber què es deien aquestes variables, 734 00:41:30,810 --> 00:41:33,540 hi ha una manera que pot accedir a aquest també. 735 00:41:33,540 --> 00:41:36,840 I la forma d'una espècie de fer això, pel que podem dir, permet en realitat 736 00:41:36,840 --> 00:41:39,485 dividir-lo en parells de valors clau. 737 00:41:39,485 --> 00:41:42,370 738 00:41:42,370 --> 00:41:47,580 Així que anem a veure què passa ara. 739 00:41:47,580 --> 00:41:50,550 >> Així que tenim la clau. 740 00:41:50,550 --> 00:41:52,290 Tenim valor. 741 00:41:52,290 --> 00:41:56,650 Tenim un altre nou line per facilitar la lectura. 742 00:41:56,650 --> 00:42:00,540 I ja veurem què passa quan fem això ara. 743 00:42:00,540 --> 00:42:04,950 744 00:42:04,950 --> 00:42:06,720 No sé l'edat que Jason és. 745 00:42:06,720 --> 00:42:09,180 Jason de 15. 746 00:42:09,180 --> 00:42:11,650 Així que tenim el nom de Jason, de 15 anys. 747 00:42:11,650 --> 00:42:15,830 Així que vam poder accedir a la clau i parells de valors d'aquest diccionari 748 00:42:15,830 --> 00:42:18,590 només dir com a punts clau per valorar. 749 00:42:18,590 --> 00:42:23,350 I això és una sintàctica foreach poc sucre que permet 750 00:42:23,350 --> 00:42:25,960 tenir accés a les coses al diccionari. 751 00:42:25,960 --> 00:42:31,190 >> Així que espero que aquest tipus de emfatitza la potència del bucle foreach. 752 00:42:31,190 --> 00:42:35,690 Vostè pot gairebé tir qualsevol cosa que iterable sembla, 753 00:42:35,690 --> 00:42:38,922 com tot el que té múltiples elements com una matriu, 754 00:42:38,922 --> 00:42:41,880 com un dictionary-- aquests són de dos coses principals que va a treballar amb 755 00:42:41,880 --> 00:42:45,630 tant en la vida i en el conjunt de processadors juliol. 756 00:42:45,630 --> 00:42:49,350 Així que vostè pot llançar aquest material en ella, i s'adonaran 757 00:42:49,350 --> 00:42:51,030 el que vol fer amb ella. 758 00:42:51,030 --> 00:42:54,250 Es dirà, OK, vaig a aconseguir aquestes coses de les dades que 759 00:42:54,250 --> 00:42:55,680 es va passar a mi. 760 00:42:55,680 --> 00:43:02,470 I això és una cosa que vostè és utilitzarà una gran quantitat d'en pset juliol. 761 00:43:02,470 --> 00:43:08,550 >> Vaig a desplaçament ràpid baix només per veure on sóc. 762 00:43:08,550 --> 00:43:11,410 763 00:43:11,410 --> 00:43:13,070 ¿Les persones tenen preguntes en aquest moment? 764 00:43:13,070 --> 00:43:13,778 Preguntes en absolut? 765 00:43:13,778 --> 00:43:14,400 Sí? 766 00:43:14,400 --> 00:43:18,320 >> AUDIÈNCIA: Així que amb la clau i el valor, vostè podria anomenar una altra cosa 767 00:43:18,320 --> 00:43:20,507 i no per això deixa treballar? 768 00:43:20,507 --> 00:43:21,090 ALTAVEU: Vaya. 769 00:43:21,090 --> 00:43:22,820 Wow, estic totalment eliminat tota la línia. 770 00:43:22,820 --> 00:43:23,380 Gran obra. 771 00:43:23,380 --> 00:43:26,502 Així que una, a. 772 00:43:26,502 --> 00:43:30,109 Key i el valor és només una convenció. 773 00:43:30,109 --> 00:43:30,650 És útil. 774 00:43:30,650 --> 00:43:34,010 Es podria aconseguir una mica de disseny punts, potser alguns punts d'estil 775 00:43:34,010 --> 00:43:36,970 per fer això, ja que realment transmet la intenció. 776 00:43:36,970 --> 00:43:39,650 Però nosaltres diem una vegada i yarp. 777 00:43:39,650 --> 00:43:42,476 >> AUDIÈNCIA: No ha de canviar res a l'arxiu HTML 778 00:43:42,476 --> 00:43:43,607 amb la finalitat de reflectir això? 779 00:43:43,607 --> 00:43:44,440 ALTAVEU: No, en absolut. 780 00:43:44,440 --> 00:43:47,260 AUDIÈNCIA: I que només sap que causa de la major és igual a no sigui: 781 00:43:47,260 --> 00:43:47,801 ALTAVEU: Sí. 782 00:43:47,801 --> 00:43:49,489 AUDIÈNCIA: indicador --que que Això és-- 783 00:43:49,489 --> 00:43:50,030 ALTAVEU: Sí. 784 00:43:50,030 --> 00:43:52,260 Aquesta és una sintaxi foreach, però si. 785 00:43:52,260 --> 00:43:53,720 >> AUDIÈNCIA: No són tipus. 786 00:43:53,720 --> 00:43:57,230 Llavors, què si volia edat solament ser un nombre? 787 00:43:57,230 --> 00:43:59,510 Hi ha una manera de fer això? 788 00:43:59,510 --> 00:44:04,550 >> ALTAVEU: Hi ha maneres de comprovar si variables que s'ajusten a certs tipus. 789 00:44:04,550 --> 00:44:08,482 Així PHP demana una mica més de perquè no hi ha tipus a. 790 00:44:08,482 --> 00:44:09,440 Algunes formes en què demana menys. 791 00:44:09,440 --> 00:44:11,070 En certa manera, demana més. 792 00:44:11,070 --> 00:44:13,320 Perquè si vostè té només alguna cosa en una variable, 793 00:44:13,320 --> 00:44:14,960 vostè no té idea de quin tipus és. 794 00:44:14,960 --> 00:44:19,310 Però si vostè és intel ligent sobre les variables que s'assigna als tipus i asseguri 795 00:44:19,310 --> 00:44:22,750 que funciona només li return-- vull funcions a només retorn 796 00:44:22,750 --> 00:44:26,210 un tipus de valor, de manera que pugui bàsicament 797 00:44:26,210 --> 00:44:31,090 esperar que la variable de tornar a partir d'una funció serà del tipus 798 00:44:31,090 --> 00:44:32,780 que vostè pensa que serà, bàsicament. 799 00:44:32,780 --> 00:44:36,550 >> Però hi ha alguns mètodes pel qual es pot comprovar. 800 00:44:36,550 --> 00:44:39,801 No em recordo d'ells la part superior del meu cap. 801 00:44:39,801 --> 00:44:43,300 Estic esperant que es torna blau. 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 Hi ha mètodes incorporat en PHP que pot 805 00:44:52,000 --> 00:44:54,440 comprovar el tipus de variables per a vostè. 806 00:44:54,440 --> 00:44:58,250 Però si assigna les variables intel·ligentment, no ha de 807 00:44:58,250 --> 00:45:01,330 haver de fer això massa en pset juliol. 808 00:45:01,330 --> 00:45:02,780 Però sí que hi ha aquests mètodes. 809 00:45:02,780 --> 00:45:06,704 I això és una cosa que és en el llenguatge mateix. 810 00:45:06,704 --> 00:45:08,370 I no recordo la sintaxi precisa. 811 00:45:08,370 --> 00:45:09,930 Fins i tot podríem mirar cap amunt. 812 00:45:09,930 --> 00:45:11,974 Però el temps és l'essència. 813 00:45:11,974 --> 00:45:13,890 Algú més té tenen alguna pregunta més? 814 00:45:13,890 --> 00:45:14,660 Sí. 815 00:45:14,660 --> 00:45:15,951 >> AUDIÈNCIA: Tinc només una més. 816 00:45:15,951 --> 00:45:19,050 Així que vostè ha esmentat el mètode GET, però No va esmentar el mètode POST. 817 00:45:19,050 --> 00:45:20,500 Estem tornant a això? 818 00:45:20,500 --> 00:45:21,540 >> ALTAVEU: Sí, ho farem tornarem a això. 819 00:45:21,540 --> 00:45:24,840 Això és exactament el que estava buscant en el meu telèfon, que ara es va quedar adormit, 820 00:45:24,840 --> 00:45:26,960 però el trobaré. 821 00:45:26,960 --> 00:45:30,680 Només m'assegurava que colpegem totes les notes de PHP. 822 00:45:30,680 --> 00:45:35,640 Sí, no hi ha versió de depuració. 823 00:45:35,640 --> 00:45:41,940 Sí, tenim un parell de coses més que volem fer ara en aquest punt. 824 00:45:41,940 --> 00:45:45,980 >> Així que parlant de POST, que vostè ha esmentat, 825 00:45:45,980 --> 00:45:49,630 l'única diferència entre GET i POST és 826 00:45:49,630 --> 00:45:53,150 que recorden quan mirem en aquesta direcció URL i vam veure, oh, 827 00:45:53,150 --> 00:45:58,270 és igual a un nom i edat és igual a yarp estan just a la URL aquí per a nosaltres. 828 00:45:58,270 --> 00:46:03,300 POST és una mica més reservat amb el seu pas de la informació. 829 00:46:03,300 --> 00:46:08,090 >> Així que si vostè no desitja que un usuari a saber, per exemple, 830 00:46:08,090 --> 00:46:11,160 No volia que el nom d'usuari i la contrasenya de la persona 831 00:46:11,160 --> 00:46:15,080 actualment connectat a mostrar en la URL, que és una cosa raonable 832 00:46:15,080 --> 00:46:17,770 a no voler a la URL, perquè algú pot veure-ho. 833 00:46:17,770 --> 00:46:21,520 Si es vinculen a algú a una pàgina, no volen que el seu URL enganxat allà, 834 00:46:21,520 --> 00:46:27,850 perquè això seria permetre que la gent entreu només amb el pegat d'una URL en lloc 835 00:46:27,850 --> 00:46:29,670 del fet d'emplenar un formulari. 836 00:46:29,670 --> 00:46:31,710 POST és una mica més reservat. 837 00:46:31,710 --> 00:46:34,150 >> I l'únic que anem a haver de canviar 838 00:46:34,150 --> 00:46:38,550 són aquest mètode, el canvi d'arribar a publicar. 839 00:46:38,550 --> 00:46:42,367 I després a l'interior de l'HTTP, en lloc d'accedir a la _GET matriu, 840 00:46:42,367 --> 00:46:43,950 anem a accedir al _POST matriu. 841 00:46:43,950 --> 00:46:48,600 >> I ens vam adonar que, si obrim aquest nou una altra vegada, 842 00:46:48,600 --> 00:46:51,910 Jason declina lentament en edat. 843 00:46:51,910 --> 00:46:53,230 nomenar Jason, de 14 anys. 844 00:46:53,230 --> 00:46:54,280 El mateix material apareix. 845 00:46:54,280 --> 00:46:57,190 Però anem a la URL i aquestes variables no hi són. 846 00:46:57,190 --> 00:47:00,540 >> I la forma en què la POST passes-- per tal de recordar 847 00:47:00,540 --> 00:47:02,750 com mirar a la font d'una pàgina. 848 00:47:02,750 --> 00:47:04,570 Ens anem a la xarxa. 849 00:47:04,570 --> 00:47:06,920 Ens refresquem. 850 00:47:06,920 --> 00:47:10,690 I aquesta és una altra cosa que PAL li donarà advertències sobre. 851 00:47:10,690 --> 00:47:15,050 És possible que hagi vist un quadre, un text boxejar com aquest al seu navegador. 852 00:47:15,050 --> 00:47:18,170 Esteu segur que voleu per enviar un formulari de nou? 853 00:47:18,170 --> 00:47:21,170 POST és el que està enviant aquestes formes. 854 00:47:21,170 --> 00:47:24,680 >> A causa de que, bàsicament, si envia el seu informació de targeta de crèdit a algú, 855 00:47:24,680 --> 00:47:26,350 això no va a aparèixer a la URL. 856 00:47:26,350 --> 00:47:28,180 Això serà una sol·licitud POST. 857 00:47:28,180 --> 00:47:32,905 Així que quan s'actualitza la pàgina, que és tornar a enviar aquesta sol·licitud posterior. 858 00:47:32,905 --> 00:47:35,530 Així que ara sí que volem enviar el formar de nou perquè no va 859 00:47:35,530 --> 00:47:37,340 per crear les compres duplicades. 860 00:47:37,340 --> 00:47:41,160 >> I ens vam adonar que aquí baix, el mètode que estem utilitzant és POST. 861 00:47:41,160 --> 00:47:43,065 I, efectivament, la transferència de bytes. 862 00:47:43,065 --> 00:47:45,460 Es transfereix 401 d'ells. 863 00:47:45,460 --> 00:47:47,190 De molt petit programa. 864 00:47:47,190 --> 00:47:51,600 Però no hi ha cap lloc que podem veure els valors que es passen. 865 00:47:51,600 --> 00:47:59,540 Les pàgines web en si poden veure, però nosaltres com a usuaris no som capaços de veure, 866 00:47:59,540 --> 00:48:01,650 a menys que siguis un hacker. 867 00:48:01,650 --> 00:48:05,340 Si ets un bon hacker, vostè pot mirar. 868 00:48:05,340 --> 00:48:09,360 >> Si coneix el bàsic format de la HTML, 869 00:48:09,360 --> 00:48:11,790 els valors faran donar-se a conèixer a les pàgines. 870 00:48:11,790 --> 00:48:13,160 Vostè serà capaç de veure. 871 00:48:13,160 --> 00:48:16,720 Els valors estaran allà, són només una mica menys obvi per a vostè 872 00:48:16,720 --> 00:48:19,522 d'accés, bàsicament. 873 00:48:19,522 --> 00:48:23,620 >> Tenim més preguntes sobre GET, POST 874 00:48:23,620 --> 00:48:26,800 abans-- el que farem a continuació en realitat és mirar a una part del codi 875 00:48:26,800 --> 00:48:30,837 que s'està donant en el conjunt de processadors 7, parla de la forma en què utilitza alguns d'aquests conceptes, 876 00:48:30,837 --> 00:48:32,670 i parlar sobre el les coses que es van 877 00:48:32,670 --> 00:48:35,090 a haver de fer una mica de pset juliol. 878 00:48:35,090 --> 00:48:36,760 Alguna pregunta més abans d'això? 879 00:48:36,760 --> 00:48:38,047 Més preguntes que vostès tenen? 880 00:48:38,047 --> 00:48:41,250 881 00:48:41,250 --> 00:48:41,840 Gran. 882 00:48:41,840 --> 00:48:45,370 >> Molt bé, anem a veure una mica al conjunt de processadors 7, 883 00:48:45,370 --> 00:48:49,530 sens dubte el que ets tot més entusiasmat. 884 00:48:49,530 --> 00:48:52,126 885 00:48:52,126 --> 00:48:54,750 Vull dir, això és una cosa que David passa per una mica. 886 00:48:54,750 --> 00:49:00,890 Però anem a tenir tres directoris al la part superior, així com un fitxer de configuració. 887 00:49:00,890 --> 00:49:04,650 Això és per a les bases de dades, el que anem a parlar en uns cinc minuts. 888 00:49:04,650 --> 00:49:07,220 Inclou, mai es necessita per buscar en aquest directori 889 00:49:07,220 --> 00:49:12,480 si no vols, però és bo saben que hi ha tota mena d'ajudants. 890 00:49:12,480 --> 00:49:14,210 Ajudants és com funcions útils. 891 00:49:14,210 --> 00:49:18,120 I després tenim config, que estableix algunes coses. 892 00:49:18,120 --> 00:49:24,590 >> Hi ha algunes funcions que té CS50 escrit que estan en ajudant i config. 893 00:49:24,590 --> 00:49:27,250 I alguns dels que PHP ja surt en els arxius 894 00:49:27,250 --> 00:49:30,880 va a fer una gran quantitat de l'espècie més treball de la cama de obtús per a vostè. 895 00:49:30,880 --> 00:49:35,250 Igual que si entrem en públic login.php, que és el que 896 00:49:35,250 --> 00:49:38,350 mostra a la dreta quan s'entra en pset juliol. 897 00:49:38,350 --> 00:49:40,580 Veurem que hi ha això requereix declaració. 898 00:49:40,580 --> 00:49:43,420 I això com una mena de aguda inclouen, hashtag 899 00:49:43,420 --> 00:49:46,850 incloure si ets d'una generació més recent. 900 00:49:46,850 --> 00:49:49,740 Però això, bàsicament, diu que necessito accés 901 00:49:49,740 --> 00:49:52,260 a totes les funcions en config.php. 902 00:49:52,260 --> 00:49:55,290 I vostè podria tenir una requerir per a tot tipus d'altres coses. 903 00:49:55,290 --> 00:49:59,670 >> config en realitat requereix ajudants. 904 00:49:59,670 --> 00:50:02,490 Així que cada vegada que vostè requereix config, vostè és també 905 00:50:02,490 --> 00:50:05,660 incloent o que requereixen ajudants també. 906 00:50:05,660 --> 00:50:09,590 Així que li dóna accés a tota la funcions interessants que utilitzarem, 907 00:50:09,590 --> 00:50:10,420 coses com render. 908 00:50:10,420 --> 00:50:13,490 Estic realment va a alleujar això baix un poc. 909 00:50:13,490 --> 00:50:16,280 Així la funció llavors estem anar a caminar a través d' 910 00:50:16,280 --> 00:50:22,380 just abans de passar a SQL una mica bit és la funció login.php, just 911 00:50:22,380 --> 00:50:26,586 ja que utilitza alguns dels temes que acabem de parlar en PHP. 912 00:50:26,586 --> 00:50:30,840 >> Vostè veu la primera cosa és si $ _SERVER. 913 00:50:30,840 --> 00:50:34,500 Aquesta és una altra variable global que vostè va a estar tractant. 914 00:50:34,500 --> 00:50:38,460 És com _GET i _POST, però el servidor conté està això pot deixar-te 915 00:50:38,460 --> 00:50:42,730 saber si el mètode de la petició ser un GET o POST. 916 00:50:42,730 --> 00:50:47,250 Igual que anteriorment el que estàvem fent és només en el nostre codi que escrivim, 917 00:50:47,250 --> 00:50:51,880 estàvem canviant que sigui GET i PAL depenent del que té l'HTML. 918 00:50:51,880 --> 00:50:55,120 Però hi ha pàgines que poden ser visitada amb ambdós tipus de peticions. 919 00:50:55,120 --> 00:50:57,410 I és possible que vulgueu fer diferents coses depenent 920 00:50:57,410 --> 00:50:59,740 en el tipus de sol·licitud, de la mateixa manera que ho fa d'inici de sessió. 921 00:50:59,740 --> 00:51:04,400 >> Així es pot comprovar que la sol·licitud mètode a través de les tecles amb l'accés, 922 00:51:04,400 --> 00:51:08,630 mitjançant l'ús d'una clau i obtenir el valor d'alguna cosa en el diccionari 923 00:51:08,630 --> 00:51:10,260 _SERVER. 924 00:51:10,260 --> 00:51:13,800 Així que aquesta és una altra mundial variables com _GET i _POST. 925 00:51:13,800 --> 00:51:16,990 >> Si es tracta de GET, volem fer que el formulari d'accés. 926 00:51:16,990 --> 00:51:21,920 Render és una funció que, bàsicament, simplement posa l'HTML adequat 927 00:51:21,920 --> 00:51:24,500 i el passa alguns paràmetres. 928 00:51:24,500 --> 00:51:28,740 Aquest títol és un paràmetre que és utilitzat en la visualització, per estrany que sembli, 929 00:51:28,740 --> 00:51:32,670 el títol de la pàgina en qüestió, la cosa aquí, 930 00:51:32,670 --> 00:51:34,850 dir o saludar al nostre exemple anterior. 931 00:51:34,850 --> 00:51:36,100 Ara tenim una cosa diferent. 932 00:51:36,100 --> 00:51:38,570 Perquè si és POST, que fer algunes altres coses. 933 00:51:38,570 --> 00:51:40,790 Estem usant aquest mètode buida. 934 00:51:40,790 --> 00:51:42,750 No és existeix, està buit. 935 00:51:42,750 --> 00:51:45,440 I vam veure abans, PHP té una bona quantitat de construïda 936 00:51:45,440 --> 00:51:52,370 en mètodes que David voluntat-- si hi ha són mètodes que són útils per a vostè, 937 00:51:52,370 --> 00:51:55,560 seran alertats que al passeig a través que David 938 00:51:55,560 --> 00:51:59,770 dóna en la visió general que comença, i també vots trossos de Zamyla. 939 00:51:59,770 --> 00:52:01,040 Ella està de tornada cadascú. 940 00:52:01,040 --> 00:52:03,100 Tots podem alegrar. 941 00:52:03,100 --> 00:52:06,530 demanar disculpes és una funció ben anomenat que, bàsicament, només imprimeix 942 00:52:06,530 --> 00:52:10,130 alguns missatges d'error, perquè CS50 és molt educat. 943 00:52:10,130 --> 00:52:14,770 >> I ara això, aquesta és una mica complicat perquè aquest 944 00:52:14,770 --> 00:52:16,697 és on estem consultant la base de dades. 945 00:52:16,697 --> 00:52:18,280 Ara no hem parlat de les bases de dades. 946 00:52:18,280 --> 00:52:22,220 I anem a la propera cinc minuts més o menys, com a màxim. 947 00:52:22,220 --> 00:52:24,980 Però aquesta és una funció que CS50 ha escrit 948 00:52:24,980 --> 00:52:38,050 per aconseguir una taula, bàsicament, d'una base de dades que estem treballant amb en el conjunt de processadors juliol. 949 00:52:38,050 --> 00:52:40,860 Sóc molt dolent amb el meu indexació avui dia zero. 950 00:52:40,860 --> 00:52:42,060 Però sí, és 7. 951 00:52:42,060 --> 00:52:46,340 >> Així consulta que va a tornar un matriu, bàsicament és el paletó. 952 00:52:46,340 --> 00:52:54,130 I perquè aquestes coses no tenen mecanografia, així files és una matriu de matrius. 953 00:52:54,130 --> 00:52:59,480 Perquè quan estem pensant en una taula, què farem 954 00:52:59,480 --> 00:53:04,830 és, com vostè va aprendre en conjunts de processadors com el joc de 15, de totes maneres 955 00:53:04,830 --> 00:53:06,990 on calia utilitzar una doble matriu, que bàsicament 956 00:53:06,990 --> 00:53:15,210 tenen gran varietat d'altres arrays fa una taula. 957 00:53:15,210 --> 00:53:18,150 I tens files i columnes. 958 00:53:18,150 --> 00:53:24,450 I llavors vostè pot accedir-hi com [0] [1], s'obté la [0] [1]. 959 00:53:24,450 --> 00:53:26,900 Coses bàsiques com això. 960 00:53:26,900 --> 00:53:29,380 >> Així que el que estem fent aquí en aquesta funció, 961 00:53:29,380 --> 00:53:35,070 estem demanant a la base de dades si l'usuari que és 962 00:53:35,070 --> 00:53:40,200 tractar d'iniciar sessió, que serà enviat a través del mètode POST. 963 00:53:40,200 --> 00:53:43,950 Ja veurem que estem rebent el nom d'usuari de _POST. 964 00:53:43,950 --> 00:53:46,900 Ells t'han enviat, l'usuari o, s'enviarà un valor 965 00:53:46,900 --> 00:53:50,750 a través d'un formulari a través de la POST perquè és nom d'usuari i la contrasenya de coses. 966 00:53:50,750 --> 00:53:54,830 Estem comprovant el nom d'usuari per veure, ¿és això a la taula? 967 00:53:54,830 --> 00:53:58,070 Perquè si un usuari inicia sessió en, a continuació, el seu nom d'usuari 968 00:53:58,070 --> 00:54:03,320 ha de ser emmagatzemat en la taula de els usuaris que hi ha per aquest lloc. 969 00:54:03,320 --> 00:54:09,360 Així que, bàsicament, si el usuari està a la base de dades, 970 00:54:09,360 --> 00:54:16,400 consulta es va a tornar aquesta fila, que és una matriu. 971 00:54:16,400 --> 00:54:24,560 >> Però la part difícil és que si fins i tot si la matriu doble és només una fila, 972 00:54:24,560 --> 00:54:31,900 fins i tot si és una fila d'un array-- com si tinguessis basically-- 973 00:54:31,900 --> 00:54:36,900 si vostè té una mida d'un array això és la celebració d'una altra matriu, 974 00:54:36,900 --> 00:54:38,940 vostè està realment fer front a una columna. 975 00:54:38,940 --> 00:54:41,420 Però encara és tractada com una doble matriu. 976 00:54:41,420 --> 00:54:44,560 >> I aquí és on de vegades pot arribar difícil, perquè tenim files aquí. 977 00:54:44,560 --> 00:54:46,440 La nostra variable és files. 978 00:54:46,440 --> 00:54:48,590 I llavors estem creant una fila nova variable anomenada 979 00:54:48,590 --> 00:54:51,450 i s'estableix igual a la primera fila de les files. 980 00:54:51,450 --> 00:54:55,150 I t'adonaràs que el comentari diu que és la primera i única fila. 981 00:54:55,150 --> 00:54:57,080 >> Així que aquest és el complicat funcions parcials, on ara 982 00:54:57,080 --> 00:54:59,660 pot tornar matrius molt fàcilment. 983 00:54:59,660 --> 00:55:01,270 No hi ha mallocs. 984 00:55:01,270 --> 00:55:02,280 Vostè no veurà mallocs. 985 00:55:02,280 --> 00:55:03,940 Així que vostè no veurà faltes seg. 986 00:55:03,940 --> 00:55:08,380 Però les funcions seguiran passant al voltant de les matrius i les dades en grups. 987 00:55:08,380 --> 00:55:12,250 I cal anar amb compte amb el que exactament les seves funcions tornaran. 988 00:55:12,250 --> 00:55:15,160 I fins i tot si és un columna com aquesta, consultar 989 00:55:15,160 --> 00:55:17,520 Encara va a retornar una doble matriu. 990 00:55:17,520 --> 00:55:21,390 Així que perquè l'accés o column-- pot pensar en tot això com invertida 991 00:55:21,390 --> 00:55:22,870 ja que estem parlant de files. 992 00:55:22,870 --> 00:55:26,810 No obstant això, per accedir a aquesta una fila, vostè no pot simplement dir files. 993 00:55:26,810 --> 00:55:31,540 Tot i que és una fila, vostè ha de Què rowsrows [0] per eliminar l'espècie d'aquest 994 00:55:31,540 --> 00:55:37,360 bit exterior de la matriu i tenir només la seva una fila. 995 00:55:37,360 --> 00:55:38,342 >> Feu una mica d'altres coses. 996 00:55:38,342 --> 00:55:40,050 Hi ha una funció anomenada password_verify 997 00:55:40,050 --> 00:55:42,980 que verifica la contrasenya que va ser publicada. 998 00:55:42,980 --> 00:55:48,500 I després veiem un altre mundial variable d'aquí, _SESSION. 999 00:55:48,500 --> 00:55:51,340 Bàsicament identificació de la sessió és la forma de portar un registre 1000 00:55:51,340 --> 00:55:53,990 de si algú està connectat o no. 1001 00:55:53,990 --> 00:55:58,590 Així que en aquest moment amb login.php, estem registrar un usuari en. 1002 00:55:58,590 --> 00:56:01,920 Així que el que volem fer és que volem diuen que l'identificador de sessió és igual a la fila 1003 00:56:01,920 --> 00:56:05,890 aneu, que només té sentit perquè cada fila tindrà un ID diferent 1004 00:56:05,890 --> 00:56:07,239 nombre com a part de la taula. 1005 00:56:07,239 --> 00:56:09,280 Entrarem en SQL en un segon, per la qual cosa si alguna cosa d'això 1006 00:56:09,280 --> 00:56:13,500 Sembla una mica com bla, llavors tot serà aclarit. 1007 00:56:13,500 --> 00:56:18,450 Però anem a establir l'id igual a el mateix, registrant l'usuari en. 1008 00:56:18,450 --> 00:56:20,530 Demanar disculpes si alguna cosa surt malament. 1009 00:56:20,530 --> 00:56:27,600 I és que els inicis de sessió propòsit en la vida com a professor Malan diria. 1010 00:56:27,600 --> 00:56:29,130 >> Així que això va ser login.php. 1011 00:56:29,130 --> 00:56:33,750 I una gran part del codi PHP que escrius en pset 7, seran una mica. 1012 00:56:33,750 --> 00:56:36,470 No t'oblidis de chmod a els permisos adequats. 1013 00:56:36,470 --> 00:56:40,180 Hi haurà una mica sobre que en el principi de l'especificació. 1014 00:56:40,180 --> 00:56:46,382 >> Però el PHP que ets escriptura serà 1015 00:56:46,382 --> 00:56:47,840 fent coses que són similars a aquest. 1016 00:56:47,840 --> 00:56:49,715 Vostè va a estar accedir a algunes coses que 1017 00:56:49,715 --> 00:56:52,760 es donen a vostè en la variables globals de PHP que 1018 00:56:52,760 --> 00:56:56,105 es tracta del corrent usuari connectat, si hi 1019 00:56:56,105 --> 00:57:00,460 tenen peticions estat enviats a aquesta pàgina, diferents coses com això. 1020 00:57:00,460 --> 00:57:05,790 I també serà potencialment iteració a través de les files d'aquesta cosa. 1021 00:57:05,790 --> 00:57:09,010 >> En una funció diferent, consulta no retorni aquest doble matriu. 1022 00:57:09,010 --> 00:57:11,450 I si hi ha més d'un files al mateix, 1023 00:57:11,450 --> 00:57:15,080 si no tracti: si, si hi ha són més d'un files al mateix, 1024 00:57:15,080 --> 00:57:16,870 llavors serà una taula. 1025 00:57:16,870 --> 00:57:20,500 I és possible que vulgueu repetir a través de les files d'aquesta matriu utilitzant 1026 00:57:20,500 --> 00:57:22,860 el bucle foreach que descrivim. 1027 00:57:22,860 --> 00:57:30,270 >> Així que si vostè fa foreach en un doble matriu, quin serà el paraula-- aquí, 1028 00:57:30,270 --> 00:57:31,909 Vaig realitat escric. 1029 00:57:31,909 --> 00:57:32,950 El escriuré ràpid aquí. 1030 00:57:32,950 --> 00:57:44,280 >> Si tenim un foreach de files com fila, quin és el tipus de la fila? 1031 00:57:44,280 --> 00:57:45,390 Algú sap? 1032 00:57:45,390 --> 00:57:54,000 1033 00:57:54,000 --> 00:57:54,500 Ho tens? 1034 00:57:54,500 --> 00:57:57,110 Així files és una doble matriu. 1035 00:57:57,110 --> 00:58:02,810 Llavors, què es va a inferir foreach que nosaltres volem d'aquesta doble matriu 1036 00:58:02,810 --> 00:58:04,280 si estem iterant sobre ell? 1037 00:58:04,280 --> 00:58:07,170 1038 00:58:07,170 --> 00:58:10,770 Bàsicament Podem suposar que que serà o elements, 1039 00:58:10,770 --> 00:58:14,970 o files o columnes, bàsicament. 1040 00:58:14,970 --> 00:58:18,740 I així files i columnes nosaltres pot tractar com la mateixa cosa. 1041 00:58:18,740 --> 00:58:23,880 >> Bàsicament el que el bucle foreach va de fer és que va a tornar files. 1042 00:58:23,880 --> 00:58:28,500 fila serà de la fila tipus, mentre que les files és una doble matriu. 1043 00:58:28,500 --> 00:58:32,290 Així que si vostè dóna foreach una doble matriu, que és 1044 00:58:32,290 --> 00:58:35,830 no va a repetir més d'un nivell de profunditat. 1045 00:58:35,830 --> 00:58:44,464 Que és bàsicament per dir si hi ha són vuit cèl·lules en aquesta table-- 1,2, 1046 00:58:44,464 --> 00:58:48,110 Març 4, 5, 6, 7, la 8-- bucle foreach no és 1047 00:58:48,110 --> 00:58:51,880 va a anar a través de cadascuna d'aquestes cèl·lules. 1048 00:58:51,880 --> 00:58:56,390 El que el bucle foreach farà es va a anar a través d'aquesta fila, 1049 00:58:56,390 --> 00:58:57,870 donar-li tota aquesta fila. 1050 00:58:57,870 --> 00:58:59,410 I llavors va a anar a través d'aquesta fila. 1051 00:58:59,410 --> 00:59:01,850 >> Per tant, només es itera un nivell de profunditat. 1052 00:59:01,850 --> 00:59:05,310 Si afegiu un niada bucle foreach, llavors vostè 1053 00:59:05,310 --> 00:59:16,280 pot tractar cada fila de tornar de files, fan fila foreach com a element, 1054 00:59:16,280 --> 00:59:17,640 diguem. 1055 00:59:17,640 --> 00:59:22,750 I llavors es podria repetir l'element. 1056 00:59:22,750 --> 00:59:24,930 Així que això és una breu petit repàs sobre com 1057 00:59:24,930 --> 00:59:30,220 vostè podria estar utilitzant foreach bucles en el context de consulta. 1058 00:59:30,220 --> 00:59:32,840 >> Hi ha alguna pregunta sobre PHP? 1059 00:59:32,840 --> 00:59:36,520 Qualsevol cosa abans que passar a parlar de SQL 1060 00:59:36,520 --> 00:59:37,820 i la diversió de la base de dades? 1061 00:59:37,820 --> 00:59:41,480 1062 00:59:41,480 --> 00:59:42,110 Sentir-se bé? 1063 00:59:42,110 --> 00:59:42,750 Sentir-se bé. 1064 00:59:42,750 --> 00:59:43,470 Tot bé. 1065 00:59:43,470 --> 00:59:49,130 >> Anem a passar de nou a la PowerPoint, que és probable que es perdi. 1066 00:59:49,130 --> 00:59:51,800 SQL, yay. 1067 00:59:51,800 --> 00:59:57,900 Les persones que estan en la meva secció normalment sabrà que subpartides d'acrònims 1068 00:59:57,900 --> 01:00:01,220 sempre són només les primeres paraules Crec que d'aquest partit que 1069 01:00:01,220 --> 01:00:02,690 algorithm-- aquesta sigla. 1070 01:00:02,690 --> 01:00:04,090 No és un algoritme. 1071 01:00:04,090 --> 01:00:08,050 >> Així que és una base de dades SQL. 1072 01:00:08,050 --> 01:00:11,060 És un llenguatge que treballa amb bases de dades. 1073 01:00:11,060 --> 01:00:14,440 I totes les bases de dades són és taules, almenys en la forma 1074 01:00:14,440 --> 01:00:17,220 que SQL els representa. 1075 01:00:17,220 --> 01:00:23,610 >> Una altra forma de pensar sobre les bases de dades és bases de dades són un conjunt de claus i valors 1076 01:00:23,610 --> 01:00:24,110 bàsicament. 1077 01:00:24,110 --> 01:00:29,530 Vostè pot pensar en una base de dades com un diccionari i també com una taula. 1078 01:00:29,530 --> 01:00:34,300 Bàsicament es tracta d'una manera d'associar diferents dades amb altres dades, 1079 01:00:34,300 --> 01:00:36,270 sovint a través de files i columnes. 1080 01:00:36,270 --> 01:00:38,470 I aquesta és la forma això és SQL funciona millor. 1081 01:00:38,470 --> 01:00:40,880 >> Així que aquest és un exemple d'una taula. 1082 01:00:40,880 --> 01:00:44,610 Tinc un parell d'exemples de persones en la meva secció, que 1083 01:00:44,610 --> 01:00:45,970 No vaig tenir temps de canviar. 1084 01:00:45,970 --> 01:00:52,020 Però tenim coses com ID, nom, superpotència, i ciutat natal. 1085 01:00:52,020 --> 01:00:54,100 No sé on qualsevol és en de la meva secció, 1086 01:00:54,100 --> 01:00:56,266 així que només vaig a assumir tothom és de Nova York 1087 01:00:56,266 --> 01:00:59,370 Ciutat perquè tinc una alta estadística probabilitat de ser correcta. 1088 01:00:59,370 --> 01:01:04,200 >> SQL prendrà automàticament la cura de la columna ID per a vostè. 1089 01:01:04,200 --> 01:01:07,560 Si s'insereix una nova fila en una base de dades SQL, 1090 01:01:07,560 --> 01:01:09,700 s'incrementarà que Número d'identificació i just 1091 01:01:09,700 --> 01:01:14,890 bàsicament s'adhereixen com cinc noms, superpotència, ciutat natal, qualsevol 1092 01:01:14,890 --> 01:01:16,430 a l'extrem d'aquesta taula. 1093 01:01:16,430 --> 01:01:19,160 Així ID és una columna que va a mai ha de preocupar. 1094 01:01:19,160 --> 01:01:22,770 Però, igual que en el cas de login.php, quan 1095 01:01:22,770 --> 01:01:26,610 estaven rebent l'ID de sessió d'una taula i sols recórrer ID, 1096 01:01:26,610 --> 01:01:30,320 ID és una manera d'identificar de forma exclusiva un element d'una base de dades. 1097 01:01:30,320 --> 01:01:34,980 >> Així que si teníem dos Sams, tots dos que ensenyava CS50, i tots dos dels quals 1098 01:01:34,980 --> 01:01:39,370 eren de Milwaukee, els faria encara tenen números d'identificació diferents 1099 01:01:39,370 --> 01:01:43,420 i per tant ser diferent en el context de la taula. 1100 01:01:43,420 --> 01:01:48,700 Així que això és el que està tractant de SQL amb, treballant amb en l'extrem posterior. 1101 01:01:48,700 --> 01:01:54,160 >> I aquests són els quatre comandaments que vostè necessita per treballar amb SQL. 1102 01:01:54,160 --> 01:01:56,390 I tots ells vaig vomitar en una diapositiva. 1103 01:01:56,390 --> 01:01:59,530 Però anem a anar a través de tots ells individualment. 1104 01:01:59,530 --> 01:02:03,300 >> El primer comanda és UPDATE, el que fa el que es podria esperar. 1105 01:02:03,300 --> 01:02:07,240 Diguem que tens algunes dades en la taula que està fora de data. 1106 01:02:07,240 --> 01:02:09,470 Igual que si vostè està mantenint registre de noms de les persones 1107 01:02:09,470 --> 01:02:13,350 i les edats, si algú augmenta l'edat, llavors 1108 01:02:13,350 --> 01:02:18,590 vostè va a voler entrar i actualitzar edat només que la persona. 1109 01:02:18,590 --> 01:02:21,902 Per a un exemple que funciona amb la nostra primera table-- 1110 01:02:21,902 --> 01:02:24,610 no et preocupis per escriure tots aquestes comandes al mateix temps. 1111 01:02:24,610 --> 01:02:27,640 Però si tens l'actualització baix, que serà bo per aquesta banda, 1112 01:02:27,640 --> 01:02:29,790 perquè anem a tornar a la taula. 1113 01:02:29,790 --> 01:02:33,920 >> Així que si ens remuntem a la taula, diguem que alguna cosa que va succeir 1114 01:02:33,920 --> 01:02:38,480 Es va haver un terratrèmol o una línia de falla que divideix directament 1115 01:02:38,480 --> 01:02:39,920 a través de la ciutat de Nova York. 1116 01:02:39,920 --> 01:02:45,130 I volíem actualitzar tot el món que vivia a la ciutat de Nova York. 1117 01:02:45,130 --> 01:02:49,670 Tots ells van haver de mudar-se a Pennsilvània. 1118 01:02:49,670 --> 01:02:51,130 Això no és un poble d'origen. 1119 01:02:51,130 --> 01:02:53,180 Tots ells van haver de mudar-se a New Haven. 1120 01:02:53,180 --> 01:02:54,030 Som-hi. 1121 01:02:54,030 --> 01:02:57,630 Així que tothom a Nova York es trasllada a New Haven. 1122 01:02:57,630 --> 01:03:01,300 >> I això és una cosa que és edició de tres files d'aquesta taula. 1123 01:03:01,300 --> 01:03:04,716 Però en SQL, pot fer- que en només un comunicat. 1124 01:03:04,716 --> 01:03:05,715 Així que tornem a actualitzar. 1125 01:03:05,715 --> 01:03:09,670 Permetin-me ràpida esborrar aquest tauler nou. 1126 01:03:09,670 --> 01:03:14,570 Quan estem parlant de actualització, hi ha 1127 01:03:14,570 --> 01:03:17,640 algunes parts de la sintaxi que són clau. 1128 01:03:17,640 --> 01:03:19,770 Bé, tota la sintaxi és la clau. 1129 01:03:19,770 --> 01:03:22,210 Però les coses en verd és opcional. 1130 01:03:22,210 --> 01:03:25,680 Es requereix que el blanc, noms predefinits similars. 1131 01:03:25,680 --> 01:03:30,750 I el blau clar són les coses que varien en funció de la taula. 1132 01:03:30,750 --> 01:03:34,640 Així que això és el que està passant amb la combinació de colors aquí, allà dalt. 1133 01:03:34,640 --> 01:03:40,250 >> Així que si volem actualitzar només aquests files de les persones que viuen a Nova York, 1134 01:03:40,250 --> 01:03:43,490 així que el que faríem si ens va dir ACTUALITZACIÓ? 1135 01:03:43,490 --> 01:03:46,320 Així taula és on posem el nom de la nostra taula. 1136 01:03:46,320 --> 01:03:49,170 Diguem que el nom de la nostra taula és taula un. 1137 01:03:49,170 --> 01:03:52,515 Així que volem actualitzar la taula un. 1138 01:03:52,515 --> 01:03:57,470 I volem definido-- ¿Què és el que volem establir? 1139 01:03:57,470 --> 01:04:05,160 Doncs volem dir, PHP ho column-- tracta a files com a identificadors únics. 1140 01:04:05,160 --> 01:04:07,930 I a continuació, són columnes els diferents camps 1141 01:04:07,930 --> 01:04:09,940 d'aquells elements de la base de dades. 1142 01:04:09,940 --> 01:04:14,210 >> Així que el primer element de la base de dades té un nom de Sam, superpotència del CS50, 1143 01:04:14,210 --> 01:04:16,210 i una ciutat natal de Milwaukee. 1144 01:04:16,210 --> 01:04:20,710 Així que si aquest conjunt, donem una ullada a els paràmetres de nou aquest conjunt pren. 1145 01:04:20,710 --> 01:04:23,880 Tenim la columna és igual valor. 1146 01:04:23,880 --> 01:04:27,290 Per això volem dir que alguns column-- recordar 1147 01:04:27,290 --> 01:04:31,850 és una field-- volem veure un camp igual a alguna cosa nova. 1148 01:04:31,850 --> 01:04:42,340 >> Així que si acabem de dir d'actualització taula 1, nom del conjunt de la igualtat d'Elliot. 1149 01:04:42,340 --> 01:04:46,310 Obtenir algunes persones de la nova secció en això. 1150 01:04:46,310 --> 01:04:51,540 Però si acabem de fer taula d'actualització 1 nom del conjunt de la igualtat d'Elliot, ho faria 1151 01:04:51,540 --> 01:04:55,530 la mirada taula com després d'això? 1152 01:04:55,530 --> 01:04:56,410 La gent té alguna idea? 1153 01:04:56,410 --> 01:04:59,710 1154 01:04:59,710 --> 01:05:00,210 Sí. 1155 01:05:00,210 --> 01:05:03,195 >> AUDIÈNCIA: Tot en aquesta fila es convertiria Elliot. 1156 01:05:03,195 --> 01:05:04,570 ALTAVEU: Tot a la fila? 1157 01:05:04,570 --> 01:05:06,067 AUDIÈNCIA: A la primera fila. 1158 01:05:06,067 --> 01:05:07,150 ALTAVEU: A la primera fila? 1159 01:05:07,150 --> 01:05:09,724 Per què la primera fila? 1160 01:05:09,724 --> 01:05:10,890 No em refereixo a ficar-se amb vostè. 1161 01:05:10,890 --> 01:05:13,287 >> AUDIÈNCIA: Potser tot en tota la taula? 1162 01:05:13,287 --> 01:05:15,120 ALTAVEU: Tot en tota la taula, si. 1163 01:05:15,120 --> 01:05:19,520 I això és exactament correcte que porque-- va ser simplement ajudar a sortir una mica 1164 01:05:19,520 --> 01:05:22,650 allà- perquè ometem la clàusula opcional WHERE. 1165 01:05:22,650 --> 01:05:27,260 Si vostè no té el ON clàusula, el que farà aquesta comanda 1166 01:05:27,260 --> 01:05:32,240 es va a treballar amb cada una sola fila a la taula. 1167 01:05:32,240 --> 01:05:35,430 El nom de tot el món es convertit Elliott, bàsicament, 1168 01:05:35,430 --> 01:05:37,360 que Elliot és molt feliç. 1169 01:05:37,360 --> 01:05:40,070 O Yanni, un dels dos. 1170 01:05:40,070 --> 01:05:42,490 Però el nom de tot el món canviarà. 1171 01:05:42,490 --> 01:05:47,880 >> Així que la forma en que utilitza el ON clause-- i això s'aplica a tots els Where 1172 01:05:47,880 --> 01:05:51,410 que es troben en cada un aquestes coses diferents. 1173 01:05:51,410 --> 01:05:54,380 Així t'adonaràs que la SET té columna de valor igual. 1174 01:05:54,380 --> 01:05:55,190 I el mateix passa amb WHERE. 1175 01:05:55,190 --> 01:06:00,040 Però aquestes són diferents tipus de declaracions. 1176 01:06:00,040 --> 01:06:04,400 Així que la columna és igual al valor en SET està en assignació. 1177 01:06:04,400 --> 01:06:08,320 Igual que estem dient que volem per establir el nom igual a Elliot. 1178 01:06:08,320 --> 01:06:15,390 Però en les clàusules WHERE, aquests són declaracions d'igualtat. 1179 01:06:15,390 --> 01:06:20,410 Així que diguem que només volíem canviar el nom de la persona a Elliot 1180 01:06:20,410 --> 01:06:23,940 si el seu nom era Ryan, diguem. 1181 01:06:23,940 --> 01:06:24,920 >> Així que quan diem 1182 01:06:24,920 --> 01:06:32,700 >> ON nom és igual a Ryan, que faria èxit únic canvi 1183 01:06:32,700 --> 01:06:37,440 el nom-- que només ho faria canviar el camp Nom en files 1184 01:06:37,440 --> 01:06:40,770 on el camp de nom és igual a Ryan. 1185 01:06:40,770 --> 01:06:44,430 Així que si teníem diverses persones anomenat Ryan, tots els seus noms 1186 01:06:44,430 --> 01:06:45,730 canviaria a Elliot. 1187 01:06:45,730 --> 01:06:48,169 >> Això és similar a l'exemple de si una línia de falla es divideix 1188 01:06:48,169 --> 01:06:50,960 Ciutat i tothom de Nova York ha de traslladar-se a New Haven, la forma en què podem 1189 01:06:50,960 --> 01:06:56,570 fer això en una declaració és ACTUALITZACIÓ taula1 SET ciutat natal = New Haven 1190 01:06:56,570 --> 01:07:00,210 on la ciutat natal és igual a la ciutat de Nova York. 1191 01:07:00,210 --> 01:07:03,410 Aquest és el poder de la instrucció UPDATE. 1192 01:07:03,410 --> 01:07:10,530 Podem seleccionar tants files a través d'enunciats vertaders 1193 01:07:10,530 --> 01:07:12,860 sobre els camps en aquestes files. 1194 01:07:12,860 --> 01:07:19,510 No podem dir conjunt taula1 ACTUALITZACIÓ name = Elliot ON fila = 1, 1195 01:07:19,510 --> 01:07:24,820 excepte que puguem si diem ID = 1. 1196 01:07:24,820 --> 01:07:27,350 1197 01:07:27,350 --> 01:07:29,830 >> Així que estarem treballar amb la igualtat 1198 01:07:29,830 --> 01:07:32,830 de camps, la igualtat de columnes. 1199 01:07:32,830 --> 01:07:38,030 Però utilitzant el camp ID és una manera de seleccionar files individuals específicament, 1200 01:07:38,030 --> 01:07:43,210 perquè el camp ID és una única identificador en una base de dades SQL. 1201 01:07:43,210 --> 01:07:45,860 Així que, com l'actualització de la fila un, ID és igual a 1. 1202 01:07:45,860 --> 01:07:49,560 Actualització de la segona fila, just canviar aquest número d'identificació. 1203 01:07:49,560 --> 01:07:51,610 Però la potència de la ON declaració és que ens 1204 01:07:51,610 --> 01:07:57,480 pot actualitzar les coses en base al que el seu valors actuals de certes coses. 1205 01:07:57,480 --> 01:07:58,155 Sí Elliot? 1206 01:07:58,155 --> 01:08:02,678 >> AUDIÈNCIA: ¿I què passa si vols A-- de nou, aquesta és una altra qüestió. 1207 01:08:02,678 --> 01:08:07,660 Però la meva primera pregunta va ser: on passa això? 1208 01:08:07,660 --> 01:08:09,130 On estic actualitzant això? 1209 01:08:09,130 --> 01:08:11,100 És això en un codi PHP? 1210 01:08:11,100 --> 01:08:13,379 >> ALTAVEU: Quan actualitzes, si. 1211 01:08:13,379 --> 01:08:15,170 Anem a parlar sobre on tot això 1212 01:08:15,170 --> 01:08:18,729 succeeix espècie d'una vegada ens anem a través de tots els ordres. 1213 01:08:18,729 --> 01:08:21,130 Però el que vostè necessita saber per ara és, bàsicament, 1214 01:08:21,130 --> 01:08:26,279 que la seva base de dades SQL existeix com una cosa 1215 01:08:26,279 --> 01:08:30,090 per a ser visitada per la consulta funció, que CS50 defineix. 1216 01:08:30,090 --> 01:08:33,800 Així que si vostè utilitza la funció de consulta, es pot accedir a aquesta taula. 1217 01:08:33,800 --> 01:08:39,529 >> Així que va enviar aquests ordres a la seva taula en arxius PHP 1218 01:08:39,529 --> 01:08:41,420 a través de la funció de consulta. 1219 01:08:41,420 --> 01:08:45,410 També pot jugar amb la seva taula directament. 1220 01:08:45,410 --> 01:08:49,050 I aquesta és la millor manera de provar aquest tipus de comandes. 1221 01:08:49,050 --> 01:08:52,720 I anirem a través de exactament com a veure que en tan sols una mica. 1222 01:08:52,720 --> 01:08:54,910 >> Així que això és ordre UPDATE. 1223 01:08:54,910 --> 01:08:57,939 I la resta dels comandaments seran una mena de similars, 1224 01:08:57,939 --> 01:08:59,069 treballant en coses similars. 1225 01:08:59,069 --> 01:09:02,740 El INSERT INTO és probablement el més diferent de UPDATE. 1226 01:09:02,740 --> 01:09:06,170 Vaig a deixar que fins allà per només una mica i treballar aquí. 1227 01:09:06,170 --> 01:09:10,215 Així INSERT INTO, veuràs aquesta taula segueix sent el mateix. 1228 01:09:10,215 --> 01:09:17,010 Vostè vol INSERT INTO. 1229 01:09:17,010 --> 01:09:20,286 La capitalització, SQL és sensible a majúscules. 1230 01:09:20,286 --> 01:09:22,160 Així que vostè no ha de capitalitzar aquestes coses. 1231 01:09:22,160 --> 01:09:27,960 Per convenció, les paraules en blanc es capitalitzen. 1232 01:09:27,960 --> 01:09:31,590 Però també el color d'ells codificats. 1233 01:09:31,590 --> 01:09:34,390 L'única raó per la qual a capitalitzar aquells en què vostè els està escrivint 1234 01:09:34,390 --> 01:09:36,609 s'acaba de posar en relleu que aquells són constants. 1235 01:09:36,609 --> 01:09:39,189 I pel que pot mirar a la capitalització o el fet 1236 01:09:39,189 --> 01:09:40,740 que jo els he de diferents colors. 1237 01:09:40,740 --> 01:09:44,910 >> Així que tenim INSERT INTO, fem-ho taula1 nou. 1238 01:09:44,910 --> 01:09:45,930 Això és tot en una línia. 1239 01:09:45,930 --> 01:09:48,609 Només estic separant per els diferents estats. 1240 01:09:48,609 --> 01:09:52,399 Així que no es preocupi pel fet que taula1 ho va fer en la segona línia. 1241 01:09:52,399 --> 01:09:56,130 >> Així que volem inserir A taula1 alguns valors. 1242 01:09:56,130 --> 01:09:58,922 I et donaràs compte de l'opcional bits, el que vaig a arribar a en un segon. 1243 01:09:58,922 --> 01:09:59,755 Així que tenim VALORS. 1244 01:09:59,755 --> 01:10:03,640 1245 01:10:03,640 --> 01:10:08,100 >> Així que diguem que volem afegir Andi a la nostra taula, perquè ens perdem Andi. 1246 01:10:08,100 --> 01:10:09,390 Andi està malalt. 1247 01:10:09,390 --> 01:10:12,490 Així que anem a afegir Andi a la nostra taula. 1248 01:10:12,490 --> 01:10:15,150 Recordeu que el número d'identificació s'actualitza automàticament. 1249 01:10:15,150 --> 01:10:17,320 Així que els únics camps que ha de preocupar 1250 01:10:17,320 --> 01:10:20,230 són nom, superpotència, i ciutat natal. 1251 01:10:20,230 --> 01:10:23,660 >> I així, la forma en què ho fem, mirar la nostra sintaxi, és que hem 1252 01:10:23,660 --> 01:10:28,780 acaba de rebre un parèntesi, amb comes valors separats, cadascun dels quals 1253 01:10:28,780 --> 01:10:29,890 és un valor. 1254 01:10:29,890 --> 01:10:35,530 Així que si volíem inserir Andi a la nostra taula, tot el que hem de fer és correcte Andi. 1255 01:10:35,530 --> 01:10:38,630 Quina és la superpotència d'Andi, persones en la secció d'Andi? 1256 01:10:38,630 --> 01:10:45,406 1257 01:10:45,406 --> 01:10:47,545 Ella, com el vol, o com velocitat, o alguna cosa així. 1258 01:10:47,545 --> 01:10:48,920 Què és el que ja tenim aquí dalt? 1259 01:10:48,920 --> 01:10:53,425 Tenim CS50, vol, velocitat i força. 1260 01:10:53,425 --> 01:10:54,850 >> AUDIÈNCIA: Viatge en el temps. 1261 01:10:54,850 --> 01:10:56,180 >> ALTAVEU: Viatge en el temps, increïble. 1262 01:10:56,180 --> 01:11:04,280 Així que tenim Andi, el temps viatges, i la seva ciutat natal. 1263 01:11:04,280 --> 01:11:05,530 Aquesta és una molt bona pregunta. 1264 01:11:05,530 --> 01:11:09,210 Ciutat de Nova York, llevat que algú ho sap. 1265 01:11:09,210 --> 01:11:13,600 Tothom és de Nova York és el lliçó per dur a partir d'avui. 1266 01:11:13,600 --> 01:11:17,710 >> Així que aquesta declaració seria inserir, com una cinquena fila, 1267 01:11:17,710 --> 01:11:21,900 amb el viatge en el temps superpotència i una ciutat natal de la ciutat de Nova York. 1268 01:11:21,900 --> 01:11:25,660 No obstant això, el camp opcional és bàsicament una manera 1269 01:11:25,660 --> 01:11:30,090 per especificar exactament quines columnes voleu inserir coses. 1270 01:11:30,090 --> 01:11:33,710 >> La forma en què ho estem fent ara, Andi, viatges en el temps, la ciutat de Nova York, 1271 01:11:33,710 --> 01:11:38,150 que està passant en l'ordre exacte de la nostra Nom table--, superpotència, ciutat natal. 1272 01:11:38,150 --> 01:11:42,290 I si volies fer alguna cosa més que això, 1273 01:11:42,290 --> 01:11:44,970 com dius que no ho sabia superpotència d'algú, 1274 01:11:44,970 --> 01:11:47,660 com la forma en què no sabia d'Andi superpotència al principi. 1275 01:11:47,660 --> 01:11:50,450 Així que tot el que sabia era el seu nom i la seva ciutat natal. 1276 01:11:50,450 --> 01:11:54,550 El que podria fer és que vaig poder fer-- vaig a esborrar això ràpid. 1277 01:11:54,550 --> 01:11:57,910 1278 01:11:57,910 --> 01:12:00,090 >> Vull actualitzar únicament les columnes. 1279 01:12:00,090 --> 01:12:04,100 I aquí és on l'opcional llista de columnes entra en joc. 1280 01:12:04,100 --> 01:12:09,185 Només vull actualitzar nom i ciutat natal. 1281 01:12:09,185 --> 01:12:12,650 1282 01:12:12,650 --> 01:12:16,480 I després vaig a dir VALORS. 1283 01:12:16,480 --> 01:12:24,430 Faré Andi i la ciutat de Nova York. 1284 01:12:24,430 --> 01:12:28,980 >> Si hagués omès la llista de columnes i acaba de fer aquestes dues coses, 1285 01:12:28,980 --> 01:12:32,450 on seria la ciutat de Nova York han anat? 1286 01:12:32,450 --> 01:12:35,900 Què columna faria Nova York Ciutat han estat col·locats en? 1287 01:12:35,900 --> 01:12:38,950 La gent té alguna idea? 1288 01:12:38,950 --> 01:12:40,160 Superpotència, exactament. 1289 01:12:40,160 --> 01:12:41,890 >> Així que això s'acaba d'anar en ordre. 1290 01:12:41,890 --> 01:12:45,530 I un cop que arriba al final de la llista, només deixarà d'omplir les coses en. 1291 01:12:45,530 --> 01:12:49,080 I els valors que em quedo a totes les columnes només serà NULL. 1292 01:12:49,080 --> 01:12:51,840 Així doncs especifiquem nom i ciutat natal, 1293 01:12:51,840 --> 01:12:56,110 tindrem ID 5, nomenar Andi, NULL superpotència. 1294 01:12:56,110 --> 01:12:58,750 Així superpotència és un valor sense inicialitzar. 1295 01:12:58,750 --> 01:13:01,340 No necessàriament obtenir la mateixos errors Valgrind si intenta 1296 01:13:01,340 --> 01:13:01,970 i accedir-hi. 1297 01:13:01,970 --> 01:13:05,160 Tot estarà bé a zero , Perquè NULL és un valor en SQL. 1298 01:13:05,160 --> 01:13:06,780 Aquesta és una constant. 1299 01:13:06,780 --> 01:13:08,980 I llavors ciutat natal serà la ciutat de Nova York. 1300 01:13:08,980 --> 01:13:11,860 Així que aquest és la comanda INSERT INTO. 1301 01:13:11,860 --> 01:13:13,610 Abans de continuar, hi ha dos comandaments més. 1302 01:13:13,610 --> 01:13:19,060 ¿Les persones tenen alguna pregunta sobre UPDATE sobre INSERT INTO, sobre SQL 1303 01:13:19,060 --> 01:13:21,556 en general, abans de passar en els nostres trossets finals? 1304 01:13:21,556 --> 01:13:25,500 1305 01:13:25,500 --> 01:13:26,910 La gent se sent bé, molt bé. 1306 01:13:26,910 --> 01:13:27,410 M'encanta. 1307 01:13:27,410 --> 01:13:29,480 Així que anem a parlar de SELECT. 1308 01:13:29,480 --> 01:13:33,445 Anant ACTUALITZACIÓ rasa per aquí. 1309 01:13:33,445 --> 01:13:35,720 >> I SELECT serà molt similar. 1310 01:13:35,720 --> 01:13:38,790 L'objectiu de SELECT, El propòsit de SELECT en la vida 1311 01:13:38,790 --> 01:13:45,910 és per donar-li un munt de columnes que satisfan certes condicions. 1312 01:13:45,910 --> 01:13:48,230 I quan dic satisfer determinades condicions, 1313 01:13:48,230 --> 01:13:50,800 la seva ment podria immediatament tornar a aquesta clàusula WHERE 1314 01:13:50,800 --> 01:13:52,090 que va sorgir en UPDATE. 1315 01:13:52,090 --> 01:13:54,880 I aquesta clàusula és exactament allà a SELECT. 1316 01:13:54,880 --> 01:14:06,020 >> Si no posem l'ON clàusula i diem SELECT nom, 1317 01:14:06,020 --> 01:14:16,490 ciutat natal-- lletrejat que una mica de Nom wrong--, ciutat natal de la Taula1. 1318 01:14:16,490 --> 01:14:19,690 Si ens limitem a dir que, el SELECT ens va a donar és que és 1319 01:14:19,690 --> 01:14:23,730 ens va a donar una double-- una taula, en lloc. 1320 01:14:23,730 --> 01:14:27,450 Una matriu de doble si som pensant en PHP detecta. 1321 01:14:27,450 --> 01:14:33,239 Però només va a donar-nos una doble gamma de de dos nom columns--, 1322 01:14:33,239 --> 01:14:33,780 i la ciutat natal. 1323 01:14:33,780 --> 01:14:36,400 1324 01:14:36,400 --> 01:14:38,130 I va ignorar ID. 1325 01:14:38,130 --> 01:14:41,310 I va ignorar superpotència. 1326 01:14:41,310 --> 01:14:44,696 I només ens donarà tots els sola fila d'aquesta taula. 1327 01:14:44,696 --> 01:14:46,570 Així que si ens inserim Andi, tindrem Andi. 1328 01:14:46,570 --> 01:14:48,605 I tindrem els quatre originals. 1329 01:14:48,605 --> 01:14:53,720 Si han estat actualitzats, que ho farà reflectir-se, etcètera, etcètera. 1330 01:14:53,720 --> 01:14:56,520 >> Així que això es deu al fet que no utilitzar la clàusula WHERE. 1331 01:14:56,520 --> 01:14:59,200 Però podem utilitzar-la en exactament el mateixa manera que ho fem servir en UPDATE. 1332 01:14:59,200 --> 01:15:05,310 Si només volem una taula dels noms i súper poders de les persones que viuen 1333 01:15:05,310 --> 01:15:13,430 a Nova York, es pot executar una instrucció com SELECT nom, superpower-- 1334 01:15:13,430 --> 01:15:27,190 Jo només vaig a deixar que-- DE taula1 ON ciutat natal = la ciutat de Nova York. 1335 01:15:27,190 --> 01:15:33,370 >> Així que això ve a demostrar que es pot aconseguir totalment diferents columnes, 1336 01:15:33,370 --> 01:15:36,920 i després posar les columnes que no estàs fins i tot tornar a estar a la clàusula WHERE. 1337 01:15:36,920 --> 01:15:39,200 Ni tan sols volem que el ciutat natal de tots. 1338 01:15:39,200 --> 01:15:41,920 Però volem que el nom i la la superpotència de la gent 1339 01:15:41,920 --> 01:15:43,817 la ciutat natal és la ciutat de Nova York. 1340 01:15:43,817 --> 01:15:45,650 Així que això és una cosa que pot fer amb el ON 1341 01:15:45,650 --> 01:15:49,112 clàusula és que podem fer front a columnes que no necessàriament volem tornar. 1342 01:15:49,112 --> 01:15:52,320 De la mateixa manera en l'actualització, podem tractar amb columnes que nosaltres no necessàriament 1343 01:15:52,320 --> 01:15:53,270 voleu actualitzar. 1344 01:15:53,270 --> 01:15:58,890 Podem actualitzar la ciutat de tothom el nom és Sam, per exemple. 1345 01:15:58,890 --> 01:16:02,080 Podem actualitzar la ciutat de tots aquells el número d'identificació és 2. 1346 01:16:02,080 --> 01:16:04,960 Així que només actualitzar el ciutat de la segona fila 1347 01:16:04,960 --> 01:16:08,220 on no hem de lluitar amb necessària la pregunta comuna. 1348 01:16:08,220 --> 01:16:13,264 >> I ESBORRAR és, com era d' esperar, DELETE FROM taula1. 1349 01:16:13,264 --> 01:16:14,930 I després tenim una altra clàusula WHERE. 1350 01:16:14,930 --> 01:16:17,940 Així que podem dir on aneu = 1. 1351 01:16:17,940 --> 01:16:18,950 Eliminar la primera fila. 1352 01:16:18,950 --> 01:16:23,240 I ELIMINAR sempre eliminar una fila, o s'elimini algun nombre de files. 1353 01:16:23,240 --> 01:16:26,990 DELETE FROM taula WHERE Ciutat natal = Nova York 1354 01:16:26,990 --> 01:16:28,740 eliminarà tot el món a la ciutat de Nova York. 1355 01:16:28,740 --> 01:16:30,985 Això és si hi havia una plaga tràgica sobtada 1356 01:16:30,985 --> 01:16:33,360 i que només volia treure tots, des de la taula que 1357 01:16:33,360 --> 01:16:35,760 viscut en una ciutat que va ser colpejat per la plaga. 1358 01:16:35,760 --> 01:16:38,050 Que descansin en pau. 1359 01:16:38,050 --> 01:16:43,849 >> Aquests són els quatre comandes SQL que haurà d'utilitzar. 1360 01:16:43,849 --> 01:16:45,390 Ni tan sols pot ser que necessiti utilitzar tots ells. 1361 01:16:45,390 --> 01:16:47,690 Però aquests són els quatre que CS50 t'espera 1362 01:16:47,690 --> 01:16:53,630 per sentir-se còmode amb entrar a tant qüestionari 1 i també pset7 i pset8. 1363 01:16:53,630 --> 01:16:55,820 >> Només hi ha aquesta taula de nou. 1364 01:16:55,820 --> 01:16:58,930 En aquest, la superpotència de Roy té ha actualitzat per raigs làser, que 1365 01:16:58,930 --> 01:17:00,880 és un exemple que no fem servir. 1366 01:17:00,880 --> 01:17:05,480 No sé quin Roy prefereix, però la força. 1367 01:17:05,480 --> 01:17:07,670 Roy té una superpotència de força. 1368 01:17:07,670 --> 01:17:09,090 Katherine no ho fan avui dia. 1369 01:17:09,090 --> 01:17:10,260 Això és lamentable. 1370 01:17:10,260 --> 01:17:11,260 Però ella té super velocitat. 1371 01:17:11,260 --> 01:17:13,780 1372 01:17:13,780 --> 01:17:14,670 >> Bé, això va ser PHP. 1373 01:17:14,670 --> 01:17:19,410 Abans de parlar de MVC, fa Algú té preguntes sobre PHP? 1374 01:17:19,410 --> 01:17:23,864 Ara SQL, PHP o si de sobte tens arribar a una pregunta sobre PHP? 1375 01:17:23,864 --> 01:17:27,560 1376 01:17:27,560 --> 01:17:28,460 Gran. 1377 01:17:28,460 --> 01:17:29,920 Molt bé, està tot a punt llavors. 1378 01:17:29,920 --> 01:17:33,660 >> Així que parlar una mica sobre de vista del model controladors, 1379 01:17:33,660 --> 01:17:38,770 tornem a alguna de les coses en pset7. 1380 01:17:38,770 --> 01:17:42,470 Llavors, què vista de model controlador és-- No estic 1381 01:17:42,470 --> 01:17:45,660 va a guardar els meus canvis per iniciar sessió perquè estic totalment massacrat ell. 1382 01:17:45,660 --> 01:17:49,220 Però bàsicament tenim dos coses separades passant. 1383 01:17:49,220 --> 01:17:52,390 Tenim un públic directori que conté 1384 01:17:52,390 --> 01:17:56,460 el codi que serà executat i les pàgines web que es visitaran. 1385 01:17:56,460 --> 01:17:58,780 I també tenim aquest directori vistes. 1386 01:17:58,780 --> 01:18:01,780 I vistes conté plantilles. 1387 01:18:01,780 --> 01:18:04,390 >> Això és el que la funció render-- vam veure el render 1388 01:18:04,390 --> 01:18:08,240 funció en un munt de codi PHP que CS50 ja ha escrit per a vostè, 1389 01:18:08,240 --> 01:18:10,550 que pren en certs paràmetres. 1390 01:18:10,550 --> 01:18:14,510 El que el codi està fent es va a vistes, 1391 01:18:14,510 --> 01:18:18,000 que són conjunts d'igual codi HTML escrit prèviament, 1392 01:18:18,000 --> 01:18:20,720 i s'està inserint valors en certs llocs. 1393 01:18:20,720 --> 01:18:23,990 Així és com quan vostè entrar en CS50 Finances, 1394 01:18:23,990 --> 01:18:25,760 la mateixa capçalera és a cada pàgina. 1395 01:18:25,760 --> 01:18:28,130 El mateix peu de pàgina és en cada pàgina. 1396 01:18:28,130 --> 01:18:31,880 Això es deu a la forma de fer obres és que va a 1397 01:18:31,880 --> 01:18:36,720 posar pegats automàticament en aquesta capçalera i visualitzador d'imatges que es poden trobar a les vistes. 1398 01:18:36,720 --> 01:18:41,400 >> En realitat podem entrar a la capçalera, i mira, és un arxiu HTML amb un cap. 1399 01:18:41,400 --> 01:18:43,280 Té unes fulles d'estil. 1400 01:18:43,280 --> 01:18:48,450 No ha de mirar CSS per pset7 si no vols. 1401 01:18:48,450 --> 01:18:50,560 Però vostè pot modificar si vostè vol, fan 1402 01:18:50,560 --> 01:18:53,470 la seva Hisenda es veuen una mica diferent. 1403 01:18:53,470 --> 01:18:57,560 >> Té una mica de PHP en la capçalera una mica per veure 1404 01:18:57,560 --> 01:19:01,240 si hi ha un títol diferent s'ha de posar en aquesta capçalera. 1405 01:19:01,240 --> 01:19:04,300 Però només alguns altres guions, i enllaços, i altres coses. 1406 01:19:04,300 --> 01:19:08,700 Cap acaba, el cos comença, i perdó, tenim aquest poc extrem rar. 1407 01:19:08,700 --> 01:19:14,730 I hi ha un div, igual que una mena sense forma d'element 1408 01:19:14,730 --> 01:19:17,120 que té una idea del medi. 1409 01:19:17,120 --> 01:19:22,450 >> I després, quan veiem a peu de pàgina, tenim el final d'un div. 1410 01:19:22,450 --> 01:19:25,000 Tenim un fons, que és on el text de peu de pàgina és. 1411 01:19:25,000 --> 01:19:26,770 Fi de la div, extrem del cos, al final de l'HTML. 1412 01:19:26,770 --> 01:19:29,070 >> Llavors, què fer és fent és fer que és una espècie 1413 01:19:29,070 --> 01:19:33,150 de apedaçar capçalera, 1 diferent arxiu PHP que 1414 01:19:33,150 --> 01:19:37,110 contindrà les coses reals que podràs veure, igual que la seva taula dels estocs 1415 01:19:37,110 --> 01:19:39,690 si va a comprar o vendre accions. 1416 01:19:39,690 --> 01:19:41,480 I llavors va a posar al peu de pàgina. 1417 01:19:41,480 --> 01:19:44,890 I la vista del model idea és que el controlador 1418 01:19:44,890 --> 01:19:49,590 voler separar la forma les coses es veuen des del codi. 1419 01:19:49,590 --> 01:19:53,420 És que volem separar el frontend i el backend, on el frontend és 1420 01:19:53,420 --> 01:20:00,440 les coses que l'usuari veu, el bon visuals-- HTML, CSS, coses per l'estil, 1421 01:20:00,440 --> 01:20:02,320 imatges, etcètera. 1422 01:20:02,320 --> 01:20:05,780 I el backend és PHP. 1423 01:20:05,780 --> 01:20:07,710 Aquest és el codi que escriviu. 1424 01:20:07,710 --> 01:20:10,240 Aquí és on el codi que és fer operacions reals. 1425 01:20:10,240 --> 01:20:12,400 Això és quan es va a afegir una acció a la seva taula, 1426 01:20:12,400 --> 01:20:14,890 quan vostè està comprant i venda, que és backend. 1427 01:20:14,890 --> 01:20:20,210 >> I podem, com vostè va veure, incloent PHP directament en HTML. 1428 01:20:20,210 --> 01:20:23,210 Així que el que podríem haver fet per aquesta assignació s'acaba de tenir 1429 01:20:23,210 --> 01:20:26,200 un arxiu HTML per a cada pàgina, com a inici de sessió. 1430 01:20:26,200 --> 01:20:30,260 I llavors en aquesta pàgina, simplement tingut un enorme bloc de codi PHP, 1431 01:20:30,260 --> 01:20:33,822 incloent tot el codi que aquesta pàgina en concret necessitaria. 1432 01:20:33,822 --> 01:20:35,780 I llavors podríem tenir fet que per a la cartera. 1433 01:20:35,780 --> 01:20:40,250 Podríem haver fet tot de la compra i venda dins de les pàgines individuals. 1434 01:20:40,250 --> 01:20:43,680 >> Però com que estem fent separat des d'on 1435 01:20:43,680 --> 01:20:46,660 estem escrivint el backend codi, podem fàcilment 1436 01:20:46,660 --> 01:20:52,660 canviar la forma de les coses es veuen sense canviant cada arxiu. 1437 01:20:52,660 --> 01:20:55,460 Fem coses com simplement afegeix un nou div a la part inferior 1438 01:20:55,460 --> 01:21:00,720 de-- Hola he modificat el peu de pàgina. 1439 01:21:00,720 --> 01:21:03,710 Vostè només pot fer coses per l'estil. 1440 01:21:03,710 --> 01:21:07,250 Però també, pot canviar tot el disseny visual 1441 01:21:07,250 --> 01:21:09,290 sense afectar el que és anar al backend. 1442 01:21:09,290 --> 01:21:12,000 I vostè pot canviar el tota backend i encara 1443 01:21:12,000 --> 01:21:13,900 ha que es vegi igual que ho feia abans. 1444 01:21:13,900 --> 01:21:14,400 Això 1445 01:21:14,400 --> 01:21:16,170 >> És la idea de controlador de vista del model. 1446 01:21:16,170 --> 01:21:19,992 I en realitat és un paradigma impost en alguns dels llenguatges de programació 1447 01:21:19,992 --> 01:21:21,700 és possible que vulgueu utilitzar per als projectes finals. 1448 01:21:21,700 --> 01:21:25,100 Si ho fa el desenvolupament de iOS, tenen punts de vista, 1449 01:21:25,100 --> 01:21:29,120 que és el que es veu en l'iPhone, i llavors backend com com una cosa separada. 1450 01:21:29,120 --> 01:21:31,260 >> Vostè pot pensar una mica. 1451 01:21:31,260 --> 01:21:35,190 Hi ha un munt de binaris en ciències de la computació, que és divertit, 1452 01:21:35,190 --> 01:21:37,270 perquè tot és en binari. 1453 01:21:37,270 --> 01:21:38,550 No pensava això. 1454 01:21:38,550 --> 01:21:41,590 Això era un joc de paraules intencionat. 1455 01:21:41,590 --> 01:21:43,860 Sí, joc de paraules no previst. 1456 01:21:43,860 --> 01:21:49,070 >> Però igual que els arxius .h i arxius .c, hi ha una gran quantitat de separació de les coses que nosaltres 1457 01:21:49,070 --> 01:21:49,900 podria no necessitar. 1458 01:21:49,900 --> 01:21:54,330 Així que només podem editar els arxius H, o algú només pot veure un arxiu .h i saber 1459 01:21:54,330 --> 01:21:57,650 exactament les funcions que es troben al arxiu .c sense necessàriament saber 1460 01:21:57,650 --> 01:21:58,870 la seva implementació. 1461 01:21:58,870 --> 01:22:02,800 Aquesta idea dels components que separen que depenen els uns dels altres 1462 01:22:02,800 --> 01:22:06,990 però alguna cosa es pot accedir d'una a altra a través de diferents canals, que passa 1463 01:22:06,990 --> 01:22:09,310 de variables, simplement incloure declaracions, coses 1464 01:22:09,310 --> 01:22:14,440 així, aquest principi ajuda a crear aplicacions 1465 01:22:14,440 --> 01:22:17,080 que pot ser més fàcilment editat per diverses persones, 1466 01:22:17,080 --> 01:22:20,440 es pot canviar més fàcilment o modificat en gran escala, 1467 01:22:20,440 --> 01:22:24,880 i són més fàcils depurar en molts sentits. 1468 01:22:24,880 --> 01:22:28,254 >> Molt ràpid, tinc alguns consells per pset7, 1469 01:22:28,254 --> 01:22:31,420 que vaig a fer de pantalla completa perquè no només mirar ell-- Tippee punta punta. 1470 01:22:31,420 --> 01:22:33,964 1471 01:22:33,964 --> 01:22:35,130 No hi ha que molts consells. 1472 01:22:35,130 --> 01:22:38,060 >> Però he esmentat PHP és difícil de depurar. 1473 01:22:38,060 --> 01:22:39,290 Doble i triple comprovar-ho. 1474 01:22:39,290 --> 01:22:41,550 Si el codi no és només aparèixer a la pàgina, 1475 01:22:41,550 --> 01:22:46,240 és probable que sigui un error de PHP, ho sento. 1476 01:22:46,240 --> 01:22:48,570 >> Vostè mai ha de mirar CSS si no vols. 1477 01:22:48,570 --> 01:22:52,150 Però una vegada que hagi acabat, pot ser una cosa agradable poc divertit per anar a 1478 01:22:52,150 --> 01:22:54,770 i ficar-se amb els paràmetres d'estil CSS. 1479 01:22:54,770 --> 01:22:58,700 CSS i HTML són un exemple d'un model cosa també, a la dreta vista d'estil controlador? 1480 01:22:58,700 --> 01:23:02,150 Vostè podria tenir etiquetes d'estil a l'interior dels elements HTML. 1481 01:23:02,150 --> 01:23:04,800 Però si una mena de l'externalització a CSS, 1482 01:23:04,800 --> 01:23:08,180 són més fàcils d'editar, i el joc voltant amb, i divertir-se amb. 1483 01:23:08,180 --> 01:23:10,816 >> Tractar CS50 ajudant funciona com caixes negres. 1484 01:23:10,816 --> 01:23:12,940 Vostè no necessita saber exactament el que està fent render, 1485 01:23:12,940 --> 01:23:16,770 però confia que fer sempre la dreta cosa depenent del que li passa, 1486 01:23:16,770 --> 01:23:17,690 coses com aquesta. 1487 01:23:17,690 --> 01:23:21,040 I jo recomanaria veient tutorial de David, 1488 01:23:21,040 --> 01:23:24,490 passant per tot el coses, no només els tots, 1489 01:23:24,490 --> 01:23:26,960 però que realment pot tractar aquestes caixes com negres. 1490 01:23:26,960 --> 01:23:29,280 No entre en aquestes funcions a la recerca d'errors. 1491 01:23:29,280 --> 01:23:33,510 >> I donar la benvinguda al retorn del nostre senyor Zamyla. 1492 01:23:33,510 --> 01:23:34,010 Gran. 1493 01:23:34,010 --> 01:23:40,430 >> Hi ha alguna pregunta abans de finals quin tipus de rebotar per al dia? 1494 01:23:40,430 --> 01:23:42,610 Estic encara viu? 1495 01:23:42,610 --> 01:23:44,700 Gran. 1496 01:23:44,700 --> 01:23:47,120 Persones livestream Hola. 1497 01:23:47,120 --> 01:23:47,620 Gran. 1498 01:23:47,620 --> 01:23:50,260 Hi ha més preguntes? 1499 01:23:50,260 --> 01:23:50,760 No? 1500 01:23:50,760 --> 01:23:52,884 >> I llavors crec que estem bo anar per avui. 1501 01:23:52,884 --> 01:23:55,550 Em quedaré una mica després si la gent tenia preguntes 1502 01:23:55,550 --> 01:23:57,480 tenien por de preguntar sobre la riera. 1503 01:23:57,480 --> 01:23:59,790 Però d'altra banda, tenir un bon dia. 1504 01:23:59,790 --> 01:24:01,933