ASP
kezdőknek 1.
|
Az egyik
leggyakrabban használt HTML kiterjesztés az ASP. Itt egy cikksorozatot
tervezek az ASP programozás alapjairól, mivel magyar nyelvű
szakirodalmat alig találni ebben a témában. A cikk az ASP alapokról szól, de feltételez
egy bizonyos szintű programozói és HTML tudást. |
Az alapok
|
Az ASP rövidítés mögött az Active Server Pages név
áll. Ez egy olyan szkriptnyelv, melynek segítségével dinamikussá tehetjük a
weboldalt. Gyakorlatilag úgy működik, mint a PHP vagy a CGI, csak
természetesen más a nyelvezete. Kezdjük tehát az alapoknál. Az ASP technikát a Microsoft fejlesztette ki és
főleg a Windows 2000-es IIS webszervereken használható, a Linuxos
adaptációja elég gyenge. Mire is lesz szükségünk, ha otthon szeretnénk
ASP-ben fejleszteni? ·
Először is egy Windowsos számítógépre ·
Egy PWS webszerverre, ami feltelepíthető a Windows CD-ről
(személyes webkiszolgáló) ·
Egy programra, amiben majd a scripteket szerkesztjük. Miután
feltelepítettük a szervert, a http://localhost/
címen át tudjuk megnézni az oldalakat. |
Az ASP szintaktis
|
Az ASP kódot egyszerűen a HTML-be kell
beleilleszteni, a két rész egyszerűen kombinálható. Az ASP részeket
mindig <% és %> jelek közé kell zárnunk, valahogy így: <HTML> <BODY> Blablabla <%‘Ide
jön az ASP kód%> </BODY> </HTML> A HTML
oldalon belül bárhova beszúrhatunk ASP kódot. Ez a kód a böngészőhöz nem
érkezik meg, csak a szerver által feldolgozott végeredmény. Az ASP tulajdonképpen egy Visual Basic
szkriptnyelv (bár javascript kódot is használhatunk). Objektumorientált
nyelv, ennek megfelelően mindent (vagy majdnem mindent) objektumokon
keresztül tudunk kezelni. |
Input-Output
|
Az ASP legegyszerűbb felhasználása az
adatok (pl. elküldött űrlapok) feldolgozása és az eredmények kiírása.
Ezzel kapcsolatban a két legfontosabb objektum a Request és a Response.
Ezeken keresztül folyik az adatok ki-bemenete. A Request
objektumon belül a két legfontosabb elem a Querystring és a Form, melyekkel
az elküldött űrlapok adatait olvashatjuk be. A Querystring a címsorban lévő értékeket (ide kerülnek az
űrlapadatok GET metódussal elküldött űrlapoknál) olvassa ki. Például,
ha a címsorban a script után a következő szerepel: ?tulajdonsag=ertek&szam=2,
akkor ezeket az értékeket a következő módon tudjuk kiolvasni: Tul = Request.Querystring("tulajdonsag") Szam = Request.Querystring("szam") Ezeket a
kódokat mindig egy sorba kell írni, itt csak a hasábok miatt nincs egy
sorban. A fenti kód a Tul változóba az ertek szöveget tölti, a Szam változóba
pedig a 2-es számot, ahogy az a címsorban meg volt adva. Láthattuk, hogy az
értékmező nevét idézőjelben kell megadnunk. Az eljárás ugyanez
akkor is, ha az űrlap POST módban lett elküldve, csak ilyenkor a
Querystring helyett Form elemet kell használnunk (Request.Form). A
mezőnév minden esetben az adott űrlapelem neve (Name tulajdonság)
Ezeket az értékeket beolvashatjuk változókba, a változókat pedig úgy
használhatjuk, mint bármelyik másik programnyelvben. Ha a request objektumot
csak önmagában használjuk (Request(”valami”)), akkor a kapott érték
származhat a címsorból, vagy egy POST formtól is. Arra viszont figyeljünk,
hogy ebben az esetben ne legyenek azonos mezőnevek. A legbiztosabb, ha mindig
a Querystring vagy a Form elemen át hivatkozunk. A Response
objektum segítségével tudunk adatokat kiírni, átirányítani a lapot vagy sütit
készíteni. A legfontosabb elem a Write, amellyel szöveget és változókat
írathatunk ki. A kiírás oda történik, ahol a kód el van helyezve, tehát akár
egy HTML TAG belsejébe is írhatunk. Példa a
használatra: Response.write("szöveg") Láthattuk, hogy akár szöveget, akár változót, vagy
egy & jellel összefűzve akár mindkettőt kiírathatunk. A
response.write utasítás helyettesíthető a <%="szöveg"%> formátummal, ily módon a szöveget kevesebb
forráskarakterrel írhatjuk ki – ergo kisebb lesz az ASP oldalunk. Ez a forma
viszont csak a HTML kódba való beszúráskor használható, az ASP blokkon belül
nem. A Redirect elemmel a felhasználót a megadott URL
címre irányíthatjuk át. Az URL változóban is megadható. Fontos viszont, hogy
a Redirect elem csak a kiírások előtt használható, vagyis akkor, mikor a
felhasználó felé még nem továbbítottunk semmit. Most nézzünk egy rövidke példaprogramot, ami
bekéri egy űrlapban a nevünket, azután pedig kiírja (pelda1.asp): <html><body> <form method=post
action=pelda1.asp> Írd be a neved: <input
name=neved><input type=submit> </form><br> <% neved = request.form("neved") response.write(neved) %> </body></html> Ezt akár már ki is próbálhatjuk. Csak másoljuk a
fájlt a C:\inetpub\wwwroot könyvtárba (ide kerülnek a szerveren elérhető
fájlok) és nyissuk meg (http://localhost/pelda1.asp).
Egy szövegmező fog megjelenni, melybe írjuk be a nevünket és nyomjuk meg
az elküldő gombot. A következő oldalon kiírva láthatjuk majd a
megadott nevet. Alaphelyzetben nem ír ki semmit, hiszen a neved
űrlapmező üres (nem lett elküldve még), de miután elküldtük az
űrlapot, az ASP kód beolvassa és kiírja a nevet. Adatokat be- és kivinni
tehát már tudunk, de lássuk tovább! |
Matematikai
műveletek |
Lényegében
ugyanazok a lehetőségek, mint más programnyelvekben, tehát a +
összeadást, a – kivonást, a * szorzást és a / osztást jelent. Pl.: Valt1
= 5 + 4 Valt2
= 7 – 2 Valt3
= Valt1 * Valt2 Fontos viszont megemlítenünk az ide vonatkozó
függvényeket, ezek az Isnumeric, mellyel ellenőrizhető, hogy egy adott
változó számot tartalmaz-e, a másik a Round, amivel kerekíteni tudjuk egy
szám értékét. Természetesen van még néhány, de ezek a leggyakrabban
használtak Pl.: valt1 = 24.87141 valt2 = round(valt1,2) If isnumeric valt2 then
response.write("valt2 numerikus") end if A valt1 változóba megadott tört értéket a valt2
változóban 2 tizedesjegyre kerekítjük. Ez után ellenőrizzük, hogy a
valt2 értéke numerikus-e. (úgyis az J) Logikai műveletek, elágazások Az ASP-ben is használható az IF THEN ELSE típusú
feltételes utasítások. Ha a feltételhez egy utasítás tartozik, akkor írhatjuk
önmagában egysorba, de ha többsoros utasítássorozatról van szó, akkor a
feltételt egy END IF kifejezéssel le kell zárnunk. Használhatóak a
különböző logikai műveletek ( < , > , = , <> , AND , NOT, stb.) is.
Ezeket ugyanúgy kell használni, mint más nyelvekben. Használható a választó
(CASE) típusú elágazás is, a következő módon: Select case valtozo case 1 ‘utasítások case 2 ‘utasítások End select A külön értékekhez tartozó utasítássorozatokat nem
kell lezárni, csak a logikai CASE blokkot. Az egyes értékeket (itt 1 és 2)
közvetlen a case kulcsszó után kell írnunk, ha szöveges értékekről van
szó, akkor idézőjelek közé kell írnunk azokat. |
Megjegyzések
|
Lehetőség
van megjegyzések beszúrására is, ezeket egy aposztróffal (‘) kell jelölni, és az ezt követő karaktereket a
szerver nem értelmezi (az adott sor végéig) Pl.: ‘Ez a sor egy megjegyzés Ha többsoros megjegyzést szeretnénk írni, akkor minden
sor elejére ki kell tenni az aposztrófot
|
Eljárások és
függvények |
Egy sor
hasznos beépített függvényt és eljárást használhatunk, de ha kell, írhatunk
magunk is. Először ismertetnék néhány fontos beépített függvényt: A Len függvény Egy szöveges változó hosszúságát lehet vele
ellenőrizni.Használat: Hossz = len(valtozo) Az Isnull függvény Kimenete igaz, ha az adott változó értéke nulla
(0, vagy üres karakterlánc)Használat: If Isnull(valtozo) then ‘utasítás, ha az érték 0 End if A Replace függvény Egy adott szövegrészt cserél le egy karakterláncban.Használata: Valtozo = Replace(miben,
"mit", "mire") ‘A miben változóban a mit karaktersorozatot
cseréli mire karaktersorozatra |
Saját
függvény írása
|
Saját
függvényeket is írhatunk a function kulcsszóval. Példa: Function elso(p1,p2,p3) ‘Függvény kód elso =
kesz End Function Ahol az elso a függvény neve, p1,p2,p3 a paraméterek, kesz pedig a
függvény visszatérési értéke. A saját függvényünket pedig így tudjuk
meghívni: Valtozo = elso(1,2,3) A függvény visszatérési értékének típusát nem szükséges
előre definiálni, lehet bármilyen érték. Remélem sikerült legalább az alapokat megismertetnem az
olvasókkal. A következő részben részletesebben megismerjük az
űrlapok és a karakterláncok kezelését. Addig is minden észrevételt
szívesen várok.
|
Karsai
Balázs
|