Az Apache+PHP+MySQL rendszer

Slides:



Advertisements
Hasonló előadás
Szerver oldali programozás
Advertisements

Információs függvények
Weblapkészítési tudnivalók 2: Útmutató az elnevezésekhez Pék Ágnes © 2009.
Tananyag: konzultáció
BPS Web 2.0 Felhasználói kézikönyv. A szerkesztő főoldala A bejelentkezett felhasználóA szerkesztő főmenürendszere Stílusformázások Nyelv- és nézetváltás.
HTML nyelv Hiper-Text Markup Language 1. óra.
HTML nyelv.
Szövegszerkesztés Összefoglalás.
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Internet ismeretek II..
DFAN-INF-524 és DFAL-INF-524 kurzus hallgatói számára
2010/2011.Huszár István1. dia Weboldalak tervezése II. (X)HTML.
megismerése, mintaadatbázis létrehozása
JavaScript.
Amit a HTML-ről érdemes tudni
Honlap készítés Érdekességek.
HTML nyelv.
HTML parancsok használata
Leírónyelvek: HTML és XHTML
Készítette: Rummel Szabolcs
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
6. előadás: PHP-MySQL Barabás Péter
A HTML alapjai Havlik Barnabás Készítette:
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Szombathely Dinamikus WEB programozás: PHP és JSP.
HTML dokumentum felépítése
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
Vizuális és web programozás II.
Vizuális és web programozás II.
HTML oldal felépítése Készítette: Pataki Arnold
Webszerkesztés Stíluslapok (CSS).
Webszerkesztés Űrlapok a HTML-ben. Űrlap létrehozása Űrlapunk tartalma a … elemek között fog helyetfoglalni Egy lapon több űrlap is elhelyezhető Több.
WEB Technológiák ISAPI ME Általános Informatikai Tsz. dr. Kovács László.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
FTP File Transfer Protocol. Mi az FTP? Az FTP egy olyan protokoll, amely fájlok interneten keresztül végzett átvitelére szolgál. A felhasználók többsége.
A PHP (PHP: Hypertext Preprocessor) nyílt forráskódú, számítógépes szkriptnyelv, legfőbb felhasználási területe a dinamikus weboldalak készítése. Emiatt.
Funkcionális programozás 2. gyakorlat
Űrlapok és keretek.
Fejlesztés PHP-NUKE portál rendszerre Horváth Zoltán Második Magyarországi PHP Konferencia március 27. Copyright PHP Konferencia,
Objektum orientált programozás a gyakorlatban
HTML nyelv.
Weboldalak tervezése (X)HTML.
Készítette: Lipp Marcell
PHP nyelv Mari Dániel.
Hyper Text Markup Language
Hyper Text Markup Language
Visual Basic 2008 Express Edition
Web fejlesztés V. Illés Zoltán ELTE Informatikai Kar
Illés Zoltán ELTE Informatikai Kar
– SQL 3: SELECT - 1. – Tarcsi Ádám, január 31. Adatbázis gyakorlat.
Webprogramozó tanfolyam
Készítette: Turócziné Kiscsatári Nóra
Az NVU webszerkesztő program
Webprogramozó tanfolyam
Web-programozás Lénárt Anett egyetemi adjunktus - PTE PMMK Rendszer- és Szoftvertechnológia Tanszék 2. Előadás Tananyag: A HTML nyelv meta elemei.
Html nyelv (HyperText Markup Language)
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Weblap-szerkesztés. Információs hálózati szolgáltatások Internet fontosabb szolgáltatásai (szóbeli) Elektronikus levelezési rendszer használata (szóbeli)
Spanyolország gyöngyszeme: GRANADA Egy hobby portál kivitelezése.
Webprogramozó tanfolyam
Bevezetés az informatikába 11. előadás Internet. Egyetlen nagy egységes elveken működő világhálózat hálózatok összekapcsolása nagy világhálóvá csomagkapcsolt.
BIOLÓGUS INFORMATIKA 2008 – 2009 (1. évfolyam/1.félév) 6.
A Mozilla magyar nyelvű szerkesztőjének használata
Webszerkesztés. IP cím pl: Domain cím - DNS pl: ország nevehttp:// számítógép címe World Wide Web Webszerverre.
PHP függvények MySQL adatbázisok kezelésére
Webprogramozó tanfolyam
Szövegszerkesztés összefoglalás.
Információ és kommunikáció
Adatbáziskezelés.
Html parancsok.
Előadás másolata:

Az Apache+PHP+MySQL rendszer Weblap: HTML nyelvű fájl. Web böngésző (HTTP kliens): weblapok értelmezése és megjelenítése, szükség esetén segédprogramok (plugin) segítségével. Web szerver (HTTP szerver): webcímeket (URL-eket) fogad, és visszaadja a megfelelő weblapokat. Statikus weblap: HTML nyelvű dokumentum. Dinamikus weblap: program által generált HTML fájl.

LAMP LAMP = Linux + Apache + MySQL + PHP (vagy Perl vagy Python): népszerű, nyílt forráskódú szoftvercsomag, amelyet széles körben használnak dinamikus weblapok készítésére. Az egyes komponensek: Apache: web szerver program. Letölthető: www.apache.org PHP: interpretált nyelv, dinamikus weblapok készítéséhez általánosan használják. Letölthető: www.php.net MySQL: adatbázis szerver. Letölthető: www.mysql.com XAMPP telepítő csomag (Apache+PHP+MySQL egyben) http://www.apachefriends.org/en/xampp.html

A fejlesztési technológia lényege A statikus, HTML nyelvű weblapok forrásszövegébe PHP programrészeket illesztünk. Az Apache-ba integrált PHP-értelmező ezeket végrehajtja, melynek eredményeként egy módosított HTML-kód generálódik, és az Apache ezt a weblapot küldi ki a kliens felé. A PHP program függvényhívásokon keresztül éri el a MySQL szervert, és az adatbázisból lekért adatokkal építheti fel a dinamikus weblapot.

Az Apache webszerver Telepítés után a gépünk web-szerverként használható. A saját gépre "localhost" domain névvel vagy az 127.0.0.1 IP-címmel hivatkozhatunk. Az Apache működésének ellenőrzése: a böngészőbe írjuk be a http://localhost URL-t, akkor az Apache bejelentkezik. A web-szerver dokumentumainak gyökérkönyvtára a htdocs, amely az Apache telepítési könyvtárából nyílik. Ha ide helyezünk egy xxx.php fájlt, akkor futtatása a böngészőben http://localhost/xxx.php URL segítségével történik.

Lásd az Adatbázisok tárgy tananyagában MySQL Lásd az Adatbázisok tárgy tananyagában

A HTML nyelv HTML (HyperText Markup Language): Az interneten a World Wide Web információs lapok leírására használt nyelv. „Karakteresen formázott” szövegfájlok leírására alkalmas. Fájlnév kiterjesztés: .htm vagy .html Alapvető szintaxis: Szóköz csak elválasztásra szolgál (egy szóköz egyenértékű akárhány szóközzel) Enter hatástalan (csak a forrásszöveg tagolására szolgál) A böngésző automatikusan tördeli sorokra a szöveget az aktuális ablakméret szerint.

Tag (= címke) fogalma Kezdőcímke: <címkenév [paraméterek]> Zárócímke: </címkenév> A címkenévben kis- és nagybetű használata egyenértékű. A hibás címkéket figyelmen kívül hagyja a böngésző.

HTML fájl felépítési sémája <HEAD> <TITLE> lapcím </TITLE> ... </HEAD> <BODY> </BODY> </HTML> TITLE rész: a böngészőablak fejlécében jelenik meg. (Megadása nem kötelező.) BODY rész: a böngészőablakban jelenik meg.

Karakterek formázása - 1 Betűstílusok megadása (hatásuk a megfelelő zárócímkéig terjed): <B> bold (félkövér); <I> italic (dőlt); <U> underlined (aláhúzott); <TT> teletype, azaz fix szélességű betűtípus. Példa: Forrásszöveg: Első, <I> második, </I> harmadik Megjelenítés: Első, második, harmadik

Karakterek formázása - 2 Betűméret megadása: <FONT SIZE=i>, ahol i értéke 1-től 7-ig változhat. Betűk színe: <FONT COLOR=#rrggbb>, ahol „rrggbb” hexadecimális RGB színkód: rr = piros, gg = zöld és bb = kék komponensét kell megadni. Egy komponens intenzitása 0 és 255 között (hexadecimálisan 00-tól FF-ig) változhat. Példa: <FONT COLOR=#FF0000> piros színt jelent.

Bekezdések formázása - 1 Bekezdés (paragrafus) kezdete: <P>, hatására a szöveg új sorban folytatódik. Nincs zárócímke, hatása a következő <P> címkéig terjed. Igazítás megadása: <P ALIGN=LEFT> igazítás balra; <P ALIGN=RIGHT> igazítás jobbra; <P ALIGN=CENTER> igazítás középre. Kényszerített sorváltás: <BR>. A szöveg új sorban folytatódik, de ez nem jelent új bekezdést. Cím (heading) megadása: <Hi>, ahol i értéke 1, 2, ..., 6 lehet. <H1>-hez tartozik a legnagyobb betűméret. A cím végét </Hi> zárócímke jelzi.

Bekezdések formázása - 2 Felsorolások: <UL> unordered list (rendezetlen lista) <OL> ordered list (sorszámozott lista) <LI> list item (listaelem). A felsorolás egyes pontjai elé kerülő szimbólumok alakját egy TYPE paraméter segítségével adhatjuk meg. (DISC = teli kör, CIRCLE = üres kör, SQUARE = négyzet) Példa: <UL TYPE=DISC> <LI> Első tétel <LI> Második tétel <LI> Harmadik tétel </UL> Megjelenítés: Első tétel Második tétel Harmadik tétel

Hivatkozások (linkek) megadása <A HREF="cím"> szöveg </A> A „szöveg” aláhúzva jelenik meg a weblapon, ez alkotja a hivatkozást, a „cím” pedig a kapcsolódó hely vagy weblap azonosítója. Típusai: cím = URL, azaz a világhálón egy másik weblap címe; cím = path, azaz a saját gépen egy másik fájl elérési útvonala; cím = #név, ahol név az adott fájl egy másik pontját azonosítja. A hivatkozott részt <A NAME="név"> szöveg </A> módon kell jelölni.

Ékezetes betűk - 1 Ha az ékezetes betűk nem jól jelennek meg: & alapbetű ékezet ; Az egyes ékezettípusok megadása: acute = vessző, uml = két pont, tilde = hullámvonal (kettősvessző helyett), circ = kalap (kettősvessző helyett). Példák: Á = Á Megjelenítés: í = í ö = ö ő = õ ű = û

Ékezetes betűk - 2 ASCII kód alapján karakterek bevitele: & # kód ; Példák: Á = Á © = © összekötő szóköz =  

Weblap minta <HTML> <HEAD> <TITLE> Demo weblap </TITLE> </HEAD> <BODY> <H2 ALIGN=CENTER> Mintalap a HTML nyelvhez </H2> <P> <A NAME="start"> Ebben </A> a bekezdésben bemutatjuk a különféle betűstílusokat: <BR> <I> dőlt, </I> <B> vastag, </B> és <TT> fix szélességű</TT> betűk.

<UL TYPE=DISC> Ez egy felsorolás: <LI> Első tétel <LI> Második tétel <LI> Harmadik tétel </UL> <P ALIGN=RIGHT> Ebben a szövegben az ékezetes karakterek biztosan jól fognak megjelenni! <P> Végül linkek különböző webhelyekre: Ugrás a demo lap <A HREF="#start"> elejére</A>, vagy az aktuális könyvtár <A HREF="demo2.htm"> demo2.htm </A> nevű fájljára, vagy egy <A HREF="http://www.szeged.hu"> igazi weblap</A>ra </BODY> </HTML>

Táblázat készítése <TABLE> táblázat kezdete <TR> táblázat sorának kezdete (table row) <TD> táblázat bejegyzés kezdete (table data)

Példa táblázatra <HTML> <BODY bgcolor=white> <table bgcolor=#f0f0ff border=1> <tr bgcolor=#b0d0ff> <td><b> Sorszám </td> <td><b> Megnevezés </td> </tr> <tr> <td> 1. </td> <td> Első sor </td> <td> 2. </td> <td> Második sor </td> </table> </BODY> </HTML>

Táblázat megjelenése a képernyőn

A PHP nyelv Interpretált nyelv. Szintaxis: a C nyelvhez hasonló, fontosabb eltérések: Változók: $név, kis- és nagybetű különbözőnek számít. Változót deklarálni nem kell, típusát az első értékadás határozza meg. Újabb értékadás a típust megváltoztathatja, például $x=4; $x="alma"; Alaptípusok: egész, logikai, string, lebegőpontos szám. Változó állapota: isset(változó) értéke igaz, ha a változó definiált, egyébként hamis.

Szövegkonstans: 'szöveg' vagy "szöveg" Szövegkonstans: 'szöveg' vagy "szöveg". "szöveg" esetén a szövegben szereplő PHP változók kiértékelése megtörténik, 'szöveg' esetén nem! A szövegkonstans több sorra tördelhető. String megjelenítése: print string; vagy echo string; Stringek konkatenációja „pont” karakterrel történik, például ’alma’.’fa’ Logikai műveletek: and, or, xor, ! (negáció), de használható && (és), || (vagy) is. Logikai konstansok: true, false. Tömbök használata: például $x=(10,20,30), ekkor $x[1] értéke 20. Egysoros kommentár: # vagy // Többsoros kommentár: /* ... */

HTML-be ágyazott PHP A PHP nyelv kétféleképpen használható: Önálló programnyelvként (ezzel nem foglalkozunk). Az Apache szerver kiegészítő moduljaként. Jelemzők: A PHP programot a HTML forrásszövegébe írjuk. A fájlnév kiterjesztése .php Az Apache a PHP modul segítségével végrehajtja a PHP kódot, annak eredményeként generált weblapot küldi el a klienshez, és a böngésző ezt jeleníti meg. A PHP kód <? és ?> (vagy <?php és ?>) karakterpárok között szerepel.

Példa PHP kódra <html> <body bgcolor=white> <? # Ez itt már PHP kód print '<h3>A PHP működik ...</h3><p>'; for($i=0; $i<6; $i++) { print "<font face=arial size=$i><b>PHP!</b></font> \n"; } ?> </body> </html>

A kigenerált weblap <html> <body bgcolor=white> <h3>A PHP működik ...</h3><p> <font face=arial size=0><b>PHP!</b></font> <font face=arial size=1><b>PHP!</b></font> <font face=arial size=2><b>PHP!</b></font> <font face=arial size=3><b>PHP!</b></font> <font face=arial size=4><b>PHP!</b></font> <font face=arial size=5><b>PHP!</b></font> </body> </html>

A képernyőn megjelenő kép

PHP - MySQL kapcsolat A PHP Windows-változata már eleve tartalmazza a MySQL támogatást. Kapcsolódás a DBMS-hez: $azonosító = mysql_connect ("szerver", "felhasználó", "jelszó"); Adatbázis kiválasztása: mysql_select_db("adatbázisnév"); Kapcsolat bontása: mysql_close($azonosító);

PHP - MySQL függvények Lekérdezés: $tábla = mysql_query ("mysql_parancs"); Kurzor léptetése: $sor = mysql_fetch_row($tábla); Sorok száma: $nur=mysql_num_rows($tábla); Oszlopok száma: $nur=mysql_num_fields($tábla); i-edik oszlop neve: $nur=mysql_fields_name($tábla, $i);

2. példa <HTML> <? $id = mysql_connect("localhost","adm","pwd"); mysql_select_db("personal"); print "<body bgcolor=white>"; $res = mysql_query("show tables"); $i = 1; print "<b>Jelenlegi adattáblák:</b><br>"; while ($row = mysql_fetch_row($res)) { print "$i. $row[0]<br>"; $i++; } mysql_close($id); ?> </BODY> </HTML>

Magyarázat a 2. példához A mysql_query() függvény segítségével a "show tables" MySQL-parancsot küldjük el a DBMS-hez. Ez egy egyoszlopos eredménytáblát ad vissza, amely az adatbázisban tárolt táblák neveit tartalmazza. $res a lekérdezés eredménye. A mysql_fetch_row($res) a $res tábla következő sorát adja vissza egy stringeket tartalmazó tömb formájában. Ha már nincs több sor, akkor a mysql_fetch_row() FALSE értékkel tér vissza.

2. példa: a kigenerált weblap Ha az adatbázisunkban csak a Könyv és Olvasó táblák vannak, akkor a PHP kód végrehajtása után a következő HTML-kód keletkezik: <HTML> <body bgcolor=white> <b>Jelenlegi adattáblák:</b><br> 1. Konyv<br> 2. Olvaso<br> </BODY> </HTML>

2. példa: a képernyőn megjelenő kép Jelenlegi adattáblák: 1. Konyv 2. Olvaso

3. példa: Táblázat Feladat: A Könyv(könyvszám, szerző, cím) adattábla tartalmának kiírása weblapra táblázatos formában. A Könyv tábla tartalma: Könyvszám Szerző Cím 2276 Karinthy Így írtok ti 1782 Jókai Aranyember

3. példa: a generálandó weblap <HTML> <BODY bgcolor=white> <table bgcolor=#f0f0ff border=1> <tr bgcolor=#b0d0ff> <td><b> Könyvszám </td> <td><b> Szerző </td> <td><b> Cím </td> </tr>

<tr> <td> 2276 </td> <td> Karinthy </td> <td> Így írtok ti </td> </tr> <td> 1782 </td> <td> Jókai </td> <td> Aranyember </td> </table> </BODY> </HTML>

3. példa: táblázat generálása <HTML> <? $ID=mysql_connect("localhost","adm","pwd"); mysql_select_db("personal"); print '<body bgcolor=white>'; $res=mysql_query("select * from konyv"); $nur=mysql_num_rows($res);

print '<table bgcolor=#f0f0ff border=1>'; print '<tr bgcolor=#b0d0ff>'; for ($i=0; $i<mysql_num_fields($res); $i++) { print '<td><b>'.mysql_field_name($res,$i).'</td>'; } print '</tr>'; for ($i=1; $i<=$nur; $i++) { $row=mysql_fetch_row($res); print '<tr>'; for ($j=0; $j < count($row); $j++) print "<td>$row[$j]</td>"; print '</table>'; mysql_close($ID); ?> </BODY> </HTML>

Magyarázat a 3. példához A mysql_num_rows($res) függvény a $res tábla sorainak számát adja vissza. A mysql_num_fields($res) függvény a $res tábla oszlopainak számát adja vissza. A mysql_fields_name($res, $i) függvény a $res tábla i-edik oszlopának nevét adja. A count($row) függvény a $row tömb elemeinek számát adja.

3. példa: a képernyőn megjelenő kép

4. példa: Kiválasztó mező Tegyük fel, hogy a Tábla(mező) adattábla rendre az „Első”, „Második” és „Harmadik” stringeket tartalmazza. A képernyőn megjelenítendő:

4. példa: a generálandó HTML kód <select name='név'> <option value=’1’> Első </option> <option value=’2’> Második </option> <option value=’3’> Harmadik </option> </select>

4. példa: kiválasztó mező generálása function dbselect($qry,$nam) { $res=mysql_query($qry); $nur=mysql_num_rows($res); if (!$nur) return 'EMPTY'; $out="\n<select name='$nam'>\n"; for($i=0; $i<$nur; $i++) { $val=mysql_fetch_row($res); $out.="<option value='$i'>$val</option>\n"; } $out.="</select>\n"; return $out;

A képernyőn megjelenő kép: A fenti függvény meghívása: print dbselect(’select mezo from tabla’, ’név’); A képernyőn megjelenő kép:

Webhelyek PHP honlap: www.php.net A dokumentáció magyar nyelven is letölthető. XAMPP telepítő csomag (Apache+PHP+MySQL egyben): www.apachefriends.org/en/xampp.html PHP ingyenes tárhely: www.freeweb.hu