35
Į Į vadas vadas į į dinamini dinamini ų ų internet internet o o puslapi puslapi ų ų k k ū ū rim rim ą ą (naudojant PHP, MYSQL, APACHE) Paruošė Gitana Čechamirienė Vilnius 2004

Į vadas į dinamini ų internet o puslapi ų k ū rim ą

Embed Size (px)

DESCRIPTION

To insert your company logo on this slide From the Insert Menu Select “Picture” Locate your logo file Click OK To resize the logo Click anywhere inside the logo. The boxes that appear outside the logo are known as “resize handles.” Use these to resize the object. - PowerPoint PPT Presentation

Citation preview

Page 1: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

ĮĮvadas vadas įį dinamini dinaminiųų internet internetoo puslapipuslapiųų k kūūrimrimąą

(naudojant PHP, MYSQL, APACHE)

Paruošė Gitana ČechamirienėVilnius 2004

Page 2: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

TURINYSTURINYS

• Dinaminio tinklapio samprata;• PHP – dinaminių tinklapių kūrimo įrankis;

– Kodėl PHP;– Ko reikia, norint dirbti su PHP;– PHP programos pavyzdys;– PHP galimybės;

• MySQL – reliacinės duomenų bazės;– MySQL sudėtis;– Duomenų bazių kūrimas;– Lentelių ir įrašų jose kūrimas;

• PHP ir MySQL naudojimo pavyzdys;

Page 3: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Statiniai ir dinaminiai tinklapiaiStatiniai ir dinaminiai tinklapiai

– Statiniais tinklapiais vadiname tinklapius, kurių turinys nesikeičia tol, kol jo neatnaujina autorius. Statiniuose tinklapiuose nebendraujama su lankytojais ir nevykdomos programuojamos užduotys (nors dinaminių elementų jose gali būti, pvz. JavaScript pagalba sukurtas datos nustatymo skriptas);

– Dinaminiai tinklapiai “bendrauja” su lankytojais. Dinaminiai tinklapiai leidžia atlikti individualias užduotis (pvz. užsiregistruoti kokiame nors serveryje, užsisakyti prekes iš internetinės parduotuvės).

Page 4: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Dinaminių tinklapių kūrimo priemonėsDinaminių tinklapių kūrimo priemonės

• PHP (Hypertext Processor);

• ASP (Active Server Pages);

• JSP (Java Server Pages );

• Perl;

• Dalinai JavaScript arba VBScript;

Page 5: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP (Hypertext Processor)PHP (Hypertext Processor)

– Tai skriptų kalba, kurios pagalba kuriami dinaminiai Interneto puslapiai.

– PHP sintaksės pagrindai paimti iš C++, Perl, Java programavimo kalbų.

– PHP programa vykdoma serverio pusėje ir vartotojui generuojamas, bei siunčiamas atitinkamas HTML puslapis (skirtingai nei JavaScript, kuris yra vykdomas kliento kompiuteryje).

Page 6: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

HTML dokumento užklausaHTML dokumento užklausa

IDC

ServerisKliento kompiuteris

Monitorius

Kliento programa siuncia HTML dokumentouzklausa

Serveris siuncia HTML dokumenta

Kliento narsykle pateikiaHTML dokumenta

Page 7: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP dokumento užklausaPHP dokumento užklausa

IDC

ServerisKliento kompiuteris

Monitorius

Kliento programasiuncia HTML

dokumento uzklausa

Serveris siuncia HTMLdokumenta

Kliento narsykle pateikiaHTML dokumenta

PHP interpretavimoprograma

Serveris vykdo PHPscenariju

PHP pateikia HTMLdokumenta

Page 8: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP atsiradimo istorijaPHP atsiradimo istorija

• 1994m. Rasmus Lerdorf nusprendęs patobulinti savo HomePage, sukūrė paprasčiausią varikliuką, kurį pavadino “Personal Home Page” Tools;

• 1995m. atsirado antroji vieša versija PHP/FI (FI – Form Interpretator);

• 1997m. Zeev Suraski ir Andi Gutmans perdarė PHP varikliuką, pataisė daugelį klaidų. Ši versija buvo pavadinta PHP3;

• 1999m. išėjo PHP4 versija, patobulinta daugybe plėtinių;

• Jau sukurta ir penktoji PHP versija.

Page 9: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Kodėl PHP?Kodėl PHP?

– Nemokamas;– Nepriklausomas nuo platformos (jį galima

naudoti Unix, Linux, Windows ir kt. OS);– Veikia daugelyje serverių (Apache, IIS,

PWS, OmniHTTP, BadBlue ir kt.);– Yra atviro kodo, ją naudoja dauguma

vartotojų, todėl klaidos greitai taisomos;– Nesudėtinga programavimo kalba;– Greitai dirba su DB serverio pusėje.

Page 10: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Ko reikia norint dirbti su PHPKo reikia norint dirbti su PHP

– WEB serverio (šiuo metu, populiariausias darbui su PHP serveris – Apache, kuris veikia tiek Windows, tiek Linux (Unix) sistemose. Oficiali svetainė http://httpd.apache.org );

– Įdiegti PHP(oficiali svetainė http://www.php.net);

Galimi PHP dokumentų tipai: PHP, PHP3, PHP4, PHTML.

Page 11: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Šiek tiek PHP sintaksėsŠiek tiek PHP sintaksės

– Kiekvienas skriptas rašomas tarp ženklų <? ?>;

– Kiekvienas sakinys baigiamas “;”– Komentarai :

“//” – vienos eilutės komentaras; “/* */” – kelių eilučių;

– Informacija išvedama funkcijų “echo” arba “print” pagalba;

– Kintamieji pradedami ženklu “$”;

Page 12: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Pirmoji PHP programaPirmoji PHP programa<HTML><HEAD><TITLE>Mano pirmoji PHP

programa</TITLE></HEAD><BODY><?//atspausdinamas tekstas:echo “Sveiki!”;//sukuriamas kintamasis:$mano = “Gitana”;/*atspausdinamas tekstas ir kintamojo reikšmė */echo “Mano vardas ”.$mano;?></BODY></HTML>

Page 13: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP galimybėsPHP galimybės

• Dinaminių puslapių (priklausomai nuo tam tikrų sąlygų) kūrimas;

• Formų apdorojimas;

• Seansų valdymo galimybės;

• Daugelio protokolų, pvz. POP3, palaikymas;

• Duomenų bazių valdymas;

Page 14: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazėsDuomenų bazės

Duomenų bazė – tai tam tikru būdu organizuota duomenų sistema.

Duomenų bazės plačiai naudojamos ir Internete pateikiamų duomenų saugojimui.

Keletas duomenų bazių sistemų:• PostgreSQL;• MySQL;• mSQL ir kt.Šiose duomenų bazių sistemose naudojama SQL

užklausų kalba.

Page 15: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

MySQLMySQL

– Viena iš reliacinių (sąryšio) duomenų bazių apdorojimo sistemų (reliacinė – nes leidžia įtraukti, keisti, ištrinti informaciją iš kelių lentelių vienu metu);

– MySQL sistemoje duomenys talpinami lentelėse, sudarytose iš laukų ir įrašų. Laukai – pastovioji lentelės dalis, stulpelių pavadinimai; Įrašas – tai viena konkrečios informacijos eilutė lentelėje;

Nr Vardas Slaptazodis

1 Jonas j23tr

2 Rasa rasele

Laukai

įrašas

Page 16: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

MySQL duomenų bazių sistemos MySQL duomenų bazių sistemos sudėtissudėtis

• SQL serveris, palaikantis MySQL ir suteikiantis priėjimą prie duomenų bazės ir joje saugomos informacijos;

• Adminstravimo programos, naudojamos susisiekimui su serveriu (pvz.: mysql – SQL užklausų siuntimas serveriui, mysqladmin – duomenų bazės administravimas);

• Klientinės programos, skirtos MySQL duomenų bazių valdymui (pvz.: MySQL Client, PHP MyAdmin ir daugelis kitų);

Page 17: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Ko reikia norint dirbti su MySQLKo reikia norint dirbti su MySQL

• Įdiegti MySQLoficiali svetainė http://www.mysql.com

• Įdiegti MySQL klientinę programą, pvz. MySQLgui (My SQL Client)

Page 18: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Kodėl MySQL?Kodėl MySQL?

• Greita duomenų bazių sistema;

• Lengvai įdiegiama ir administruojama;

• Orientuota į Interneto svetainių kūrėjų poreikius ir pasižymi nors ir siauresnėmis, bet labiau sutelktomis galimybėmis.

Page 19: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazės kūrimas komandinės Duomenų bazės kūrimas komandinės eilutės režimeeilutės režime

• Duomenų bazių tvarkymui naudojama administravimo programa mysql.exe, kuri saugoma katalogo, kuriame įdiegtas MySQL pakatalogyje BIN:

Page 20: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazės kūrimas komandinės Duomenų bazės kūrimas komandinės eilutės režimeeilutės režime

Prisijungus prie MySQL duomenų bazių sistemos, galima vykdyti SQL užklausas:

CREATE DATABASE manodb;

Sukuriama duomenų bazė vardu manodb;

SHOW DATABASES;

Pateikiamos visos duomenų bazės, esančios MySQL sistemoje;

USE manodb;

Pradedamas darbas su duomenų baze manodb;

Page 21: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazės kūrimas komandinės Duomenų bazės kūrimas komandinės eilutės režimeeilutės režime

Page 22: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazės kūrimas klientinėje Duomenų bazės kūrimas klientinėje programoje MySQL Clientprogramoje MySQL Client

• Klientinė programa MySQL Client (arba mysqlgui) vykdoma vykdant bylą mysqlgui.exe:

Nurodžius jungimosi prie MYSQL duomenų bazėsslaptažodį galima dirbti su duomenų bazėmis.

Page 23: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Duomenų bazės kūrimas klientinėje Duomenų bazės kūrimas klientinėje programoje MySQL Clientprogramoje MySQL Client

Naudojamos duomenų bazės vardas SQL užklausų rašymo langas

Commands/Adminstration/DataBase/CreateDuomenų bazės kūrimas

Vykdyti užklausą

Page 24: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Lentelių kūrimasLentelių kūrimas

CREATE TABLE vartotojai(

ID int auto_increment not null primary key,

vardas char(30) not null,

slaptazodis char(30) not null,

email char(30) not null,

aprasymas char(100) not null

);

Sukūrėme lentelę, sudarytą iš 5 laukų (SHOW FIELDS FROM vartotojai;):

Page 25: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Įrašų kūrimasĮrašų kūrimas

INSERT INTO vartotojai VALUES (null,'Gitana','gtn123','[email protected]',Inf. technologiju destytoja');

INSERT INTO vartotojai(vardas,slaptazodis,email,aprasymas) VALUES('Sergėjus', ‘serz', '[email protected]', ‘Kompiuteriniu sistemu inzinierius');

Lentelę vartotojai papildėme įrašais (SELECT * FROM vartotojai;):

Page 26: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP ir MySQLPHP ir MySQL

• PHP sudėtyje yra didelis rinkinys funkcijų, skirtų darbui su duomenų bazėmis, pvz.:

mysql_connect(‘hostname’,’username’,’password’);//prisijungiama prie MySQL;

mysql_select_db(‘manodb’); //prisijungiama prie duomenų bazės;

mysql_query(‘select * from manodb’);//vykdoma SQL užklausa;

Page 27: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP svetainės, naudojant MySQL, PHP svetainės, naudojant MySQL, kūrimo scenarijuskūrimo scenarijus

• Sukurti MySQL duomenų bazę, pvz: manodb;

• Duomenų bazėje sukurti reikiamas lenteles, bei užpildyti jas reikiamais duomenimis, pvz. naudosime lentelę vartotojai, kurioje yra įrašai:

• Sukurti reikiamus PHP puslapius, kuriuose PHP skriptuose bus atliekamas jungimasis prie DB, bei įvairios manipuliacijos su jos duomenimis;

Page 28: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Pradiniame puslapyje prašome užsiregistruoti (tikrinama, ar duomenų bazės lentelėje vartotojai yra nurodytas vartotojas)

Page 29: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Registracijai pavykus pateikiamas pranešimas:

Page 30: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Nauji vartotojai registruojami duomenų bazėje, prieš tai patikrinus ar tokio paties vartotojo duomenų bazėje nėra:

Page 31: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Registruotiems vartotojams pateikiamas puslapis:

Page 32: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Puslapyje Apie lankytojus pateikiama informacija iš duomenų bazės:

Page 33: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

Tinklapio pavyzdysTinklapio pavyzdys

• Puslapyje Chat galite paplepėti:

Page 34: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

NuorodosNuorodos

• http://www.php.net – oficiali PHP svetainė {EN};• http://www.php.lt - straipsniai PHP tematika (!PHP

diegimas) {LT};• http://apm.izkom.ru - Apache, PHP, MySQL

pradenatiesiems {RU};• http://kurepin.ru/php/ - PHP programavimo vadovėlis {RU};• http://www.php4all.ru/ - PHP skirptai, dokumentacija;• http://www.script.vanta.ru/ - PHP skriptų katalogas {RU};

• http://httpd.apache.org – oficiali Apache svetainė {EN};• http://www.mysql.com – oficiali MySQL svetainė {EN};

Page 35: Į vadas  į  dinamini ų  internet o  puslapi ų  k ū rim ą

PHP skripto pavyzdysPHP skripto pavyzdys

<?$dabar = date(‘H’);//datos funkcijos pagalba nuskaitomas laikasecho “Dabar Lietuvoje “ . $dabar .”valandu<p>”;if (($dabar >= 6) and ($dabar < 12)) {echo “Labas rytas”;}if (($dabar >= 12) and ($dabar < 18)) {echo “Laba diena”;}if (($dabar >= 18) and ($dabar < 24)) {echo “Labas vakaras”;}if (($dabar >= 0) and ($dabar < 6)) {echo “Laba naktis”;}?>

Skirtumas, lyginant su analogišku JavaScript’u tai, kad ši programa bus vykdoma serveryje ir spausdint atitinkamą pranešimą pirklausomai nuo serverio rodomo laiko.