ACTIVE
SERVER PAGES
ASP Nedir?
• HTML formlarından bilgi
biriktirir.
• Kişiye özel sayfa sunumunu
sağlar.
ASP ile
ilgili Önemli Olaylar
•
Ocak1997 de tanıtıldı.
•
NT, Windows 95/98, IIS için ücretsiz
•
Windows 95/98 ‘ de kişisel web server
içinde offline çalişabilir.
•
Kodları HTML ile birlikte içiçe yazılabilinir.
•
Browser bağımsızdır.
•
Browser dan veritabanı işlemlerini yapabilinir.
First ASP
Bu örnekte yazi boyutu surekli büyüyerek degiserek
5 kere “Merhaba ” yazısı ekranda gösterilir.
(Kodlar “ <% … %>” işaretleri içine
“… “ olan yere yazılır.)
<html>
<body>
<%
for i=3 to 7 %>
<font
size = <% = i %> >
Merhaba
<br>
<%
Next %>
</body>
</html>
ASP
Nesneleri
• Response Nesnesi
• Server Nesnesi
• Request Nesnesi
• Session Nesnesi
• Application Nesnesi
Response
Nesnesi
•
response.write or <% = %>
–
Browser a bilgi gönderir.
•
response.redirect
–
Eğer browserda yazı vs. yoksa başka bir sayfaya transer kontroludur.
•
response.end
–
Script in bütün fonksiyonlarını durdurur.
Example: Get
System Time
<%
LANGUAGE=“VBSCRIPT” %>
<html>
<body>
<%
If Minute(Now) < 30 Then %>
Before
Half
<%
Else %>
After
Half
<%
End If %>
of
<%
response.write (Hour(Now)) %>
</body>
</html>
Screen:
After half of 9
Source:
<html> <body>
After Half
of
9
</body> </html>
Form
Örneği
Create the form:
<html>
<body> <h2> Sample Order </h2>
<form
method=“post” action=“response.asp”>
<p>
AD : <input name = “fname” size=“48”>
<p>
SOYAD : <input name = “lname” size=“48”>
<p>
Title: <input name=“title” type=radio value=“mr”> Mr.
<input
name=“title” type=radio value=“ms”> Ms.
<p>
<input type=submit> <input type=reset>
</form>
</body> </html>
ASP Response
Page
Response.asp Oluşturma:
<%
title = request.form(“baslik”)
lastname
= request.form(“sadi”)
If title=
“bay” Then
%>
Bay <% = soyadi%>
<%
ElseIf title = “Byn” Then %>
Bayan
<% = soyadi %>
<%
Else %>
<%
= request.form (“ad”) & “ “ & soyadi %>
<%
End If %>
Access için
Data Source Name (DSN)Oluşturma
•
Web server da,Control Panel açılır.
• ODBC iconuna double klik yapılır ve System DSN kliklenir.
•
Add I
kliklenir,the Microsoft Access Driver seçilip , Finish kliklenir..
•
Data Source Name box içinde , type
olarak name I , Select I secin.Daha sonra veritabanınızı
secip OK I klikleyin.
•
OK ‘I klikleyerek dialog box ları kapatın.
ASP için
Access Dosyası Kullanımı
- Bir veritabanı yaratılır ve tablonun icine degerler girilir
- File/Save As-Export secilir
- To an External File or Database Secilir
- Save As tipi olarak “Microsoft Active Server Pages”
secilir
- Export cliklenir
- Access Data Source name icin tanımlanmış DSN adı kullanılır.
- IIS ile webserver a bu dosya kopyalanır.
ASP -
REQUEST Nesnesi
Collections
Form
(POST)
Server
Variables
QueryString
(GET)
Cookies
ClientCertificate
Method
BinaryRead
Properties
TotalBytes
REQUEST
OBJECT-TotalBytes
TotalBytes property’si sadece okunabilir bir property
dir.Webserver’a gönderilen toplam BYTE sayısını belirtir.
Var
= Request.TotalBytes
REQUEST
OBJECT-Client Certificate
Provides access to the certification
fields of the client’s digital certificate.
Client Certificate eğer istemcinin bilgisayarı the Secure
Sockets Layer’I desteklerse ve browser SSL’i (https://) çalıştırarak webservera
baglı ise gönderilir.
Request.ClientCertificate
Subject: digital
certificate sahibi hakkında bilgiyi sağlayan virgüllerle ayrılmış listedir.
Issuer: Issuer hakkındaki bilgidir.
ValidFrom and ValidUntil: Validasyon
tarihleri
SerialNumber: ASCII gösterim.
Ex:
0A-B7-34-23
Certificate:
Flags: Ek bilgileri sağlar.
Request.ClientCertificate (“IssuerC”) : Merkez
ülkeyi gunceller.
Request.ClientCertificate (“SubjectO”)
REQUEST
OBJECT- Cookies
Cookie: İstemcinin
makinasindaki bazı bilgilerin web serverda saklanmasına yarar.
Request.Cookies
Bu bilgiler Server a her istemci sayfayı
yeniden çağırdığında yeniden gönderilir.
Set-Cookie:
NAME=VALUE; expires=DATE;
domain=DOMAIN_NAME;
path=PATH;
secure
Set-Cookie:
NAME=VALUE; Mandatory, information to
be saved
expires=DATE; Greenwich Mean Time
domain=DOMAIN_NAME; microsoft.com (www. or home.)
REQUEST
Nesnesi - Form (POST)
Kullanıcı
formdaki alanlara bilgilerini doldurduktan sonra , form submit edildiğinde
formdaki her bir alandaki veriler Server'a yada vt'ye gönderilir.
name = value
name (attribute of <INPUT>)
HTTP Request
(Form Submission)
<html><body>
<form
action = “x.asp” method = “post” >
First
Name: <input type = “text” name = “first_name” size = 60 > <br>
Last
Name: <input type = “text” name = “last_name” size = 60 > <br>
<input type = “submit” value =
“Submit”>
</form>
</body>
</html>
HTTP Request
Header
POST /x.asp HTTP/1.0
Accept: image/gif, image/jpeg, */*
User-Agent: Mozilla/2.0 N
(Windows;
I; 32 Bit)
Content-Type:
application/x-www-form-urlencoded
Content-Length: 35
(mandatory blank line)
first_name=Ajda&last_name=Pekkan
Formdan
bilgi Okuma Islemi
<%
strFirstName = Request.Form(“first_name”) %>
<%
strLastName = Request.Form(“last_name”) %>
NAVIGATOR
ORNEGI - DSN
<% name =
request.servervariables ("http_user_agent")
place=InStr(name,"MSIE")
if place>0
then
flag = 1
else
flag = 2
end if
Set conn =
Server.CreateObject ("ADODB.Connection")
conn.Open
"asp"
Set rs =
Server.CreateObject ("ADODB.Recordset")
sql =
"SELECT * FROM [navigator]"
set rs=
conn.execute(sql)
rs.movefirst
%>
<br>Internet
Explorer
<%
response.write rs.fields("IE")
%>
<br>
Netscape
<%
response.write rs.fields("NN")
if flag = 1
then
num = rs.fields("IE")
rs.close
rs.open sql,conn,3,3
rs.Fields("IE") = num+1
else
num = rs.fields("NN")
rs.close
rs.open sql,conn,3,3
rs.Fields("NN") = num+1
end if
rs.Update
rs.Close
conn.close
%>
DSN SIZ
BAGLANTI
<%
dbdsn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
Server.Mappath("dbtelno.mdb") & ";"
Set db = Server.CreateObject("ADODB.Connection")
db.Open dbdsn
Set rs = Server.CreateObject("ADODB.Recordset")
sqlDeyim = "SELECT * FROM [tblTelno] ORDER BY [Soyadi]"
rs.Open sqlDeyim, db, 3, 2
%>
Veri Tabanı
Listeleme (Tablo içinde)
<HTML><HEAD><TITLE>Telefon
Listesi</TITLE></HEAD>
<BODY>
<br>
<%
'Create
an ODBC Connection & Open it
Set
conn = Server.CreateObject ("ADODB.Connection")
conn.Open
"asp"
sql
= "SELECT * FROM [Telephone]"
Set
rs= conn.Execute(sql)
%>
<TABLE
BORDER=1 BGCOLOR=#ffffff CELLSPACING=0>
<FONT
FACE="Arial" COLOR=#000000>
<CAPTION><B>Telefon
Listesi</B></CAPTION>
<TR>
<TH
BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 >
<FONT
SIZE=2 FACE="Arial" COLOR=#000000>Müşteri
No</FONT></TH>
<TH
BGCOLOR=#c0c0c0 BORDERCOLOR=#000000 >
<FONT
SIZE=2 FACE="Arial" COLOR=#000000>Isim</FONT></TH>
</TR>
<%
On
Error Resume Next
rs.MoveFirst
do
while Not rs.eof
%>
<TR
VALIGN=TOP>
<TD
BORDERCOLOR=#c0c0c0 ALIGN=RIGHT>
<FONT
SIZE=2 FACE="Arial" COLOR=#000000>
<%=Server.HTMLEncode(rs.Fields("CustomerNo").Value)%><BR></FONT></TD>
<TD
BORDERCOLOR=#c0c0c0 >
<FONT
SIZE=2 FACE="Arial" COLOR=#000000>
<%=Server.HTMLEncode(rs.Fields("Name").Value)%><BR></FONT></TD>
</TR>
<%
rs.MoveNext
loop%>
</TABLE>
</BODY></HTML>