ASP kezdőknek 2. – Űrlapok és karakterláncok

Az előző részben az ASP alapjaival foglalkoztam. Bemutattam a szintaktikát és pár fontos dolgot. Mivel a szerver oldali nyelvek - s így az ASP-nek is - egyik legfontosabb alkalmazási területe az űrlapok feldolgozása, így ebben a részben ezzel fogok foglalkozni, valamint az előző részben megismert karakterláncokkal kapcsolatos eljárásokat bővítem ki.

Űrlapok

A HTML űrlapok (form) segítségével adatokat küldhetünk a szervernek. Ezeket az űrlapokat használjuk pl. kereséshez, különböző szolgáltatásokra való feliratkozáskor stb. Az ASP technika segítségével könnyedén fel tudjuk dolgozni az űrlapok adatait.

Űrlapelemek

Az űrlapokon alapvetően 8 fajta beviteli elemet használhatunk. Ezek a szövegmező (text), a jelszómező (password), a feljegyzés (textarea), a legördülő lista (selectbox), a fájl mező (file area), a választógomb (radio button), a jelölőnégyzet (checkbox) és a sima gomb (button). A gombok között még megkülönböztethetünk 3 típust: elküldő gomb (submit), alapállapot gomb (reset) és sima gomb (button).

Az űrlapokat HTML-ben kell felépíteni. Egy ASP szkripthez feldolgozásra akár egy statikus HTML lap is küldhet adatokat.

Feldolgozás

Ahhoz, hogy az ASP oldal el tudja érni az űrlap adatait, az űrlapelemek mindegyikének nevet kell adnunk. Később az adatokra ezekkel a nevekkel hivatkozhatunk.

Példa:

Űrlapmező:

<input type=text name=neve>

Hivatkozás:

Request.form("neve")

Fontos még megjegyezni, hogy az űrlapok elküldésére két metódus van, a POST és a GET. A metódust az űrlap HTML TAG-jében kell megadni (<form method=GET>). A két metódus abban különbözik egymástól, hogy míg a GET metódussal elküldött űrlapok adatai a böngésző címsorába kerülnek, addig a POST metódus csak a szervernek küldi ez az adatokat, így azokat manuálisan nem lehet módosítani. Az ASP számára a két metódus között az a különbség, hogy GET metódus esetén az adatokra a request objektumon belül a querystring elemmel, míg POST metódus esetén a form elemmel hivatkozhatunk.

Adatok beolvasása, tárolása

Az űrlapadatokat a feldolgozáshoz érdemes változókban eltárolni. Pl.:

Valt1 = request.form("ertek")

Később ezzel a változóval számolhatunk, műveleteket végezhetünk, vagy tárolhatjuk egy fájlban vagy adatbázisban. Ha az elküldött űrlapban több azonos nevű űrlapelem is van (pl. jelölőnégyzetek esetén), akkor ezek az értékek egyszerre kiolvashatók az adott név alatt, és egy vesszővel tagolt karakterláncot adnak. Például ha egy űrlapon több haziallat nevű elem szerepel, akkor a request.form("haziallat") függvény a következő értéket fogja visszaadni:

ertek1, ertek2, ertek3, ertek4

Bizonyos esetekben ez a vesszővel tagolt lista önmagában is használható, de a replace függvénnyel át is alakíthatjuk. Az első példaprogram (form1.asp) ezt mutatja be.

Van úgy, hogy egy űrlap adatait úgy szeretnénk feldolgozni, hogy az eredmény a következő űrlapba (vagy például hibaellenőrzéskor ugyanebbe) kerüljön. Ilyenkor az űrlap HTML részébe kell beszúrnunk az adatokat. Például ha van egy szöveges adatunk egy szoveg változóban, és azt szeretnénk a szövegmezőbe beilleszteni, akkor az alábbi módon tehetjük meg:

<input type="text" value="<%=szoveg%>">

A szerver a <%=szoveg%> helyére beilleszti a változó tartalmát, így a böngészőben a szöveg benne lesz a szövegmezőben.

Ugyanezt a legördülő listánál vagy a jelölőnégyzetnél is megtehetjük, de ilyenkor egy IF elágazással ellenőriznünk kell, hogy a változó a kívánt értékű-e, s ha igen, ki kell írni a SELECTED (legördülő lista esetén) illetve a CHECKED (jelölőnégyzet vagy rádiógomb esetén). Pl.:

<input type="checkbox" value="érték"<%If valtozo=3 then response.write("checked")%>>

A fenti példa bejelölt jelölőnégyzetet eredményez, ha a változó értéke 3, egyébként ürest. A második példaprogram (form2.asp) ezt mutatja be legördülő menüvel.

Karakterláncok

Az előző részben már megismerkedtünk a karakterláncokkal, valamint pár hozzájuk tartozó függvénnyel. Most szeretnék még pár fontos dolgot leírni.

Karakterláncok összefűzése

Két vagy több karakterláncot egyszerűen összefűzhetünk a + vagy az & jelek segítségével. Pl.:

"szöveg 1" & "szöveg 2"

Karakterlánc manipulálás

Különböző függvények állnak rendelkezésünkre a karakterláncok módosítására. Most ezeket kicsit részletesebben ismertetném.

Lcase, Ucase: Ezen két függvénnyel kis- (Lcase) illetve nagybetűssé (Ucase) alakíthatjuk a szöveget (az összes karaktert.

Pl.:

Valt = Ucase(valt)

Eredmény: VALT

Valt = Lcase("SzÖvEg")

Eredmény: szöveg

InStr: Ezzel a függvénnyel egy karaktersorozatot kereshetünk. Ha az adott szövegben megtalálható a karaktersorozat, akkor az eredmény a karaktersorozat első karakterének pozíciója a szövegen belül, egyébként nulla. Figyeljünk rá, hogy a keresés érzékeny a kis- és nagybetűk különbségére.

Pl.:

InStr("Első szöveg","szöveg")

A fenti példa esetén a visszatérési érték 6 lesz, hisz a 6. karakternél kezdődik a keresett szöveg (a szóköz is beleszámít).

Left, Right, Mid: Ezek segítségével a karakterlánc bal vagy jobb oldaláról illetve a közepéről vághatunk ki egy megadott hosszúságú részletet. Pl.:

Left("abcdef",3)

Eredmény: abc

Right("abcdef",2)

Eredmény: ef

Mid("abcdef",3,2)

Eredmény: cd

Mid("abcdef",4,1)

Eredmény: d

Trim: Ennek a függvénynek a segítségével eltávolíthatjuk a szóközöket a karakterlánc végeiről. Pl.:

Trim("   szöveg szöveg  ")

Eredmény: "szöveg szöveg"

Két másik fontos karakterlánc függvényről (replace és len) már szóltam az előző részben, így ezeket most külön nem említeném meg.

Ebbe a részbe ennyi fért. A következő részben az ASP egyik igen érdekes területével, az adatbázisok kezelésével fogok foglalkozni. Addig is bármilyen visszajelzést szívesen fogadok.

Karsai Balázs