ASP Tutorial - Objekat Request

ASP Tutorial - Objekat Request

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

zavrsili smo osnove ASP i sada cemo preci na objekat Request koji se cesto koristi pri izradi ASP stranica.

ASP sadrzi pet primarnih objekata.

Request, Response, Application, Session i Server

Request - Daje podate o posetiocu
Response - Metode i svojstva koje se koriste za prikaz posetiocu (odgovor na Request)
Application - Slicno kao Session samo sto se odnosi na celu aplikaciju. Rad sa svojstvima koja upravljaju Web

stranicom
Session - Metode i svojstva za jednog odredjenog korisnika
Server - Skup komponenata na serveru i podesavanje servera


Objekat Request


pomocu Request objekta, mozete da pristupate podacima korisnika koji je trenutno na vasoj web prezentaciji.

sledeci kod vam objasnjava kako da prikazete na vasoj web strani IP korisnika
<% Response.Write(Request.ServerVariables("REMOTE_HOST")) %>


kada imate objekte u formi za npr. log in. na neki nacin trebate da uzmete to sto je korisnik uneo.
Objekat Request ce vam pomoci u tome.

kada imate neku ovakvu formu:
<form name="login" method="post" action="login.asp"> <input type="text" name="username"><br> <input type="text" name="password"><br> <input type="button" name="Submit"> </form>

kada korisnik popuni neku ovako formu i kada klikne na Submit, forma ce 'pozvati' login.asp (sto zapravo moze

da bude i ista stranica u kojoj se nalazi forma) i preuzece podatke koje je korisnik napisao.

pre nego sto napisem kod koji bi resavao ovaj problem, moram da kazem sledece:
primetili ste da sam u zaglavlju forme napisao method="post". postoji jos i method="get". razlika izmedju ove

dve metode je sledeca:

kada stavite POST, sve podatke koje je korisnik poslao idu 'skriveno' i prihvataju se preko Request.Form

metode.

kada stavite GET, sve podatke koje je korisnik poslao ide preko linka web browsera i tako da gledanjem u link,

mozete videti sta je korisnik napisao. kada se radi o nekim informacijama tipa login sifra... ne preporucuje

se metoda GET nego POST...
metodom GET, podatke primate preko Request.QueryString metode.

kod na login.asp stranici za metodu POST bi ovako izgledao:
<% If NOT isEmpty(Request.Form("Submit")) Then    dim uname, pword, sql    uname = Request.Form("username")    pword = Request.Form("password")        sql = "SELECT * FROM korisnici WHERE username='" & uname & "' AND " password='" & pword & "';"    rs.Open sql, conn    If rs.EOF Then       Response.Write("Podaci se ne slazu sa onima iz baze podataka!")    Else       Response.Write("Dobrodosli " & uname)    End If    Response.Redirect("home.asp") End If %>

NAPOMENA:
posto jos nismo radili Connection i Recordset objekte (rs i conn), za sada sam ih ovako napisao, ali se

pretpostavlja da su validne reference na objekte tipa Recordset i Connection. O istim cemo pricati posle.

isti ovaj kod sa GET metodom bi ovako izgledao:
<% If NOT isEmpty(Request.QueryString("Submit")) Then    dim uname, pword, sql    uname = Request.QueryString("username")    pword = Request.QueryString("password")        sql = "SELECT * FROM korisnici WHERE username='" & uname & "' AND " password='" & pword & "';"    rs.Open sql, conn    If rs.EOF Then       Response.Write("Podaci se ne slazu sa onima iz baze podataka!")    Else       Response.Write("Dobrodosli " & uname)    End If    Response.Redirect("home.asp") End If %>


Kolekcija ServerVariables


ova kolekcija sluzi za ispisivanje podataka o korisniku koji se nalazi na vasoj web prezentaciji.

izdvojicu one najpotrebnije promenljive kao i opis istih....

REMOTE_ADDR - adresa racunara koji pravi zahtev
REMOTE_HOST - ime domena racunara (textualna IP adresa, ime providera) ako nema, onda pise samo IP adresa
LOCAL_ADDR - adresa servera
HTTP_REFERER - stranica preko koje je korisnik dosao na tekucu, ako je pritisnuo link
HTTP_USER_AGENT - vrsta citaca i verzija kao i OS korisnika


Kolekcija Cookies


kolacici sluze da zapisu neku informaciju o korisniku. npr, username pa da se sledeci put korisnik ne mora da

loguje nego je to automatski ili zapamti interesovanja korisnika pa ga redirektuje na adresu koja ga zanima.

kolacici postoje u JavaScriptu, a mogu se koristiti i direktno iz ASP-a.


ako zelite da napravite autologin ovakav kolacic bi vam bio od pomoci

Request.Cookies("UserName") = rs("username")

tako ce se u kolacic zapisati Username korisnika za sledecu posetu vasoj web prezentaciji

kolacici mogu da budu i slozeni

Request.Cookies("Company")("UserName") = rs("username")
Request.Cookies("Company")("URL") = rs("URL")

provera da li su kolacici slozeni se proverava preko svojstva HasKeys. ako je HasKeys True, kolacic je slozen,

ako je False, kolacic nije slozen

If Request.Cookies("Company").HasKeys Then
Response.Write("Ovaj kolacic ne da je slozen nego strasno! Smile")
Else
Response.Write("Ovaj kolacic nazalost nije slozen! Sad")
End If



zavrsili smo Request objekat. sledeci put prelazimo na Response.

sta vam nije jasno slobodno pitajte. ako ste nasli neku gresku, prijavite pa cu ispraviti...

to be continued...



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 648 korisnika na forumu :: 65 registrovanih, 6 sakrivenih i 577 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 2413 - dana 03 Okt 2019 05:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Petar, _Sale, A.R.Chafee.Jr., akulasss, AleksSE, aljosa7, amaterSRB, amir3045, antosky, aramis s, boolero, bulovic, cikadeda, dakota, darcaud, darkstar101, dimitrovskid, djboj, Djokkinen, drasko003, Drug pukovnik, duskovuk63, Fisherman, Ilija Cvorovic, kljift, knezevic_i, kovacicbozo, krkalon, krunomiletic5, Kubovac, Lieutenant, liman2, Ljubitelj2, majorgaspar, mean_machine, MiG-29M2, Milan A. Nikolic, Milos ZA, milos.cbr, mirbat, Misa63, Miskohd, nebojsag, nemkea71, nenad81, Neo BetOnBit, nestor1371, pera12345, RADOVAN.S, Raptor1, Revolucion, rkekoke, stalker2, stug, theNedjeljko, trajkoni018, TroxX, Vasilije Budović, Vlada1389, vlvl, XBMC, yufighter, zdrebac, zlatkoa987, 187