Knihovna pro uklßdßnφ session prom∞nn²ch a dalÜφch ·daj∙ vyu₧φvß
databßzi. Pou₧φt m∙₧eme v podstat∞ libovolnou (SQL) databßzi, pro
kterou existuje v PHP podpora. Pro ka₧dou aplikaci, kterß bude
vyu₧φvat PHPLIB bychom m∞li vytvo°it zvlßÜtnφ databßzi. PHPLIB v nφ
vytvo°φ dv∞ tabulky active_sessions
a
auth_user
. Tato jmΘna se pravd∞podobn∞ nekryjφ s jmΘny
naÜich tabulek, a proto je m∙₧eme umφstit do stejnΘ databßze jako data
naÜφ aplikace. (Kdyby se p°eci jen nßhodou kryla, nenφ ₧ßdn² problΘm
je zm∞nit.)
Dßle budeme p°edpoklßdat, ₧e vyvφjφme aplikace pro internetov²
obchod a naÜe databßze se jmenuje ishop
. V adresß°i
stuff
distribuce PHPLIB nalezneme soubory s p°φkazy
jazyka SQL, kterΘ dokß₧φ pro r∙znΘ databßze (MySQL, MS SQL,
PostgreSQL, Sybase, Oracle, ODBC, ...) vytvo°it v databßzi ji₧ zmφn∞nΘ
tabulky active_sessions
a auth_user
.
Pro pot°eby PHPLIB musφme v databßzi vytvo°it u₧ivatele, kter² bude
mφt k ob∞ma tabulkßm pln² p°φstup (prßva SELECT, INSERT, UPDATE a
DELETE). Postup vytvo°enφ u₧ivatele a p°id∞lenφ p°φstupov²ch prßv se
liÜφ databßzi od databßze. My budeme p°edpoklßdat, ₧e takov² u₧ivatel
se jmenuje phplib
a heslo mß octopus
.
PotΘ co rozchodφme databßzi, musφme na vhodnΘ mφsto zkopφrovat a
upravit samotnΘ soubory knihovny PHPLIB. Do n∞jakΘho adresß°e
zkopφrujeme vÜe, co je v podadresß°i php
distribuce
PHPLIB. NejlepÜφ je asi vytvo°it si pro soubory adresß°
phplib
, kter² je na stejnΘ ·rovni jako adresß° pro HTML
dokumenty a skripty.
Cestu k adresß°i s knihovnou PHPLIB musφme p°idat mezi cesty, kde
PHP automaticky hledß soubory. V souboru php3.ini
,
p°φpadn∞ v souboru .htaccess
, pokud pou₧φvßme Apache a
modul PHP3, musφme upravit obsah direktivy
include_path
:
include_path = .:/cesta/k/phplib
resp. ve Windows na
include_path = ".;c:/cesta/k/phplib"
Pokud direktivu nastavujeme v konfiguraΦnφch souborech Apache,
musφme mφsto nφ pou₧φt php3_include_path
.
Soubory PHPLIB by m∞ly b²t mimo strom WWW dokument∙, proto₧e
obsahujφ n∞kterΘ citlivΘ ·daje -- nap°. jmΘno a heslo pro p°φstup do
databßze. N∞kdy vÜak nem∙₧eme knihovnu umφstit mimo strom dokument∙
(nap°φklad u n∞kter²ch provider∙, kte°φ na svΘ servery neumo₧≥ujφ
p°φstup pomocφ ssh, ale pouze pomocφ FTP). V tomto p°φpad∞ umφstφme
soubory takΘ do adresß°e phplib
, ale musφme nastavit
WWW-server tak, aby v n∞m vÜechny soubory (p°φpony .php3
,
.inc
a .ihtml
) interpretoval pomocφ PHP. Tak
se nestane, ₧e by n∞kdo mohl neoprßvn∞n∞ n∞co Φφst. Tato nastavenφ
m∙₧eme pro server Apache provΘst op∞t pomocφ souboru
.htaccess
. StaΦφ, kdy₧ do n∞j p°idßme °ßdku:
AddType application/x-httpd-php3 .php3 .php .inc .ihtml
Pokud pou₧φvßme jinou databßzi ne₧ MySQL, musφme nynφ zeditovat
soubor phplib/prepend.php3
. Ten obsahuje p°φkaz:
require("db_mysql.inc"); /* Change this to match your database. */
My jej opravφme tak, aby naΦφtal soubor odpovφdajφcφ pou₧φvanΘ
databßzi. Pro ODBC pou₧ijeme nap°φklad
db_odbc.inc
. PodporovanΘ databßze zjistφme snadno --
staΦφ se podφvat na soubory v adresß°i phplib
, kterΘ
zaΦφnajφ na db_
.
Soubor prepend.php3
je pot°eba naΦφst na zaΦßtku ka₧dΘ
strßnky, kterß vyu₧φvß funkΦnost knihovny PHPLIB. To m∙₧eme provΘst
bu∩ v₧dy ruΦn∞ pomocφ p°φkazu require
, nebo pou₧φt
konfiguraΦnφ direktivu auto_prepend = prepend.php3
, kterß
zp∙sobφ automatickΘ naΦφtanφ skriptu.
Pokud jsme ·sp∞Ün∞ nainstalovali PHPLIB, m∙₧eme zaΦφt vyu₧φvat jejφ funkce. Zßkladnφ funkcφ jsou session prom∞nnΘ.