1 00:00:00,000 --> 00:00:05,720 2 00:00:05,720 --> 00:00:07,620 >> DOUG LLOYD: Więc w naszym wideo w składni PHP, 3 00:00:07,620 --> 00:00:10,480 Dużo rozmawialiśmy o tym, jak PHP może być stosowana w linii poleceń 4 00:00:10,480 --> 00:00:13,620 do uruchamiania programów w sposób, który jesteśmy bardzo znają się od C 5 00:00:13,620 --> 00:00:15,370 Ale, jak również wymienione w tym wideo, PHP 6 00:00:15,370 --> 00:00:19,572 pierwotnie opracowany wdrożenia programowania stron internetowych, strony internetowe. 7 00:00:19,572 --> 00:00:21,780 I tak w tym filmie jesteśmy będziemy rozmawiać o tym, jak 8 00:00:21,780 --> 00:00:23,890 korzystać z PHP w kontekście rozwoju sieci. 9 00:00:23,890 --> 00:00:26,360 >> Wiemy już, z nasza wideo w formacie HTML, 10 00:00:26,360 --> 00:00:29,820 że strony internetowe są budowane z zestawem znaczników HTML 11 00:00:29,820 --> 00:00:32,850 które semantycznie zdefiniować struktura strony internetowej. 12 00:00:32,850 --> 00:00:35,910 Ale strony internetowe, które są zbudowany z czystym HTML 13 00:00:35,910 --> 00:00:39,510 cierpi na bardzo, bardzo poważne ograniczenie. 14 00:00:39,510 --> 00:00:42,690 >> Oraz w celu zilustrowania tego ograniczenia Rozważmy następujące. 15 00:00:42,690 --> 00:00:45,665 Więc teraz chcę zbudować stronę internetową że, gdy użytkownik odwiedza go, 16 00:00:45,665 --> 00:00:49,760 to daje mi prąd Czas w Cambridge, Mass., 17 00:00:49,760 --> 00:00:52,620 wyświetlając go do najnowszej minutę. 18 00:00:52,620 --> 00:00:57,910 Gdybym robił to teraz, Mogę powiedzieć coś takiego. 19 00:00:57,910 --> 00:01:01,330 Aktualny czas w Cambridge-- więc mam Tagi HTML, znaczniki głowy, title, 20 00:01:01,330 --> 00:01:04,610 Ciało tags-- prąd Czas w Cambridge jest 14:08, 21 00:01:04,610 --> 00:01:06,690 drukowanie czasu wojskowej. 22 00:01:06,690 --> 00:01:11,390 >> Co się stanie, jeśli to teraz 14:09, 14:09? 23 00:01:11,390 --> 00:01:16,470 Dobrze do tej pory, z HTML, mam wejść i zmienić go na 14:09. 24 00:01:16,470 --> 00:01:19,390 A potem minutę później, Muszę zmienić go ponownie. 25 00:01:19,390 --> 00:01:22,132 A potem minutę później, Muszę zmienić go ponownie. 26 00:01:22,132 --> 00:01:24,590 I jak można sobie wyobrazić, że to chyba najgorsza praca kiedykolwiek. 27 00:01:24,590 --> 00:01:29,420 Jesteś webmasterem strony internetowej, i każda minuta, 24 godziny na dobę, 28 00:01:29,420 --> 00:01:35,970 trzeba zaktualizować aktualny czas ręcznego otwierania time.html i zmiany 29 00:01:35,970 --> 00:01:41,750 tylko, że fragment kodu do powiedzenia Aktualny czas w godzinach i minutach. 30 00:01:41,750 --> 00:01:45,850 To chyba nie bardzo dobre wykorzystanie naszych zasobów, 31 00:01:45,850 --> 00:01:48,880 zarówno ludzkich, jak i obliczeniowych. 32 00:01:48,880 --> 00:01:51,297 >> Strony internetowe, które są wszystkie HTML są całkowicie statyczna. 33 00:01:51,297 --> 00:01:53,630 Tylko w ten sposób można zaktualizować treści, jak właśnie widać, 34 00:01:53,630 --> 00:01:56,339 jest ręczne otworzenie źródło pliki, edytować je i zapisywać je. 35 00:01:56,339 --> 00:01:58,088 I wtedy, gdy użytkownik odświeża stronę, 36 00:01:58,088 --> 00:02:01,080 lub odwiedza stronę po raz pierwszy Czas, dostaną najnowszą zawartość. 37 00:02:01,080 --> 00:02:03,970 Ale tylko dlatego, że mamy ręcznie edytować go. 38 00:02:03,970 --> 00:02:07,980 >> Jeśli zaczniemy mieszać trochę PHP tam, nasz kod może uzyskać o wiele bardziej elastyczne. 39 00:02:07,980 --> 00:02:11,940 A może mamy sposób na naszych stronach być dynamiczne, lub zaktualizować siebie, 40 00:02:11,940 --> 00:02:15,360 bez konieczności nasz biedny wiadomości w poprzednim przykładzie 41 00:02:15,360 --> 00:02:16,662 być ręcznie zaktualizować rzeczy. 42 00:02:16,662 --> 00:02:17,870 Mogą to zrobić automatycznie. 43 00:02:17,870 --> 00:02:19,130 Nie musimy interweniować. 44 00:02:19,130 --> 00:02:20,410 Możemy się trochę przespać. 45 00:02:20,410 --> 00:02:24,850 Co jest prawdopodobnie dobra rzecz, jeśli robisz dużo programowania WWW. 46 00:02:24,850 --> 00:02:28,360 >> Tak więc w CS50 IDE, możemy uruchomić serwer WWW o nazwie Apache. 47 00:02:28,360 --> 00:02:35,250 Jest to bardzo często używane, System open source serwer WWW. 48 00:02:35,250 --> 00:02:37,320 Ten system ma Zdolność do interpretacji 49 00:02:37,320 --> 00:02:41,260 PHP, która będzie przydatna, jeśli chcesz zrobić żadnego programowania PHP. 50 00:02:41,260 --> 00:02:45,230 >> A w CS50 IDE, mamy polecenie aby to bardzo proste do zrobienia, 51 00:02:45,230 --> 00:02:47,280 apache50 rozpocząć. 52 00:02:47,280 --> 00:02:49,445 A potem, że ukośnik Ścieżka, slash się, slash 53 00:02:49,445 --> 00:02:53,350 reż, że jest po prostu bardzo powszechnym sposobem wskazując, co już podana tutaj 54 00:02:53,350 --> 00:02:56,510 Jest to ścieżka do konkretnego Katalog, który ci 55 00:02:56,510 --> 00:03:00,800 chcę być korzeń strona lub strona korzeń, 56 00:03:00,800 --> 00:03:05,430 lub folder, z którego serwer WWW rozpocznie badanie pliki i służyć 57 00:03:05,430 --> 00:03:07,850 je do klientów, na ich wniosek. 58 00:03:07,850 --> 00:03:12,110 Więc pop nad do CS50 IDE, po prostu pokazać, bardzo szybkie, jak to działa. 59 00:03:12,110 --> 00:03:30,930 60 00:03:30,930 --> 00:03:36,240 >> Więc tutaj CS50 IDE, jestem w katalog o nazwie Tydzień Zero Dziewięć. 61 00:03:36,240 --> 00:03:38,890 I mam two-- mam wykonane polecenie LS tylko 62 00:03:38,890 --> 00:03:41,910 powyżej, aby pokazać, że mam dwa katalogi w tutaj, PHP, 63 00:03:41,910 --> 00:03:46,410 który jest zestaw plików, które użyłem w składnia wideo PHP, a następnie PHP-web, 64 00:03:46,410 --> 00:03:49,380 który jest zestaw plików, które ja chce używać w tym filmie. 65 00:03:49,380 --> 00:03:53,480 >> I chciałbym, aby rozpocząć instancja serwera www 66 00:03:53,480 --> 00:03:59,089 z zawartością folderu PHP-web jak pliki są serwowane. 67 00:03:59,089 --> 00:04:00,130 Więc co ja mam zrobić? 68 00:04:00,130 --> 00:04:05,710 Mam zamiar wpisać apache50 miejsca rozpocząć, przestrzeń PHP, kreska internetowej. 69 00:04:05,710 --> 00:04:08,100 To ścieżka do katalogu skąd ja aktualnie jestem. 70 00:04:08,100 --> 00:04:09,127 Następnie naciśnij klawisz Enter. 71 00:04:09,127 --> 00:04:10,960 To będzie zrobić Trochę rzeczy tutaj. 72 00:04:10,960 --> 00:04:14,030 I wtedy to się mówi, Apache został pomyślnie uruchomiony. 73 00:04:14,030 --> 00:04:20,689 Twoja strona jest już dostępna at-- i potem jest adres URL witryny. 74 00:04:20,689 --> 00:04:21,730 Więc co ja mam zrobić? 75 00:04:21,730 --> 00:04:26,234 Idę szybko skopiować ten. 76 00:04:26,234 --> 00:04:28,900 I mam zamiar otworzyć up-- i Będę pomniejszyć trochę here-- 77 00:04:28,900 --> 00:04:31,570 Mam zamiar otworzyć nowa karta w Chrome. 78 00:04:31,570 --> 00:04:34,320 I mam zamiar odwiedzić ten adres URL. 79 00:04:34,320 --> 00:04:35,299 >> Mam zamiar naciśnij Enter. 80 00:04:35,299 --> 00:04:36,090 To będzie ładować. 81 00:04:36,090 --> 00:04:37,510 A ja pomniejszyć. 82 00:04:37,510 --> 00:04:41,350 I widzimy tutaj jest zawartość mojego PHP katalogu stron internetowych. 83 00:04:41,350 --> 00:04:45,290 >> Więc teraz to, co jest w zasadzie dzieje tutaj jest mój przypadek CS50 IDE 84 00:04:45,290 --> 00:04:49,620 odbywa się te pliki każdy, kto ich zażąda. 85 00:04:49,620 --> 00:04:51,620 I w ciągu Ten film, będziemy rodzaju 86 00:04:51,620 --> 00:04:55,400 przyjrzeć się grono tych różne pliki w kontekście. 87 00:04:55,400 --> 00:04:57,614 >> Aby sprawdzić, że Apache Serwer działa, 88 00:04:57,614 --> 00:04:59,780 który jest na ogół będzie aby być w przypadku CS50 IDE, 89 00:04:59,780 --> 00:05:02,696 ale jeśli to zrobisz, bardziej ogólnie, i rozpocząć budowę własnej sieci 90 00:05:02,696 --> 00:05:04,990 serwery, istnieje naprawdę wspólny rodzaj analogowego na, 91 00:05:04,990 --> 00:05:08,500 "Hello World", która jest zwykle wykorzystywane do rozwoju PHP internetowej. 92 00:05:08,500 --> 00:05:12,855 Które ma mieć plik składający się tylko z tego code-- 93 00:05:12,855 --> 00:05:18,247 separatorem PHP zestaw z informacją PHP, nawiasy, średnik pomiędzy. 94 00:05:18,247 --> 00:05:20,580 Która jest w zasadzie specjalnego Funkcja PHP, który mówi, 95 00:05:20,580 --> 00:05:23,970 jaka wersja PHP używasz. 96 00:05:23,970 --> 00:05:26,850 >> Tak więc w CS50 IDE, mam że plik dostępny tylko 97 00:05:26,850 --> 00:05:28,680 aby pokazać, co to będzie wyglądać. 98 00:05:28,680 --> 00:05:32,860 Więc patrzę na mojego indeksu z mojej przykład PHP. 99 00:05:32,860 --> 00:05:35,870 Moje wystąpienie Apache działa zawartość PHP-Web. 100 00:05:35,870 --> 00:05:39,290 I mam tu plik o nazwie info.php. 101 00:05:39,290 --> 00:05:41,164 >> Zamierzam kliknij go pomniejszyć. 102 00:05:41,164 --> 00:05:43,080 To jest to, co masz zamiar aby zobaczyć, bardzo dużo. 103 00:05:43,080 --> 00:05:45,729 To jest po prostu powiedział mi, że Serwer Apache jest moja praca. 104 00:05:45,729 --> 00:05:48,270 I to jest, najwyraźniej, wersja PHP, że biegnę. 105 00:05:48,270 --> 00:05:51,590 To jest mój analogowy do "Hello World". 106 00:05:51,590 --> 00:05:53,070 >> Więc wiem rzeczy działają. 107 00:05:53,070 --> 00:05:54,150 Tak więc jesteśmy dobrze iść. 108 00:05:54,150 --> 00:05:55,730 Możemy przystąpić tutaj. 109 00:05:55,730 --> 00:05:57,790 >> Więc ponownie, że Przykładem razem byliśmy 110 00:05:57,790 --> 00:06:01,950 mówisz o naszej biednej webmastera którzy musieli zaktualizować stronę stale. 111 00:06:01,950 --> 00:06:05,020 Ta poprawka może być na jak Chciałbym wdrożyć rzeczy 112 00:06:05,020 --> 00:06:08,080 tak, że webmaster nie zachować aktualizowania czasu. 113 00:06:08,080 --> 00:06:10,270 Byłoby to po prostu rodzaj się automatycznie. 114 00:06:10,270 --> 00:06:13,710 >> Poniższa dół, HTML, to bardzo podobne, z jednym wyjątkiem. 115 00:06:13,710 --> 00:06:16,720 Ale tutaj mam trochę PHP na górze. 116 00:06:16,720 --> 00:06:19,940 I, oczywiście, nazwał to Funkcja date_default_timezone_set. 117 00:06:19,940 --> 00:06:22,106 >> I nie mówić o wszystkim te funkcje w CS50, 118 00:06:22,106 --> 00:06:24,670 ponieważ PHP ma prawdopodobnie dziesiątki tysięcy. 119 00:06:24,670 --> 00:06:27,540 To może być trochę w przesada, ale to nie może być. 120 00:06:27,540 --> 00:06:29,490 Ma wiele funkcji wbudowanych w. 121 00:06:29,490 --> 00:06:33,290 I tak jest to funkcja najwyraźniej ustawia strefę czasową, jak USA / Wschodniej, 122 00:06:33,290 --> 00:06:36,320 która jest strefa czasowa, że ​​jestem Aktualnie w tworzeniu tego filmu. 123 00:06:36,320 --> 00:06:38,430 >> Następnie zadzwonić do Funkcja o nazwie, dacie. 124 00:06:38,430 --> 00:06:43,850 I, oczywiście, jestem przechowywania HIS z czegoś, co nazywa, czasu. 125 00:06:43,850 --> 00:06:45,320 Więc co tu się dzieje? 126 00:06:45,320 --> 00:06:48,040 >> Cóż, w zasadzie to, co jest dzieje się, robię połączenia 127 00:06:48,040 --> 00:06:51,650 do jakiegoś serwera, który ma powiedz mi, co obecnie jest czas. 128 00:06:51,650 --> 00:06:56,150 A ja konwersji do formatu godzin, minut, sekund. 129 00:06:56,150 --> 00:07:00,540 A powód jest stolicą H jest to ma dać mi 24 godziny czasu, a nie 12 130 00:07:00,540 --> 00:07:02,362 Czas godzin, które byłyby małe h. 131 00:07:02,362 --> 00:07:04,570 A ja po prostu przechowywania, które w zmiennej o nazwie, czasu. 132 00:07:04,570 --> 00:07:07,028 Tak, że druga linia PHP tam, wywołanie funkcji, 133 00:07:07,028 --> 00:07:09,037 data, dopiero się niektóre ciąg, który jest 134 00:07:09,037 --> 00:07:12,120 da mi datę i czas, i kilka innych informacji. 135 00:07:12,120 --> 00:07:16,480 A pierwszym argumentem jest, że jego, jest po prostu ekstrakcji ważną rolę 136 00:07:16,480 --> 00:07:20,614 że zależy mi na tym przykładzie, która jest godzina, minuta i sekunda. 137 00:07:20,614 --> 00:07:22,030 Więc to jest wszystko, co się dzieje. 138 00:07:22,030 --> 00:07:23,562 Więc zapisać, że w zmiennej $ czasie. 139 00:07:23,562 --> 00:07:25,270 A następnie w dół u samym dole tam, 140 00:07:25,270 --> 00:07:28,980 mają tę skrótem drukowanie aktualnego czasu. 141 00:07:28,980 --> 00:07:32,050 Więc jestem po prostu wydrukować co obecny czas jest. 142 00:07:32,050 --> 00:07:37,220 >> Warto więc spojrzeć na to w CS50 IDE i zobaczyć, jak jesteśmy teraz 143 00:07:37,220 --> 00:07:40,002 oszczędności, że webmaster wiele kłopotów. 144 00:07:40,002 --> 00:07:42,570 W porządku, więc jestem tutaj ponownie z powrotem w głównym katalogu 145 00:07:42,570 --> 00:07:45,040 mój przykład Apache. 146 00:07:45,040 --> 00:07:51,585 I mam tu plik o nazwie time.php. 147 00:07:51,585 --> 00:07:53,559 Mam zamiar po prostu kliknij na ten temat. 148 00:07:53,559 --> 00:07:55,850 A ja przewijania w górę, ponieważ mamy powiększony dość daleko. 149 00:07:55,850 --> 00:07:57,257 Obecny czas to 14:20:34. 150 00:07:57,257 --> 00:07:59,090 Więc robię to godzin, minuty i sekundy. 151 00:07:59,090 --> 00:08:01,910 I mogę odświeżyć Strona i dostać nowy czas. 152 00:08:01,910 --> 00:08:02,420 --41. 153 00:08:02,420 --> 00:08:07,240 Mam zamiar odświeżyć stronę i dostać nowy czas, 44, 46, 47. 154 00:08:07,240 --> 00:08:10,490 >> Tak, ja z pewnością nie jestem zmieniając niczego sobie. 155 00:08:10,490 --> 00:08:11,720 Jestem tutaj odświeżania strony. 156 00:08:11,720 --> 00:08:13,711 Więc nie mogę być tam edycji. 157 00:08:13,711 --> 00:08:15,710 I obiecuję ci, że nie mają żadnych konfederatów 158 00:08:15,710 --> 00:08:18,230 którzy edycję pliku w moim imieniu na boku. 159 00:08:18,230 --> 00:08:21,260 >> Jestem po prostu przy użyciu tej funkcji PHP, Czas do wytworzenia czasu mi 160 00:08:21,260 --> 00:08:22,340 automatycznie. 161 00:08:22,340 --> 00:08:24,800 Tak, że nawet jeśli śpię, i mój serwer jest uruchomiony, 162 00:08:24,800 --> 00:08:28,884 użytkownik, który odwiedza, że ​​strona jest nadal dostanie dokładnie aktualny czas. 163 00:08:28,884 --> 00:08:29,800 Więc to jest całkiem dobry. 164 00:08:29,800 --> 00:08:33,609 Zrobiłem moja strona bardziej dynamiczny z nie za dużo kodu PHP. 165 00:08:33,609 --> 00:08:36,650 To było zaledwie dwa wiersze kodu, a następnie trochę oświadczeniu druku. 166 00:08:36,650 --> 00:08:38,441 I już mam o wiele bardziej dynamiczna strona 167 00:08:38,441 --> 00:08:42,750 niż w tym pierwszym przykładzie widzieliśmy na początku filmu. 168 00:08:42,750 --> 00:08:46,660 >> Tak, pamiętam z filmu o składni PHP że gdy interpreter PHP działa 169 00:08:46,660 --> 00:08:50,000 nasz program, ignoruje wszystko to nie jest wewnątrz ograniczników PHP, 170 00:08:50,000 --> 00:08:51,500 wypluwając go. 171 00:08:51,500 --> 00:08:54,410 W tym przykładzie, co rzecz że został wypluwając była HTML. 172 00:08:54,410 --> 00:08:58,080 A to oznacza, że ​​mogą teraz przeplatać HTML i PHP razem. 173 00:08:58,080 --> 00:09:01,920 Ponieważ tłumacz będzie tylko ignorować HTML i dosłownie wyjście to. 174 00:09:01,920 --> 00:09:04,140 Co jest dobre, prawda? 175 00:09:04,140 --> 00:09:06,100 >> Ponieważ zapewne, na koniec dnia, 176 00:09:06,100 --> 00:09:08,360 Chciałbym moją stronę do być wykonane z HTML. 177 00:09:08,360 --> 00:09:12,880 Tak, że każda przeglądarka może interpretować to, czy zrozumieć HTML na stronie 178 00:09:12,880 --> 00:09:17,270 i uczynić go jako coś, co my może rzeczywiście zrozumieć, jak ludzie. 179 00:09:17,270 --> 00:09:19,430 I mogę korzystać tylko z PHP dla części mojej stronie 180 00:09:19,430 --> 00:09:23,390 require dynamikę, która wymaga mnie mieć rzeczy, które aktualizują stale. 181 00:09:23,390 --> 00:09:26,630 Informacje statyczne może pozostać taka sama. 182 00:09:26,630 --> 00:09:27,540 >> OK, więc to dobrze. 183 00:09:27,540 --> 00:09:28,540 Ale dlaczego miałbym to zrobić? 184 00:09:28,540 --> 00:09:30,400 Dlaczego miałbym mix HTML i PHP? 185 00:09:30,400 --> 00:09:33,850 Może po prostu wydrukować wszystkie HTML przy użyciu funkcji drukowania PHP. 186 00:09:33,850 --> 00:09:35,870 Dlaczego nie robi? 187 00:09:35,870 --> 00:09:37,100 Pomyśl o tym przez chwilę. 188 00:09:37,100 --> 00:09:41,220 >> Dlaczego, kiedy można po prostu wydrukować out-- I może mieć linie PHP, że po prostu powiedzieć, 189 00:09:41,220 --> 00:09:43,841 drukuj tag HTML, głowica drukująca. 190 00:09:43,841 --> 00:09:44,840 Dlaczego nie robi? 191 00:09:44,840 --> 00:09:48,230 Dlaczego mieszania PHP i HTML? 192 00:09:48,230 --> 00:09:50,080 >> Cóż, jeśli myślisz, o tym za chwilę. 193 00:09:50,080 --> 00:09:52,824 PHP, interpreter ma interpretować to, co widzi. 194 00:09:52,824 --> 00:09:54,990 I tak to będzie musiał wykonanie linii kodu. 195 00:09:54,990 --> 00:09:56,450 Wydrukuj HTML. 196 00:09:56,450 --> 00:09:57,700 Wydrukuj tag otwarte głowy. 197 00:09:57,700 --> 00:09:58,969 Wydrukuj otwarta tagu tytułu. 198 00:09:58,969 --> 00:10:00,760 To będzie musiał wykonać i zinterpretować 199 00:10:00,760 --> 00:10:02,671 że każdy etap sposobu. 200 00:10:02,671 --> 00:10:04,670 Dlaczego po prostu nie pozwolić interpreter tylko tuszować 201 00:10:04,670 --> 00:10:06,878 rzeczy nie rozumieją i zrobić to automatycznie? 202 00:10:06,878 --> 00:10:11,365 To uratuje mi dużo czasu mieszać mój HTML i moje PHP razem. 203 00:10:11,365 --> 00:10:16,220 >> A tak, to dlaczego my nie Wystarczy otwarty PHP ogranicznika 204 00:10:16,220 --> 00:10:19,450 a następnie po prostu wydrukować całą Zawartość naszej strony jako jeden gigantyczny PHP 205 00:10:19,450 --> 00:10:24,330 wywołanie funkcji, wydrukować, a następnie blisko PHP separator i gotowe. 206 00:10:24,330 --> 00:10:27,620 Więc dlatego wymieszać je razem. 207 00:10:27,620 --> 00:10:32,345 >> Do tej pory nie widzieliśmy zbyt wiele różnica od ogólnej składni PHP. 208 00:10:32,345 --> 00:10:33,720 To było całkiem proste. 209 00:10:33,720 --> 00:10:35,553 Mamy już widział znak zapytania, równe. 210 00:10:35,553 --> 00:10:39,012 Widzieliśmy kilka nowych wywołań funkcji, ale nic naprawdę fantazyjne dzieje. 211 00:10:39,012 --> 00:10:40,720 Miejmy może dokonać rzeczy trochę hodowcy. 212 00:10:40,720 --> 00:10:44,360 Co zrobić, jeśli chcemy przekazać informacje różnych plików PHP, 213 00:10:44,360 --> 00:10:47,280 więc, że być może użytkownik może przekazać informacje do mnie. 214 00:10:47,280 --> 00:10:50,230 I wtedy będę mógł coś zrobić z na innej stronie. 215 00:10:50,230 --> 00:10:52,990 >> Więc PHP obsługuje coś o nazwie Super Globalny 216 00:10:52,990 --> 00:10:55,297 Zmienne, co brzmi dość niesamowite. 217 00:10:55,297 --> 00:10:57,130 Są naprawdę tylko gigantyczne tablice asocjacyjne 218 00:10:57,130 --> 00:10:59,900 które pomogą wdrożyć to Funkcjonalność przemijania 219 00:10:59,900 --> 00:11:05,010 informacji między plików PHP, które są istniejące na naszym serwerze. 220 00:11:05,010 --> 00:11:07,760 >> Pierwszy z tych super globalne nazywa $ _GET. 221 00:11:07,760 --> 00:11:10,140 I to jest chyba najłatwiejszy do zrozumienia. 222 00:11:10,140 --> 00:11:12,430 Co się dzieje z $ _GET? 223 00:11:12,430 --> 00:11:16,240 Cóż, w zasadzie, użytkownik jest zamiar wpisać dodatkowe informacje 224 00:11:16,240 --> 00:11:18,390 Na koniec adresów URL. 225 00:11:18,390 --> 00:11:21,460 I cokolwiek wpisać, przy założeniu, to formatowane w sposób szczególny 226 00:11:21,460 --> 00:11:25,830 zwany ciąg kwerendy, która jest po prostu zestaw par wartości kluczowych oddzielone 227 00:11:25,830 --> 00:11:27,810 znakami ampersand. 228 00:11:27,810 --> 00:11:32,362 Te kluczowe pary wartości będzie przechowywane w $ _GET tablicy asocjacyjnej. 229 00:11:32,362 --> 00:11:34,070 A z naszego wideo na Składnia PHP, wiemy, 230 00:11:34,070 --> 00:11:40,080 Jak pracować Tablice asocjacyjne już. 231 00:11:40,080 --> 00:11:44,090 Więc tutaj jest przykład niektóre PHP, gdzie może jestem 232 00:11:44,090 --> 00:11:50,180 ekstrakcji wszystkich par wartości klucza że dostarczonej w adresie URL użytkownika. 233 00:11:50,180 --> 00:11:51,970 Więc mam Rozwinąć PHP ogranicznika. 234 00:11:51,970 --> 00:11:53,410 Mam pętli foreach. 235 00:11:53,410 --> 00:11:57,410 Jestem iteracji całej Super Globalny Array o nazwie $ _GET. 236 00:11:57,410 --> 00:12:00,160 >> I chcę, aby móc odnieść zarówno klucza i wartości. 237 00:12:00,160 --> 00:12:02,410 A ja po prostu ich drukowania na każdy jeden na pozornie 238 00:12:02,410 --> 00:12:03,780 własny pkt tag tutaj. 239 00:12:03,780 --> 00:12:07,620 Jestem drukowania niektóre HTML i interpolację wartości 240 00:12:07,620 --> 00:12:12,900 klucza i wartości w tym stwierdzeniu. 241 00:12:12,900 --> 00:12:16,980 >> Warto więc przyjrzeć się, jak to faktycznie działa na naszym IDE. 242 00:12:16,980 --> 00:12:18,980 A może to pomoże przedstawiają nieco 243 00:12:18,980 --> 00:12:21,880 z tego, co właściwie robi GET. 244 00:12:21,880 --> 00:12:23,610 Więc jestem tu z powrotem w moim korzenia internetowej. 245 00:12:23,610 --> 00:12:25,318 A ja przybliżyć w sposób trochę pokazać, 246 00:12:25,318 --> 00:12:28,620 że mam plik o nazwie, get1.php. 247 00:12:28,620 --> 00:12:31,830 >> Więc kliknij na get1.php. 248 00:12:31,830 --> 00:12:36,600 I nie widzę żadnych treści. 249 00:12:36,600 --> 00:12:38,390 To dziwne, prawda? 250 00:12:38,390 --> 00:12:39,740 Cóż, nie do końca właściwie. 251 00:12:39,740 --> 00:12:42,030 Bo nie dostarczamy coś w adresie URL. 252 00:12:42,030 --> 00:12:46,270 Zamierzam get1.php, ale nie dostarczają żadnych par wartości klucza 253 00:12:46,270 --> 00:12:47,450 jako część mojego łańcucha zapytania. 254 00:12:47,450 --> 00:12:50,510 Warto więc dodać ciąg zapytania i zobaczyć, co ten plik może zrobić. 255 00:12:50,510 --> 00:12:53,040 >> Aby rozpocząć ciąg kwerendy można wpisz znak zapytania. 256 00:12:53,040 --> 00:13:00,820 Wtedy może powiem name = Doug & rok = 2015. 257 00:13:00,820 --> 00:13:02,914 I wtedy naciśnij Enter. 258 00:13:02,914 --> 00:13:04,080 Teraz zauważyć, co się dzieje. 259 00:13:04,080 --> 00:13:05,480 Nadal jestem w get1.php. 260 00:13:05,480 --> 00:13:08,445 Ale teraz w zestawie pary wartość klucza, a ja jestem 261 00:13:08,445 --> 00:13:14,940 drukowanie ich na własną rękę paragraph-- nazwa, Doug-- roku 2015. 262 00:13:14,940 --> 00:13:17,970 To jest dokładnie to, kod po prostu widziałem na szkiełku przed chwilą. 263 00:13:17,970 --> 00:13:22,290 >> A jeśli chcę być może dodać kolejny Para wartości klucza, i class = CS50. 264 00:13:22,290 --> 00:13:25,325 265 00:13:25,325 --> 00:13:27,580 Teraz mam inną wartość klucza Para, która jest wydrukowana 266 00:13:27,580 --> 00:13:30,025 kiedy ponownie URL ponownie. 267 00:13:30,025 --> 00:13:31,900 Teraz może to nie jest sformatowana strasznie dobrze. 268 00:13:31,900 --> 00:13:33,660 Więc ja mam inną wersję get.php. 269 00:13:33,660 --> 00:13:36,350 To get2.php. 270 00:13:36,350 --> 00:13:39,070 >> Różnica w tym jeden jest Mam plik CSS, 271 00:13:39,070 --> 00:13:41,690 i formatuje rzeczy, trochę bardziej ładnie dla mnie. 272 00:13:41,690 --> 00:13:43,940 To nie jest może najbardziej piękne CSS na świecie. 273 00:13:43,940 --> 00:13:45,650 Ale to tylko kolejny sposób to zrobić. 274 00:13:45,650 --> 00:13:52,840 Więc może nadal uzyskać dostęp do moich zmiennych za pomocą $ _GET. 275 00:13:52,840 --> 00:13:56,610 I w tym przypadku, jestem tylko trochę co CSS trochę bardziej fantazyjne. 276 00:13:56,610 --> 00:13:58,360 A jeśli pojawiają się na moja IDE dla drugiego, 277 00:13:58,360 --> 00:14:06,870 Pokażę ci, w moim PHP internecie katalog tutaj, get2.php. 278 00:14:06,870 --> 00:14:10,010 Będziemy go otworzyć, niektóre HTML tutaj. 279 00:14:10,010 --> 00:14:13,220 Widocznie jestem łącząc się, że Plik CSS, o którym mówiłem. 280 00:14:13,220 --> 00:14:14,570 Otworzyć znacznik tabeli. 281 00:14:14,570 --> 00:14:15,970 I to tu jest mój pętli foreach. 282 00:14:15,970 --> 00:14:18,450 >> Tutaj jest to, co ja pokazał na szkiełku przed. 283 00:14:18,450 --> 00:14:21,007 Jedyną różnicą jest to, że mają ten klucz i wartość CSS 284 00:14:21,007 --> 00:14:22,340 Stylizacja, że ​​jestem zastosowanie do niego. 285 00:14:22,340 --> 00:14:25,622 Ale to wszystko robię, to jestem iteracji całej $ _GET, aby wszystkie 286 00:14:25,622 --> 00:14:26,580 par wartości klucza. 287 00:14:26,580 --> 00:14:28,890 >> A ja ich drukowania w tabeli. 288 00:14:28,890 --> 00:14:33,230 I, oczywiście, jestem formatowanie klucze w jedną stronę, z 00:14:40,057 Więc najwyraźniej, że odnosi się do niektórych selektor klasy w moim pliku CSS GET.CSS. 290 00:14:40,057 --> 00:14:42,890 I, oczywiście, jestem drukowanie moje wartości zupełnie inny sposób. 291 00:14:42,890 --> 00:14:45,530 Która jest dość dużo co widzieliśmy tutaj, gdzie 292 00:14:45,530 --> 00:14:47,710 nasze wartości były drukowane z niebieskim tle, 293 00:14:47,710 --> 00:14:49,969 i nasze klucze były drukowane na żółtym tle. 294 00:14:49,969 --> 00:14:52,010 Więc tak Dostaję te różne style. 295 00:14:52,010 --> 00:14:54,054 Ponieważ używam różnych klas CSS. 296 00:14:54,054 --> 00:14:55,470 Ale to dość dużo dla GET. 297 00:14:55,470 --> 00:14:58,380 Jakbym tylko wydobywania informacji. 298 00:14:58,380 --> 00:15:01,000 I w tym przypadku, jestem po prostu drukowanie go na ekranie. 299 00:15:01,000 --> 00:15:04,310 Dostaję go z adresu URL, i to, co robi się dla nas. 300 00:15:04,310 --> 00:15:06,470 >> Czy widzisz możliwe Problem tutaj chociaż? 301 00:15:06,470 --> 00:15:11,720 Dlaczego mielibyśmy być może Nie chcesz korzystać z $ _GET? 302 00:15:11,720 --> 00:15:15,440 Co jeśli, być może, że robię to zapytanie? 303 00:15:15,440 --> 00:15:18,000 --to get3.php, które nie ma na moim IDE. 304 00:15:18,000 --> 00:15:19,640 To tylko hipotetyczne plików. 305 00:15:19,640 --> 00:15:22,187 Ale tutaj odnotować, że najwyraźniej przekazując swoje hasło. 306 00:15:22,187 --> 00:15:23,770 A może moje hasło jest żenujące. 307 00:15:23,770 --> 00:15:28,070 A może ja nie chcę ludzi do wiem, co moje hasło jest prawo. 308 00:15:28,070 --> 00:15:33,140 >> Jeśli mam przekazaniem go though-- jeśli używam $ _GET metoda, co się dzieje, 309 00:15:33,140 --> 00:15:34,970 że będzie w adresie URL. 310 00:15:34,970 --> 00:15:39,890 Więc jakiś złośliwy użytkownik może być w stanie zobaczyć, co robię. 311 00:15:39,890 --> 00:15:42,040 I może być przekazywanie ich poufne informacje. 312 00:15:42,040 --> 00:15:43,310 A może to nie jest nawet szkodliwy użytkownik. 313 00:15:43,310 --> 00:15:45,790 Może to tylko twój przyjaciel, który stoi na ramieniu. 314 00:15:45,790 --> 00:15:47,650 A teraz wiedzą hasło do konta Facebook. 315 00:15:47,650 --> 00:15:49,483 >> A może nie będzie zrobić coś z tym. 316 00:15:49,483 --> 00:15:53,749 Ale jeśli hasło było złożony przez $ _GET na Facebooku, 317 00:15:53,749 --> 00:15:55,290 Teraz wiedzą, hasło Facebook. 318 00:15:55,290 --> 00:15:59,000 Bo to właśnie tam w adresie URL kiedy zrobiłeś przekazywania informacji. 319 00:15:59,000 --> 00:16:01,887 >> A więc być może to nie jest najlepszy sposób przekazywania poufnych informacji. 320 00:16:01,887 --> 00:16:04,470 To dobry sposób na przekazywanie informacji że nie szczególnie 321 00:16:04,470 --> 00:16:05,886 obchodzi jako zbyt wrażliwe. 322 00:16:05,886 --> 00:16:09,347 Ponieważ GET jest dość szybki, w stosunku do innych super globalnych 323 00:16:09,347 --> 00:16:10,430 będziemy rozmawiać. 324 00:16:10,430 --> 00:16:13,330 Ale może nie jest najlepszym narzędziem do poufnych informacji. 325 00:16:13,330 --> 00:16:15,990 >> Do tego możemy chcieć używać czegoś o nazwie $ _POST, 326 00:16:15,990 --> 00:16:18,560 co jest kolejnym Super zmienna globalna. 327 00:16:18,560 --> 00:16:20,750 To kolejny asocjacyjna. 328 00:16:20,750 --> 00:16:23,240 Tak to działa dość dużo dokładnie tak samo jak GET. 329 00:16:23,240 --> 00:16:26,850 Wyjątkiem, zamiast ekstrakcji Informacje z adresu URL, 330 00:16:26,850 --> 00:16:29,870 robi coś przez nagłówków HTTP. 331 00:16:29,870 --> 00:16:32,080 Więc pamiętam z naszej wideo na HTTP, rozmawialiśmy 332 00:16:32,080 --> 00:16:34,850 o tym, jak przeglądarki, serwery, a klienci komunikują. 333 00:16:34,850 --> 00:16:38,070 A informacja jest przekazywana i dalej w nagłówkach HTTP. 334 00:16:38,070 --> 00:16:43,330 >> Z $ _POST, informacje są zazwyczaj wysyłane przez tych nagłówków HTTP. 335 00:16:43,330 --> 00:16:49,770 A my najczęściej zobaczyć $ _POST w kontekst składania formularzy HTML. 336 00:16:49,770 --> 00:16:52,390 Możesz nadal korzystać z formularzy HTML do złożenia rzeczy do zdobycia. 337 00:16:52,390 --> 00:16:56,120 Ale są one zwykle używane w kontekście testu POST. 338 00:16:56,120 --> 00:17:00,280 >> Więc tutaj jest przykład z formularza HTML. 339 00:17:00,280 --> 00:17:06,750 Teraz widzieliśmy to wcześniej, ale mamy Nie widziałem tej części, action = "Post.php". 340 00:17:06,750 --> 00:17:10,756 Więc kiedy rozmawialiśmy o formach w Kontekst HTML, miałem przycisk Wyślij. 341 00:17:10,756 --> 00:17:13,630 A jeśli przypomnieć, bym kliknij przycisk Prześlij a następnie strona po prostu odświeżyć, 342 00:17:13,630 --> 00:17:14,660 nic nie robią. 343 00:17:14,660 --> 00:17:18,250 >> W tym przypadku, jestem składania co mam wpisać w tej formie, 344 00:17:18,250 --> 00:17:20,750 do pliku PHP o nazwie post.php. 345 00:17:20,750 --> 00:17:25,810 I, oczywiście, tak robię, że w tej postaci jest za pomocą metody POST. 346 00:17:25,810 --> 00:17:29,040 Tak więc każda informacja że wpiszesz w tej formie 347 00:17:29,040 --> 00:17:31,470 zostanie przedłożony przez nagłówków HTTP. 348 00:17:31,470 --> 00:17:36,440 >> Będzie on dostępny w Post.php, ponieważ jest to działanie mojej postaci. 349 00:17:36,440 --> 00:17:39,811 Będzie dostępny przechodząc do $ _POST. 350 00:17:39,811 --> 00:17:42,310 I najwyraźniej, sposób mogę się przy poszczególnych elementów 351 00:17:42,310 --> 00:17:44,765 z tej tablicy asocjacyjnej jest z tego atrybutu, 352 00:17:44,765 --> 00:17:48,130 atrybut Nazwa naszych tagów wejściowych. 353 00:17:48,130 --> 00:17:53,540 >> Więc najwyraźniej mogę powiedzieć, $ _POST kwadratowych wsporniki wymienić, aby niezależnie od użytkownika 354 00:17:53,540 --> 00:17:55,440 wpisane w pierwszym obszarze. 355 00:17:55,440 --> 00:18:01,030 I $ _POST hasło PW raczej dostać się na co użytkownik wpisał 356 00:18:01,030 --> 00:18:03,650 w drugim obszarze. 357 00:18:03,650 --> 00:18:06,414 >> Warto więc przyjrzeć się W tym ponad CS50 IDE. 358 00:18:06,414 --> 00:18:08,330 Więc jesteśmy, i będę powiększyć na sekundę. 359 00:18:08,330 --> 00:18:12,380 I mamy plik o nazwie post.html. 360 00:18:12,380 --> 00:18:13,690 Klikam na post.html. 361 00:18:13,690 --> 00:18:16,300 Na samej górze tutaj mam bardzo prosty formularz internetowy. 362 00:18:16,300 --> 00:18:18,750 To forma po prostu zobaczył na slajdzie drugi temu. 363 00:18:18,750 --> 00:18:25,610 >> Mogę pisać, Doug i mogę wpisz hasło, które wszyscy 364 00:18:25,610 --> 00:18:27,340 wiedzieć, squadgoals. 365 00:18:27,340 --> 00:18:30,100 I uderzę Zatwierdź. 366 00:18:30,100 --> 00:18:32,290 I zdaje się, że przedkłada Post.php. 367 00:18:32,290 --> 00:18:33,810 A ja widocznie drukowania, które. 368 00:18:33,810 --> 00:18:36,490 Jestem więc pozbycie się wszystkich zabezpieczeń że PO daje mi tylko o drukowaniu 369 00:18:36,490 --> 00:18:37,720 nazwa użytkownika i hasło. 370 00:18:37,720 --> 00:18:38,960 >> Nazwa użytkownika jest Doug. 371 00:18:38,960 --> 00:18:40,810 Hasło użytkownika jest squadgoals. 372 00:18:40,810 --> 00:18:42,480 W jaki sposób mogę to zrobić? 373 00:18:42,480 --> 00:18:44,800 Cóż, pop na IDE raz na sekundę. 374 00:18:44,800 --> 00:18:51,340 Będziemy przewiń do podjęcia spojrzenie na Post.php, co było 375 00:18:51,340 --> 00:18:54,040 działania, które kiedyś złożyć tutaj. 376 00:18:54,040 --> 00:18:55,739 To było działanie mojego formularza HTML. 377 00:18:55,739 --> 00:18:56,780 I to wszystko robię. 378 00:18:56,780 --> 00:19:01,370 Nazwa użytkownika jest, a ja jestem drukowanie z zawartością $ _POST "nazwa". 379 00:19:01,370 --> 00:19:04,660 A następnie hasło użytkownika jest $ _ POST "hasło". 380 00:19:04,660 --> 00:19:08,920 Tak więc dano mi tej informacji przez złożenie formularza HTML. 381 00:19:08,920 --> 00:19:13,790 I teraz mogę wydobyć go za pomocą $ _POST ponieważ metoda I wykorzystywane do przekazywania 382 00:19:13,790 --> 00:19:17,470 Dane z tej formie była metodą POST. 383 00:19:17,470 --> 00:19:20,640 >> Teraz to chyba nie tak great-- idę 384 00:19:20,640 --> 00:19:24,510 wrócić na sekundę do naszego zbioru here-- 385 00:19:24,510 --> 00:19:30,120 to chyba nie tak wielka, jeśli jestem przekazywania informacji o POST, 386 00:19:30,120 --> 00:19:32,532 który jest rzekomo bardziej bezpieczny. 387 00:19:32,532 --> 00:19:34,740 To chyba nie tak wielki jeśli robimy to i to 388 00:19:34,740 --> 00:19:36,470 drukowanie hasło użytkownika. 389 00:19:36,470 --> 00:19:38,540 To ma być bardziej bezpieczne. 390 00:19:38,540 --> 00:19:40,870 >> OK, ale to nie jest do końca bezpieczne. 391 00:19:40,870 --> 00:19:42,910 I tak w ten mały snippet tutaj chcę 392 00:19:42,910 --> 00:19:46,410 po prostu zwrócić uwagę na niektóre obawy związane z bezpieczeństwem danych, tylko coś 393 00:19:46,410 --> 00:19:51,200 myśleć o tym, jak jesteś pracy lub korzystania z Internetu. 394 00:19:51,200 --> 00:19:53,890 To jest po prostu coś do rozważenia. 395 00:19:53,890 --> 00:19:57,980 >> Mówiłem ci, że informacja jest złożony przez nagłówków HTTP 396 00:19:57,980 --> 00:19:59,724 w przypadku korzystania z metody POST. 397 00:19:59,724 --> 00:20:01,390 Co oznacza, że ​​nie są całkowicie bezpieczne. 398 00:20:01,390 --> 00:20:05,610 Są one trudniejsze do znalezienia niż stosując metodę GET, w których 399 00:20:05,610 --> 00:20:06,882 to jest po prostu prawo w adresie URL. 400 00:20:06,882 --> 00:20:08,340 Ale jest jeszcze jedna możliwość, aby go znaleźć. 401 00:20:08,340 --> 00:20:10,423 A ja po prostu chcę pokazać można to tak, że być może 402 00:20:10,423 --> 00:20:12,940 zacząć o tym myśleć jak pracujesz, lub przy użyciu 403 00:20:12,940 --> 00:20:14,560 strony internetowe i przedkładanie haseł i być może przy użyciu 404 00:20:14,560 --> 00:20:16,518 to samo hasło w Wiele różnych miejscach. 405 00:20:16,518 --> 00:20:22,060 Wiem, że to jest jeszcze rzeczywiście bardzo łatwo znaleźć się hasło komuś. 406 00:20:22,060 --> 00:20:25,190 >> I tak oto, zamierzam aby przejść do post2.html. 407 00:20:25,190 --> 00:20:28,850 A różnica w post2.html i post2.php jest dość subtelna. 408 00:20:28,850 --> 00:20:31,420 Różnica jest tylko że nie wydrukować 409 00:20:31,420 --> 00:20:33,520 hasło kiedy wysłać formularz. 410 00:20:33,520 --> 00:20:35,260 >> Więc mam zamiar wpisać, Doug. 411 00:20:35,260 --> 00:20:38,365 I mam zamiar wpisać w, squadgoals, nawet 412 00:20:38,365 --> 00:20:40,770 choć wiemy, że to hasło. 413 00:20:40,770 --> 00:20:42,540 Przed Zgłaszam stanowią jednak mam zamiar 414 00:20:42,540 --> 00:20:45,864 otwarcie narzędzi dla programistów, tak aby pokazać, co się będzie działo. 415 00:20:45,864 --> 00:20:47,530 Więc w Chrome, jestem po prostu uderzy F12. 416 00:20:47,530 --> 00:20:54,120 417 00:20:54,120 --> 00:20:57,230 I że zamierza otworzyć moje Narzędzia dla deweloperów na prawej stronie. 418 00:20:57,230 --> 00:20:59,480 I nie przedstawiły jeszcze formę. 419 00:20:59,480 --> 00:21:02,680 Teraz mam zamiar uderzyć Prześlij na mojej postaci. 420 00:21:02,680 --> 00:21:05,370 I zdaje się, zrobiłem zadzwonić, lub zrobiłem wniosek 421 00:21:05,370 --> 00:21:07,620 do post2.php, co ma sens. 422 00:21:07,620 --> 00:21:10,040 Zamierzam kliknij na to. 423 00:21:10,040 --> 00:21:13,802 >> Następnie tutaj, będę kliknij na nagłówki. 424 00:21:13,802 --> 00:21:15,410 Jest wiele rzeczy się tu dzieje. 425 00:21:15,410 --> 00:21:21,310 Ale jeśli przewiń do bardzo dolny, zawiadomienie prawo there-- mój kalendarz 426 00:21:21,310 --> 00:21:25,180 zablokował go na second-- prawo tam na bardzo dolnym rogu, 427 00:21:25,180 --> 00:21:27,386 name-- Doug pw-- squadgoals. 428 00:21:27,386 --> 00:21:30,010 Dlatego, mimo że używam POST Sposób, który jest bardziej bezpieczny, 429 00:21:30,010 --> 00:21:33,570 po prostu mieć świadomość, że gdy to zrobisz, nadal jesteś przekazywania informacji 430 00:21:33,570 --> 00:21:34,430 za pośrednictwem protokołu HTTP. 431 00:21:34,430 --> 00:21:36,770 A może być jeszcze znalezione przez przeciwnika. 432 00:21:36,770 --> 00:21:39,270 To jest po prostu coś, co mamy zamiar mieć do czynienia z naprawdę. 433 00:21:39,270 --> 00:21:41,980 Może jest kilka sposobów, aby szyfrować nasze Hasła zanim wyślemy je, 434 00:21:41,980 --> 00:21:44,410 które byłyby lepiej których nie jestem tutaj robi. 435 00:21:44,410 --> 00:21:47,010 >> Ale należy pamiętać, że POST Metoda ma ograniczenia zbyt. 436 00:21:47,010 --> 00:21:49,801 To lepsze od GET w Warunki są natychmiast widoczne. 437 00:21:49,801 --> 00:21:51,280 Ale to nie jest kompletna naprawić. 438 00:21:51,280 --> 00:21:53,280 Więc tutaj jest przykład szybkie w domu ćwiczenia 439 00:21:53,280 --> 00:21:56,350 że można użyć, aby uzyskać pewne praktyki pracy z PHP. 440 00:21:56,350 --> 00:21:58,300 Utwórz następującą parę stron internetowych. 441 00:21:58,300 --> 00:22:00,960 Pierwszy powinien być po prostu bardzo prosta tworzyć z jednego pola i Zatwierdź 442 00:22:00,960 --> 00:22:01,460 przycisk. 443 00:22:01,460 --> 00:22:04,070 Tak bardzo podobne do tego, co po prostu nie z post.html. 444 00:22:04,070 --> 00:22:07,450 >> A potem drugi plik należy utworzyć 445 00:22:07,450 --> 00:22:11,687 Jest to plik, plik PHP, które oczekuje wejścia, poprzez POST 446 00:22:11,687 --> 00:22:14,770 i opiera się na tym, co użytkownik wpisał, które można założyć, będzie liczbą całkowitą. 447 00:22:14,770 --> 00:22:16,160 Nie musisz robić żadnej sprawdzanie błędów lub podobne. 448 00:22:16,160 --> 00:22:18,284 Możesz założyć użytkownika będzie wpisać wartość całkowitą, 449 00:22:18,284 --> 00:22:22,230 lub coś w interpretowanym przez PHP jako liczba całkowita, w tej formie. 450 00:22:22,230 --> 00:22:24,790 Po prostu chcesz utworzyć n przy stole n mnożenia. 451 00:22:24,790 --> 00:22:28,480 >> Więc jeśli użytkownik przesyła 10, chcemy mieć tabeli 10 przez 10 mnożenia. 452 00:22:28,480 --> 00:22:31,832 Jeśli użytkownik złoży 12, chcemy tabela 12 na 12 mnożenia. 453 00:22:31,832 --> 00:22:33,790 Tak więc można zobaczyć, co jedziemy w tutaj, 454 00:22:33,790 --> 00:22:36,040 my spojrzeć na ten plik w moim IDE. 455 00:22:36,040 --> 00:22:38,080 >> Więc tutaj w IDE, mam mult_form.html. 456 00:22:38,080 --> 00:22:41,370 457 00:22:41,370 --> 00:22:43,100 Będę go kliknąć. 458 00:22:43,100 --> 00:22:46,020 Wszystko co chcę zrobić, to złożyć wartość. 459 00:22:46,020 --> 00:22:47,590 Wpisz 10, wciśnij Wyślij. 460 00:22:47,590 --> 00:22:51,190 I najwyraźniej, mult_table.php, które widzimy na górze znajduje się w adresie URL, 461 00:22:51,190 --> 00:22:53,970 Tworzę 10 od 10 tabliczka mnożenia. 462 00:22:53,970 --> 00:22:59,365 >> Gdybym wpisz 15 i wciśnij Wyślij, teraz mieć tabeli 15 przez 15 mnożenia. 463 00:22:59,365 --> 00:23:02,240 Ja, oczywiście, nie pokaże Ci zawartość mult_table.php, 464 00:23:02,240 --> 00:23:04,781 dlatego, że zajmie się zabawą z tego w domu ćwiczenia. 465 00:23:04,781 --> 00:23:07,480 Ale jest to świetny sposób, aby uzyskać pewne praktyki pracy z pętlami PHP 466 00:23:07,480 --> 00:23:10,889 i POST, bardzo proste, miejmy nadzieję, bezstresowe przykład, po prostu 467 00:23:10,889 --> 00:23:12,180 zrobić trochę praktyki. 468 00:23:12,180 --> 00:23:16,540 A ja mam trochę CSS dzieje żeby zrobić mój indywidualny tabeli 469 00:23:16,540 --> 00:23:19,710 Komórki po prostu rodzaj pop-off trochę i spojrzeć trochę bardziej 470 00:23:19,710 --> 00:23:22,205 jak tabliczka mnożenia, a nie tylko tekst, po prostu 471 00:23:22,205 --> 00:23:23,261 rodzaj siedzi tam. 472 00:23:23,261 --> 00:23:26,260 Ostatnim bardzo globalna porozmawiamy o w tym filmie jest coś, co nazywa 473 00:23:26,260 --> 00:23:27,597 $ _SESSION. 474 00:23:27,597 --> 00:23:29,930 A może jest to rzeczywiście najlepszym przykładem czegoś 475 00:23:29,930 --> 00:23:31,700 uważamy globalny. 476 00:23:31,700 --> 00:23:33,189 To kolejna tablica. 477 00:23:33,189 --> 00:23:34,480 To kolejny asocjacyjna. 478 00:23:34,480 --> 00:23:40,580 Ale to jest dostępne przez co Plik PHP, który istnieje w naszym systemie. 479 00:23:40,580 --> 00:23:43,410 >> Nie mamy do składania Informacje o jedną stronę na raz 480 00:23:43,410 --> 00:23:45,400 tak jak my z GET i POST. 481 00:23:45,400 --> 00:23:46,380 To zawsze. 482 00:23:46,380 --> 00:23:50,040 I tak to jest świetne dla strony gdzie jesteś zalogowany, na przykład, 483 00:23:50,040 --> 00:23:53,120 i chcesz, aby Twoje dane logowania utrzymują się od strony do strony do strony. 484 00:23:53,120 --> 00:23:58,180 >> Możesz po prostu rozpocząć sesję, a następnie używać $ _SESSION, aby zapisać rzeczy jak 485 00:23:58,180 --> 00:24:02,320 Nazwa użytkownika lub użytkownika Informacje ID, i tak dalej. 486 00:24:02,320 --> 00:24:07,600 I że informacje pozostaną w $ _SESSION, Dopóki nie zniszczy sesji 487 00:24:07,600 --> 00:24:09,550 trochę później. 488 00:24:09,550 --> 00:24:12,375 >> Pisanie dynamicznych stron internetowych z PHP sprawia, że ​​o wiele lepiej. 489 00:24:12,375 --> 00:24:14,250 Twoje strony się bardzo dynamiczny, a ty nie 490 00:24:14,250 --> 00:24:17,670 musisz zrobić za dużo więcej niż to, co można inaczej zrobiłby tak 491 00:24:17,670 --> 00:24:18,920 robi to z HTML. 492 00:24:18,920 --> 00:24:21,630 Ale to wymaga praktyki, dużo ćwiczyć. 493 00:24:21,630 --> 00:24:26,897 >> Wiesz już, jak do pracy z C, i tak skacze do PHP nie jest zbyt trudne. 494 00:24:26,897 --> 00:24:28,730 Co to jest może trochę nieco trudne pracuje 495 00:24:28,730 --> 00:24:33,180 z tej nowej idei GET i POST, a może mieszania kod HTML i swoją PHP 496 00:24:33,180 --> 00:24:34,220 razem. 497 00:24:34,220 --> 00:24:37,570 Ale także mieć świadomość, że w internecie Jest to ogromna skarbnica informacji. 498 00:24:37,570 --> 00:24:41,670 I dokumentacji PHP jest dostępny w wielu miejscach, ale chyba najbardziej 499 00:24:41,670 --> 00:24:43,354 kanonicznie na php.net. 500 00:24:43,354 --> 00:24:45,520 I można tam znaleźć, wiele różnych funkcji, 501 00:24:45,520 --> 00:24:48,330 i przypadków użycia oraz przykłady na przykładach, na przykładach. 502 00:24:48,330 --> 00:24:51,340 Gdzie, jeśli chcesz spróbować i rysunek się, jak coś zrobić, kursy są, 503 00:24:51,340 --> 00:24:52,964 ktoś chyba zrobił to przed tobą. 504 00:24:52,964 --> 00:24:55,840 I można ich używać jako Inspiracją do realizacji co 505 00:24:55,840 --> 00:24:58,230 to ty próbujesz realizacji też. 506 00:24:58,230 --> 00:24:59,230 >> Jestem Doug Lloyd. 507 00:24:59,230 --> 00:25:01,210 To CS50. 508 00:25:01,210 --> 00:25:02,608