Tworzymy w php. PHP. Dynamiczne tworzenie stron. Jak wygląda kod PHP i gdzie go wkleić

W Internecie istnieje ogromna liczba stron internetowych. Wszystkie te witryny można podzielić na dwa typy: statyczne i dynamiczne. Dzisiaj porozmawiamy o tworzeniu stron dynamicznych, ale najpierw chciałbym powiedzieć, czym jest strona (strona) statyczna i dynamiczna.

Strony statyczne

Witryny statyczne składają się ze statycznych stron internetowych. Oznacza to, że bez względu na to, co robi użytkownik, strona zawsze wygląda tak samo. Takie strony są przechowywane na serwerze jako dokumenty HTML. Strony statyczne są układane ręcznie. Jeśli chcesz zmienić zawartość strony, musisz edytować kod HTML dla każdej strony.

Zalety:

  • Prostota i taniość tworzenia, niewymagające zasobów sprzętowych;

Wady:

  • Dużo czasu poświęconego na edycję treści;
  • Nie nadaje się do dużych projektów.

Witryny dynamiczne

Witryny dynamiczne składają się z dynamicznych stron internetowych, które mogą reagować na działania użytkownika i zmiany. Takie strony są tworzone przez serwer WWW z kilku plików (szablonów). Wszystkie informacje są przechowywane w bazie danych. Gdy użytkownik żąda strony, odpowiednie informacje są pobierane z bazy danych, wstawiane do szablonu w celu utworzenia strony internetowej i wysyłane przez serwer sieciowy do przeglądarki użytkownika. W związku z tym, aktualizując zawartość witryny, wystarczy dodać tekst nowej strony, który następnie jest wstawiany do bazy danych za pomocą określonego mechanizmu.

Zalety:

  • Zarządzanie treścią odbywa się za pomocą specjalnych formularzy, w których można łatwo dodawać, edytować i usuwać informacje;
  • Maksymalna wydajność przy dodawaniu nowych treści do serwisu;
  • Przy dodawaniu lub edytowaniu treści nie jest wymagana specjalna wiedza z zakresu webmasteringu (HTML, CSS);
  • Możliwość tworzenia dużych projektów wielofunkcyjnych;
  • Świetne możliwości awansu.

Wady:

  • Wysoki koszt stworzenia i utrzymania;
  • Musisz mieć odpowiednią wiedzę, aby utrzymać wydajność witryny.

Teraz myślę, że rozumiesz, że najlepiej zrobić stronę internetową używając stron dynamicznych. to najlepszy i wygodny wybór. Cóż, teraz porozmawiajmy o tworzeniu dynamicznych stron.

Proste linki

Zanim nauczysz się języka PHP, myślę, że powinieneś już znać HTML i oczywiście tworzyć hiperłącza. Chciałbym przypomnieć:

$link = "przykład.php"; wydrukować"<а href = \"$link\">Przykład dynamicznego hiperłącza.
\n"

Tak łatwo jest stworzyć dynamiczne hiperłącze za pomocą języka php.

Proces tworzenia strony dynamicznej

Proces tworzenia strony dynamicznej składa się z kilku etapów:

Układanie ramki strony. Nazwijmy stronę index.php - będzie się składać z części: nagłówek (nagłówek), stopka (stopka), lewe menu (lewe menu). W tym przykładzie pokażę, jak układa się strona oparta na tabeli, ale możesz również użyć wersty blokowej.

1. Tworzenie pliku nagłówek.php.

Dynamiczna strona w PHP.

Nagłówek witryny


2. Tworzymy plik leftmenu.php.

  • Link 1
  • Link 2
  • Link 3
  • Link 4
  • Link 5

3. Tworzymy plik stopka.php.

Stopka witryny


Utwórz folder o nazwie szablon do którego skopiujesz powstałe pliki. Jeśli potrzebujesz edytować nagłówek, lewe menu lub stopkę witryny, będziesz wiedział, że szablony tych części witryny znajdują się w tym folderze.

Połączmy otrzymane pliki (szablony) ze stroną za pomocą instrukcji include na przykładzie strony index.php.

Witam!

To pierwsza dynamiczna strona w PHP.

W ten sposób strona index.php jest stroną dynamiczną, zostanie utworzona z kilku plików (szablonów). Możesz stworzyć dowolną ilość takich szablonów. Jeśli chcesz zmienić jakąkolwiek część witryny, po prostu znajdź żądany plik szablonu i edytuj go.

Na tym kończy się tworzenie stron dynamicznych. Myślę, że rozumiesz znaczenie i praktyczność dynamicznych witryn i na podstawie mojego przykładu możesz stworzyć duży projekt. I nie zapomnij skomentować swojego kodu - to bardzo ważni przyjaciele! Powodzenia!

PS Małe zmiany od 07.06.2019:

Ponieważ programowanie zawsze ewoluuje, musi ewoluować z prędkością światła. Przedstawiony powyżej układ tabelaryczny jest obecnie mało używany w praktyce i jest niezbędny jedynie do nauki przez początkujących programistów.

Jeśli chcesz tworzyć nowe i skuteczne strony internetowe, zalecamy stosowanie układu blokowego zamiast układu tabelarycznego. Rozważmy bardziej szczegółowo.

Tabele zostały wymyślone specjalnie do wyświetlania danych tabelarycznych, a nie do oznaczania elementów strony. Co jest w tabeli:

tekst

może być reprezentowany jako układ blokowy (div):

tekst

zajmuje znacznie mniej miejsca na dysku.

Rozważ zalety układu blokowego w porównaniu z tabelarycznym:

  1. Znaczne zmniejszenie rozmiaru strony, zwykle 2-3 razy, co znacznie skraca czas ładowania strony. W tym samym czasie rozmiar pliku nieznacznie wzrośnie, ale ze względu na to, że jest on buforowany raz przez przeglądarkę użytkownika i jest odczytywany z jego komputera podczas uzyskiwania dostępu do innych stron, w rezultacie witryna ładuje się znacznie szybciej niż tabelaryczny.
  2. O wiele wygodniej jest zmienić wygląd stron witryny, renderowanych w pliku CSS. W tym przypadku praktycznie nie ma potrzeby edytowania -kodu.
  3. Dzięki możliwościom układu blokowego można zadbać o to, aby w kodzie najpierw znalazła się główna treść strony, a dopiero potem nagłówek, lewa i/lub prawa kolumna. Wygląd strony w ogóle się nie zmieni.
  4. Przejrzystość kodu strony blokowej jest przyjemna wizualnie - nie ma stosów tagów, wszystko jest bardzo piękne i zwarte.

Ostatnia aktualizacja: 1.11.2015

Teraz stworzymy małą witrynę, która ma na celu dać wstępną wiedzę na temat pracy z PHP.

Do tworzenia programów w PHP potrzebujemy edytora tekstu. Najpopularniejszym obecnie programem jest Notepad++.

Przejdźmy do utworzonego wcześniej katalogu C:\localhost , w którym będą przechowywane wszystkie dokumenty serwisu. Stwórzmy plik tekstowy i nazwijmy go index.html. Otwórz go w edytorze tekstu i dodaj do niego następujący kod:

Pierwsza strona w PHP

Wpisz swoje dane:

Wpisz swoje imię:

Wpisz nazwisko:

Kod html zawiera formularz z dwoma polami tekstowymi. Po kliknięciu przycisku dane formularza są wysyłane do skryptu display.php, tak jak jest to określone w atrybucie action.

Teraz stwórzmy ten skrypt, który będzie przetwarzał dane. Dodaj do folderu c:\localhost nowy plik tekstowy. Zmieńmy jego nazwę na display.php. Domyślnie pliki programu php mają rozszerzenie .php. Dodajmy więc następujący kod do pliku display.php:

Pierwsza strona w PHP ".$imię . " " . $nazwisko . ""; ?>

Tutaj już w znacznikach html są plamy kodu PHP. Tagi służą do dodawania wyrażeń PHP do strony, pomiędzy którymi znajdują się instrukcje w języku PHP. W kodzie php otrzymujemy dane formularza i wyświetlamy je na stronie.

Każde pojedyncze wyrażenie PHP musi kończyć się średnikiem. W tym przypadku mamy trzy wyrażenia. Dwóch z nich otrzymuje przesłane dane z formularza, na przykład $name = $_POST["firstname"]; .

$name to zmienna przechowująca pewną wartość. Wszystkie zmienne w PHP są poprzedzone znakiem $. A ponieważ formularz na stronie index.html używa metody POST do przesłania, możemy użyć wyrażenia $_POST["firstname"], aby uzyskać wartość, która została wprowadzona w polu tekstowym z atrybutem name="firstname" . I ta wartość trafia do zmiennej $name.

Za pomocą instrukcji echo możesz wyświetlić na stronie dowolną wartość lub tekst, który występuje po instrukcji. W tym przypadku (echo „Twoje imię: ".$imię . " " . $nazwisko . ""), za pomocą kropki, cytowany tekst jest łączony z wartościami zmiennych $imię i $nazwisko i wyświetlany na stronie.

Przejdźmy teraz do formularza wejściowego, przechodząc pod adres http://host lokalny:8080:

Wprowadź dane i kliknij przycisk Prześlij:

Scenariusz zadziałał dla nas display.php, który odebrał i wyświetlił przesłane dane na stronie.

Utwórz plik o nazwie hello.php w katalogu głównym serwera WWW (DOCUMENT_ROOT) i zapisz w nim:

Przykład #1 Pierwszy skrypt PHP: hello.php



Testowanie PHP


"

Witaj świecie!

" ; ?>

Otwórz ten plik w przeglądarce, wpisując nazwę serwera WWW i /cześć.php. Przy programowaniu lokalnym ten link może wyglądać tak: http://localhost/hello.php lub http://127.0.0.1/hello.php, ale zależy to od ustawień serwera. Jeśli wszystko jest poprawnie skonfigurowane, plik ten zostanie przetworzony przez PHP, a przeglądarka wyświetli następujący tekst:

Test PHP

Witaj świecie

Ten program jest niezwykle prosty i nie musisz nawet używać PHP do stworzenia tak prostej strony. Wszystko, co robi, to wnioskowanie Witaj świecie przy użyciu instrukcji PHP Echo. Należy pamiętać, że plik nie musi być wykonywalny lub w inny sposób różni się od innych plików. Serwer wie, że ten plik powinien być przetwarzany przez PHP, ponieważ plik ma rozszerzenie ".php", które w ustawieniach serwera mówi, że takie pliki powinny być przekazywane do PHP. Pomyśl o tym jak o zwykłym pliku HTML, który ma szczęście mieć zestaw specjalnych tagów (dostępnych również dla Ciebie), które mogą zrobić wiele fajnych rzeczy.

Jeśli ten przykład nie wyświetla niczego dla Ciebie lub wyświetla okno pobierania, lub jeśli widzisz cały plik w formie tekstowej, najprawdopodobniej Twój serwer WWW nie obsługuje PHP lub został nieprawidłowo skonfigurowany. Poproś administratora serwera o włączenie tej obsługi. Zaproponuj mu instrukcje instalacji: sekcja Instalacja w tej dokumentacji. Jeśli tworzysz skrypty PHP w domu (lokalnie), przeczytaj również ten rozdział, aby upewnić się, że wszystko jest poprawnie skonfigurowane. Upewnij się również, że żądasz pliku z serwera za pośrednictwem protokołu http. Jeśli po prostu otworzysz plik z systemu plików, nie zostanie on przetworzony przez PHP. Jeśli problemy nie ustąpią, możesz poprosić o pomoc jeden z pokwitowań wsparcia PHP.

Celem przykładu jest pokazanie formatu specjalnych znaczników PHP. W tym przykładzie użyliśmy jako znacznik otwierający, a następnie polecenia PHP kończące się znacznikiem zamykającym ?> . W ten sposób możesz "wskakiwać" i "wyskakiwać" z trybu PHP w dowolnym miejscu pliku HTML. Możesz przeczytać więcej na ten temat w sekcji Podstawowa składnia podręcznika.

Komentarz: Uwaga o nowych liniach

Podziały wierszy niewiele znaczą w HTML, ale dobrym pomysłem jest zachowanie czytelności kodu HTML poprzez zawinięcie go w nowy wiersz. PHP automatycznie usuwa znaki nowej linii natychmiast po znaczniku końcowym ?> . Może to być niezwykle przydatne, jeśli używasz wielu bloków kodu PHP lub dołączasz pliki PHP, które nie powinny niczego wyprowadzać. Jednocześnie może to być mylące. Możesz wstawić spację po tagu zamykającym ?> a następnie spacja zostanie wypisana wraz ze znakiem nowej linii lub możesz dodać nową linię do ostatniego wywołania echa/drukowania z bloku kodu PHP.

Komentarz: Kilka słów o edytorach tekstu

Istnieje wiele edytorów tekstu i zintegrowanych środowisk programistycznych (IDE), w których można tworzyć i edytować pliki PHP. Aby zobaczyć listę niektórych edytorów, zobacz » Lista edytorów PHP. Jeśli chciałbyś polecić redaktora, odwiedź tę stronę i poproś o dodanie redaktora do listy. Korzystanie z edytora z podświetlaniem składni może być bardzo pomocne w pracy.

Komentarz: Kilka słów o edytorach tekstu

Procesory tekstu (StarOffice Writer, Microsoft Word, Abiword itp.) w większości przypadków nie nadają się do edycji plików PHP. Jeśli nadal chcesz użyć któregoś z tych w swoim skrypcie testowym, upewnij się, że zapisałeś plik jako zwykły tekst(zwykły tekst), w przeciwnym razie PHP nie będzie w stanie odczytać i uruchomić twojego skryptu.

Komentarz: Kilka słów o Notatniku Windows

Pisząc skrypty PHP za pomocą wbudowanego Notatnika Windows, musisz zapisywać pliki z rozszerzeniem .php. (Notatnik automatycznie doda rozszerzenie .txt, jeśli nie wykonasz poniższych kroków.) Gdy zostaniesz poproszony o podanie nazwy pliku podczas jego zapisywania, wpisz nazwę pliku w podwójnych cudzysłowach (na przykład „hello.php” ). Ponadto możesz kliknąć menu rozwijane „Dokumenty tekstowe” w oknie dialogowym zapisywania pliku i wybrać w nim element „Wszystkie pliki”. Następnie możesz wprowadzić nazwę pliku bez cudzysłowów.

Teraz, po pomyślnym utworzeniu działającego skryptu PHP, nadszedł czas na stworzenie najsłynniejszego skryptu PHP w historii! Wywołaj funkcję phpinfo() zobaczysz wiele przydatnych informacji o swoim systemie i konfiguracji, takich jak dostępne predefiniowane zmienne, załadowane moduły PHP i opcje konfiguracji. Poświęć trochę czasu na przestudiowanie tej ważnej informacji.

Przykład #2 Pobieranie informacji o systemie z PHP

Wielu czytelników w każdej książce o komputerach przejrze wszystko, co nie jest bezpośrednio interesujące, i przejdzie do tego, co naprawdę chcieć wiedzieć. Osobiście dokładnie to robię. Nie ma się jednak czym martwić – rzadko zdarzają się książki techniczne, które trzeba czytać od deski do deski. A może właśnie to zrobiłeś – pominąłeś osiem początkowych rozdziałów i podjąłeś ten rozdział, bo miał najciekawszy tytuł? A kto chciałby tracić czas na szczegóły, gdy w pracy płonie inny projekt?

Na szczęście ten pośpiech nie powstrzyma Cię przed opanowaniem drugiej części książki, która dotyczy używania PHP do tworzenia stron internetowych i interakcji z siecią. W tym rozdziale dowiesz się, jak w prosty sposób modyfikować zawartość stron internetowych i poruszać się po sieci za pomocą linków i różnych standardowych funkcji. Kolejny rozdział będzie uzupełnieniem prezentowanego materiału - szczegółowo omawia sposoby interakcji użytkownika w formularzach HTML Rozdział 11 opisuje organizację interfejsu z bazami danych. Pozostałe rozdziały w części 2 obejmują nietrywialne aspekty programowania WWW w PHP.

Należy jednak pamiętać, że materiał części 1 absolutnie niezbędna dla normalnej znajomości PHP. Zakłada się, że przeczytałeś pierwszą część, więc w przykładach wykorzystasz wiele z omówionych wcześniej pojęć. Jeśli więc przejrzałeś część książki, będziesz musiał od czasu do czasu wrócić do poprzednich rozdziałów i nadrobić zaległości.

Proste linki

<а href = "date.php">

$link = "data.php";

wydrukować"<а href = \"$link\">Zobacz dzisiejszą datę
\n"

Być może zastanawiasz się, dlaczego w kodzie łącza znajduje się ukośnik odwrotny (\) przed cudzysłowami (")? Dzieje się tak, ponieważ cudzysłowy są znakami specjalnymi w PHP i są używane jako ograniczniki ciągu. ekranowany.

Jeśli denerwuje Cię konieczność unikania cudzysłowów, po prostu włącz tryb magic_quotes_gpc w pliku php.ini. Wynikiem są wszystkie apostrofy, cudzysłowy, ukośniki odwrotne i znaki null. są automatycznie pominięte w tekście!

Rozwińmy podany przykład. Aby szybko wyświetlić listę linków w przeglądarce, możesz użyć tablicy:

// Utwórz tablicę sekcji

$contents - array("tutoriale", "artykuły", "skrypty", "kontakt");

// Przeprowadź pętlę i wypisz kolejno każdy element tablicy

dla ($i = 0; $i< sizeof($contents; $i++)

drukuj" • „.$treść[$i].”
\n";

// • - specjalne oznaczenie punktu znacznika endfor;

Składniki plików (szablony)

Doszliśmy do jednej z moich ulubionych funkcji PHP. Szablon (jak w przypadku programowania internetowego) jest częścią dokumentu internetowego, którego będziesz używać na kilku stronach. Szablony, podobnie jak funkcje PHP, oszczędzają kłopotów z kopiowaniem/wklejaniem fragmentów zawartości strony i kodu programu. Wraz ze wzrostem skali serwisu rośnie znaczenie szablonów, które pozwalają w łatwy i szybki sposób dokonywać modyfikacji na poziomie całej witryny. W tej sekcji opisano niektóre z możliwości, które otwierają się podczas korzystania z najprostszych szablonów.

Zazwyczaj wspólne fragmenty treści/kodu (tj. szablony) są przechowywane w osobnych plikach. Tworząc dokument internetowy, po prostu „dołączasz” te pliki w odpowiednich miejscach na stronie. PHP ma do tego dwie funkcje: include() i require().

include() i require()

Jednym z najwybitniejszych aspektów PHP jest możliwość budowania szablonów i bibliotek programistycznych, a następnie wstawiania ich do nowych skryptów. Korzystanie z bibliotek pozwala zaoszczędzić czas i wysiłek związany z wykorzystaniem wspólnych funkcjonalności na różnych stronach internetowych. Czytelnicy z

doświadczenie programistyczne w innych językach (np. C, C++, czy Java), znajomość koncepcji bibliotek funkcji i ich wykorzystania w programach rozszerzających funkcjonalność.

Włączenie jednego lub więcej plików do skryptu odbywa się za pomocą standardowych funkcji PHP require() i include(). Jak zostanie pokazane w następnej sekcji, każda z tych funkcji jest używana w określonej sytuacji.

Funkcje

PHP ma cztery funkcje dołączania plików do skryptów PHP:

  • włączać();
  • dołącz_raz();
  • wymagać();
  • wymagają raz().

Pomimo podobieństwa nazw funkcje te pełnią różne zadania.

Funkcja include() zawiera zawartość pliku w skrypcie. Składnia funkcji include() to:

dołącz (plik plik]

Funkcja include() ma jedną interesującą cechę - może być wykonywana warunkowo. Na przykład, jeśli wywołanie funkcji jest zawarte w bloku instrukcji if. wtedy plik jest włączany do programu tylko wtedy, gdy warunek i f jest spełniony. Jeśli funkcja includeO jest używana w poleceniu warunkowym, to musi być ujęte w nawiasy klamrowe lub alternatywne ograniczniki. Porównaj różnice składni w listingach 9.1 i 9.2.

Wykaz 9.1. Nieprawidłowe użycie funkcji include()

jeśli (niektóre_warunkowe)

include("text91a.txt"); w przeciwnym razie

include("text91b.txt");

Wykaz 9.2. Właściwe użycie include()

jeśli (jakiś_warunkowy) :

include("text91a.txt");

include("text91b.txt");

Cały kod PHP w dołączonym pliku koniecznie jest w tagach PHP. Nie zakładaj, że zwykłe przechowywanie polecenia PHP w pliku zapewni jego prawidłowe przetwarzanie:

Zamiast tego należy umieścić polecenie w odpowiednich znacznikach, jak pokazano w poniższym przykładzie:

print "to jest nieprawidłowy plik dołączany";

Funkcja include_once() robi to samo, co include(), z jednym wyjątkiem: sprawdza, czy plik został dołączony przed włączeniem go do programu. Jeśli plik został już dołączony, wywołanie include_once() jest ignorowane, a jeśli nie, plik jest domyślnie dołączany. Pod wszystkimi innymi względami include_once() nie różni się od include(). Składnia funkcji include_once() to:

include_once (plik plik)

Ogólnie rzecz biorąc, funkcja require() jest podobna do funkcji include() — zawiera również szablon w pliku zawierającym wywołanie funkcji require(). Składnia funkcji require() to:

wymagać (plik pliku)

Jest jednak jedna ważna różnica między funkcjami require() i include(). Plik określony przez parametr require() jest zawarty w skrypcie, niezależnie od lokalizacji require() w skrypcie. Na przykład, jeśli wywołasz requirere() w bloku if z fałszywym warunkiem, plik nadal będzie zawarty w skrypcie!

W wielu sytuacjach wygodnie jest utworzyć plik ze zmiennymi i innymi informacjami używanymi w witrynie, a następnie dołączyć go w razie potrzeby. Chociaż nazwa tego pliku jest dowolna, zwykle nazywam go init.tpl (skrót od „inicjalizaion.template”). Listing 9.3 pokazuje, jak wygląda bardzo prosty plik init.tpl. Na listingu 9.4 zawartość init.tpl jest zawarta w skrypcie za pomocą polecenia require().

Listing 9.3. Przykładowy plik inicjujący

$site_title = "(!LANG:Przepisy PHP";!}

$contact_email = " [e-mail chroniony]";

$contact_name = "WJ Gilmore";

Listing 9.4. Korzystanie z pliku init.tpl

<? print $site_title; ?>

\"mai1 to:$contact_email\">$contact_name."; ?>

Przekazywanie adresu URL podczas wywoływania funkcji require() jest dozwolone tylko wtedy, gdy włączony jest tryb „opakowania adresów URL fopen” (tryb ten jest domyślnie włączony).

Wraz ze wzrostem rozmiaru witryny może się zdarzyć, że niektóre pliki zostaną uwzględnione w skrypcie więcej niż jeden raz. Czasami nie powoduje to problemów, ale w niektórych przypadkach ponowne włączenie pliku resetuje zmienione zmienne. Jeśli funkcje są zdefiniowane w pliku dołączanym, mogą wystąpić konflikty nazw. Powiedziawszy to, dochodzimy do następnej funkcji, require_once().

Funkcja require_once() zapewnia, że ​​plik zostanie uwzględniony w skrypcie tylko raz. Po wywołaniu requi re_onse() wszystkie kolejne próby dołączenia tego samego pliku są ignorowane. Składnia funkcji require_onse() to:

Prawdopodobnie będziesz częściej korzystać z funkcji dołączania plików w miarę zwiększania się aplikacji internetowych. Funkcje te są często używane w przykładach w tej książce w celu zmniejszenia nadmiarowości kodu. Pierwsze przykłady zostały omówione w następnym rozdziale dotyczącym zasad budowania podstawowych szablonów.

Komponenty budowlane

Definiując strukturę typowej strony internetowej, zwykle dzielę ją na trzy części: nagłówek, treść i stopkę. Zazwyczaj większość dobrze zorganizowanych witryn internetowych ma nagłówek, który niewiele się zmienia; główna część wyświetla żądaną zawartość strony, więc często się zmienia; Wreszcie stopka zawiera informacje o prawach autorskich i linki nawigacyjne. Stopka, podobnie jak nagłówek, zwykle pozostaje niezmieniona. Nie zrozum mnie źle - wcale nie staram się stłumić Twojej kreatywności. Widziałem wiele świetnych witryn, które nie przestrzegały tych zasad. Po prostu próbuję wymyślić ogólną strukturę, która może posłużyć jako punkt wyjścia do dalszej pracy.

nagłówek

Plik nagłówkowy (jak ten z listingu 9.5) jest obecny w prawie każdej z moich witryn obsługujących PHP. Ten plik zawiera

informacje dotyczące całej witryny, takie jak tytuł, informacje kontaktowe i niektóre składniki kodu strony HTML.

Listing 9.5. Przykład pliku nagłówkowego

// Plik: header.tpl

// Cel: Plik nagłówkowy dla witryny PhpRecipes.

$site_name = "PHPRecipes";

$site_email=" [e-mail chroniony]";

$site_path = "http://localhost/phprecipes";

<? print $site_name; ?>

// Wyświetl aktualną datę i godzinę

data wydruku("F d, h:i a");

Często zdarza się, że odwiedzający ograniczają dostęp w celu dołączenia plików, zwłaszcza jeśli pliki zawierają poufne informacje (takie jak hasła). W Apache możesz uniemożliwić przeglądanie niektórych plików, edytując pliki http.conf lub htaccess. Poniższy przykład pokazuje, jak wyłączyć wyświetlanie wszystkich plików .tpl:

zamów zezwól, odrzuć

Zezwól od 127.0.0.1

Kwestie związane z PHP i bezpieczeństwem witryny zostały szczegółowo omówione w rozdziale 16.

Biegowy tytuł

Nagłówek (stopka) to zazwyczaj informacje znajdujące się na dole stron serwisu - dane kontaktowe, linki i informacje o prawach autorskich. Informacje te można umieścić w osobnym pliku i dołączyć jako szablon w taki sam sposób jak nagłówek. Powiedzmy, że wraz z nadejściem nowego roku musiałeś zmienić informacje o prawach autorskich i przenieść je do postaci "Copyright © 2000-2001". Są dwa sposoby: spędzić Wigilię gorączkowo edytując setki statycznych stron lub użyj szablonu takiego jak ten z listingu 9.6. Jedna prosta zmiana i możesz wrócić do świątecznych obowiązków.

Listing 9.6. Przykładowy plik stopki (footer.tpl)

kontakt |

twoja prywatność

Zwróć uwagę na użycie zmiennej globalnej $site_email w pliku stopki. Wartość tej zmiennej obejmuje całą stronę i zakładamy, że pliki header.tpl i footer.tpl zostaną zawarte na jednej końcowej stronie. Zwróć także uwagę na obecność $site_path w łączu Prywatność. Zawsze dołączam pełne ścieżki do wszystkich linków w moich szablonach — jeśli adres URL linku składałby się z pojedynczej nazwy privacy.php, plik stopki byłby na stałe zakodowany w określonym katalogu.

Główną częścią

Treść nagłówka i stopki zawarta jest w głównej części strony. Zasadniczo jest to główna część, która zawiera informacje interesujące dla odwiedzających witrynę. Nagłówek wygląda spektakularnie, stopka zawiera przydatne informacje, ale to do głównej części strony użytkownicy wracają do serwisu raz po raz. Chociaż nie mogę podać żadnych zaleceń dotyczących konkretnej struktury strony, szablony, takie jak ten z Listingu 9-7, znacznie ułatwiają administrowanie stroną.

Listing 9.7. Przykład głównej treści strony (index_body.tpl)

/tutorials.php">poradniki

artykuły

skrypty

kontakt

Witamy w PHPRecipes. miejsce startu skryptów PHP, tutoriali,

i informacje o gotowaniu dla smakoszy!

Podsumowując: nagłówek, stopka i treść

Być może mój nastrój najlepiej oddaje pułkownik „Hannibal” Smith (George Peppard) ze słynnego serialu A-Team: „Kocham, kiedy wszystko się układa”. Doświadczam czegoś podobnego, gdy różne szablony są łączone w kompletny dokument internetowy. Łącząc trzy sekcje dokumentu: header.tpl, index_body.tpl i footer.tpl, można szybko zbudować prostą stronę, taką jak ta z listingu 9-8.

Listing 9.8. Budowanie strony index.php przez dołączenie kilku plików

// Plik: index.php

// Miejsce docelowe: strona główna PHPRecipes

// Wyświetl tytuł

include("nagłówek.tpl");

// Wyprowadź główną treść

include("index_body.tpl");

// Stopka wyjściowa

include("stopka.tpl");

Cóż, jak? Trzy proste polecenia - i masz przed sobą gotową stronę. Tekst strony podsumowującej jest pokazany na listingu 9.9.

Listing 9.9. Strona HTML wbudowana w Listing 9-8 (index.php)

Przepisy PHP

23 sierpnia, 15:17

samouczki

artykuły

skrypty

kontakt

Witamy w PHPRecipes, miejscu startowym skryptów PHP, tutoriali,

oraz wskazówki i przepisy kulinarne dla smakoszy!

Copyright 2000 PHPRecipes. Wszelkie prawa zastrzeżone.

kontakt |

twoja prywatność

Na ryc. Rysunek 9-1 przedstawia wygląd wynikowej strony w przeglądarce. Chociaż zwykle nie używam obramowań tabel, tym razem dodałem je, aby trzy części strony wyraźniej wyróżniały się na rysunku.

Ryż. 9.1. Wygląd strony wbudowanej w listing 9.8

Optymalizacja szablonu

W drugim (moim zdaniem korzystniejszym) wariancie szablony są wykonane w postaci funkcji znajdujących się w osobnym pliku. Zapewnia to dodatkową strukturę szablonów. Nazywam ten plik plikiem inicjującym i przechowuję w nim inne przydatne informacje. Ponieważ przyjrzeliśmy się już stosunkowo długim przykładom nagłówków i stopek, wykazy 9-10 i 9-11 zostały nieco skrócone, aby zilustrować nowy pomysł.

Listing 9.10. Zoptymalizowany szablon witryny (site_init.tpl)

// Plik: site_init.tpl

// Cel: plik inicjujący PhpRecipes

$site_name = "PHPRecipes";

$site_email = " [e-mail chroniony]";

$site_path = "http://localhost/phprecipes/";

funkcja show_header($site_name) (

<? print $site_name: ?>

To jest nagłówek

funkcja pokaż stopkę()

To jest stopka

Listing 9.11. Stosowanie pliku inicjującego

// Dołącz plik inicjujący

include("site_init.tpl");

// Wyświetl tytuł

pokaż nagłówek($nazwa_witryny);

// Treść ciała To jest kilka informacji o ciele

// Pokaż stopkę Show_footer();

Projekt: generator stron

Chociaż większość tworzonych przeze mnie witryn wygenerowała główną zawartość stron na podstawie informacji odczytanych z bazy danych, zawsze znajdzie się kilka stron, które ledwo się zmieniają. W szczególności mogą wyświetlać informacje o zespole programistów, dane kontaktowe, reklamy itp. Zwykle przechowuję te „statyczne” informacje w osobnym folderze i używam skryptu PHP do ładowania ich na żądanie. Oczywiście masz pytanie - jeśli jest to informacja statyczna, do czego służy skrypt PHP? Dlaczego nie załadować normalnych stron HTML? Zaletą PHP jest to, że możesz używać szablonów i w razie potrzeby wstawiać statyczne fragmenty.

<а href = "/static.php?content=$content">Statyczna nazwa strony

Zacznijmy od stworzenia statycznych stron. Dla uproszczenia ograniczę się do trzech stron zawierających informacje o serwisie (Listing 9.12), reklamach (Listing 9.13) i danych kontaktowych (Listing 9.14).

Listing 9.12. Informacje o witrynie (about.html)

O PHPRecipes

Jaki programista nie miesza programowania przez całą noc z wykwintnymi ciasteczkami. Tutaj w PHPRecipes. Prawie nie ma nocy, aby jeden z naszych programistów nie mieszał odrobiny HTML z pysznym talerzem pieczarek Portobello, a nawet fondue. Postanowiliśmy więc cię przyprowadzić najlepsze z tego, co kochamy najbardziej: PHP i jedzenie!

Zgadza się, czytelnicy. Poradniki, skrypty, suflety i nie tylko. Tylko w PHPRecipes.

Informacje reklamowe

Bez względu na to, czy przychodzą uczyć się najnowszych technik PHP, czy odświeżyć jak

aby upiec kurczaka, możesz się założyć, że nasi czytelnicy są decydentami. Oni są Przemysłem

profesjonaliści, którzy podejmują decyzje dotyczące tego, co kupuje ich firma.

Aby uzyskać informacje reklamowe, skontaktuj się

">[e-mail chroniony].

Listing 9.14. Dane kontaktowe (kontakt.html)

Skontaktuj się z nami

Masz wskazówkę dotyczącą kodowania?

Znasz idealny dodatek do kandyzowanych ziemniaków?

Daj nam znać! Skontaktuj się z zespołem pod adresem [e-mail chroniony].

Przejdźmy do budowania strony static.php, która wyświetla żądane informacje statyczne. Ten plik (patrz Listing 9-15) zawiera składniki strony naszej witryny oraz plik inicjujący site_init.tpl.

Listing 9.15. Ogólne wyjście stron statycznych (static.php)

// Plik: statyczny.php

// Cel: Wyświetl żądane strony statyczne.

// UWAGA: zakłada się, że plik "site_init.tpl" i all

// pliki statyczne znajdują się w tym samym katalogu.

// Załaduj funkcje i zmienne include("site_init.tpl"):

// Wyświetl tytuł show_header($site_name);

// Wyświetl żądaną treść include("$content.html"):

// Pokaż stopkę pokaż stopkę();

Teraz wszystko jest gotowe do zbudowania głównego skryptu. Po prostu uwzględnij na stronie

<а href = "static.php?content=about">Statyczna nazwa strony

Informacje reklamowe

Skontaktuj się z nami

Kliknięcie dowolnego z tych linków załaduje odpowiednią statyczną stronę osadzoną w static.php w przeglądarce!

Wyniki

W tym rozdziale poznałeś główny cel, który PHP ma rozwiązać: dynamiczne budowanie stron internetowych. Uwzględniono następujące pytania:

  • przetwarzanie adresów URL;
  • budowanie dynamicznej treści;
  • włączenie i budowa podstawowych szablonów.

Rozdział kończy się generatorem stron, programem, który ładuje statyczne strony do szablonu i ułatwia utrzymanie dużej liczby statycznych stron HTML.

Następny rozdział dotyczy używania PHP w połączeniu z formularzami HTML w celu znacznego zwiększenia interaktywności Twojej witryny. A potem – interakcja z bazami danych! Musisz nauczyć się wielu ciekawych rzeczy.

Mówiliśmy tylko o stronach statycznych, czyli takich, które bez względu na to, w jaki sposób użytkownik wchodzi z nimi w interakcję, zawsze pozostają niezmienione, a aby zmienić ich treść lub wygląd, właściciel strony musi ręcznie edytować kod.

Strony dynamiczne i czego potrzebują

Oprócz statycznych istnieją również strony dynamiczne. Większość z nich jest teraz w Internecie. Informacje w nich ładowane są ze źródeł zewnętrznych, takich jak baza danych lub inne pliki. Treść i formatowanie takich stron może ulec zmianie w zależności od działań użytkownika. Aby edytować strony dynamiczne, nie trzeba ingerować w ich kod - wystarczy zmienić zawartość w specjalnie zaprojektowanym pliku lub bazie danych, która zresztą jest również plikiem, tylko w określonej strukturze.

Aby tworzyć dynamiczne strony internetowe, sam HTML i CSS nie wystarczą. Wykorzystuje również języki programowania, a także bazy danych i języki zapytań dla nich. Najczęściej nowoczesne witryny dynamiczne wykorzystują w swojej pracy HTML, CSS, PHP, JavaScript, SQL. Pierwsze dwa skróty są Ci znane z pierwszej ręki, SQL służy do uzyskiwania dostępu do baz danych, JavaScript to język po stronie klienta, którego polecenia są przetwarzane przez przeglądarkę i często są używane do pokazywania wszelkiego rodzaju piękna, takich jak zasłony lub płynne otwieranie zdjęć, ale PHP to język programowania po stronie serwera, który współpracuje między innymi z zawartością strony i sprawia, że ​​jest ona dynamiczna, zetkniemy się z nią dzisiaj.

Przykład użycia polecenia include

W poprzednim artykule mówiłem o układzie blokowym witryny i jako przykład przytoczyłem najprostszą stronę (dokument index.html i powiązany z nim plik styl.css).

Teraz podzielimy dokument index.html na kilka plików, z których każdy będzie zawierał własną część strony, co pozwoli na dalsze rozdzielenie kodu, ulepszenie struktury szablonu i de facto uczynienie strony dynamiczną. W tym celu użyjemy języka PHP, a raczej tylko jednej z jego dyrektyw - funkcji włączać(), który zawiera jeden plik w drugim.

1. Zmień uprawnienia pliku utworzonego w artykule o układzie bloków indeks Z .html na .php nazwać dokument index.php. Typ pliku .PHP wskazuje serwerowi, że dokument został napisany lub używa wstawek w języku programowania o tej samej nazwie.

2. W folderze ze stroną utwórz katalog Bloki.

3. Wszystkie informacje pomocnicze (góra, dół, nawigacja i pasek boczny strony) zostaną umieszczone w osobnych plikach, które umieścimy w folderze Bloki.

Utwórz więc cztery pliki w katalogu bloków: header.php, nawigacja.php, sidebar.php oraz stopka.php. Wypełnij pliki kodem.

4. Sprawdź strukturę folderów szablonów. Pliki muszą znajdować się w katalogu głównym index.php, styl.css i katalog Bloki.

Struktura folderów Bloki tak powinno być.

5. W pliku index.php usuń istniejący kod i napisz nowy:

Układ blokowy

Zawartość strony głównej

W przeglądarce plik index.php wygląda dokładnie tak samo jak poprzednio, ale struktura szablonu uległa całkowitej zmianie. Porozmawiamy o tym, co wydarzyło się później, a teraz odpowiemy na pytanie o tajemnicze polecenia formy .

Podobnie jak kod HTML, kod PHP ma również własne oznaczenie początku i końca. Musisz więc uruchomić wstawkę PHP za pomocą polecenia i zakończ linią ?> . Pomiędzy tymi poleceniami zapisywany jest kod główny. W naszym przypadku to tylko jedno polecenie - włączać.

Funkcjonować włączać() wstawia kod z innego pliku do pliku, umożliwiając przechowywanie różnych części strony w różnych dokumentach, tym samym niezawodnie oddzielając je od siebie.

W wyniku przeprowadzonych działań otrzymaliśmy dynamiczną stronę index.php, którego części są ładowane z różnych plików. Dzięki temu możesz tworzyć kolejne strony, w ten sam sposób wczytując elementy pomocnicze z plików folderów. Bloki.

Takie podejście jest dobre, ponieważ jeśli chcesz zmienić, powiedzmy, nazwę pozycji menu na stronie 20-30 stron, to w szablonie z nowo utworzoną strukturą będziesz musiał wprowadzić zmiany tylko w jednym pliku - blokach /navigation.php, a menu zmieni się natychmiast na wszystkich stronach, na których jest zawarte. Jeśli strona byłaby statyczna, to aby zmienić nazwę jednego elementu menu, należałoby dokonać zmian w każdy od 20-30 stron. Różnica jest oczywista.