|
Document
Details :
เริ่มต้น ASP กับ
Free hosting
หากเราจะเริ่มต้นเขียน
ASP Program ง่ายๆ สัก Program หนึ่งนั้น จะมีขั้นตอนอย่างไรกันบ้าง?
สิ่งแรกที่ต้องทำคือ
ค้นหา Free hosting ที่ถูกใจก่อน (ถ้ายังไม่รู้จะหาที่ไหนลอง check
asp free hosting ที่ http://www.exzilla.net/
ในส่วน Free hosting เพื่อประกอบการตัดสินใจก่อนนะค่ะ ) และเมื่อเราได้
ASP Hosting แล้วก็ Register เป็น member เสียก่อน จากนั้นก็ถึงคราวเริ่มลงไม้
ลงมือกันเสียที
ใน Article
นี้เราได้ทดลอง register ที่ http://www.brinkster.com/ ซึ่งจะได้
homepage URLเป็น http://www14.Brinkster.com/exzilla
สำหรับ homepage ของเรา ที่ Brinkster.com นั้นอนุญาตให้เรา Upload
file ของเราได้เฉพาะทาง File Manager ซึ่งเป็น Program ที่ทำงานผ่าน
Web Base เท่านั้น ไม่อนุญาตให้เรา FTP หรือส่ง Mail (ยกเว้นเสียแต่ว่า
จะเริ่มจ่ายเงินให้เค้าบ้าง)
Brinkster.com
มีข้อกำหนดคร่าว ๆ สำหรับผู้ใช้งานว่า
1.การเขียน
ASP Program ติดต่อกับ MS-Access นั้นต้องเก็บ file database ภายใต้
directory ชื่อ db ซึ่งอยู่ภายใต้ home directory ของเรา
2.ไม่อนุญาตให้ใช้ตัวแปร
Connection แบบ session (http://www.brinkster.com/ASPRules.asp)
เริ่มต้น Program
แรก
สิ่งที่ต้องทำใน
Article นี้ คือเราจะทดลองเขียน ASP Program เพื่อดึงข้อมูลที่เป็นรายชื่อ
เบอร์โทรศัพท์ และ email address จาก Database อย่างง่ายกัน โดยจะเก็บข้อมูลในรูปแบบของ
MS-Access
เราเริ่มออกแบบ
Database ซึ่งจะเรียกว่า Database ก็ไม่รู้ว่าจะใหญ่ไปหรือไม่ ก็มีแค่
Table เดียวชื่อ TABLE1 ประกอบด้วย 4 Column คือ
|
NAME text(60),
SURNAME text(50),
TEL text(50),
EMAIL text(50)
|
เรามาเริ่มเขียน
ASP Program กัน โดยใช้ชื่อ File ว่า Table1.asp และมี phone01.mdb
เป็น Ms-Access database file
อย่างที่อธิบายไว้ข้างต้น
File table1.asp จะเป็นโปรแกรมดึงข้อมูลรายชื่อ เบอร์โทรศัพท์ และ
email address ซึ่งถูกจัดเก็บไว้ใน Database File ชื่อ phone01.mdb
ใน Table1.asp
ที่เขียนจะประกอบด้วยส่วนใหญ่ๆ ดังนี้
1.
Header
|
<HTML>
<HEAD>
<TITLE>my
Phone01 </TITLE>
</HEAD>
<BODY>
|
2.
Get Parameters
|
Param
= Request.QueryString("Param")
Data = Request.QueryString("txtName")
|
3.
Database Connection Preparation
|
accessdb="/exzilla/db/phone01.mdb"
myDSN="PROVIDER=Microsoft.Jet.OLEDB.4.0;"
myDSN=myDSN
& "DATA SOURCE=" & server.mappath(accessDB) &
";"
myDSN=myDSN
& "USER ID=;PASSWORD=;"
|
4. SQL
(select) Statement
|
sql
= "SELECT NAME,SURNAME,TEL,EMAIL FROM [TABLE1]"
If cstr(Param)
<> "" And cstr(Data) <> "" Then
Data
= "'" & data & "'"
sql = sql & "
WHERE [" & cstr(Param) & "] = " & cstr(Data)
End
If
|
5.
Database Connection
|
Set
conntemp = Server.CreateObject("ADODB.Connection")
conntemp.open
myDSN
|
6. Result
Set Preparation and SQL Execution
|
Set
rstemp = Server.CreateObject("ADODB.Recordset")
rstemp.Open
sql, conntemp, 3, 3
|
7.
Input Form
|
<form
method="gett" >
<div align="center">
</div>
<table width="50%"
border="0">
<tr bgcolor="#CCCCFF">
<td> </td>
<td>Enter name
for searching. </td>
</tr>
<tr bgcolor="#CCCCFF">
<td>Name:</td>
<td>
<input type="text"
name="txtName">
</td>
</tr>
<tr>
<td>
<input type="hidden"
name="Param" value="NAME">
</td>
<td>
<input type="submit"
name="Submit" value="Submit">
<input type="reset"
name="Submit2" value="Reset">
</td>
</tr>
</table>
<br>
</form>
|
8. Display
Result in table
|
<TABLE
BORDER=1 BGCOLOR=#ffffff CELLSPACING=0>
<CAPTION><font
face="Cordia New" color="#000000"><B> </B></font></CAPTION>
<THEAD>
<TR
bgcolor="#CCFFCC">
<TH BORDERCOLOR=#000000
><FONT SIZE=4 FACE="Cordia New" COLOR=#000000>NAME</FONT></TH>
<TH BORDERCOLOR=#000000
><FONT SIZE=4 FACE="Cordia New" COLOR=#000000>SURNAME</FONT></TH>
<TH BORDERCOLOR=#000000
><FONT SIZE=4 FACE="Cordia New" COLOR=#000000>TEL</FONT></TH>
<TH BORDERCOLOR=#000000
><FONT SIZE=4 FACE="Cordia New" COLOR=#000000>EMAIL</FONT></TH>
</TR>
</THEAD>
<TBODY>
<%
On
Error Resume Next
rstemp.MoveFirst
do while Not
rstemp.eof
%>
<TR
VALIGN=TOP>
<TD
BORDERCOLOR=#c0c0c0 >
<FONT SIZE=4 FACE="Cordia New" COLOR=#000000>
<%=Server.HTMLEncode(rstemp.Fields("NAME").Value)%>
<BR></FONT>
</TD>
<TD
BORDERCOLOR=#c0c0c0 ><FONT SIZE=4 FACE="Cordia New"
COLOR=#000000>
<%=Server.HTMLEncode(rstemp.Fields("SURNAME").Value)%>
<BR></FONT></TD>
<TD
BORDERCOLOR=#c0c0c0 ><FONT SIZE=4 FACE="Cordia New"
COLOR=#000000>
<%=Server.HTMLEncode(rstemp.Fields("TEL").Value)%><BR></FONT></TD>
<TD
BORDERCOLOR=#c0c0c0 >
<FONT SIZE=4 FACE="Cordia New" COLOR=#000000>
<a href="mailto:<%=Server.HTMLEncode(rstemp.Fields("EMAIL").Value)%>">
<%=Server.HTMLEncode(rstemp.Fields("EMAIL").Value)%>
</a><BR>
</FONT></TD>
</TR>
<%
rstemp.MoveNext
loop
%>
</TBODY>
<TFOOT></TFOOT></TABLE>
|
9.
Clear Database Connection and Result Set Variable
|
<%
rstemp.close
set rstemp=nothing
conntemp.close
set conntemp=nothing
%>
|
10. Footer
|
<table
width="50%" border="0" align="center">
<tr bgcolor="#CEFFCE">
<td>
<div align="center">Lastupdated
on
<!-- #BeginDate
format:Am1 -->November 6, 2000
<!-- #EndDate
-->
by <a href="mailto:fuju@exzilla.net">fuju@exzilla.net</a>
</div>
</td>
</tr>
</table>
|
ตัวอย่าง
Source Code ที่สมบูรณ์ Click
ที่นี่
เมื่อเขียนโปรแกรมเสร็จเรียบร้อยแล้ว
ต่อไปก็ทำการ
Upload File ไปเก็บที่ briskter.com โดยผ่าน File Manager โดยที่ให้
file TABLE1.asp อยู่ที่ Home Directory (ถ้าไม่ได้ใช้ Ftp service
ขอแนะนำว่าอย่าเก็บแยก directory เลยเพราะต้องยุ่งยากในการ Change
Directory เข้าๆ ออกๆ ซึ่งเสียเวลามาก) และให้เก็บ file phone01.mdb
ไว้ภายใต้ sub directory db (ตามข้อกำหนดของ brinkster.com)
ได้เวลาทดสอบ
Program แล้ว อย่างใน Article นี้ คุณสามารถดูตัวอย่าง Output ได้ที่
URL http://www14.Brinkster.com/exzilla/TABLE1.asp
เพิ่มเติมนะค่ะ
1.ท่านสามารถ Download Source
และ Database File ตัวอย่างได้โดย Click
ที่นี่
2.เพื่อความสะดวกในการแก้ไขและตรวจสอบ ควรจะทำการทดสอบ Program ที่เครื่องของท่านกับ
Personal Web Server หรือ Web Server ที่ท่านถนัดก่อน
3.ถ้าท่านมี Free Hosting
ที่ใด ประทับใจท่านอย่างมาก ก็อย่าลืมแนะนำกันด้วยนะค่ะ ขอบคุณค่ะ
4. ถ้าท่านต้องการทดลองนำ
File จาก Article นี้ไป Run ที่ Free hosting ที่ท่าน Register อย่าลืมเปลี่ยน
บรรทัดที่ 22
accessdb="/exzilla/db/phone01.mdb"
ไปเป็นชื่อที่ท่าน Register
อย่างเช่น "/myname/db/phone01.mdb" ก่อนนะค่ะ
ขอบคุณค่ะ
cupid@exzilla.net,
Nov 6,2000
|