• 沒有找到結果。

刊登貨品子系統

在文檔中 二手物品買賣電子商務 (頁 41-0)

第四章 程式設計與實作

4.1 刊登貨品子系統

刊登貨品子系統主要是將刊登貨品作業予以電腦化,以降低 刊登販賣二手物品作業的複雜度,並藉此提高作業的效率。更能 避免人工作業所產生的輸入或管理錯誤,以提高資訊的正確性;

其中在刊登的部分更提供了多樣分類刊登功能,使病患能自行前 往多媒體拍賣鏈結進行刊登及購買的作業,以解決為了要買二手 貨品而要到處東奔西跑的辛勞(例如:買二手電視要去中古家電 行,買中古機車要到機車行…)。

2. 解決問題

(1) 避免人工作業產生輸入或計算錯誤。

(2) 免除紙式紀錄保存問題。

(3) 方便資料調閱。

(4) 避免東奔西跑的辛勞。

3.操作畫面

在首頁的左方點選貨物登記,就可以進入本網頁,如下圖:

貨物登記網頁

接下來請依序輸入要拍賣貨物的資料:

貨物資料網頁

請記得每一項都記得要選取,為了便利別位使用者更加方便於聯 絡您以及了解您的貨物,如果沒有好好選取的話系統可是會出現 警示訊息的:

選取錯誤畫面

theForm.goods.focus();

return (false);

}

if (theForm.goods.value.length > 50) {

alert("\"kind\" 選項中,只能選出一項。");

return (false);

}

if (theForm.name.value == "") {

alert("請在 \"name\" 欄位輸入一數值。");

theForm.name.focus();

return (false);

}

if (theForm.name.value.length > 30) {

alert("在 \"name\" 欄位,最多請輸入 30 的字元。");

theForm.name.focus();

return (false);

}

var radioSelected = false;

for (i = 0; i < theForm.trademode.length; i++)

nbuyorsell = request("buyorsell")

ngoods = request("goods")

ntelephone = request("telephone") nbbcall = request("bbcall")

nicq = request("icq") noicq = request("oicq")

ntrademode = request("trademode") ncontent = request("content")

if ngoods="" or nname="" or nkind="" or nbuyorsell="" then response.write "<p align='center'> 沒有輸入必須項目。</p>"

response.write "<meta http-equiv='refresh' content='1; url=add.asp'>"

else

connstr =

"DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Micros oft Access Driver (*.mdb)};"

Set DataConn = Server.CreateObject("ADODB.Connection") dataconn.open connstr

Set InsertCursor = Server.CreateObject("ADODB.Recordset") Set cmdTemp = Server.CreateObject("ADODB.Command")

cmdTemp.CommandText = " select * from data where (goods IS NULL) "

cmdTemp.CommandType = 1

Set cmdTemp.ActiveConnection = dataconn InsertCursor.Open cmdTemp, , 1, 3

InsertCursor.AddNew

InsertCursor("buyorsell") = nbuyorsell InsertCursor("date") = date()

InsertCursor("time") = time() InsertCursor("goods") = ngoods InsertCursor("kind") = nkind

InsertCursor("price") = nprice InsertCursor("amount") = namount InsertCursor("degree") = ndegree InsertCursor("buydate") = nbuydate InsertCursor("name") = nname InsertCursor("email") = nemail InsertCursor("province") = nprovince InsertCursor("city") = ncity

InsertCursor("telephone") = ntelephone InsertCursor("bbcall") = nbbcall

InsertCursor("icq") = nicq InsertCursor("oicq") = noicq

InsertCursor("trademode") = ntrademode InsertCursor("content") = ncontent

InsertCursor("num") = 0 InsertCursor("deal") = 0 InsertCursor.Update InsertCursor.close dataconn.close

set InsertCursor=nothing set dataconn=nothing

寫入資料庫之後就會顯示刊登貨物成功的畫面:

刊登貨物成功畫面

接下來就會自動導向到同一個販賣分類的物品去了:

貨物分類網頁

刊登成功的同時當然資料庫也會新增一筆資料:

貨物資料庫網頁

而刊登成功之後,在首頁也會出現最新更新物品,最近 20 項最新 刊登的物品都將會顯示在首頁上,首頁上中間的正上方都是:

首頁可以刊登出最新的 20 項物品,其主要的運用程式碼如下:

do while (i<21) response.write "<span style='letter-spacing:1'><img

src='NOTE.GIF'>"+cstr(rs("buyorsell"))+""

response.write "&nbsp;<a

href='item.ASP?id="+cstr(Rs("ID"))+"')>"

response.write Rs("goods")+"</A></font></span><br>"

Rs.movenext i=i+1

loop

4.2 會員管理二手論壇子系統 1.系統目的

登入系統的目的主要是限制使用者的權限,在這個網站中,

論壇可以說是一個網站的精華所在,來自四面八方的意見以及精 華通通都匯集在這邊,論壇之中不希望有無聊份子去裡面打廣告 還有發表一些無聊的文章,因此設立了權限設定,想要進入論壇 必須要登入才可以,此外並可以防止使用者直接記下論壇的網址 直接進入,保有論壇的專業乃是登入系統的目的。

2.解決問題

(1)避免無聊人士來這邊發表無聊文章

(2)避免有心人士直接記下論壇的網址而前往論壇發言或瀏覽

3.操作畫面

從首頁的左方的二手論壇點選即可登入(藍色的那個):

然後進入登入畫面,,不論是使用者或是 Master 都只要在空格之 中填入您的帳號還有密碼再按下登入即可,如下所示:

不過隨著權限的不同,可能會導向到不同的網頁,可以分為一般 使用者還有 Master 的權限,以下是一般使用者的畫面:

以下是 Master 的畫面:

我們運用以下的程式碼來區分您為一般使用者或是 Master:

<%

Id = Trim (Request("Id"))

Password = Trim (Request("Password")) If (Id="" Or Password="") then

Set objRS = GetSQLRecordset(strSQL, "data.mdb", "Users") If objRS.EOF Then

Response.Cookies("Id") = Id

Response.Cookies("Password") = Password Response.Cookies("Passed") = "Passed"

If Request.Cookies("Id")="master" Then

If Request.Cookies("Password")="master" Then Response.Redirect "master.asp"

Response.End End If

End If

Response.Redirect "main.asp"

%>

登入成功之後的畫面如下,我們以 Master 的畫面來做分析,首先 先說明只有 Master 才能使用的功能,請點選下圖中的"站長專用 區":

進入站長專用區之後,我們將會導向到以下的畫面,在這個畫面 我們可以刪除拍賣的資料記錄,站台上每個人都可以新增物品,

但是刪除這個權限唯有站長才有:

此時進入這個畫面我們可以瀏覽所有刊登物品的資料,當然也可 以瀏覽該物品的物主的相關資料如 email,聯絡方式等等,在這個 畫面我們可以直接寄信給使用者詢問他這篇買賣的目的,若是決 定了要刪除哪一項物品只要點選該物品的 id 即可,說穿了只是加 個權限到刪除資料庫這個動作而已,但是對於一般使用者而言,

也許還是做成以下的人機介面會比較好,以下是點選刪除某個 id 之後的畫面:

當出現這個網頁的時候,就表示該筆資料已經刪除了,而我們刪 除這筆資料的運用的程式碼如下:

<%

connstr =

"DBQ="+server.mappath("data.mdb")+";DefaultDir=;DRIVER={Micros oft Access Driver (*.mdb)};"

Set DataConn = Server.CreateObject("ADODB.Connection") dataconn.open connstr

Set rs = dataconn.execute("delete * from data WHERE id="

+Cstr(request("id"))) dataconn.close

%>

我們接下來解說修改會員資料部分,請點選下方的〈修改會員資 料〉:

然後我們會進入以下的畫面,可以實際的來修改會員的資料:

我們運用以下的程式碼來做修改會員資料的執行:

<!-- #include file="ADOFunctions.asp" -->

<%

If Not Request.Cookies("Passed")="Passed" Then Response.Redirect "index.htm"

Response.End End If

Id = Request.Cookies("Id") Dim strSQL, objRS

strSQL = "Select * From Users Where Id='" & Id & "'"

Set objRS = GetSQLRecordset(strSQL, "data.mdb", "Users")

%>

<P ALIGN="CENTER"><IMG SRC="Modify.jpg"></P>

<FORM METHOD="POST" ACTION="Revise.asp" >

<TABLE BORDER="2" ALIGN="CENTER"

<TD><% =objRS("Id") %></TD>

VALUE="<% = objRS("Password") %>">

(請使用英文或數字鍵,勿使用特殊字元)

SIZE="15" VALUE="<% = objRS("Password") %>">

(再輸入一次密碼,並記下您的使用者名稱與密碼) </TD>

</TR>

<TR BGCOLOR="#99FF99">

<TD ALIGN="RIGHT">*姓名:</TD>

<TD><INPUT TYPE="TEXT" NAME="Name" SIZE="8"

VALUE="<% = objRS("Name") %>"></TD>

</TR>

VALUE="<% = objRS("Year") %>">年

<INPUT TYPE="TEXT" NAME="Month" SIZE="2"

VALUE="<% = objRS("Month") %>">月

<INPUT TYPE="TEXT" NAME="Day" SIZE="2"

VALUE="<% = objRS("Day") %>">日 </TD>

VALUE="<% = objRS("TelPhone") %>">

(依照 (02) 2311-3836 格式 or (04) 657-4587)

VALUE="<% = objRS("CellPhone") %>">

(依照 (0922) 302-228 格式)

</TD>

</TR>

<TR BGCOLOR="#99FF99">

<TD ALIGN="RIGHT">地址:</TD>

<TD><INPUT TYPE="TEXT" NAME="Address"

SIZE="45" VALUE="<% = objRS("Address") %>"></TD>

</TR>

<TR BGCOLOR="#99FF99">

<TD ALIGN="RIGHT">E-mail 帳號:</TD>

<TD><INPUT TYPE="TEXT" NAME="Email" SIZE="30"

VALUE="<% = objRS("Email") %>"></TD>

</TR>

<TR BGCOLOR="#99FF99">

<TD ALIGN="RIGHT">個人網站:</TD>

<TD><INPUT TYPE="TEXT" NAME="Url" SIZE="40"

VALUE="<% = objRS("Url") %>"></TD>

</TR>

<TR BGCOLOR="#99FF99">

<TD ALIGN="RIGHT">備註:</TD>

<TD><TEXTAREA NAME="Comment" ROWS="4"

COLS="45"><% = objRS("Comment") %></TEXTAREA></TD>

</TR>

</HTML>

以下為修改會員資料成功的畫面,並且我們此時點選下圖中的

〈回到會員區〉:

我們點選以下的進入二手論壇即可進入二手論壇,只有能夠登入 的人能進入論壇而已,我們將把論壇的設計與實作於下一個章節 中討論。

然後我們回到登入的那個畫面去做〈加入會員〉的功能:

點選加入會員之後就會進入以下的畫面,請注意以下的畫面和修 改會員資料那個圖雖然很類似但是其實有些關鍵性的不同,就是 此時我們可以取一個自己喜歡的帳號名稱,在修改會員資料的時 候是不允許這麼做的,如下:

我們運用以下程式碼來作存取加入會員資料的動作,並且我們在 加入會員的程式碼的部分另外加上了偵錯的功能,像是使用者帳 號和密碼一定要寫,不然以後怎麼登入,使用者帳號不要太長,

因為資料庫中使用者帳號的長度最多是十個字元,密碼的確認也 是一定要的,不然打錯了密碼還不曉得,下次要登入的時候麻煩 可就大了,還有像是姓名、出生年月日也都不可為空,並且還會 偵測每個月的日期,像是大月有 31 天,小月 30 天,還有全年只 有 12 個月,不會出現地 13、14 個月的偵測:

<HTML>

<HEAD>

<TITLE>加入會員</TITLE>

<META HTTP-EQUIV="CONTENT-TYPE"

CONTENT="TEXT/HTML; CHARSET=BIG5">

</HEAD>

<SCRIPT LANGUAGE="VBSCRIPT">

<!--

If Len(Attend.Password.Value) > 10 Then

Window.Alert "您忘了填「出生年」欄位了..."

Exit sub End If

If Cint(Attend.Day.Value) = 29 Then

Answer = MsgBox ("二月通常只有 28 天,您真的是 "

& Attend.Day.Value & " 日生的嗎?", 52) If Answer = 7 Then Exit sub

Window.Alert "1 月、3 月、5 月、7 月、8 月、10 月、

<P ALIGN="CENTER"><font size="7">加入會員</font></P>

<FORM NAME="Attend" METHOD="POST"

ACTION="Addmember.asp" >

<TABLE BORDER="2" ALIGN="CENTER"

BORDERCOLOR="#6666FF">

<TD ALIGN="RIGHT">*密碼確認:</TD>

<TD ALIGN="RIGHT">*生日:</TD>

<TD ALIGN="RIGHT">地址:</TD>

<TR BGCOLOR="#99FF99">

<TD ALIGN="CENTER" COLSPAN="2">

<INPUT TYPE="BUTTON" VALUE="加入會員"

ONCLICK="Checkdata">

<INPUT TYPE="RESET" VALUE="重新填寫">

</TD>

</TR>

</TABLE>

</FORM>

</BODY>

</HTML>

當一切的輸入符合程式需求的時候,使用者將被允許加入會員,

而資料庫也會加入一筆新的資料,如下:

另外建有查詢密碼的功能,若是忘記密碼的話,系統可以提醒你

密碼,請在登入的首頁點選〈查詢密碼〉,如下圖:

之後我們將會進入查詢密碼的網頁,請在姓名以及 email 欄位填 入當初註冊時所使用的資料,並且選擇系統告知您密碼的途徑,

是網頁顯示或是 email 通知,選好了之後按下〈傳送〉的按鍵,

如下:

經由以下的程式碼檢測,我們將來檢查這位使用者的姓名還有信 箱是否正確:

<%

Name = Trim (Request("Name")) Email = Trim (Request("Email"))

ShowMethod = Request("ShowMethod")

Dim strSQL, objRS

strSQL = "Select * From Users Where Name='" & Name & "'"

strSQL = strSQL & " And Email = '" & Email & "'"

Set objRS = GetSQLRecordset(strSQL, "data.mdb", "Users")

If objRS.EOF Then

objMail.Send

Response.Write "您的帳號及密碼已經寄到 " &

objRS("Email") & " 信箱了。"

Response.Write "<CENTER><A HREF='Index.htm'>登入本站

</A></CENTER>"

End If End If

%>

經過程式碼的檢驗之後,我們得到以下的結果:

4.3 二手論壇子系統

2.解決問題

(1) 提升整理資料時的方便性以及效率 (2)免除紙式保存的問題

(3)免去會合大眾集合的程序即可討論 (4)方便資料調閱

3.操作畫面

在上一個章節我們所提及的,請在以下的畫面點選〈進入二 手論壇〉,就可以進入了!(當然要先登入囉):

點選了之後我們就會進入以下的畫面:

接下來我們輸入適當的內容在〈作者〉〈主題〉〈內容〉之中,填 好了之後我們按下〈張貼留言〉如下:

接著我們運用以下程式碼來做這些留言的處理,此時資料庫也將 會新增一筆資料,另外,以下程式碼比較值得注意的就是開頭 的地方有加入防止不當的使用者借由直接記下網址的方式來 進入二手論壇,如下:

<%

If Not Request.Cookies("Passed")="Passed" Then Response.Redirect "index.htm"

Response.End

Response.End

在文檔中 二手物品買賣電子商務 (頁 41-0)

相關文件