1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Do en nia vídeo sur PHP sintakso, 3 00:00:07,620 --> 00:00:10,480 ni parolis multe pri kiel PHP povas esti uzita ĉe la komandlinio 4 00:00:10,480 --> 00:00:13,620 kuri programojn en maniero kiu ni povos egale konanta de C. 5 00:00:13,620 --> 00:00:15,370 Sed, kiel mi ankaŭ menciis en tiu video, PHP 6 00:00:15,370 --> 00:00:19,572 estis disvolvita komence por efektivigu ttt programado, retejoj. 7 00:00:19,572 --> 00:00:21,780 Kaj tial en ĉi tiu video ni estas tuj parolos pri ni kiel 8 00:00:21,780 --> 00:00:23,890 uzi PHP en la ttt disvolviĝo kuntekston. 9 00:00:23,890 --> 00:00:26,360 >> Ni scias, jam, de niaj filmetoj en HTML, 10 00:00:26,360 --> 00:00:29,820 ke retejoj estas konstruita el aro de HTML etikedoj 11 00:00:29,820 --> 00:00:32,850 ke semantike difini la strukturo de retpaĝo. 12 00:00:32,850 --> 00:00:35,910 Sed retejoj kiuj estas konstruita per pura HTML 13 00:00:35,910 --> 00:00:39,510 suferas tre, tre seriozan limigon. 14 00:00:39,510 --> 00:00:42,690 >> Kaj por ilustri ĉi tiun limigon, ni konsideru la sekvan. 15 00:00:42,690 --> 00:00:45,665 Do nun mi volas konstrui retpaĝo ke, kiam ajn la uzanto vizitas ŝin, 16 00:00:45,665 --> 00:00:49,760 ĝi donas al mi la nunan tempo en Kembriĝo, Mass., 17 00:00:49,760 --> 00:00:52,620 montri ĝin al la lasta minuto. 18 00:00:52,620 --> 00:00:57,910 Se mi estis faranta ĉi tiun rajton nun, Mi povus diri ion kiel tion. 19 00:00:57,910 --> 00:01:01,330 Nuna tempo en Cambridge-- tial mi havas HTML etikedoj, kapo etikedoj, titolo etikedoj, 20 00:01:01,330 --> 00:01:04,610 korpo tags-- la nuna tempo en Cambridge estas 14:08, 21 00:01:04,610 --> 00:01:06,690 presi el milita tempo. 22 00:01:06,690 --> 00:01:11,390 >> Kio okazas se ĝi estas nun 2:09 Pm, 14:09? 23 00:01:11,390 --> 00:01:16,470 Nu ĝis nun, kun HTML, mi havas iri kaj ŝanĝu ĝin al 14:09. 24 00:01:16,470 --> 00:01:19,390 Kaj tiam unu minuton poste, Mi devos ŝanĝi ĝin denove. 25 00:01:19,390 --> 00:01:22,132 Kaj tiam unu minuton poste, Mi devos ŝanĝi ĝin denove. 26 00:01:22,132 --> 00:01:24,590 Kaj kiel vi povas imagi, ke estas probable la plej malbonan laboron iam. 27 00:01:24,590 --> 00:01:29,420 Vi estas la retmajstro por retpaĝon, kaj ĉiu minuto, 24 horoj tage, 28 00:01:29,420 --> 00:01:35,970 Vi bezonas ĝisdatigi la nuna tempo de permane malfermante time.html kaj ŝanĝante 29 00:01:35,970 --> 00:01:41,750 Nur ke fragmento de kodo diri la nuna tempo en horoj kaj minutoj. 30 00:01:41,750 --> 00:01:45,850 Tio probable ne estas tre bona uzo de niaj resursoj, 31 00:01:45,850 --> 00:01:48,880 ambaŭ homa kaj komputa. 32 00:01:48,880 --> 00:01:51,297 >> Retejoj kiuj estas ĉiuj HTML estas tute statikaj. 33 00:01:51,297 --> 00:01:53,630 La sola maniero vi povas ĝisdatigi enhavo, kiel ni ĵus vidis, 34 00:01:53,630 --> 00:01:56,339 estas permane malfermi tiujn fonto dosierojn, redakti ilin kaj konservi ilin. 35 00:01:56,339 --> 00:01:58,088 Kaj tiam kiam la uzanto refreŝigas la paĝo, 36 00:01:58,088 --> 00:02:01,080 aŭ vizitas la paĝon por la unua tempo, ili ricevos la lasta enhavo. 37 00:02:01,080 --> 00:02:03,970 Sed nur ĉar ni permane redaktis ĝin. 38 00:02:03,970 --> 00:02:07,980 >> Se ni komencas miksi iuj PHP tien, nia kodo povas akiri multe pli fleksebla. 39 00:02:07,980 --> 00:02:11,940 Kaj ni povas havi vojon por nia paĝoj esti dinamika, aŭ ĝisdatigi sin, 40 00:02:11,940 --> 00:02:15,360 sen postuli nia kompatinda retestro en la antaŭa ekzemplo 41 00:02:15,360 --> 00:02:16,662 esti permane ĝisdatiganta aferojn. 42 00:02:16,662 --> 00:02:17,870 Ili povas fari ĝin aŭtomate. 43 00:02:17,870 --> 00:02:19,130 Ni ne devas interveni. 44 00:02:19,130 --> 00:02:20,410 Ni povas ricevi iun dormon. 45 00:02:20,410 --> 00:02:24,850 Kiu estas probable bona afero se vi faras multajn ttt programado. 46 00:02:24,850 --> 00:02:28,360 >> Do en CS50 IDE, ni kuras retservilo nomata Apache. 47 00:02:28,360 --> 00:02:35,250 Ĝi estas tre ofte uzata, malfermita retservilo sistemo. 48 00:02:35,250 --> 00:02:37,320 Tiu sistemo havas la kapablo interpreti 49 00:02:37,320 --> 00:02:41,260 PHP, kiu tuj estos utila se vi volas fari ajnan PHP programado. 50 00:02:41,260 --> 00:02:45,230 >> Kaj en CS50 IDE, ni havas komandon fari ĉi tre facila fari, 51 00:02:45,230 --> 00:02:47,280 apache50 komenci. 52 00:02:47,280 --> 00:02:49,445 Kaj tiam tiu oblikvo irejo, oblikvo por, oblikvo 53 00:02:49,445 --> 00:02:53,350 dir, tio estas nur vere komuna maniero indikante kion vi specifita tie 54 00:02:53,350 --> 00:02:56,510 estas vojo al aparta dosierujo kiu vi 55 00:02:56,510 --> 00:03:00,800 volas esti la radiko ejo, aŭ la radikon paĝo, 56 00:03:00,800 --> 00:03:05,430 aŭ la dosierujo de kiu via retservilo komencos ekzameni dosierojn kaj servi 57 00:03:05,430 --> 00:03:07,850 ilin al klientoj kiuj petas ilin. 58 00:03:07,850 --> 00:03:12,110 Do ni Pufo al CS50 IDE, nur por montri vin, vere rapida, kiel tio funkcias. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Do tie en CS50 IDE, mi estas en dosierujo nomita Semajno Zero Nine. 61 00:03:36,240 --> 00:03:38,890 Kaj mi havas two-- mi havas ekzekutis LS komando simple 62 00:03:38,890 --> 00:03:41,910 supre por montri al vi, ke mi havas du dosierujojn en tie, PHP, 63 00:03:41,910 --> 00:03:46,410 kiu estas la aro de dosieroj kiujn mi uzis en la PHP sintakso vídeo, kaj tiam PHP-retejo, 64 00:03:46,410 --> 00:03:49,380 kiu estas la aro de dosieroj kiujn mi ŝatus uzi en ĉi tiu video. 65 00:03:49,380 --> 00:03:53,480 >> Kaj mi ŝatus komenci retservilo ekzemple 66 00:03:53,480 --> 00:03:59,089 kun la enhavo de la PHP-retejo dosierujo kiel la dosieroj estas estanta servita supren. 67 00:03:59,089 --> 00:04:00,130 Do kion mi faru? 68 00:04:00,130 --> 00:04:05,710 Mi tuj tajpi apache50 spaco komenci, spaco PHP, haltostreko TTT. 69 00:04:05,710 --> 00:04:08,100 Jen la vojo al dosierujo de kie mi nuntempe estas. 70 00:04:08,100 --> 00:04:09,127 Tiam mi batis Enter. 71 00:04:09,127 --> 00:04:10,960 Ĝi tuj fari iomete da aĵoj ĉi tie. 72 00:04:10,960 --> 00:04:14,030 Kaj tiam tuj diri, Apache komenciĝis sukcese. 73 00:04:14,030 --> 00:04:20,689 Via retejo estas nun disponebla at-- kaj tiam ekzistas la URL por la ejo. 74 00:04:20,689 --> 00:04:21,730 Do kion mi faru? 75 00:04:21,730 --> 00:04:26,234 Mi tuj rapide kopiu ĉi. 76 00:04:26,234 --> 00:04:28,900 Kaj mi tuj malfermos up-- kaj Mi malzomi iomete here-- 77 00:04:28,900 --> 00:04:31,570 Mi tuj malfermu nova langeto en Chrome. 78 00:04:31,570 --> 00:04:34,320 Kaj mi tuj vizitos tiu URL. 79 00:04:34,320 --> 00:04:35,299 >> Mi tuj batis Enter. 80 00:04:35,299 --> 00:04:36,090 Ĝi tuj ŝarĝas. 81 00:04:36,090 --> 00:04:37,510 Kaj mi malzomi denove. 82 00:04:37,510 --> 00:04:41,350 Kaj ni povas vidi tie estas la enhavo de mia PHP retejo dosierujo. 83 00:04:41,350 --> 00:04:45,290 >> Do nun kio esence okazanta jen, mia petskribo de CS50 IDE 84 00:04:45,290 --> 00:04:49,620 servas tiujn dosierojn iu ajn kiu petas ilin. 85 00:04:49,620 --> 00:04:51,620 Super la apartajxo de ĉi video, ni ordigi de 86 00:04:51,620 --> 00:04:55,400 rigardu faskon de tiuj malsamajn dosierojn en kunteksto. 87 00:04:55,400 --> 00:04:57,614 >> Por testi ke via Apache servilo funkcias, 88 00:04:57,614 --> 00:04:59,780 kiu estas ĝenerale iranta esti la kazo en CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 sed se vi faros tion pli ĝenerale, kaj vi komenci konstrui vian propran ttt 90 00:05:02,696 --> 00:05:04,990 serviloj, ekzistas vere komuna speco de analoga al, 91 00:05:04,990 --> 00:05:08,500 "saluton mondo", te kutime uzita por PHP ttt disvolviĝo. 92 00:05:08,500 --> 00:05:12,855 Kio estas havi dosieron konsistanta el nur tiun code-- 93 00:05:12,855 --> 00:05:18,247 PHP delimitador inkrustita per PHP info, krampoj, punktokomo intere. 94 00:05:18,247 --> 00:05:20,580 Kiu estas esence speciala PHP funkcio kiu informas vin 95 00:05:20,580 --> 00:05:23,970 kion versio de PHP vi kuras. 96 00:05:23,970 --> 00:05:26,850 >> Do en CS50 IDE, mi havas ke dosiero disponebla nur 97 00:05:26,850 --> 00:05:28,680 montri vin kion ĉi aspektus. 98 00:05:28,680 --> 00:05:32,860 Do mi rigardis mian indekso de mia PHP ekz. 99 00:05:32,860 --> 00:05:35,870 Mia Apache Ekzemple kuras la enhavo de PHP-retejo. 100 00:05:35,870 --> 00:05:39,290 Kaj mi havas dosieron tie nomata info.php. 101 00:05:39,290 --> 00:05:41,164 >> Mi tuj klaku ĝin, malzomi. 102 00:05:41,164 --> 00:05:43,080 Jen kion vi tuj vidi, preskaux. 103 00:05:43,080 --> 00:05:45,729 Tiu estas nur diras min ke miaj Apache servilo funkcias. 104 00:05:45,729 --> 00:05:48,270 Kaj tiu estas, ŝajne, la versio de PHP ke Mi kuras. 105 00:05:48,270 --> 00:05:51,590 Mia estas analoga al "saluton mondo." 106 00:05:51,590 --> 00:05:53,070 >> Do mi scias aferojn estas operacional. 107 00:05:53,070 --> 00:05:54,150 Do ni estas bone iri. 108 00:05:54,150 --> 00:05:55,730 Ni povas procedi de ĉi tie. 109 00:05:55,730 --> 00:05:57,790 >> Do ni reviziti ke tempo ekzemplo ni estis 110 00:05:57,790 --> 00:06:01,950 parolas kun nia malriĉa retestro kiu devis ĝisdatigi la paĝon senĉese. 111 00:06:01,950 --> 00:06:05,020 Tio povas esti solvon por kiom Mi volus apliki aferoj 112 00:06:05,020 --> 00:06:08,080 por ke la retestro ne devi teni ĝisdatigi la tempo. 113 00:06:08,080 --> 00:06:10,270 Ĝi farus nur ia okazos aŭtomate. 114 00:06:10,270 --> 00:06:13,710 >> La malsupre, la HTML, estas bela similaj, kun unu escepto. 115 00:06:13,710 --> 00:06:16,720 Sed ĉi tie mi mem havigis iuj PHP ĉe la supro. 116 00:06:16,720 --> 00:06:19,940 Mi, ŝajne, nomita tiu funkcio date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> Kaj ni ne parolas pri ĉiuj tiujn funkciojn en CS50, 118 00:06:22,106 --> 00:06:24,670 ĉar PHP havas probable dekoj da miloj. 119 00:06:24,670 --> 00:06:27,540 Tio povus esti iom de troigo, sed eble ne. 120 00:06:27,540 --> 00:06:29,490 Oni alvenis multajn funkciojn enkonstruita. 121 00:06:29,490 --> 00:06:33,290 Kaj tiel tio estas funkcio ŝajne fiksas mian horzonon kiel US / Eastern, 122 00:06:33,290 --> 00:06:36,320 kiu estas la horzono ke mi estas aktuale en farante tiun video. 123 00:06:36,320 --> 00:06:38,430 >> Tiam mi faras alvokon al funkcio vokita, dato. 124 00:06:38,430 --> 00:06:43,850 Kaj, ŝajne, mi stokante la LIA de iu nomita, tempo. 125 00:06:43,850 --> 00:06:45,320 Do kio okazas ĉi tie? 126 00:06:45,320 --> 00:06:48,040 >> Nu, resume kio estas okazanta estas, mi faras alvokon 127 00:06:48,040 --> 00:06:51,650 al iu servilo kiu tuj diru al mi kio tempo aktuale estas. 128 00:06:51,650 --> 00:06:56,150 Kaj mi konvertado al formato de horoj, minutoj, sekundoj. 129 00:06:56,150 --> 00:07:00,540 Kaj la kialo estas ĉefurbo H estas tiu tuj donu al mi 24 hora tempo, ne 12 130 00:07:00,540 --> 00:07:02,362 hora tempo, kiu estus minuskla h. 131 00:07:02,362 --> 00:07:04,570 Kaj mi simple stoki ke en variablo vokis, tempo. 132 00:07:04,570 --> 00:07:07,028 Do tiu dua linio de PHP ekzistas, la alvoko al la funkcio, 133 00:07:07,028 --> 00:07:09,037 dato, estas nur nun iuj kordoj, kiuj estas 134 00:07:09,037 --> 00:07:12,120 tuj al mi la dato, kaj la tempo, kaj faskon de aliaj informoj. 135 00:07:12,120 --> 00:07:16,480 Kaj la unua argumento tie, ke LIA, Estas ĝuste ĉerpi la grava parto 136 00:07:16,480 --> 00:07:20,614 ke mi zorgas pri ĉi tiu ekzemplo, kiu estas la horo, minuto kaj sekundo. 137 00:07:20,614 --> 00:07:22,030 Do jen la tuta tiu okazas. 138 00:07:22,030 --> 00:07:23,562 Do mi stoki ke en variablo $ tempon. 139 00:07:23,562 --> 00:07:25,270 Kaj poste malsupren al la tre fundo tie, mi 140 00:07:25,270 --> 00:07:28,980 havas tiun stenografio por presi el la nuna tempo. 141 00:07:28,980 --> 00:07:32,050 Do mi simple tuj presi kion la nuna tempo estas. 142 00:07:32,050 --> 00:07:37,220 >> Do ni rigardu tiun en CS50 IDE kaj vidi kiel ni nun 143 00:07:37,220 --> 00:07:40,002 savanta ke retestro multajn problemojn. 144 00:07:40,002 --> 00:07:42,570 Bone, do jen mi denove reen ĉe la radika dosierujo 145 00:07:42,570 --> 00:07:45,040 de miaj Apache ekz. 146 00:07:45,040 --> 00:07:51,585 Kaj mi havas dosieron tie nomata time.php. 147 00:07:51,585 --> 00:07:53,559 Mi simple tuj klaku sur tion. 148 00:07:53,559 --> 00:07:55,850 Kaj mi rulumu supren, ĉar ni zomis en bela malproksima. 149 00:07:55,850 --> 00:07:57,257 La nuna tempo estas 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Do mi faras gxin horoj, minutoj kaj sekundoj. 151 00:07:59,090 --> 00:08:01,910 Kaj mi povas refreŝigi la paĝo kaj akiri novan tempon. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Mi tuj refreŝigi la paĝon kaj akiri novan tempon, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Do, mi estas klare ne ŝanĝi ion mem. 155 00:08:10,490 --> 00:08:11,720 Mi tie refreŝiga la paĝo. 156 00:08:11,720 --> 00:08:13,711 Do mi ne povas esti reen tie redaktante ĝin. 157 00:08:13,711 --> 00:08:15,710 Kaj mi promesas al vi, mi ne faras havas ajnan aliancanoj 158 00:08:15,710 --> 00:08:18,230 kiu redaktas la dosiero por mi sur la flankon. 159 00:08:18,230 --> 00:08:21,260 >> Mi nur uzas ke PHP funkcio, tempo, por generi la tempo por mi 160 00:08:21,260 --> 00:08:22,340 aŭtomate. 161 00:08:22,340 --> 00:08:24,800 Tiel ke eĉ se mi estas dormanta, kaj mia retservilo kuras, 162 00:08:24,800 --> 00:08:28,884 la uzanto kiu vizitas la paĝon estas ankoraŭ tuj ricevas ekzakte la nuna tempo. 163 00:08:28,884 --> 00:08:29,800 Tiel ke estas sufiĉe bonaj. 164 00:08:29,800 --> 00:08:33,609 Mi jam faris mian retejon pli dinamika kun ne tro multe PHP kodo. 165 00:08:33,609 --> 00:08:36,650 Estis nur du linioj de kodo kaj tiam iomete da print komunikaĵo. 166 00:08:36,650 --> 00:08:38,441 Kaj jam mi havas multe pli dinamika ejo 167 00:08:38,441 --> 00:08:42,750 ol tiu unua ekzemplo ni vidis ĉe la komenco de la video. 168 00:08:42,750 --> 00:08:46,660 >> Do, memoras de la video sur PHP sintakso ke kiam la PHP interpretisto kuras 169 00:08:46,660 --> 00:08:50,000 nia programo, ĝi ignoras ĉiu tio ne ene de PHP delimitadores, 170 00:08:50,000 --> 00:08:51,500 kracxi ĝin. 171 00:08:51,500 --> 00:08:54,410 En tiu ekzemplo, kion la afero ke oni kracxis el estis HTML. 172 00:08:54,410 --> 00:08:58,080 Kaj tio signifas mi povas nun intersperse HTML kaj PHP kune. 173 00:08:58,080 --> 00:09:01,920 Ĉar la interpretisto simple ignori la HTML kaj laŭvorte eligo ĝin. 174 00:09:01,920 --> 00:09:04,140 Kio estas bona, ĉu ne? 175 00:09:04,140 --> 00:09:06,100 >> Ĉar supozeble, fine de la tago, 176 00:09:06,100 --> 00:09:08,360 Mi ŝatus mian retejon al esti konstruitaj de HTML. 177 00:09:08,360 --> 00:09:12,880 Tiel ke ajna retumilo povas interpreti ĝi, aŭ kompreni la HTML de la paĝo 178 00:09:12,880 --> 00:09:17,270 kaj redonu ĝin kiel ion, kion ni povas fakte kompreni kiel homoj. 179 00:09:17,270 --> 00:09:19,430 Kaj mi povas nur uzi PHP por la partoj de mia retejo 180 00:09:19,430 --> 00:09:23,390 la postuli dinamismo, kiuj postulas min havi aĵojn kiuj ĝisdatigos senĉese. 181 00:09:23,390 --> 00:09:26,630 La statikaj informoj povas resti la sama. 182 00:09:26,630 --> 00:09:27,540 >> Bone, do tio estas bone. 183 00:09:27,540 --> 00:09:28,540 Sed kial mi faru tion? 184 00:09:28,540 --> 00:09:30,400 Kial mi miksi HTML kaj PHP? 185 00:09:30,400 --> 00:09:33,850 Mi povis nur presi ĉiujn HTML, uzanta la PHP print funkcio. 186 00:09:33,850 --> 00:09:35,870 Kial mi ne faras tion? 187 00:09:35,870 --> 00:09:37,100 Pensu pri ĝi dum sekundo. 188 00:09:37,100 --> 00:09:41,220 >> Ho, kiam mi povis nur presi fjordon mi povus havi liniojn de PHP ke nur diru, 189 00:09:41,220 --> 00:09:43,841 print HTML tag, presi kapo. 190 00:09:43,841 --> 00:09:44,840 Kial mi ne faras tion? 191 00:09:44,840 --> 00:09:48,230 Kial mi miksante la PHP kaj HTML? 192 00:09:48,230 --> 00:09:50,080 >> Nu, se vi opinias pri ĝi dum sekundo. 193 00:09:50,080 --> 00:09:52,824 PHP, la interpretisto havas interpreti kion ŝi vidas. 194 00:09:52,824 --> 00:09:54,990 Kaj tiel ĝi tuj devos ekzekuti linion de kodo. 195 00:09:54,990 --> 00:09:56,450 Elprinti HTML. 196 00:09:56,450 --> 00:09:57,700 Elprinti malfermita kapo etikedo. 197 00:09:57,700 --> 00:09:58,969 Elprinti malfermita titolo etikedo. 198 00:09:58,969 --> 00:10:00,760 Ĝi tuj devos ekzekuti kaj interpreti 199 00:10:00,760 --> 00:10:02,671 ke ĉiu unuopa paŝo de la vojo. 200 00:10:02,671 --> 00:10:04,670 Kial ne simple lasu la interpretisto simple forgliti super 201 00:10:04,670 --> 00:10:06,878 aferoj ne kompreni kaj faras aŭtomate? 202 00:10:06,878 --> 00:10:11,365 Ĝi tuj savi min multa tempo miksi miajn HTML kaj PHP miaj kune. 203 00:10:11,365 --> 00:10:16,220 >> Kaj do jen kial ni ne nur havi malfermitaj PHP delimitador 204 00:10:16,220 --> 00:10:19,450 kaj tiam simple printi la tutan enhavo de nia paĝo kiel unu giganta PHP 205 00:10:19,450 --> 00:10:24,330 vokas al la funkcio, Print, kaj tiam proksime PHP delimitador kaj ni faris. 206 00:10:24,330 --> 00:10:27,620 Tial do ni miksas ilin kune. 207 00:10:27,620 --> 00:10:32,345 >> Ĝis nun, ni ne vidis tro diferenco de ĝeneralaj PHP sintakso. 208 00:10:32,345 --> 00:10:33,720 Ĝi estas estita sufiĉe simpla. 209 00:10:33,720 --> 00:10:35,553 Ni jam vidis la demandosigno, egalaj. 210 00:10:35,553 --> 00:10:39,012 Ni vidis paron de novaj funkcio vokoj, sed nenio vere imago okazas. 211 00:10:39,012 --> 00:10:40,720 Ni eble fari aferojn iom amatoro. 212 00:10:40,720 --> 00:10:44,360 Kio se ni volas pasi informon inter malsamaj PHP dosierojn, 213 00:10:44,360 --> 00:10:47,280 tiel ke eble la uzanto povas prezenti informon al mi. 214 00:10:47,280 --> 00:10:50,230 Kaj tiam mi povis fari ion per ĝi en alia paĝo. 215 00:10:50,230 --> 00:10:52,990 >> Do PHP havas subtenon por iu nomita Super Ĝenerala 216 00:10:52,990 --> 00:10:55,297 Variabloj, kiuj sonas sufiĉe timinda. 217 00:10:55,297 --> 00:10:57,130 Ili estas vere ĝuste giganto asociaj tabeloj 218 00:10:57,130 --> 00:10:59,900 kiu helpas apliki tiun funcionalidad de forpaso 219 00:10:59,900 --> 00:11:05,010 informo inter PHP dosierojn kiuj estas ekzistantaj sur nia ttt-servilo. 220 00:11:05,010 --> 00:11:07,760 >> La unua de tiuj super globals nomiĝas $ _GET. 221 00:11:07,760 --> 00:11:10,140 Kaj estas probable la simplaj kompreni. 222 00:11:10,140 --> 00:11:12,430 Kio okazas kun $ _GET? 223 00:11:12,430 --> 00:11:16,240 Nu, resume, la uzanto estas tuj tajpi ekstra informo 224 00:11:16,240 --> 00:11:18,390 ĉe la fino de nia URLoj. 225 00:11:18,390 --> 00:11:21,460 Kaj kion ajn ili tajpu, supozante ĝi estas formatita per speciala maniero 226 00:11:21,460 --> 00:11:25,830 nomiĝas query string, kiu estas nur aro de ŝlosila valoro paroj apartigitaj 227 00:11:25,830 --> 00:11:27,810 per ampersands. 228 00:11:27,810 --> 00:11:32,362 Tiuj ŝlosilaj valoro paroj estos stokitaj en $ _GET asocieca tabelo. 229 00:11:32,362 --> 00:11:34,070 Kaj de nia vídeo sur PHP sintakso, ni scias 230 00:11:34,070 --> 00:11:40,080 kiel labori kun asociaj tabeloj jam. 231 00:11:40,080 --> 00:11:44,090 Do tie estas ekzemplo de iuj PHP, kie eble mi estas 232 00:11:44,090 --> 00:11:50,180 ĉerpi ĉiujn la ŝlosilo valoro paroj ke la uzanto provizitaj en la URL. 233 00:11:50,180 --> 00:11:51,970 Do mi havas mian Malferma PHP delimitador. 234 00:11:51,970 --> 00:11:53,410 Mi havas foreach buklo. 235 00:11:53,410 --> 00:11:57,410 Mi ripetanta tra la Super Tutmondaj array nomita $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> Kaj mi volas povi rilati al ambaŭ la ŝlosilo kaj la valoro. 237 00:12:00,160 --> 00:12:02,410 Kaj mi simple videbligi ilin eksteren, ĉiu sur ŝajne 238 00:12:02,410 --> 00:12:03,780 lia propra alineo etikedo tie. 239 00:12:03,780 --> 00:12:07,620 Mi presi ekstere kelkajn HTML kaj interpolanta la valoroj 240 00:12:07,620 --> 00:12:12,900 de ŝlosilo kaj valoron en tiu deklaro. 241 00:12:12,900 --> 00:12:16,980 >> Do ni rigardu kiel tio povus fakte funkcii sur nia IDE. 242 00:12:16,980 --> 00:12:18,980 Kaj eble tio helpos ilustri iomete 243 00:12:18,980 --> 00:12:21,880 kio GET estas efektive faranta. 244 00:12:21,880 --> 00:12:23,610 Do mi estas reen tie en mia ttt radiko. 245 00:12:23,610 --> 00:12:25,318 Kaj Mi zomi en iomete montri vin 246 00:12:25,318 --> 00:12:28,620 ke mi havas dosieron nomata, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Do ni alklaku get1.php. 248 00:12:31,830 --> 00:12:36,600 Kaj mi ne vidas ajnan enhavon. 249 00:12:36,600 --> 00:12:38,390 Tio estas stranga, ĉu ne? 250 00:12:38,390 --> 00:12:39,740 Nu, ne vere reale. 251 00:12:39,740 --> 00:12:42,030 Ĉar mi ne provizi ion en la URL. 252 00:12:42,030 --> 00:12:46,270 Mi tuj get1.php, sed mi ne provizi ajnan ŝlosilo valoro paroj 253 00:12:46,270 --> 00:12:47,450 kiel parto de mia query string. 254 00:12:47,450 --> 00:12:50,510 Do ni aldonu query string kaj vidi kion ĉi tiu dosiero povas fari. 255 00:12:50,510 --> 00:12:53,040 >> Komenci query string vi nur tajpu demandosigno. 256 00:12:53,040 --> 00:13:00,820 Tiam eble mi diru nomo = & Doug jaro = 2015. 257 00:13:00,820 --> 00:13:02,914 Kaj tiam mi batis Enter. 258 00:13:02,914 --> 00:13:04,080 Nun rimarki kio okazas. 259 00:13:04,080 --> 00:13:05,480 Mi estas ankoraŭ en get1.php. 260 00:13:05,480 --> 00:13:08,445 Sed nun mi liveris ŝlosilo valoro paroj, kaj mi estas 261 00:13:08,445 --> 00:13:14,940 presi ilin ekstere arope paragraph-- nomo, Doug-- jaro, 2015. 262 00:13:14,940 --> 00:13:17,970 Tio estas ĝuste la kodo ni simple vidis sur la glito antaŭ momento. 263 00:13:17,970 --> 00:13:22,290 >> Kaj se mi volas eble aldoni alian ŝlosilo valoro paro, & klaso = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Nun mi havas alian ŝlosilon valoro simila kiu estas presita eksteren 266 00:13:27,580 --> 00:13:30,025 kiam mi reviziti la URL denove. 267 00:13:30,025 --> 00:13:31,900 Nun eble tio ne formatita terure bone. 268 00:13:31,900 --> 00:13:33,660 Do mi havas alian version de get.php. 269 00:13:33,660 --> 00:13:36,350 Estas get2.php. 270 00:13:36,350 --> 00:13:39,070 >> La diferenco en ĉi unu estas mi havas CSS -dosiero, 271 00:13:39,070 --> 00:13:41,690 kaj ĝi formatojn aferojn iom pli bele por mi. 272 00:13:41,690 --> 00:13:43,940 Ĝi estas eble ne la plej bela CSS en la mondo. 273 00:13:43,940 --> 00:13:45,650 Sed estas nur alia maniero fari ĝin. 274 00:13:45,650 --> 00:13:52,840 Do mi ankoraŭ povas akiri aliron al mia variabloj uzante $ _GET. 275 00:13:52,840 --> 00:13:56,610 Kaj en ĉi tiu kazo, mi estas nur speco de farante la CSS iom pli eleganta. 276 00:13:56,610 --> 00:13:58,360 Kaj se ni pop super al miaj IDE por dua, 277 00:13:58,360 --> 00:14:06,870 Mi montros al vi en mia PHP retejo dosierujo tie, get2.php. 278 00:14:06,870 --> 00:14:10,010 Ni malfermos ĝin, iuj HTML. 279 00:14:10,010 --> 00:14:13,220 Ŝajne mi kunligi ke CSS dosiero mi parolas. 280 00:14:13,220 --> 00:14:14,570 Mi malfermu tablo etikedo. 281 00:14:14,570 --> 00:14:15,970 Kaj poste jen mia foreach buklo. 282 00:14:15,970 --> 00:14:18,450 >> Jen tio, kion mi montris sur la glito antaŭe. 283 00:14:18,450 --> 00:14:21,007 La sola diferenco estas mi havas tiun ŝlosilon kaj valoro CSS 284 00:14:21,007 --> 00:14:22,340 stiligante ke mi aplikanta al ĝi. 285 00:14:22,340 --> 00:14:25,622 Sed jen ĉio mi faras, estas mi ripetanta trans $ _GET akiri ĉiuj 286 00:14:25,622 --> 00:14:26,580 de la ŝlosilo valoro paroj. 287 00:14:26,580 --> 00:14:28,890 >> Kaj mi presi ilin eksteren kiel la tablo. 288 00:14:28,890 --> 00:14:33,230 Kaj, ŝajne, mi formati la klavoj unumaniere kun la 00:14:40,057 Do ŝajne ke validas por iuj klaso selector en mia CSS-dosiero GET.CSS. 290 00:14:40,057 --> 00:14:42,890 Kaj, ŝajne, mi estas presi el miaj valoroj plene malsama maniero. 291 00:14:42,890 --> 00:14:45,530 Kio estas preskaux kion ni vidis tie, kie 292 00:14:45,530 --> 00:14:47,710 niaj valoroj estis presitaj kun blua fono, 293 00:14:47,710 --> 00:14:49,969 kaj niajn ŝlosilojn estis presitaj kun flava fono. 294 00:14:49,969 --> 00:14:52,010 Do jen kiel mi ricevas tiuj malsamaj stiloj. 295 00:14:52,010 --> 00:14:54,054 Ĉar mi uzas malsamajn CSS klasoj. 296 00:14:54,054 --> 00:14:55,470 Sed tio estas sufiĉe multe por GET. 297 00:14:55,470 --> 00:14:58,380 Kiel mi simple ĉerpante informojn. 298 00:14:58,380 --> 00:15:01,000 Kaj en ĉi tiu kazo, mi estas nur presi ĝin al la ekrano. 299 00:15:01,000 --> 00:15:04,310 Mi ricevas ĝin el la URL, kaj tio GET faras por ni. 300 00:15:04,310 --> 00:15:06,470 >> Ĉu vi vidas eblan problemo tie kvankam? 301 00:15:06,470 --> 00:15:11,720 Kial ni eble Ne volas uzi $ _GET? 302 00:15:11,720 --> 00:15:15,440 Kio se, eble, mi estis farante ĉi query? 303 00:15:15,440 --> 00:15:18,000 --to get3.php, kiun mi ne havas sur mia IDE. 304 00:15:18,000 --> 00:15:19,640 Estas nur hipoteza dosiero. 305 00:15:19,640 --> 00:15:22,187 Sed rimarki ĉi tie ke ŝajne pasante mia pasvorto. 306 00:15:22,187 --> 00:15:23,770 Kaj eble mia pasvorto estas hontinda. 307 00:15:23,770 --> 00:15:28,070 Aŭ eble mi ne volas ke oni scias kion mia pasvorto estas, dekstre. 308 00:15:28,070 --> 00:15:33,140 >> Se mi pasante ŝin though-- se mi uzas la $ _GET metodo, kio okazas estas, 309 00:15:33,140 --> 00:15:34,970 ke tuj estos en la URL. 310 00:15:34,970 --> 00:15:39,890 Do iu malica uzanto povus povos vidi kion mi faras. 311 00:15:39,890 --> 00:15:42,040 Mi povas pasi ilin sentema informo. 312 00:15:42,040 --> 00:15:43,310 Aŭ eble estas eĉ malica uzanto. 313 00:15:43,310 --> 00:15:45,790 Eble estas nur via amiko kiu staras super via ŝultro. 314 00:15:45,790 --> 00:15:47,650 Nun ili scias la pasvorton al via Facebook konto. 315 00:15:47,650 --> 00:15:49,483 >> Kaj eble ili ne volis fari ion per ĝi. 316 00:15:49,483 --> 00:15:53,749 Sed se via pasvorto estis prezentita per $ _GET Facebook, 317 00:15:53,749 --> 00:15:55,290 Nun ili scias vian Facebook pasvorton. 318 00:15:55,290 --> 00:15:59,000 Ĉar estas ĝuste tie en la URL kiam vi faris sendado informo. 319 00:15:59,000 --> 00:16:01,887 >> Kaj do eble tio ne estas la plej bona maniero pasi sentema informo. 320 00:16:01,887 --> 00:16:04,470 Estas bona maniero por pasi informo ke ni ne aparte 321 00:16:04,470 --> 00:16:05,886 zorgi pri kiel esti tro sentema. 322 00:16:05,886 --> 00:16:09,347 Ĉar GET estas sufiĉe rapida, relativa al la aliaj super globals 323 00:16:09,347 --> 00:16:10,430 ni tuj paroli. 324 00:16:10,430 --> 00:16:13,330 Sed eble ne la plej bona ilo por sentema informo. 325 00:16:13,330 --> 00:16:15,990 >> Por ke ni povus voli uzi iun nomita $ _POST, 326 00:16:15,990 --> 00:16:18,560 kiu estas alia super tutmonda variablo. 327 00:16:18,560 --> 00:16:20,750 Ĝi estas alia asocieca tabelo. 328 00:16:20,750 --> 00:16:23,240 Do ĝi funkcias sufiĉe multe ĝuste la sama kiel GET. 329 00:16:23,240 --> 00:16:26,850 Krom, anstataŭ ĉerpi informoj el la URL, 330 00:16:26,850 --> 00:16:29,870 faras iun tra HTTP kaplinioj. 331 00:16:29,870 --> 00:16:32,080 Do rememori el nia vídeo sur HTTP, ni parolis 332 00:16:32,080 --> 00:16:34,850 pri kiel retumiloj, serviloj, kaj klientoj komunikas. 333 00:16:34,850 --> 00:16:38,070 Kaj informo trasmite reen kaj reen en HTTP kaplinioj. 334 00:16:38,070 --> 00:16:43,330 >> Kun $ _POST, informoj estas tipe sendita tra tiuj HTTP kaplinioj. 335 00:16:43,330 --> 00:16:49,770 Kaj ni plej ofte vidi $ _POST en la kunteksto de sendado HTML formoj. 336 00:16:49,770 --> 00:16:52,390 Vi tamen povas uzi HTML formoj submeti aferoj ENIRU. 337 00:16:52,390 --> 00:16:56,120 Sed ili estas kutime uzita en la kunteksto de POST. 338 00:16:56,120 --> 00:17:00,280 >> Do jen ekzemplo de HTML formo. 339 00:17:00,280 --> 00:17:06,750 Nun ni vidis tiujn antaŭe, sed ni havas ne vidis tiun parton, agado = "post.php". 340 00:17:06,750 --> 00:17:10,756 Do kiam ni parolis pri formoj en la kunteksto de HTML, mi havis Submetu butonon. 341 00:17:10,756 --> 00:17:13,630 Kaj se vi memoras, mi klaki Submit kaj tiam la paĝo nur refresxigis, 342 00:17:13,630 --> 00:17:14,660 faris nenion. 343 00:17:14,660 --> 00:17:18,250 >> En tiu kazo, mi sendado kion mi tajpas ĉe tiu formo, 344 00:17:18,250 --> 00:17:20,750 al PHP-dosiero nomita post.php. 345 00:17:20,750 --> 00:17:25,810 Kaj, ŝajne, la maniero mi faras ke en tiu formo estas uzante la POST metodo. 346 00:17:25,810 --> 00:17:29,040 Do ĉiu peco de informo ke mi tajpas en tiun formon 347 00:17:29,040 --> 00:17:31,470 estos prezentita tra la HTTP kaplinioj. 348 00:17:31,470 --> 00:17:36,440 >> Estos alirebla en post.php, ĉar tio estas la ago de mia formo. 349 00:17:36,440 --> 00:17:39,811 Estos alirebla irante al $ _POST. 350 00:17:39,811 --> 00:17:42,310 Kaj ŝajne, la maniero mi povas atingi ĉe ĉiu individua elemento 351 00:17:42,310 --> 00:17:44,765 kun tiu asocieca tabelo Estas kun ĉi tiu atributo, 352 00:17:44,765 --> 00:17:48,130 la Nomo atributo de niaj enigo etikedoj. 353 00:17:48,130 --> 00:17:53,540 >> Do ŝajne mi povas diri $ _POST kvadrataj krampoj nomi akiri kion ajn la uzanto 354 00:17:53,540 --> 00:17:55,440 tajpita en la unua kampo. 355 00:17:55,440 --> 00:18:01,030 Kaj $ _POST pasvorton, de pw prefere, akiri ĉe kio ajn la uzanto tajpas 356 00:18:01,030 --> 00:18:03,650 en la dua kampo. 357 00:18:03,650 --> 00:18:06,414 >> Do ni rigardu aferon CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Do jen ni estas, kaj mi zomi enen por dua. 359 00:18:08,330 --> 00:18:12,380 Kaj ni havas dosieron nomatan post.html. 360 00:18:12,380 --> 00:18:13,690 Mi alklaku post.html. 361 00:18:13,690 --> 00:18:16,300 Ĉe la plejsupro tie mi havas tre simpla retejo formo. 362 00:18:16,300 --> 00:18:18,750 Ĝi estas la formo ni ĵus vidis sur la glitejo duan antaŭe. 363 00:18:18,750 --> 00:18:25,610 >> Mi povas tajpi, Doug, kaj mi povas tajpi mian pasvorton, kiun ni ĉiuj 364 00:18:25,610 --> 00:18:27,340 scii estas squadgoals. 365 00:18:27,340 --> 00:18:30,100 Kaj Mi batis Proponu. 366 00:18:30,100 --> 00:18:32,290 Kaj ŝajne, ke submetas al post.php. 367 00:18:32,290 --> 00:18:33,810 Kaj mi ŝajne videbligi tion. 368 00:18:33,810 --> 00:18:36,490 Do mi liverante de ĉiuj sekureco ke POST donas min por nur presi el 369 00:18:36,490 --> 00:18:37,720 la salutnomon kaj pasvorton. 370 00:18:37,720 --> 00:18:38,960 >> La uzanto nomo estas Doug. 371 00:18:38,960 --> 00:18:40,810 La uzanto pasvorto estas squadgoals. 372 00:18:40,810 --> 00:18:42,480 Kiel mi faru tion? 373 00:18:42,480 --> 00:18:44,800 Nu, pop super al IDE denove por dua. 374 00:18:44,800 --> 00:18:51,340 Ni rulumu malsupren por preni Rigardu post.php, kiu estis 375 00:18:51,340 --> 00:18:54,040 la ago kiun mi uzis por sendi tie. 376 00:18:54,040 --> 00:18:55,739 Tio estis la agado de mia HTML formo. 377 00:18:55,739 --> 00:18:56,780 Kaj jen ĉio mi faras. 378 00:18:56,780 --> 00:19:01,370 La uzanto nomo estas, kaj mi estas printado el la enhavon de $ _POST "nomo". 379 00:19:01,370 --> 00:19:04,660 Kaj tiam la uzanto pasvorton estas $ _POST "pasvorto". 380 00:19:04,660 --> 00:19:08,920 Do mi ricevis tiun informon sendante la HTML formo. 381 00:19:08,920 --> 00:19:13,790 Kaj mi nun povas ĉerpi ĝin uzante $ _POST ĉar la metodo mi uzis transdoni 382 00:19:13,790 --> 00:19:17,470 datumojn ke formo estis la POST metodo. 383 00:19:17,470 --> 00:19:20,640 >> Nun ĝi estas probable ne tiel great-- Mi tuj 384 00:19:20,640 --> 00:19:24,510 iri reen dum sekundo al nia aro here-- 385 00:19:24,510 --> 00:19:30,120 ĝi estas probable ne tiom grandaj, se mi Sendante informojn kun POST, 386 00:19:30,120 --> 00:19:32,532 kiu estas ŝajne pli sekura. 387 00:19:32,532 --> 00:19:34,740 Estas probable ne tiel granda se mi faras tion kaj tiam 388 00:19:34,740 --> 00:19:36,470 presi el la uzanto pasvorton. 389 00:19:36,470 --> 00:19:38,540 Ĝi estas supozita esti pli sekura. 390 00:19:38,540 --> 00:19:40,870 >> Bone, sed ĝi ne estas tute sekura. 391 00:19:40,870 --> 00:19:42,910 Kaj tiel en tiu iom fragmento tie mi volas 392 00:19:42,910 --> 00:19:46,410 nur atentigi vin iuj datumoj sekureco koncernoj, nur io 393 00:19:46,410 --> 00:19:51,200 pensi pri kiel vi estas laborante aŭ uzante la interreton. 394 00:19:51,200 --> 00:19:53,890 Tiu estas nur iu al konsideri. 395 00:19:53,890 --> 00:19:57,980 >> Mi diris al vi, ke informo prezentis tra HTTP kaplinioj 396 00:19:57,980 --> 00:19:59,724 kiam vi uzas la POST metodo. 397 00:19:59,724 --> 00:20:01,390 Kio signifas ili ne estas tute sekura. 398 00:20:01,390 --> 00:20:05,610 Ili estas malpli facile trovi ol uzante la GET metodo, kie 399 00:20:05,610 --> 00:20:06,882 ĝi estas nur ĝuste en la URL. 400 00:20:06,882 --> 00:20:08,340 Sed estas ankoraŭ maniero por trovi ĝin. 401 00:20:08,340 --> 00:20:10,423 Kaj mi nur deziras montri vi, por ke vi eble 402 00:20:10,423 --> 00:20:12,940 komenci pensi pri tiu kiel vi laboras, aŭ uzante 403 00:20:12,940 --> 00:20:14,560 retejoj kaj Submeti pasvortoj, kaj eble uzante 404 00:20:14,560 --> 00:20:16,518 la saman pasvorton en multaj malsamaj lokoj. 405 00:20:16,518 --> 00:20:22,060 Sciu ke estas ankoraŭ efektive sufiĉe facile eltrovi ies pasvorton. 406 00:20:22,060 --> 00:20:25,190 >> Kaj do ĉi tie, mi tuj iri al post2.html. 407 00:20:25,190 --> 00:20:28,850 Kaj la diferenco kun post2.html kaj post2.php estas sufiĉe subtila. 408 00:20:28,850 --> 00:20:31,420 La diferenco estas nur ke mi ne elprinti 409 00:20:31,420 --> 00:20:33,520 la pasvorton kiam mi submeti la formo. 410 00:20:33,520 --> 00:20:35,260 >> Do mi tuj tajpi en, Doug. 411 00:20:35,260 --> 00:20:38,365 Kaj mi tuj tajpi en, squadgoals, eĉ 412 00:20:38,365 --> 00:20:40,770 kvankam ni scias ke estas la pasvorton. 413 00:20:40,770 --> 00:20:42,540 Antaŭ mi opinias la formi kvankam, mi tuj 414 00:20:42,540 --> 00:20:45,864 malfermiĝi Developer Tools, nur por montri al vi kion okazos tie. 415 00:20:45,864 --> 00:20:47,530 Do en Chrome, mi simple tuj trafi F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 Kaj ke tuj malfermos miajn Ellaboranto Iloj dekstre flanka. 418 00:20:57,230 --> 00:20:59,480 Mi ne submetis ĝin ankoraŭ. 419 00:20:59,480 --> 00:21:02,680 Nun mi tuj trafis Proponu sur mia formo. 420 00:21:02,680 --> 00:21:05,370 Kaj ŝajne, mi faris vokas, aŭ mi faris peton 421 00:21:05,370 --> 00:21:07,620 al post2.php, kiuj havas sencon. 422 00:21:07,620 --> 00:21:10,040 Mi tuj klaku sur tio. 423 00:21:10,040 --> 00:21:13,802 >> Tiam super tie, mi tuj alklaki kaplinioj. 424 00:21:13,802 --> 00:21:15,410 Ekzistas multe da aĵoj okazas ĉi tie. 425 00:21:15,410 --> 00:21:21,310 Sed se mi rulumu malsupren al la tre fundo, avizo dekstra there-- mia kalendaro 426 00:21:21,310 --> 00:21:25,180 blokis gxin kiel second-- dekstra tie je la tre fundo angulo, 427 00:21:25,180 --> 00:21:27,386 name-- Doug, pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 Do kvankam mi uzas la POST metodo, kiu estas pli sekura, 429 00:21:30,010 --> 00:21:33,570 nur konscii, ke kiam vi faras tion, vi ankoraŭ transdoni informojn 430 00:21:33,570 --> 00:21:34,430 tra HTTP. 431 00:21:34,430 --> 00:21:36,770 Kaj ĝi povas ankoraŭ esti trovita de kontrauxulo. 432 00:21:36,770 --> 00:21:39,270 Estas nur ion ke ni tuj al devi trakti vere. 433 00:21:39,270 --> 00:21:41,980 Eble tie estas iuj manieroj por ĉifri nia pasvortoj antaŭ ni sendu ilin, 434 00:21:41,980 --> 00:21:44,410 kiu estus pli bona, kion mi ne faras cxi tie. 435 00:21:44,410 --> 00:21:47,010 >> Sed nur konscii ke la POST metodo havas limigojn ankaŭ. 436 00:21:47,010 --> 00:21:49,801 Ĝi estas plibonigo super ENIRU Kondiĉoj de esti tuj videbla. 437 00:21:49,801 --> 00:21:51,280 Sed ĝi ne estas kompleta embaraso. 438 00:21:51,280 --> 00:21:53,280 Do jen ekzemplo de rapidan hejme ekzerco 439 00:21:53,280 --> 00:21:56,350 kiun vi povas uzi por akiri iom praktiki laborante kun PHP. 440 00:21:56,350 --> 00:21:58,300 Krei la sekva paro de retpaĝoj. 441 00:21:58,300 --> 00:22:00,960 La unua devus esti nur tre simplaj formas kun sola kampo kaj Submit 442 00:22:00,960 --> 00:22:01,460 butono. 443 00:22:01,460 --> 00:22:04,070 Do tre simila al kion ni nur faris kun post.html. 444 00:22:04,070 --> 00:22:07,450 >> Kaj tiam la dua dosieron vi devus krei 445 00:22:07,450 --> 00:22:11,687 dosiero, PHP-dosiero, ke atendas enigo, tra POST, 446 00:22:11,687 --> 00:22:14,770 kaj surbaze de kion la uzanto tajpas, kiu vi povas supozi estos entjero. 447 00:22:14,770 --> 00:22:16,160 Vi ne devas fari ajnan Eraro kontrolanta aŭ similaj. 448 00:22:16,160 --> 00:22:18,284 Vi povas supozi ke la uzanto tajpos entjera valoro, 449 00:22:18,284 --> 00:22:22,230 aŭ io kiel interpretita de PHP kiel entjero, en tiun formon. 450 00:22:22,230 --> 00:22:24,790 Vi nur volas krei n per n multipliko tablo. 451 00:22:24,790 --> 00:22:28,480 >> Do se la uzanto submetas 10, ni volas havas 10 per 10 multipliko tablo. 452 00:22:28,480 --> 00:22:31,832 Se la uzanto submetas 12, ni volas 12 de 12 multipliko tablo. 453 00:22:31,832 --> 00:22:33,790 Ĝuste tiel vi povas vidi kion ni celas tie ĉi, 454 00:22:33,790 --> 00:22:36,040 ni rigardu ĉi dosiero en mia IDE. 455 00:22:36,040 --> 00:22:38,080 >> Do jen en IDE, mi havas mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Mi klaki ĝin. 458 00:22:43,100 --> 00:22:46,020 Ĉiuj mi deziras fari estas prezenti valoro. 459 00:22:46,020 --> 00:22:47,590 Tajpu 10, batis Proponu. 460 00:22:47,590 --> 00:22:51,190 Kaj ŝajne, mult_table.php, kiu ni povas vidi ĉe la pinto en la URL, 461 00:22:51,190 --> 00:22:53,970 Mi kreante 10 de 10 multipliko tablo. 462 00:22:53,970 --> 00:22:59,365 >> Se mi tajpas 15 kaj batis Submit, nun mi havas 15 por 15 multipliko tablo. 463 00:22:59,365 --> 00:23:02,240 Mi, kompreneble, ne tuj montras vi la enhavon de mult_table.php, 464 00:23:02,240 --> 00:23:04,781 ĉar kiu portus la amuzo el ĉi hejme ekzerco. 465 00:23:04,781 --> 00:23:07,480 Sed ĝi estas granda vojo akiri iun praktiki laborante per PHP cikloj 466 00:23:07,480 --> 00:23:10,889 kaj POST, tre simpla, espereble streso libera ekzemple, ĵus 467 00:23:10,889 --> 00:23:12,180 fari iom da praktiko. 468 00:23:12,180 --> 00:23:16,540 Kaj mi havas iom CSS daŭriganta tie al fari mian individuan tablo 469 00:23:16,540 --> 00:23:19,710 ĉeloj nur speco de pop suferintojn iomete kaj aspektas iom pli 470 00:23:19,710 --> 00:23:22,205 kiel multipliko tablo kontraste al nur teksto nur 471 00:23:22,205 --> 00:23:23,261 ia sidas tie. 472 00:23:23,261 --> 00:23:26,260 La lasta super tutmonda ni parolos pri en tiu video estas iu nomita 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 Kaj eble tio estas fakte la plej bona ekzemplo de io 475 00:23:29,930 --> 00:23:31,700 ni konsiderus tutmondan. 476 00:23:31,700 --> 00:23:33,189 Ĝi estas alia tabelo. 477 00:23:33,189 --> 00:23:34,480 Ĝi estas alia asocieca tabelo. 478 00:23:34,480 --> 00:23:40,580 Sed estas alirebla tra ĉiu PHP dosieron kiu ekzistas sur nia sistemo. 479 00:23:40,580 --> 00:23:43,410 >> Ni ne devas submetiĝi informo unu paĝo samtempe 480 00:23:43,410 --> 00:23:45,400 kiel ni faras kun GET kaj POST kun. 481 00:23:45,400 --> 00:23:46,380 Ĝi estas ĉiam tie. 482 00:23:46,380 --> 00:23:50,040 Kaj tiel tio estas granda por paĝo kie vi estas ensalutinta, ekzemple, 483 00:23:50,040 --> 00:23:53,120 kaj vi volas vian salutinformon persistemaj de paĝo al paĝo al paĝo. 484 00:23:53,120 --> 00:23:58,180 >> Vi povas simple komenci kunsidon kaj tiam uzi $ _SESSION savi aferojn kiel 485 00:23:58,180 --> 00:24:02,320 la uzanto nomo, aŭ la uzanto ID informo, kaj tiel plu. 486 00:24:02,320 --> 00:24:07,600 Kaj ke informo restos en $ _SESSION Ĝis vi detruos la kunsido 487 00:24:07,600 --> 00:24:09,550 iomete poste. 488 00:24:09,550 --> 00:24:12,375 >> Skribante dinamikajn retejojn kun PHP faras ilin multe pli bone. 489 00:24:12,375 --> 00:24:14,250 Via lokoj fariĝis tre dinamika, kaj vi ne 490 00:24:14,250 --> 00:24:17,670 devi fari tro multe pli ol kio vi alie estus farinta ĵus 491 00:24:17,670 --> 00:24:18,920 farante ĝin kun HTML. 492 00:24:18,920 --> 00:24:21,630 Sed ĝi postulas praktikon, multan praktikon. 493 00:24:21,630 --> 00:24:26,897 >> Vi jam scias kiel labori per C, kaj tiel saltas al PHP ne estas tro malfacila. 494 00:24:26,897 --> 00:24:28,730 Kio estas eble iom iom malfacila laboras 495 00:24:28,730 --> 00:24:33,180 kun tiu nova ideo de GET kaj POST, kaj eble miksante via HTML kaj via PHP 496 00:24:33,180 --> 00:24:34,220 kune. 497 00:24:34,220 --> 00:24:37,570 Sed ankaŭ atenti ke la interreto Estas vasta deponejo de informoj. 498 00:24:37,570 --> 00:24:41,670 Kaj PHP la dokumentado estas disponeblaj multloke, sed eble plej 499 00:24:41,670 --> 00:24:43,354 kanone ĉe php.net. 500 00:24:43,354 --> 00:24:45,520 Kaj vi povas trovi tie, multaj malsamaj funkcioj, 501 00:24:45,520 --> 00:24:48,330 kaj uzi kazoj kaj ekzemploj sur ekzemploj, sur ekzemploj. 502 00:24:48,330 --> 00:24:51,340 Kie se vi volas provi kaj figuro eksteren kiel fari ion, probablecoj estas, 503 00:24:51,340 --> 00:24:52,964 iu verŝajne faris ĝin antaŭ vi. 504 00:24:52,964 --> 00:24:55,840 Kaj vi povas uzi ilin kiel inspiro implementar ajn 505 00:24:55,840 --> 00:24:58,230 ĝi estas vi provas apliki ankaŭ. 506 00:24:58,230 --> 00:24:59,230 >> Mi Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 Jen CS50. 508 00:25:01,210 --> 00:25:02,608