PHP poprvé

PHP (Professional Home Pages) je dalším skriptovacím jazykem, který se přímo začleňuje do textu HTML stránky. Jeho po...


PHP (Professional Home Pages) je dalším skriptovacím jazykem, který se přímo
začleňuje do textu HTML stránky. Jeho použití má několik předností. Předně je
celý systém šířen bezplatně. Druhá výhoda spočívá v podpoře více platforem. PHP
je dodáváno v podobě zdrojových textů pro platformu Unix (včetně Linuxu) a jako
binární soubor použitelný ve Windows 95 a NT. Aplikace tak můžeme vyvíjet ve
Windows a pak je zpřístupnit na unixovém serveru. Vidíme tedy velkou výhodu
oproti ASP, které nás svazují s platformou Windows. I tady se však možná
situace zlepší, protože se pracuje na produktu Chilli!ASP, který má být
kompatibilní s ASP a má běžet i na Unixu. Dnes aktuální verze PHP je 3.0.
Předtím používaná verze 2.0 měla poněkud odlišný název PHP/FI. Adresa ke
stažení je http://www.php.net.
Instalace
Před instalací si musíme samozřejmě stáhnout PHP ze sítě. Pro unixovou
instalaci je potřeba stáhnout zdrojové texty, pro Windows si musíme stáhnout
již zkompilovanou binární podobu systému. Na PHP je zajímavé, že může být
spouštěno několika způsoby. Nejlepší způsob je, když PHP spustíme jako modul
serveru Apache. Tuto vlastnost můžeme použít pouze na Unixu. Na všech ostatních
serverech může běžet PHP jako CGI skript, který se postará o interpretaci
příkazů na stránkách. Ve Windows máme možnost PHP provozovat jako ISAPI modul.
ISAPI je standardní rozhraní pro spolupráci WWW serverů s různými dalšími
aplikacemi. PHP proto může běžet i jako modul většiny serverů pracujících pod
Windows.
My se teď podíváme, jak si podporu PHP přidat do instalace Apache z prvního
dílu našeho seriálu. Pro instalaci si musíme stáhnout Windows distribuci PHP.
Ta má podobu jednoho zip-souboru. Ten rozbalíme do nějakého adresáře např.
e:php3. Při rozbalení nám vznikne podadresář system. Jeho obsah musíme
zkopírovat do systémového adresáře Windows (nejčastěji c:windows nebo
c:winnt). Do tohoto adresáře přesuneme i soubor php3.ini. V souboru php3.ini
musíme upravit obsah proměnných doc_root a user_dir tak, aby ukazovaly na
kořenový adresář našeho WWW serveru, resp. aby obsahovaly jméno adresáře
vyhrazeného pro HTML dokumenty jednotlivých uživatelů. Nyní musíme ještě
nastavit server Apache tak, aby na stránky obsahující PHP spustil příslušný
interpret. Úpravy se budou týkat souboru srm.conf.
PHP v našem případě bude fungovat jako CGIskript. Musíme tedy povolit provádění
skriptů v adresáři, kde je nainstalováno PHP. Do konfiguračního souboru přidáme
řádku ScriptAlias /php3/ "e:/php3/"
Nyní musíme přidat nový typ dat, který bude svázaný s určitou příponou. Pro PHP
skripty se obvykle používá přípona .phtml nebo .php3. My se přikloníme k první
variantě a odkomentujeme příslušnou řádku konfiguračního souboru tak, abychom
dostali
AddType application/x-httpd-php3 .phtml
Nyní zbývá serveru říci, že všechny soubory nově vytvořeného typu se mají
předat CGIskriptu PHP k vyhodnocení. Do srm.conf přidáme řádku
Action application/x-httpd-php3 /php3/php.exe
a konfigurační soubor uložíme. Po restartu Apache bychom měli mít vše
připraveno pro naši práci.
Kombinování PHP skriptů s HTML
Skriptovací jazyk použitý v PHP čerpá především z jazyků C, Java a Perl. Jeho
použití je však jednoduché a intuitivní. Příkazy PHP se od ostatního HTML kódu
oddělují znaky "<?" a "?>". Vidíme, že PHP používá jako oddělovač znak
standardně vymezený pro tyto účely a tak jsou všechny PHP skripty kompatibilní
s nástroji pro automatické zpracování SGML a XML dokumentů.
Základy PHP
K výpisu hodnot výrazů slouží příkaz echo:
<? echo "Hello World!" ?>
V PHP můžeme samozřejmě používat proměnné. Název proměnné musí začínat znakem
"$" (dolar). Přiřazení hodnoty do proměnné provedeme pomocí operátoru "=".
Proměnnou pak můžeme využívat v dalších výrazech:
<? $pozdrav = "Ahoj Karle!"; ... echo $pozdrav;
?>
Z ukázky rovněž vidíme, že jednotlivé příkazy se oddělují pomocí středníku.
Program můžeme podle potřeby větvit pomocí příkazu if. Jeho použití si ukážeme
na funkční obdobě ukázky z minulého dílu seriálu. Vytvoříme stránku, která bude
zdravit uživatele v závislosti na tom, zda je dopoledne či odpoledne:
<? if (date("A")=="AM"): ?>
Dobré ráno!
<? else: ?>
Dobré odpoledne!
<? endif ?>
K zjištění času používáme funkci Date(). Jejím parametrem je formátovací
řetězec, který určuje výsledný tvar informace o čase. Pokud ve formátovacím
řetězci použijeme "A", vrátí funkce dopoledne řetězec "AM" a odpoledne "PM".
Všimněme si ještě, že za podmínkou u if a za nepovinným else je potřeba psát
dvojtečku. Kromě této syntaxe můžeme používat i syntaxi podmínek převzatou z
jazyka C. V tomto případě je však přehlednější, když neprolínáme kód PHP s HTML:
<? if (date("A")=="AM") { echo "Dobré ráno!"; } else { echo "Dobré odpoledne!";
}
?>
Nyní se podíváme na použití cyklů. Mezi nejjednodušší cykly patří for. Použití
si ukážeme na jednoduchém příkladu, který na obrazovku vypíše text a použije
přitom všech 7 velikostí písma.
<? for($i=0; $i<=7; $i++): ?>
<P><FONT SIZE="<?echo $i?>">Ukázkový text</FONT>
<? endfor ?>
Abychom si ukázali sílu PHP, upravíme ukázku tak, aby vypisovala texty i v
různých barvách. Pro tyto účely vytvoříme pole, které bude obsahovat jména
barev, které se použijí pro jednotlivé velikosti písma.
<?$barvy = array(1=>"red","green","cyan","yellow", "navy", "silver", "blue" ) ?>
<? for ($i=1; $i<=7; $i++): ?>
<P><FONT SIZE="<?echo $i?>" COLOR="<?echo $barvy[$i]?>">
Pokusný text o velikosti <?echo $i?></FONT>
<? endfor ?>
První 2 řádky vytvoří pole $barvy, které je inicializováno jmény barev. Pole
jsou v PHP normálně indexována od nuly, pomocí zápisu "1=>" uložíme hodnoty do
pole až od indexu 1. Tím bude index v poli barev odpovídat velikosti písma.
Jednotlivé položky pole jsou nyní přístupné pomocí zápisu $barvy[index]. Do
prohlížeče dorazí tento výsledný HTML kód:
<P><FONT SIZE="1" COLOR="red">
Pokusný text o velikosti 1</FONT>
<P><FONT SIZE="2" COLOR="green">
Pokusný text o velikosti 2</FONT>
<P><FONT SIZE="3" COLOR="cyan">
Pokusný text o velikosti 3</FONT>
<P><FONT SIZE="4" COLOR="yellow">
Pokusný text o velikosti 4</FONT>
<P><FONT SIZE="5" COLOR="navy">
Pokusný text o velikosti 5</FONT>
<P><FONT SIZE="6" COLOR="silver">
Pokusný text o velikosti 6</FONT>
<P><FONT SIZE="7" COLOR="blue">
Pokusný text o velikosti 7</FONT>
Výsledek v prohlížeči přináší obrázek 1.
PHP a formuláře
Spolupráce PHP s formuláři je velmi jednoduchá. Předpokládejme náš známý
formulář:
<FORM ACTION=obsluha.phtml METHOD=GET>
Jméno: <INPUT TYPE=TEXT NAME=jmeno><BR>
Věk: <INPUT TYPE=TEXT NAME=vek><BR>
<INPUT TYPE=SUBMIT VALUE="Odeslání formuláře">
</FORM>
Ve skriptu obsluha.phtmlnyní můžeme používat proměnné $jmeno a $vek, které
obsahují hodnotu vyplněnou uživatelem do příslušného pole formuláře. Skript
obsluha.phtml pak může vypadat třeba takto:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>Obsluha formuláře</TITLE>
</HEAD>
<BODY>
<H1>Výsledek obsluhy formuláře</H1>
<? echo $jmeno ?> je
<? if ($vek < 10): echo "pěknej mlíčnák"; elseif ($vek < 20): echo "teenager";
elseif ($vek < 60): echo "v nejlepších letech"; elseif ($vek < 100): echo "je
pravděpodobně prarodič"; else: echo "je někde mezi stovkou a smrtí"; endif
?>.
</BODY>
</HTML>
8 0672 / pah









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.