第一篇:我的ASP經(jīng)驗(yàn)之路(七)--ASP最簡(jiǎn)單的新聞發(fā)布系統(tǒng)
我的ASP經(jīng)驗(yàn)之路(7)—ASP最簡(jiǎn)單的新聞發(fā)布系統(tǒng)
新聞發(fā)布系統(tǒng),顧名思義就是后臺(tái)發(fā)布新聞內(nèi)容,前臺(tái)讀取新聞信息。為了讓初學(xué)者更清楚的了解整個(gè)過(guò)程,這里把所有操作過(guò)程的文件分開(kāi)來(lái),分為以下幾個(gè)頁(yè)面:提交新聞表單頁(yè)、保存新聞數(shù)據(jù)、讀取數(shù)據(jù)、編輯數(shù)據(jù)、刪除數(shù)據(jù)操作,數(shù)據(jù)庫(kù)連接文件一共五個(gè)頁(yè)面。
1、添加數(shù)據(jù)頁(yè) add.htm
這里制作一個(gè)簡(jiǎn)單的提交數(shù)據(jù)表單頁(yè),分別為:新聞標(biāo)題、新聞內(nèi)容、發(fā)布人三個(gè)表單。在form的action里保存到savedata.asp文件里。
2、保存數(shù)據(jù)頁(yè) savedata.asp
使用以前講過(guò)的request.form屬性來(lái)獲取值,寫入數(shù)據(jù)庫(kù)。整頁(yè)代碼如下:
<%
'取得表單數(shù)據(jù)
title=request.form(“title”)
content=request.form(“content”)
content=replace(replace(content,chr(13),“
”),chr(32),“ ”)'把輸入框中的回車換成html代碼的回車
,把空格換成
editor=request.form(“editor”)
set rs=server.CreateObject(“adodb.recordset”)'創(chuàng)建rs記錄集
sql=“select * from [news]” '讀取數(shù)據(jù)庫(kù)的SQL語(yǔ)句串
rs.open sql,conn,3,3 '打開(kāi)記錄集,當(dāng)需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作時(shí),用3,3,如果只需要讀取數(shù)據(jù)庫(kù),用1,1 這個(gè)以后會(huì)解釋。
rs.addnew '添加新記錄 rs(“title”)=title
rs(“content”)=content
rs(“editor”)=editor
rs.update '更新數(shù)據(jù)庫(kù)
rs.close '關(guān)閉記錄集
set rs=nothing '清空記錄集
response.redirect(“index.asp”)'提交成功后,轉(zhuǎn)向到index.asp文件,讀取數(shù)據(jù)庫(kù)內(nèi)容
%>
3、讀取數(shù)據(jù)頁(yè)面 index.asp
建立記錄集,循環(huán)讀取數(shù)據(jù)庫(kù)表里的內(nèi)容,部分代碼如下:
<%
set rs=server.CreateObject(“adodb.recordset”)'創(chuàng)建rs記錄集
sql=“select * from [news]” '讀取數(shù)據(jù)庫(kù)的SQL語(yǔ)句串
rs.open sql,conn,1,1 '打開(kāi)記錄集
%>
<%do while not rs.eof
'rs.eof意思是最后一條記錄,rs.bof的意思是第一條記錄,所以這句話的意思是:當(dāng)不是最后一條
記錄時(shí),輸出下面的代碼%>
<%rs.movenext '移到下一條記錄
loop%>
這里有個(gè)“編輯”與“刪除”鏈接,都必須跟一個(gè)id唯一標(biāo)識(shí)過(guò)去,這樣才知道你需要編輯或刪除的新聞是哪一條。
4、編輯新聞頁(yè)面 edit.asp 根據(jù)提交過(guò)來(lái)的id值得知需要編輯的新聞,先把該新聞數(shù)據(jù)讀取出來(lái),<%
id=request.querystring(“id”)
set rs=server.CreateObject(“adodb.recordset”)'創(chuàng)建rs記錄集
sql=“select * from [news] where id=”&id&“" '讀取數(shù)據(jù)庫(kù)的SQL語(yǔ)句串
rs.open sql,conn,1,1 '打開(kāi)記錄集
%>
更改內(nèi)容后,提交到保存數(shù)據(jù)頁(yè)面editsave.asp5、保存編輯新聞頁(yè)面
<%
'取得表單數(shù)據(jù)
id=request.querystring(”id“)
title=request.form(”title“)
content=request.form(”content“)
content=replace(replace(content,chr(13),”
“),chr(32),” “)'把輸入框中的回車換成html代碼的回車
,把空格換成
editor=request.form(”editor“)
set rs=server.CreateObject(”adodb.recordset“)'創(chuàng)建rs記錄集
sql=”select * from [news] where id=“&id&”“ '讀取數(shù)據(jù)庫(kù)的SQL語(yǔ)句串
rs.open sql,conn,3,3 '打開(kāi)記錄集,當(dāng)需要對(duì)數(shù)據(jù)庫(kù)進(jìn)行更新操作時(shí),用3,3,如果只需要讀取數(shù)據(jù)庫(kù),用1,1 這個(gè)以后會(huì)解釋。
rs(”title“)=title
rs(”content“)=content
rs(”editor“)=editor
rs(”addtime“)=now()'新聞發(fā)布時(shí)間更改為當(dāng)前服務(wù)器時(shí)間
rs.update '更新數(shù)據(jù)庫(kù)
rs.close '關(guān)閉記錄集
set rs=nothing '清空記錄集
response.redirect(”index.asp“)'提交成功后,轉(zhuǎn)向到index.asp文件,讀取數(shù)據(jù)庫(kù)內(nèi)容 %>
6、刪除新聞頁(yè)面 delete.asp 根據(jù)提交過(guò)來(lái)的id知道需要?jiǎng)h除的新聞,執(zhí)行刪除操作:
<%
'取得表單數(shù)據(jù) id=request.querystring(”id“)
conn.execute(”delete from [news] where id=“&id&”“)
response.redirect(”index.asp")'提交成功后,轉(zhuǎn)向到index.asp文件,讀取數(shù)據(jù)庫(kù)內(nèi)容 %>
這樣整個(gè)新聞發(fā)布系統(tǒng)就算完成了,所有代碼可以查看壓縮包,里面包含了數(shù)據(jù)庫(kù)。
本文原創(chuàng):義烏網(wǎng)站建設(shè) http://寫于2012-04-07
第二篇:我的ASP經(jīng)驗(yàn)之路(八)-ASP里的cookies與session是什么意思?如何使用?
我的ASP經(jīng)驗(yàn)之路(8)—ASP里的cookies與session是什么意思?
在ASP開(kāi)發(fā)的網(wǎng)站里,經(jīng)常有看到會(huì)員登錄,后臺(tái)管理員登錄等功能,這些基本上都是基于cookies或session來(lái)開(kāi)發(fā)的,本文主要講解asp里cookies怎么使用,session有什么用處等。
這里我不想用很官方,很理論的方式來(lái)講,我通俗一點(diǎn)說(shuō),讓初學(xué)者更容易接受一些。
1、cookies是什么?
一組保存在客戶端硬盤上的資料,如果我們?cè)谑褂媚承┚W(wǎng)站登錄的時(shí)候,經(jīng)常有選擇“保存一年,保存一月”等選項(xiàng),那么選擇后,在一年或一個(gè)月里,只要你不去主動(dòng)清空你電腦里的cookies,那么就可以長(zhǎng)期保存一種登錄狀態(tài),當(dāng)然這種狀態(tài)在公共場(chǎng)合慎用。
2、cookies在asp怎么用?
那么asp怎么樣可以把用戶的資料使用cookies保留在客戶的電腦上呢?打個(gè)比方:
<%response.cookies(“15ask”)=”username”%> 這句就是把用戶名為username的值保留到變量為15ask的cookies里。需要使用的時(shí)候,可以使用<%=request.cookies(“15ask”)%>讀取出來(lái)。Response.cookies里最常用的屬性是expire,如:
<%response.cookies(“15ask”).expire=date+30%>,這樣變量名為15ask的cookies將在客戶電腦上保留30天(用戶不去清除cookies),也可以設(shè)置過(guò)期的具體時(shí)間,如:
<% response.cookies(“15ask”).expire=”4/30/2012”%>
3、session是什么?在asp里如何使用?
Session指的是訪問(wèn)者從到達(dá)某個(gè)頁(yè)面到離開(kāi)為止的那段時(shí)間。每一訪問(wèn)者都會(huì)單獨(dú)獲得一個(gè)Session,在Web應(yīng)用程序中,當(dāng)一個(gè)用戶訪問(wèn)該應(yīng)用時(shí),Session類型的變量可以供這個(gè)用戶在該Web應(yīng)用的所有頁(yè)面中共享數(shù)據(jù)。session變量值是保存在服務(wù)器上的,與客戶電腦無(wú)關(guān)。讀寫都很方便。如:<%session(“15ask”)=”yes”%>這樣就是賦值了,讀取也很簡(jiǎn)單<%=session(“15ask”)%>,這樣就讀取出來(lái)了,值為”yes”。
Session也有屬性,如session.timeout=60 意思是,如果客戶沒(méi)有刷新那個(gè)頁(yè)面或者沒(méi)有瀏覽該網(wǎng)站的其他頁(yè)面,那么60分鐘后,session就會(huì)過(guò)期,如果沒(méi)有設(shè)置過(guò)期時(shí)間,系統(tǒng)默認(rèn)session的過(guò)期時(shí)間是20分鐘。
這篇我們了解了cookies與session的用法,下一篇就可以說(shuō)一下asp如何使用cookies或 session來(lái)做用戶登錄功能。
本文原創(chuàng):義烏網(wǎng)站制作 http:// 寫于2012-04-13