首先給大家看看這個新聞界面:
後台管理頁面:
為了方便在這裡給大家直觀目錄:
具有的功能為:
1.帶後台管理員功能;
2.每條新聞具有發布時間和浏覽次數;
3.能輸入HTML代碼,解決英文自動換行功能;
4.後台具有刪除,編輯功能;
5.盡量精簡代碼,書寫規范簡單明了;
不足的地方:
1.由於時間關系和對初學者的考慮我沒有做分頁功能,如果大家想學習,我會在下次教程寫出來!
2.沒有寫出首頁調用代碼,也是為初學者考慮
3.對後台添加新聞表單沒有驗證
開發工具:
DreamweaverMX和Access2000
好了,大家准備好了吧,我相信如果大家仔細看教程大約5小時就可以明白整個開發原理,很簡單的:
先給大家說說開發步驟(或許不太規范,是按照本人習慣)
1.規劃定義站點,建立各個功能模塊文件。
好了,咱們開始吧,一個好的站點,應該先規劃好站點文件的存放!
好了先看看文件目錄:
下面解釋一下:
目錄:admin(用於存放後台管理程序文件)
文件:
xh_add.asp (後台管理頁面)
xh_edit.asp (後台編輯頁面)
xh_del.asp (後台刪除頁面)
xh_login.asp (後台管理登陸頁面)
xh_cklogin.asp (後台管理驗證頁面)
xh_loginout.asp (後台管理退出頁面)
xh_write.asp (新聞添加頁面)
xh_save.asp (添加新聞驗證頁面)
xh_conn.asp (數據庫連接文件)
目錄:date (存放數據庫文件)
目錄:images (存放圖片)
主目錄下文件:
index.asp (新聞首頁面)
conn.asp (數據庫連接文件)
xh_look.asp (新聞查看頁面)
xh_wei.asp (include連接結尾頁面)
好了具體的規劃就是這些,大家應該能明白一個步驟了吧!
也是一個思考過程,建站--建立各功能目錄--建立數據庫--建立後台文件--建立顯示記錄頁面---完善程序例如編輯刪除功能
2.用Access寫數據庫xhnew.mdb
這次咱們就來做這個新聞系統的數據庫,放心很簡單,幾分鐘就可以搞定!
首先開發ACCESS,設計表,如下圖:
在這裡,我詳細介紹一下各個數據類型的功能
name用來存放新聞發布者的姓名(文本)
content 用來存放新聞內容(切記設置為備注,因為儲存量多)
title 新聞標題(文本)
xhcount 存放每條記錄點擊數(數字型)
xhtime 每條新聞發布時間(時間類型)
在此在說明一下conn.asp文件,就是數據庫連接文件
大家能看明白嘛?第一句聲明DB為數據名。
然後打開ADO,這個是規范寫法,對於數據庫移動位置可以在server.mappath改。
3.寫後台管理登陸頁面xh_login.asp和xh_cklogin.asp還有退出管理頁面xh_loginout.asp
這次,准備講解這個後台登陸的幾個頁面!
xh_login.asp這個頁面主要一個表單遞交頁面,遞交到xh_cklogin.asp
xh_cklogin.asp是個驗證表單密碼的頁面。
好了,咱們來分析這段代碼。
name=trim(request.Form("username"))
pass=trim(request.form("password"))
主要是從login.asp提取2個表單的值
if name="" or pass="" then
response.write ""
end if
主要就是驗證輸入的用戶名和密碼是否是空值,這個參數是從登陸框傳遞過來的!記得我們給xh_login.asp的各個控件賦予了名稱
if name="adminxh" and pass="adminxh" then
session("xianhe")="yes"
response.redirect "xh_add.asp"
else
response.write ""
end if
主要就是驗證密碼是否正確了,如果正確進入下個頁面,不正確返回登陸頁面!在這裡主要要提的是,這麼一句代碼。
session("xianhe")="yes"
xh_loginout.asp是個退出管理的跳轉頁面,只有2行代碼
第一行是消除會話的值
第二行是跳轉頁面代碼
4.寫後台添加新聞頁面xh_write.asp和xh_save.asp
這次我們來講解新聞添加頁面xh_write和保存新聞頁面xh_save
首先我們來看看xh_write頁面。
從上圖我想大家應該可以看明白,就是給表單各個控件起名字,這樣可以方便傳遞值!
這個表單遞交的頁面是xh_save.asp
咱們著重的講一下的是xh_save.asp,來吧看看下圖的代碼。
代碼是調用數據庫連接文件,不連接可就over了
<%
dim xianhe
xianhe=session("xianhe")
if xianhe="" then
response.redirect "xh_login.asp"
end if
%>
在這裡大家還記得,在登陸後台的時候我傳遞給session("yes")這個會話一個值嘛?
它就是此時有用了,因為如果你登陸不成功,會話就是空值,添加頁面就不會被直接URL進去,想必大家可以聽明白我的講解吧!
好了講解下面的代碼,看上圖:
這段代碼主要就是聲明一個記錄集,然後起名RS,用記錄集來添加新聞!
set rs=server.createobject("adodb.recordset")
sql="select * from erennew"
rs.open sql,db,1,3
SQL語句對這個數據庫的erennew表,然後rs.open sql,db,1,3是用賦值的參數來打開記錄集,附帶的1,3簡單的來說就是可以讓記錄集添加數據
rs.addnew
rs("title")=trim(request.form("title"))
rs("name")=trim(request.form("name"))
rs("content")=server.htmlencode(request.form("content"))
rs("xhcount")=0
rs("xhtime")=now()
rs.update
這段就是添加記錄的代碼
rs.addnew添加
rs.update更新
其中的數據,大家可以明白就是通過遞交表單的參數傳遞給了數據庫!
rs.close
set rs=nothing
response.redirect "xh_add.asp"
關閉記錄集,然後跳轉頁面。
5.寫後台顯示頁面,功能帶有編輯和刪除xh_add.asp
好了,這節可以講解xh_add.asp就是登陸後台的主頁面
下圖是後台效果。
然後咱們來看看代碼。
這段代碼看著是不是很熟悉啊,對了,在上節課我已經詳細講解了這個會話的功能了!
大家看看這個代碼,就是用SQL搜索了,erennew所有的記錄,然後用execute執行了這個SQL,關於輸入各個數據,由於我沒有界圖,所以就用代碼說明了啊!
<%do while not rs.eof%>
<%=rs("id")%>
target="_blank"><%=rs("title")%>
<%=rs("xhtime")%>
<%
rs.movenext
loop
%>
大家看這段代碼,難點就是編輯和刪除的連接為:
xh_edit.asp?id=<%=rs("id")%>"就拿這個講解吧!
意思就是傳遞到edit.asp這個頁面一個參數,這個在edit.asp頁面用querystring來探測這個參數,為什麼這麼說呢,主要就是為了分別到底是那個那個新聞需要被編輯或者刪除,畢竟ID是唯一的!
6.寫後台編輯新聞頁面xh_edit.asp和刪除新聞頁面xh_dll.asp
這節課主要講新聞的2個重要部分也是難點部分,刪除和編輯。
首先是xh_del.asp
大家仔細看看主要部分就是:
id=request.querystring("id")
delsql="delete * from erennew where id="&id
db.execute(delsql)
這段代碼,主要是什麼呢?
ID的賦值,是從XH_ADD.ASP頁面傳遞過來的參數,然後賦值給變量ID上,大家明白了嘛?
然後在根據這個傳遞來查詢要刪除的記錄!
然後執行這個DELSQL語句!
編輯部分原理上和刪除是相同的。
上圖就是代碼部分:
if request.form("active")="" then
else
rs("title")=trim(request.form("title"))
rs("content")=server.htmlencode(request.form("content"))
rs("name")=trim(request.form("name"))
rs.update
response.redirect "xh_add.asp"
end if
注意這部分中的這個
if request.form("active")="" then
這個是在表單部分我賦值了一個隱藏域名為active值為yes,這個有點優點就是打開這個頁面不直接傳遞遞交,要點擊提交才能賦值,遞交後執行。
rs("title")=trim(request.form("title"))
rs("content")=server.htmlencode(request.form("content"))
rs("name")=trim(request.form("name"))
rs.update
response.redirect "xh_add.asp"
最後一句是刷新頁面到管理頁面!
然後跟著參數rs.update直接刷新數據庫,好了,大家該明白了吧!
7.完成前台新聞頁面index.asp和查看新聞頁面xh_look.asp
好了這是最後一節來個簡單的結尾。
這個在上節課已經講解這個代碼了,就是倒敘排列表中的記錄!
在這個代碼中,我列出來
<%do while not rs.eof%>
width="12" height="14"> target_
="_blank"><%=rs("title")%> (<%=rs_
("xhtime")%>發表)
浏覽過<%=rs("xhcount")%>次
<%
rs.movenext
loop
%>
這個do while not rs.eof 主要就是循環,然後和loop之間的代碼就是反復輸出記錄!
not rs.eof判斷記錄有沒有到結尾,如果沒有繼續輸入!
好了,下面是新聞頁面xh_look.asp
這句主要是判斷傳遞過來的參數是否為空,如果不是就賦值給參數,如果是空就賦值1。
自寫一個參數,主要用來替換換行代碼!
sql="select * from erennew where id="&id
rs.open sql,db,1,3
rs("xhcount")=rs("xhcount")+1
rs.update
上面代碼大家可以看明白嘛?和以前差不多,就是累加浏覽數,搜索到ID值,然後更新數據庫中的xhount的數值,大家明白了吧~!
如果在程序中,看到有錯誤的地方,請到我站點提出(替換www.rushanren.com),我將馬上修改!
首先給大家看看這個新聞界面:
後台管理頁面:
為了方便在這裡給大家直觀目錄:
具有的功能為:
1.帶後台管理員功能;
2.每條新聞具有發布時間和浏覽次數;
3.能輸入HTML代碼,解決英文自動換行功能;
4.後台具有刪除,編輯功能;
5.盡量精簡代碼,書寫規范簡單明了;
不足的地方:
1.由於時間關系和對初學者的考慮我沒有做分頁功能,如果大家想學習,我會在下次教程寫出來!
2.沒有寫出首頁調用代碼,也是為初學者考慮
3.對後台添加新聞表單沒有驗證
開發工具:
DreamweaverMX和Access2000
好了,大家准備好了吧,我相信如果大家仔細看教程大約5小時就可以明白整個開發原理,很簡單的:
先給大家說說開發步驟(或許不太規范,是按照本人習慣)
1.規劃定義站點,建立各個功能模塊文件。
好了,咱們開始吧,一個好的站點,應該先規劃好站點文件的存放!
好了先看看文件目錄:
下面解釋一下:
目錄:admin(用於存放後台管理程序文件)
文件:
xh_add.asp (後台管理頁面)
xh_edit.asp (後台編輯頁面)
xh_del.asp (後台刪除頁面)
xh_login.asp (後台管理登陸頁面)
xh_cklogin.asp (後台管理驗證頁面)
xh_loginout.asp (後台管理退出頁面)
xh_write.asp (新聞添加頁面)
xh_save.asp (添加新聞驗證頁面)
xh_conn.asp (數據庫連接文件)
目錄:date (存放數據庫文件)
目錄:images (存放圖片)
主目錄下文件:
index.asp (新聞首頁面)
conn.asp (數據庫連接文件)
xh_look.asp (新聞查看頁面)
xh_wei.asp (include連接結尾頁面)
好了具體的規劃就是這些,大家應該能明白一個步驟了吧!
也是一個思考過程,建站--建立各功能目錄--建立數據庫--建立後台文件--建立顯示記錄頁面---完善程序例如編輯刪除功能
2.用Access寫數據庫xhnew.mdb
這次咱們就來做這個新聞系統的數據庫,放心很簡單,幾分鐘就可以搞定!
首先開發ACCESS,設計表,如下圖:
在這裡,我詳細介紹一下各個數據類型的功能
name用來存放新聞發布者的姓名(文本)
content 用來存放新聞內容(切記設置為備注,因為儲存量多)
title 新聞標題(文本)
xhcount 存放每條記錄點擊數(數字型)
xhtime 每條新聞發布時間(時間類型)
在此在說明一下conn.asp文件,就是數據庫連接文件
大家能看明白嘛?第一句聲明DB為數據名。
然後打開ADO,這個是規范寫法,對於數據庫移動位置可以在server.mappath改。
3.寫後台管理登陸頁面xh_login.asp和xh_cklogin.asp還有退出管理頁面xh_loginout.asp
這次,准備講解這個後台登陸的幾個頁面!
xh_login.asp這個頁面主要一個表單遞交頁面,遞交到xh_cklogin.asp
xh_cklogin.asp是個驗證表單密碼的頁面。
好了,咱們來分析這段代碼。
name=trim(request.Form("username"))
pass=trim(request.form("password"))
主要是從login.asp提取2個表單的值
if name="" or pass="" then
response.write ""
end if
主要就是驗證輸入的用戶名和密碼是否是空值,這個參數是從登陸框傳遞過來的!記得我們給xh_login.asp的各個控件賦予了名稱
if name="adminxh" and pass="adminxh" then
session("xianhe")="yes"
response.redirect "xh_add.asp"
else
response.write ""
end if
主要就是驗證密碼是否正確了,如果正確進入下個頁面,不正確返回登陸頁面!在這裡主要要提的是,這麼一句代碼。
session("xianhe")="yes"
xh_loginout.asp是個退出管理的跳轉頁面,只有2行代碼
第一行是消除會話的值
第二行是跳轉頁面代碼