【正文】
ata Source=amp。 (amp。scadbamp。) conndata數據庫的鏈接在整個網頁中有多處地方用到,直接是代碼的是在inc/ user/,其他的頁面則是通過include file=../../inc/。 分頁技術系統在運用過程中,必然會隨著時間的累積而產生大量的記錄,為了確保頁面整潔、美觀,就必須要控制每個頁面顯示的記錄數。以管理員查看的會員記錄分頁顯示為例。set rs=() sql,conn,1,1 if and then trtd align=center暫無內容/td/trelse listnum=15 39。每一頁顯示15條記錄=listnumpage=Request(page)if () 0 then 39。 pagecount為總頁數page=elseif page = or page 1 thenpage = 1end if=page 39。定位到第page頁的第一條記錄j=j=j(page1)*listnumi=0nn=request(page)if nn= thenn=0elsenn=nn1n=listnum*nn 39。n為編號end if%%do while not and ilistnumn=n+1%% i=i+1 j=j1loop%分頁技術在很多頁面中都有涉及到,、admin/yp/、user/、user/。 用戶管理子系統的實現 用戶注冊功能實現:form name=addform method=post action= onSubmit=return checkdata():set rs=()sql=select * from SMT_yp sql,conn,1,3rs(SMT_user)=userrs(SMT_pass)=md5(pass)set rs=nothing%代碼主要的作用是將用戶輸入的信息加入數據庫中,,將數據加入數據庫中。 圖22 用戶注冊 用戶登錄功能實現1).用戶登錄信息的提交檢查(user/): set rs=() sql=select * from SMT_yp where SMT_pass=39。amp。passwordamp。39。 and SMT_user=39。amp。nickamp。39。 sql,conn,1,1 if not( and ) then if rs(SMT_key1)=0 then scriptalert(39。用戶登錄出錯,下面是產生錯誤的可能原因:\n\n您注冊的企業(yè)已被管理員關閉,如有問題請及時和我們聯系39。)。(39。../39。,39。_self39。)。/Script else (update SMT_yp set SMT_loginhtc=SMT_loginhtc+1 where SMT_id=amp。rs(SMT_id)) (update SMT_yp set SMT_lastdate=amp。SMT_citytimeamp。 where SMT_id=amp。rs(SMT_id)) session(useradmin)=rs(SMT_user) session(id)=rs(SMT_id) session(coname)= if request(ction)index then script(39。amp。application(cityurl)amp。user/39。,39。_parent39。)/script else ../ end if end if else scriptalert(39。用戶登錄出錯,下面是產生錯誤的可能原因:\n\n用戶名或密碼錯誤,請重新輸入39。)。(1)。/Script end if set rs=nothing set conn=nothingSession對象用于存儲特定的用戶會話所需的信息。Session的作用時間從用戶到達某個特定的web頁開始,到該用戶離開web站點,或在程序中利用代碼終止某個session對象。Session是asp中的重要對象,可以使用 Session 對象存儲特定用戶會話所需的信息。這樣,當用戶在應用程序的 Web 頁之間跳轉時,存儲在 Session對象中的變量將不會丟失,而是在整個用戶會話中一直存在下去。Session常見的一個用法就是儲存用戶信息,當用戶登錄以后,無論用戶點擊進入網站的哪個界面,網站都能記住用戶的信息。這里就以用戶登錄為例。在這個例子中運用到session技術來記載每一個用戶登錄時的用戶名、用戶id、個人主頁。(2)驗證碼的隨機產生():%randomize timerregjm=left(int(rnd*9998)+1000,4)if len(regjm)4 then regjm=len(regjmamp。9999,4)%rnd用于產生一個介于0到1的隨機數,后面的語句用于驗證產生的隨機數是否為四位。 圖23 用戶登錄 個人信息管理功能實現user/,將修改好的信息,提交到數據庫中:set rs=()sql=select * from SMT_yp where SMT_id=amp。session(id) sql,conn,1,3rs(SMT_colxr)=colxrrs(SMT_colxrsex)=colxrsexrs(SMT_cotelq)=cotelqrs(SMT_cotel)=cotelrs(SMT_cofaxq)=cofaxqrs(SMT_cofax)=cofaxrs(SMT_mail)=mailrs(SMT_coyb)=coybrs(SMT_coaddress)=coaddressrs(SMT_colxother)=colxotherrs(SMT_key)=cityypkeyrs(SMT_Oicq)=Oicq個人信息管理功能的實現主要涉及到的關鍵技術就是如何將修改的數據更新到數據庫。由于用戶登錄后,系統通過session將用戶的信息記住,首先根據session中的用戶id號,定位到數據庫中該用戶的信息,然后再將已經修改過的信息加到該用戶下,數據庫更新。 圖24 個人信息管理 用戶信息管理功能實現set rs=()sql=select * from SMT_yp where SMT_id=amp。request(id) sql,conn,1,3rs(SMT_key)=keyrs(SMT_vip)=viprs(SMT_ksdate)=ksdaters(SMT_ktdate)=ktdate用戶信息管理功能是實現管理員對平臺會員的審核、刪除,關鍵是如何將管理員得操作成果保存到數據庫中,admin/yp/,將操作結果保存到數據庫中。 圖25 用戶信息管理 發(fā)布任務功能實現用戶在登錄系統的前提下,進入發(fā)布任務頁面,填寫好任務的相關信息后,點擊提交按鈕,將任務信息提交到數據庫中。user/。 if scatitle= thenerrstyle=請輸入完整的任務標題!scripterrend ifif sca= or len(sca)20 thenerrstyle=請輸入不少于20個字符的任務內容!scripterrend ifif ypxxone_id and ypxxtwo_id= thenerrstyle=如果您選擇了行業(yè)大類,那么其小類必須選擇!scripterrend ifif addone_id and addtwo_id= thenerrstyle=如果您選擇了省,那么其地區(qū)必須選擇!scripterrend ifset rs=()sql=select * from SMT_sca where SMT_yp_id=amp。 session(id) sql,conn,1,3rs(SMT_scatitle)=scatitlers(SMT_sca)=scars(SMT_key)=keyrs(SMT_key1)=key1rs(SMT_yp_id)=yp_idrs(SMT_scasort)=scasortrs(SMT_begindate)=begindaters(SMT_lastdate)=lastdaters(SMT_ypxxone_id)=ypxxone_idrs(SMT_ypxxtwo_id)=ypxxtwo_idrs(SMT_addone_id)=addone_idrs(SMT_addtwo_id)=addtwo_idrs(SMT_qian)=(qian)rs(SMT_zbms)=(zbms) 圖26 發(fā)布任務 競標任務功能實現競標任務過程中主要的步驟就是參與任務的競標,用戶登錄平臺,瀏覽任務后,將確定一個任務競標,這個時候,如何參與任務的競標就是關鍵。set rs=()sql=select * from SMT_collection where SMT_yp_id=amp。 session(id) sql,conn,1,3if userflag220 thenif = cint(userflag22) thenerrstyle=您是amp。SMT_user_flagdjamp。,只能上傳最多 amp。userflag22amp。 個收藏地址!scripterrend ifelseerrstyle=對不起,此功能已對amp。vipshowamp。關閉!scripterrend ifrs(SMT_sortid)=SMT_sortidrs(SMT_name)=SMT_namers(SMT_collection)=SMT_collectionrs(SMT_yp_id)=session(id)set rs=nothing scriptalert(39。操作成功,謝謝您的參與!39。)。()。/Script end if如何參加任務的關鍵是如何將這個競標者加入到該競標任務的信息下,涉及到的技術還是將信息加入數據庫,由于上面的個人信息管理中已經解釋過,所以此處省略。 圖27 競標任務 上傳作品功能的實現將作品上傳到平臺上的關鍵步驟就是將作品加入數據庫,user/。set rs=()sql=select * from SMT_cp where SMT_yp_id=amp。 session(id) sql,conn,1,3rs(SMT_pic)=picrs(SMT_cpname)=cpnamers(SMT_sortid)=cint(sortid)rs(SMT_cpjg)=cpjgrs(SMT_cpjgdw)=jgdwrs(SMT_cpjl)=cpjlrs(SMT_cpbh)=cpbhrs(SMT_cpcd)=cpcdrs(SMT_cpgg)=cpggrs(SMT_ypxxtwo_id)=ypxxtwo_idrs(SMT_ypxxone_id)=ypxxone_idrs(SMT_cpjm)=cpjmrs(SMT_cpsm)=cpsmrs(SMT_key1)=application(citycpkey)rs(SMT_yp_id)=session(id) 圖28 上傳作品管理作品及任務其實是兩個過程,但由于過程相似,就以管理作品為例,具體說明。admin/cp/、推薦等操作。這里的key1,key2,key3別表示的是否審核,是否總后臺控制,是否為推薦作品。key1=request(key1)if key1= then key1=0key2=request(key2)if key2= then key2=1key3=request(key3)if key3= then key3=0set rs=()sql=select * from SMT_cp where SMT_id=amp。request(id) sql,conn,1,3rs(SMT_key1)=key1rs(SMT_key2)=key2rs(SMT_key3)=key3set rs=nothingscript=39。0,10,*39。/scriptscript()。/scriptend if 圖29 管理作品及任務52