Asp+Rss阅读器制作
作者:
Asp+Rss阅读器制作
Asp+Rss阅读器制作
转自凌云的BLOG
我在这里只是作了一个测试。大家可以把它具体应用,调用自己站点中的最新帖,方便用户订阅。
RSS阅读器显示页面代码如下:
复制代码 代码如下:
<!--#include file="conn.asp"-->
<%
'******************************
'文件名:index.asp
'功 能:RSS阅读器显示页面
'日 期:2006-6-19
'编 程:Cloud.L
'******************************
Response.contentType="application/xml;charset=gb2312"
%>
<?xml version="1.0" encoding="gb2312"?>
<rss version="2.0">
<channel>
<rssname><%=SiteName%></rssname>
<author><%=Author%></author>
<mail><%=Mail%></mail>
<%
Sql="select top 20 * from [SIHRT_Rss] order by Rss_Date desc,Rss_ID desc"
Set Rs=Server.CreateObject("Adodb.Recordset")
Rs.open Sql,Conn,1,1
if Rs.eof and Rs.bof then
Response.Write "<listitems><nodata>无列表数据</nodata></listitems>"
else
Response.Write "<listitems>"
do while not Rs.eof
Rss_Cont=replace(Rs("Rss_Cont"),"<br>","")
%>
<item>
<rssid><%=Rs("Rss_ID")%></rssid>
<title><%=Rs("Rss_Title")%></title>
<postdate><%=Rs("Rss_Date")%></postdate>
<content><![CDATA[<%=Rss_Cont%>]]></content>
</item>
<%
Rs.movenext
loop
Response.Write "</listitems>"
end if
RsClose
Connclose
%>
</channel>
</rss>
数据库链接文件Conn.asp代码如下:
复制代码 代码如下:
<!--#include file="Const.asp"-->
<%Response.Buffer=True%>
<%
'******************************
'文件名:Conn.asp
'功 能:RSS阅读程序与数据库连接文件
'日 期:2006-6-18
'编 程:Cloud.L
'******************************
Dim ConnStr,Conn
'Create Connection
ConnStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath(DataPath)
Set Conn=Server.CreateObject("Adodb.Connection")
Conn.open ConnStr
'Close Rs
Sub RsClose
Rs.Close
Set Rs=nothing
End Sub
'Close Conn
Sub ConnClose
Conn.Close
Set Conn=nothing
End Sub
%>
站点信息定义文件Const.asp代码如下:
复制代码 代码如下:
<%
'******************************
'文件名:Const.asp
'功 能:定义RSS阅读程序常量
'日 期:2006-6-18
'编 程:Cloud.L
'******************************
Const DataPath="Data/RssData.mdb"
Const SiteName="SIHRT--RSS阅读器"
Const Author="Cloud.L"
Const Mail="Sihrt@163.com"
%>
记录编辑页面Admin.asp代码如下:
复制代码 代码如下:
<!--#include file="Conn.asp"-->
<link href="inc/style.css" rel="stylesheet" type="text/css">
<script language="JavaScript" src="inc/checkFunction.js"></script>
<%
'******************************
'文件名:Admin.asp
'功 能:数据添加管理文件
'日 期:2006-6-18
'编 程:Cloud.L
'******************************
Dim Wid,Rs,Sql
Wid=700
Select Case Request("menu")
Case ""
Main
Case "AddOk"
IsAdd=1
RsOk
Case "EditRs"
EditRs
Case "EditOk"
IsAdd=0
RsOk
Case "DelOk"
conn.execute("delete from [SIHRT_Rss] where Rss_ID="&Request("ID"))
Response.Redirect("Admin.asp")
Case "DelAll"
if Request("CID")="" then
Response.write "<script>alertMsg('您没有选择删除项');</script>"
end if
for each DelItem in Request("CID")
conn.execute("delete from [SIHRT_Rss] where Rss_ID="&DelItem)
next
Response.Redirect("Admin.asp")
End Select
Sub Main
'This is main sub
Sql="select * from [SIHRT_Rss] order by Rss_ID"
Set Rs=Server.CreateObject("Adodb.Recordset")
Rs.open Sql,Conn,1,1
%>
<form action="?menu=DelAll" method="post" name="ListForm">
<table border="0" cellpadding="2" cellspacing="1" align="center" width="<%=Wid%>" class="tb_bg">
<tr class="tr_tt">
<td colspan="5" align="center">--==== RSS数据管理 ====--</td>
</tr>
<tr class="tr_tt2">
<td width="5%" align="center" title="全选数据项"><input type="checkbox" name="SelectAll" onclick="checkAll(this)" class="checkbox"></td>
<td width="5%" align="center">ID</td>
<td width="20%" align="center">主题</td>
<td width="60%" align="center">内容</td>
<td width="10%" align="center">操作</td>
</tr>
<%
if Rs.eof and Rs.eof then
response.write "<tr class=""tr_bg""><td colspan=""5"" align=""center""><font color=red>无列表项数据,请添加记录</font></td>"
else
do while not Rs.eof
%>
<tr class="tr_bg" onmouseover="this.className='tr_over'" onmouseout="this.className='tr_out'">
<td align="center"><input type="checkbox" name="CID" class="checkbox" value="<%=Rs("Rss_ID")%>"></td>
<td align="center"><%=Rs("Rss_ID")%></td>
<td><%=Rs("Rss_Title")%></td>
<td>
<%
Rss_cont=replace(Rs("Rss_Cont"),"<br>","")
if len(Rss_Cont)>32 then
Response.write left(Rss_Cont,32)&"..."
else
Response.write Rss_Cont
end if
%>
</td>
<td align="center">
<a href="?menu=EditRs&ID=<%=Rs("Rss_ID")%>" title="编辑该记录">编辑</a> <a href="?menu=DelOk&ID=<%=Rs("Rss_ID")%>" title="删除该记录" onclick="checkConfirm('您确定删除该记录?')">删除</a>
</td>
</tr>
<%
Rs.MoveNext
loop
end if
RsClose 'Close Recordset
%>
<tr class="tr_bg">
<td colspan="5"><input type="submit" name="DelAllItems" value="删除所选" class="button"></td>
</tr>
</table>
</form>
<form action="?menu=AddOk" method="post" name="AddForm" style="margin-top:4px;">
<table border="0" cellpadding="2" cellspacing="1" width="<%=Wid%>" align="center" class="tb_bg">
<tr class="tr_tt">
<td colspan="2" align="center">--==== 添加记录 ====--</td>
</tr>
<tr class="tr_bg">
<td width="20%">记录主题</td>
<td width="80%"><input type="text" name="Rss_Title" size="24" maxlength="20"></td>
</tr>
<tr class="tr_bg">
<td valign="top" style="padding-top:4px;">记录内容</td>
<td><textarea name="Rss_Cont" cols="40" rows="6"></textarea></td>
</tr>
<tr class="tr_bg">
<td colspan="2"><input type="submit" name="SRss" value="添加记录" class="button"> <input type="reset" name="RRss" value="重新添写" class="button"></td>
</tr>
</table>
</form>
<%
End Sub
Sub RsOk
Rss_Title=Trim(Request.Form("Rss_Title"))
errorchar=array("@","#",".","|","%","&","+",";","<",">")
for i=0 to ubound(errorchar)
if instr(Rss_Title,errorchar(i))>0 then
Response.Write "<script>alertMsg('主题中不能包含特殊字符');</script>"
exit Sub
end if
next
Rss_Cont=Request.Form("Rss_Cont")
if Rss_Title<>"" or Rss_Cont<>"" then
Sql="Select * from [SIHRT_Rss]"
Set Rs=Server.CreateObject("Adodb.Recordset")
Rs.open Sql,Conn,1,3
if IsAdd=1 then
Rs.AddNew
end if
Rs("Rss_Title")=Rss_Title
Rs("Rss_Cont")=Rss_Cont
Rs.Update
Response.Redirect "Admin.asp"
RsClose
else
Response.Write "<script>alertMsg('请添写完整记录信息')</script>"
end if
End Sub
Sub EditRs
Sql="select * from [SIHRT_Rss] where Rss_ID="&Request("ID")
Set Rs=Server.CreateObject("Adodb.Recordset")
Rs.open Sql,Conn,1,1
%>
<form action="?menu=EditOk" method="post" name="AddForm" style="margin-top:4px;">
<table border="0" cellpadding="2" cellspacing="1" width="<%=Wid%>" align="center" class="tb_bg">
<tr class="tr_tt">
<td colspan="2" align="center">--==== 编辑记录 ====--</td>
</tr>
<tr class="tr_bg">
<td width="20%">记录主题</td>
<td width="80%"><input type="text" name="Rss_Title" size="24" maxlength="20" value="<%=Rs("Rss_Title")%>"></td>
</tr>
<tr class="tr_bg">
<td valign="top" style="padding-top:4px;">记录内容</td>
<td><textarea name="Rss_Cont" cols="40" rows="6"><%=replace(Rs("Rss_Cont"),"<br>",chr(10))%></textarea></td>
</tr>
<tr class="tr_bg">
<td colspan="2">
<input type="submit" name="SRss" value="修改记录" class="button">
<input type="reset" name="RRss" value="重新添写" class="button">
<input type="button" name="GoBack" value="返回上页" class="button" onclick="history.back();">
</td>
</tr>
</table>
</form>
<%
End Sub
ConnClose
%>
数据库结构如下:
------------------------------
字段名 字段类型
Rss_ID 自动编号
Rss_Title 文本型
Rss_Cont 备注型
Rss_Date 日期型