|
Jak dodać kod PHP do strony w HTML ? |
Często posiadamy już zrobione jakieś strony w html-u. Po kilku latach okazuje się, że przydałaby się możliwość dorobienia kilku dynamicznych funkcji jak w PHP. Strony są na wysokich miejscach w wyszukiwarkach i nie możemy ich zmienić bo stracimy ważne linki z wyszukiwarek.
Załóżmy, że nie mamy możliwości zmiany tych stron na strony z rozszerzeniem *.php a chcemy do nich wprowadzić dynamiczną treść. Czy jest jakiś sposób na wprowadzenie kodów PHP do stron HTML?
Otóż tak, są 2 rozwiązania:
Z pomocą przychodzi nam język JavaScript. Stosując pewną sztuczkę możemy "oszukać" interpreter JS i wprowadzić dowolną treść z jakiegoś skryptu PHP do strony w HTML.
Załóżmy, że chcemy wprowadzić treść z pliku PHP o nazwie skrypt_w_pliku.php
W kodzie strony HTML wprowadzamy następującą instrukcję:
parametr charset musi być ustawiony na odpowiednią stronę kodową taką w jakiej jest zapisany plik z rozszerzeniem *.php
Skrypt moze być też ze zdalnej strony.
Ale uwaga to nie może być tylko sam skrypt w php. Wynik tego skryptu może być wyświetlony tylko i wyłącznie przez instrukcję w JS o nazwie document.write.
Załóżmy, że robimy sklep internetowy i chcemy wyświetlić opis produktu i cenę tego produktu pobraną z pliku tekstowego.
Załóżmy, że cena jest umieszczona w pliku cena.bin, który składa się z jednej linii w której jest zapisana właśnie ta cena. Załóżmy, że opis html tego produktu jest umieszczony w pliku opis_produktu.html, który składa się z wielu linii jak każdy typowy opis html.
Więc tworzymy plik o nazwie skrypt_w_pliku.php i wklejamy do niego następujący kod:
Musimy też zrobić plik cena.bin oraz plik opis_produktu.html żeby skrypt zadziałał... no i oczywiście musimy zrobić w/w wstawkę w JS do jakiegoś pliku html. No i mamy dynamiczny serwis w HTML-u...
Podsumowanie:
mamy stronę w html-u
wklejamy do niej "wstawkę" w JS...
tworzymy plik php o nazwie skrypt_w_pliku.php (kod powyżej)
tworzymy 2 pliki z ceną i opisem o nazwach: cena.bin i opis_produktu.html
włączamy stronę w html-u
jeśli się nie pomyliłeś ...dopiero teraz skrypt zadziała, tzn. zawartość skryptu php wyświetli się na stronie html....a ściślej zawartość dwóch plików: z opisem i ceną.
Oto kolejność działania takiego rozwiązania:
1. w stronie html wywołuje się skrypt Java Script (nasza wstawka)
2. skrypt pobudza do działania plik php
3. plik php pobiera dane z dwóch plików i odpowiednio spreparowane wstawia do funkcji document.write
4. funkcja document.write wyświetla te dane na stronie html
Jeśli chcemy dodać zewnętrzny plik w taki sam sposób ale do pliku PHP (np. w celu ukrycia kodu w źródle ale żeby był widoczny na stronie) to przedstawiam jak zrobić to w jednej linijce kodu ... ! Oto ten sposób:
Zaletą takiego rozwiązania jest właśnie to, że w źródle strony kod pliku zewnętrznego nie będzie widoczny. W innym przypadku lepiej zastosować zwykłe dodawanie plików przez include lub np. readfile bez pośrednictwa JavaScriptu.
Kolejną propozycją wstawiania kodu zewnętrznego do strony w html jest tzw. technika iframe.
Dokładne informacje na ten temat znajdziesz na stronie:
http://www.elider.pl/264_jak_mozna_wykorzystac_iframe_do_generowania_dynamicznej_tresci_przez_php.html