Transcript PhpMysql

Az Apache+PHP+MySQL rendszer

Weblap:

HTML nyelvű fájl.

Web böngésző (HTTP kliens):

és megjelenítése, szükség esetén segédprogramok (plugin) segítségével.

weblapok értelmezése

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:

írjuk be a

http://localhost

a böngészőbe 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.

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:

Zárócímke:

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

lapcím ...

...

TITLE rész:

(Megadása nem kötelező.)

BODY rész:

a böngészőablak fejlécében jelenik meg. 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):

bold (félkövér);

italic (dőlt);

underlined (aláhúzott);

teletype, azaz fix szélességű betűtípus.

Példa: Forrásszöveg:

Első, második, harmadik

Megjelenítés:

Első,

második,

harmadik

Karakterek formázása - 2

Betűméret megadása:

1 től 7-ig változhat.

, ahol

i

értéke

Betűk színe:

, 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:

piros színt jelent.

Bekezdések formázása - 1

Bekezdés (paragrafus) kezdete:

, hatására a szöveg új sorban folytatódik. Nincs zárócímke, hatása a következő

címkéig terjed.

Igazítás megadása:

igazítás balra; igazítás jobbra;

igazítás középre.

Kényszerített sorváltás:


. A szöveg új sorban folytatódik, de ez nem jelent új bekezdést.

Cím (heading) megadása:

, ahol i értéke 1, 2, ..., 6 lehet.

hez tartozik a legnagyobb betűméret. A cím végét

zárócímke jelzi.

Bekezdések formázása - 2

Felsorolások:

    unordered list

    (rendezetlen lista) •

      ordered list

      (sorszámozott lista) •

    1. 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:

      • Első tétel
      • Második tétel
      • Harmadik tétel

      Megjelenítés:

      • Első tétel • Második tétel • Harmadik tétel

      Hivatkozások (linkek) megadása

      szöveg

      • • • 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

      szöveg

      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

      Demo weblap

      Mintalap a HTML nyelvhez

      Ebben a bekezdésben bemutatjuk a különféle betűstílusokat:
      dőlt, vastag, és fix szélességű betűk.

        Ez egy felsorolás:
      • Első tétel
      • Második tétel
      • Harmadik tétel

      Ebben a szövegben az ékezetes karakterek biztosan jól fognak megjelenni!

      Végül linkek különböző webhelyekre: Ugrás a demo lap elejére, vagy az aktuális könyvtár demo2.htm nevű fájljára, vagy egy igazi weblapra

      Táblázat készítése

      táblázat kezdete táblázat sorának kezdete

      (table row)

      táblázat bejegyzés kezdete

      (table data)

      Példa táblázatra

      Sorszám Megnevezés
      1. Első sor
      2. Második sor

      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ó)

      változó definiált, egyébként hamis.

      értéke igaz, ha a

      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:

      vagy

      echo string; print string;

      Stringek konkatenációja

      például

      ’alma’.’fa’

      „pont” karakterrel történik,

      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

      karakterpárok között szerepel.

      és

      ?>

      )

      Példa PHP kódra

      A PHP működik ...

      '; for($i=0; $i<6; $i++) { print "PHP! \n"; } ?>

      A kigenerált weblap

      A PHP működik ...

      PHP! PHP! PHP! PHP! PHP! PHP!

      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

      $id = mysql_connect("localhost","adm","pwd"); mysql_select_db("personal"); print ""; $res = mysql_query("show tables"); $i = 1; print "Jelenlegi adattáblák:
      "; while ($row = mysql_fetch_row($res)) { print "$i. $row[0]
      "; $i++; } mysql_close($id); ?>

      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:

      Jelenlegi adattáblák:
      1. Konyv
      2. Olvaso

      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

      2276 1782

      Szerző

      Karinthy Jókai

      Cím

      Így írtok ti Aranyember

      3. példa: a generálandó weblap

      Könyvszám Szerző Cím
      2276 Karinthy Így írtok ti
      1782 Jókai Aranyember

      3. példa: táblázat generálása

      $ID=mysql_connect("localhost","adm","pwd"); mysql_select_db("personal"); print ''; $res=mysql_query("select * from konyv"); $nur=mysql_num_rows($res);

      print '

      '; print ''; for ($i=0; $i'.mysql_field_name($res,$i).''; } print ''; for ($i=1; $i<=$nur; $i++) { $row=mysql_fetch_row($res); print ''; for ($j=0; $j < count($row); $j++) print ""; print ''; } print '
      $row[$j]
      '; mysql_close($ID); ?>

      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

      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\n"; return $out;

      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