商城留言板制作

更新时间:2024-07-01 23:05:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

第5章 商城留言板的制作实训报告

实训名称:商城留言板制作

实训人: 学号:0900002209 班级:网络0912 指导教师: 同组学生姓名: 实验地点: 创新楼 实验日期: 2011 年 9 月 23 日

一、实训目的:

1、熟练数据操作类的应用,实现插入操作,学会处理特殊字符 2、掌握自定义分页技术;

3、学会图像的上传与管理,掌握留言管理页的建立方法,熟悉超链接方式传递参数;

4、实现简单的留言回复,增强留言板的交互性; 5、熟悉验证码技术;

二、实训内容:

1、添加留言

设计一个简单的留言界面,在此留言界面中,留言者可以填写姓名和留言内容并提交到数据库,通过单击“查看留言”连接显示所有留言内容。

2、留言分页显示

分页显示已有留言,留言者和留言时间显示在左侧,留言内容显示在右侧,奇数行和偶数行有所区别,以方便是识别; 3、显示带有图像的留言:

在显示留言界面显示留言内容,并将留言时加入的头像显示出来;

4、管理员登录页面设计

登录时需要输入随机生成的验证码; 5、建立留言管理页

在留言管理页中管理员可以查看已有留言,并可以回复和删除指定留言;

三、实训的相关代码:

1、添加留言,关键性代码如下:

protected void Button1_Click(object sender, EventArgs e) {

string strName = Server.HtmlEncode(TextBox1.Text); strName = strName.Replace(\, \); strName = strName.Replace(\, \); strName = strName.Replace(\, \);

string strContent = Server.HtmlEncode(TextBox2.Text); strContent = strContent.Replace(\, \); strContent = strContent.Replace(\, \); strContent = strContent.Replace(\, \);

string strSQL = \into message(留言者,正文,时间) values('\ + TextBox1.Text + \ + TextBox2.Text + \ + DateTime.Now.Date + \; if (DbManger.ExecuteNonQuery(strSQL) > 0) {

Response.Write(\插入成功')\);

Response.Write(\); } else

Response.Write(\插入失败')\); }

2、留言分页显示,关键性代码如下:

protected void Page_Load(object sender, EventArgs e) {

int ipageSize = 5;

string strTableName = \; string strKey = \; string strORDER = \; string strFields = \; int iCurPage; int iMaxPage; string sql = \;

string sqlstr = \+ strTableName; if (Request.QueryString[\] != \)

iCurPage = Convert.ToInt32(Request.QueryString[\]);

else

iCurPage = 1;

int intTotalRec = Convert.ToInt32(DbManger.ExecuteScalar(sqlstr)); if (intTotalRec % ipageSize == 0) iMaxPage = intTotalRec / ipageSize; else

iMaxPage = intTotalRec / ipageSize + 1; if (iMaxPage == 0) iMaxPage = 1; if (iCurPage < 1) iCurPage = 1; else

if (iCurPage > iMaxPage) iCurPage = iMaxPage; if (intTotalRec != 0) {

if (iCurPage == 1)

sql = \ + ipageSize + \ + strFields + \ + strTableName + \ + strKey + \ + strORDER; else

sql = \ + ipageSize + \ + strFields + \ + strTableName + \ + strKey + \ + (iCurPage - 1) * ipageSize + \ + strKey + \\ + strTableName + \order by \ + strKey + \\ + strORDER + \by \ + strKey + \\ + strORDER; Repeater1.DataSource = DbManger.ExecuteQuery(sql); Repeater1.DataBind();

Label1.Text = \共有\ + intTotalRec.ToString() + \条记录 当前是第\ + iCurPage.ToString() + \ + iMaxPage.ToString() + \页\; if (iCurPage != 1) {

hlFrst.NavigateUrl = Request.FilePath + \;

hlPre.NavigateUrl = Request.FilePath + \ + (iCurPage -1); }

if (iCurPage != iMaxPage) {

hlNext.NavigateUrl = Request.FilePath + \ + (iCurPage + 1); hlLast.NavigateUrl = Request.FilePath + \ + iMaxPage; if (intTotalRec <= ipageSize) Panel1.Visible = false; else

Panel1.Visible = true; }

3、显示带有图像的留言,代码如下:

<%@ Control Language=\ AutoEventWireup=\ CodeFile=\ Inherits=\ %>

<%#Eval (\留言者\) %>
在<%#Eval (\时间\) %>留言

<%#Eval (\正文\) %>



<%#Eval (\留言者\) %>
在<%#Eval (\时间\) %>留言

<%#Eval (\正文\) %>



<%#Eval (\回复\,\管理员回复:{0}

\) %>

      

 

   

         

页   

4、管理员登录,代码如下:

protected void Button1_Click(object sender, EventArgs e) {

if (txtyPwd.Text != Request.Cookies[\].Value.ToString()) Response.Write(\验证码错误!')\); else {

string strSQL = \用户表 where username='\ + txtName.Text + %userpwd='\ + txtPwd.Text + \;

if (DbManger.ExecuteQuery(strSQL).Rows.Count > 0) {

Session[\] = 1;

Response.Redirect(\); } else

Response.Write(\用户名或密码错误!')\); }

5、建立留言管理页,代码如下: (1) 事件代码

protected void Page_Load(object sender, EventArgs e) {

int ipageSize = 5;

string strTableName = \; string strKey = \; string strORDER = \; string strFields = \; int iCurPage; int iMaxPage; string sql = \;

string sqlstr = \ + strTableName; if (Request.QueryString[\] != \)

iCurPage = Convert.ToInt32(Request.QueryString[\]); else

iCurPage = 1;

int intTotalRec = Convert.ToInt32(DbManger.ExecuteScalar(sqlstr)); if (intTotalRec % ipageSize == 0) iMaxPage = intTotalRec / ipageSize; else

iMaxPage = intTotalRec / ipageSize + 1; if (iMaxPage == 0) iMaxPage = 1; if (iCurPage < 1) iCurPage = 1; else

if (iCurPage > iMaxPage) iCurPage = iMaxPage; if (intTotalRec != 0) {

if (iCurPage == 1)

sql = \ + ipageSize + \ + strFields + \ + strTableName + \ + strKey + \ + strORDER; else

sql = \ + ipageSize + \ + strFields + \ + strTableName + \ + strKey + \ + (iCurPage - 1) * ipageSize + \ + strKey + \\ + strTableName + \order by \ + strKey + \\ + strORDER + \by \ + strKey + \\ + strORDER; Repeater1.DataSource = DbManger.ExecuteQuery(sql); Repeater1.DataBind();

Label1.Text = \共有\ + intTotalRec.ToString() + \条记录 当前是第\ + iCurPage.ToString() + \ + iMaxPage.ToString() + \页\; if (iCurPage != 1) {

hlFrst.NavigateUrl = Request.FilePath + \;

hlPre.NavigateUrl = Request.FilePath + \ + (iCurPage - 1); }

if (iCurPage != iMaxPage) {

hlNext.NavigateUrl = Request.FilePath + \ + (iCurPage + 1); hlLast.NavigateUrl = Request.FilePath + \ + iMaxPage; if (intTotalRec <= ipageSize) Panel1.Visible = false; else

Panel1.Visible = true; }

(2)html代码

<%@ Control Language=\ AutoEventWireup=\ CodeFile=\ Inherits=\ %>

<%#Eval (\留言者\) %>
在<%#Eval (\时间\) %>留言

<%#Eval (\正文\) %>



<%#Eval (\留言者\) %>
在<%#Eval (\时间\) %>留言

<%#Eval (\正文\) %>



<%#Eval (\回复\,\管理员回复:{0}

\) %>

      

   

         

页   

(3)删除的代码如下:

protected void Page_Load(object sender, EventArgs e) {

if(Convert.ToInt16(Session[\]) != 1) {

Response.Write(\请先登录!')\);

Response.Write(\); } else {

string strSQL = \ + Convert.ToInt32(Request.QueryString[\]);

if (DbManger.ExecuteNonQuery(strSQL) > 0) {

Response.Write(\删除成功!')\);

Response.Write(\); }

四、实训效果:

1、添加留言页面,效果如图4-1所示:

图 4-1

2、留言分页显示,效果如图4-2所示

图4-2 留言分页显示

3、显示带有头像的留言,效果如图4-3所示:

本文来源:https://www.bwwdw.com/article/yf9.html

Top