[Powered by Google Translate] [PHP Web Development]
[Tommy MacWilliam]
[To jest CS50.] [CS50.TV]
>> W tym filmie dowiemy się o użyciu PHP do tworzenia stron WWW.
PHP jest językiem skryptowym, który może być wykorzystywany do
strony na serwerze WWW.
Serwer WWW jest w zasadzie urządzenie dedykowane dostarczyły
, które mogą być dostępne za pośrednictwem Internetu.
Po przejściu do strony internetowej, takich jak Facebook.com / home.php
kod w pliku o nazwie w Home.php który mieszka na serwerze WWW Facebooku gdzieś
będą wykonywane na tym serwerze.
Kod ten może generować jakieś wyjście
co z kolei przesyłane z serwera
do swojej przeglądarki.
Będziemy używać urządzenia CS50 jako serwer WWW.
Twoje urządzenie prawdopodobnie nie będzie już tak potężny jak maszyny
w Facebooka centrum danych, ale nie będziesz miał problemu z wykorzystaniem go do tworzenia stron WWW.
>> Kiedy przejść do adresu URL http://localhost/hello.php
możemy skonfigurować urządzenie za pomocą aplikacji o nazwie Apache HTTP Server
szukać pliku o nazwie hello.php wewnątrz domu / jharvard / vhosts / localhosts / html domyślnie.
Jeśli ten plik nie istnieje, Apache będzie używać interpreter PHP
aby wykonać kod PHP w hello.php.
Jeśli plik nie istnieje to Apache nie będzie rzucać znaleziono błąd
lub 404 błąd, który już prawdopodobnie widział podczas przeglądania sieci Web.
>> Rzućmy okiem na hello.php.
Widzimy tutaj, że hello.php generuje linię sygnału wyjścia.
Kiedy wpadliśmy hello.php w linii poleceń za pomocą php hello.php
że produkcja została wydrukowana na terminal.
Teraz, gdy mamy dostęp do tego pliku za pomocą adresu URL w przeglądarce internetowej
jego produkcja zostanie wysłany do przeglądarki internetowej,
więc udać się do adresu URL, http://localhost/hello.php,
możemy zobaczyć wyjście w naszej przeglądarce internetowej.
>> Spróbujmy dodanie kolejnego printf do naszego programu hello world.
Ok, wracamy do przeglądarki i zobacz, co mamy.
Ciekawe.
Zamiast drukowania kolejną linię na własnej linii, tak jak widzieliście
w terminalu, wygląda na to, że dostałem smushed na tej samej linii
w drugiej printf, więc może nowe linie nie działają w PHP.
Nie całkiem.
Pamiętaj, że HTML jest zazwyczaj używany do tworzenia stron internetowych
, które mogą być wyświetlane przez przeglądarki internetowe.
Nie tylko jest ciąg komentarzy z php nie ważnego HTML,
ale przypominam, że nie możemy używać \ n znak w formacie HTML
do stworzenia nowej linii.
Zamiast po prostu wyprowadzania ciąg niech wyjściową prawidłową HTML.
Przy użyciu tagów akapitu Każdy z naszych rozmów printf
zostanie wyświetlona w oddzielnym wierszu,
więc teraz, gdy odwiedzamy URL do valid.php wskazujący
http://localhost/valid.php
widzimy wyjścia, że ​​szukamy.
>> Teraz, jeśli patrzymy na źródło tej strony
widzimy, że jesteśmy teraz patrząc na ważnej HTML,
które stworzyliśmy z PHP.
Umieszczenie wszystkich naszych połączeń printf HTML wewnątrz
jest oczywiście dzieje się naprawdę irytujące.
Na szczęście możemy łatwo mieszać HTML i PHP
w jednym pliku PHP..
Pamiętaj, że wszystkie nasze kodu PHP muszą być zamknięte w php <?
i>.
Wszystko, co nie jest ujęty w tych ograniczników
po prostu przesyłane jako dane wyjściowe do przeglądarki
zamiast być stracony.
Oznacza to, że możemy zrobić coś takiego.
Możemy po prostu napisać HTML wewnątrz naszego pliku PHP.
a następnie wstawić bloków PHP, gdzie chcielibyśmy jakiś kod php do wykonania.
Tutaj możemy zdefiniować kilka zmiennych na początku pliku,
i później je wydrukować wewnątrz naszej HTML.
Teraz jeśli odwiedzić ten adres URL, http://localhost/mixed.php
widzimy naszą oceniana PHP wewnątrz naszej HTML.
>> Teraz rzućmy okiem na to, jak możemy przekazać dane
wśród naszych różnych stron PHP.
Zamiast mówić
możemy po prostu powiedzieć: <? = zmienna chcielibyśmy wydrukować, lub,
i>.
Załóżmy teraz przyjrzeć się w jaki sposób możemy przekazać dane
wśród naszych różnych stron PHP.
Jednym ze sposobów można to zrobić jest do kodowania informacji w adresie URL strony.
Podczas przeglądania sieci Web, można zauważyć, że niektóre adresy URL
zawierać? następuje ciąg zawierający znaków handlowego i znaki równości.
Ta część adresu URL jest znana jako łańcuch zapytania,
a to pozwala skutecznie przekazywać argumenty do skryptu PHP.
Łańcuch zapytania składa się z par wartości kluczowych, podobnie jak tabeli mieszania.
Znak równości rozdziela klucza i odpowiadającą jej wartością
, podczas gdy znaki ampersand oddzielić par.
Adres URL, który wygląda jak http://localhost/get.php?foo=bar&baz=qux
ma 2 pary wartość klucza w ciągu kwerendy.
Klucz bla mapy do paska wartości,
i klucz baz mapy do wartości qux.
Możemy łatwo uzyskać dostęp do tych par wartości klucza za pomocą specjalnej zmiennej w PHP,
$ _GET.
$ _GET Jest asocjacyjna
który jest automatycznie wypełniane danymi ciągu zapytania.
Oznacza to, że biorąc pod uwagę ten URL $ _GET ["foo"]
wyniesie paska ciągu.
>> Rzućmy okiem na get.php zobaczyć $ _GET w akcji.
Używamy funkcji o nazwie var_dump,
który podawany jest tablicą lub inną zmienną
wydrukuje dla nas.
Teraz, jeśli po prostu przejść http://localhost/get.php
potem zobaczymy pustą tablicę, ponieważ nie dostarczono łańcucha zapytania.
Jeśli robimy zapewnić ciąg kwerendy poprzez http://localhost/get.php?foo=bar&baz=qux
to możemy zobaczyć, że zmienna $ _GET będzie zawierać
pary wartość klucza ciąg kwerendy.
Ale co, jeśli nie chcemy, aby nasz dane wewnątrz adresu URL strony?
W przypadku dużych ilości danych, co może doprowadzić w niektórych dość brzydkich URL
które idą do naszej strony internetowej, błyszczący wygląd chromych.
Możemy zamiast umieścić ciąg kwerendy do ciała
z żądań HTTP, a nie URL wniosek za.
Wtedy możemy użyć zmiennej $ _POST w PHP
aby uzyskać dostęp do par wartości klucza.
Jednym ze sposobów na to jest za pomocą formularza HTML.
Tu mamy prosty formularz HTML.
Zauważyć tutaj, że atrybut metody tej formie jest po.
Ten mówi przeglądarce, aby umieścić par wartości kluczowych postaci w
do treści żądania zamiast URL.
>> Gdybyśmy mieli wykorzystywać wartość dla tego atrybutu dostać
następnie pary wartości kluczowych postaci byłby zamiast iść w ciągu kwerendy,
więc mogliśmy do nich dostęp poprzez $ _GET ponownie.
Atrybut action formularza informuje przeglądarkę, aby wysłać dane.
Oto nasze elementy wejściowe 2 mają atrybuty nazw.
Wartości atrybutów nazwa będzie służyć jako klucze do naszych danych,
i wartości wejść tekstowych stanie się wartości tych kluczy.
Teraz rzućmy okiem na post.php,
Plik, że ta forma jest przedłożenie.
Tak jak przedtem, jesteśmy po prostu wyświetla zawartość zmiennej $ _POST.
>> Miejmy przejść do formularza z http://localhost/form.php.
Teraz, kiedy mamy wysłać formularz widzimy, że dane z form.php
jest przekazywana do Post.php bez dołączania ciąg kwerendy do adresu URL.
Teraz widzieliśmy 2 różne sposoby przekazywania danych między stronami PHP,
GET i POST.
W naszych przykładach użyliśmy 2 różnych typów żądań HTTP.
Jak można się spodziewać, żądanie GET, gdy użyto wypełniane
$ _GET Z zawartości, a wniosek został użyty po
kiedy zaludnionych $ _POST.
W projektowaniu aplikacji internetowych to dobra zasada, aby korzystać z żądań GET
gdy aplikacja będzie tylko do odczytu danych i żądania POST
gdy aplikacja będzie zapisywać dane.
Na przykład, zapytanie wyszukiwarka odczyta dane z Twojej aplikacji,
więc żądanie GET sens.
Z drugiej strony, Twoja aplikacja będzie zapisywać dane za pomocą czegoś w formularzu rejestracyjnym,
więc wniosek po to więcej sensu, i to jest przegląd niektórych technik
będziemy używać w CS50 do tworzenia stron internetowych za pomocą PHP.
>> Nazywam się Tommy, i to jest CS50.
[CS50.TV]