PHP论文-留言本系统的设计与实现
目录
1 留言本的创建-------------------------------------------------------------10
1.1 创建数据库-------------------------------------------------------------10
1.2 设计数据表liuyandata------------------------------------------------------------10
1.3设计数据表liuyanmanage---------------------------------------------10
1.4 定义系统DNS------------------------------------------------------------11
2 留言板首页的制作-------------------------------------------------------------------------13
2.1 内容主体的制作----------------------------------------------------------------------13
2.2 添加导航按钮和导航状态条-------------------------------------------------------15
2.3 添加行为-------------------------------------------------------------------------------15
2.4 留言-------------------------------------------------------------------------------------16
2.4.1 界面制作-------------------------------------------------------------------------16
2.4.2 客户端验证----------------------------------------------------------------------16
2.4.3 插入留言-------------------------------------------------------------------------16
2.4.4 管理留言-------------------------------------------------------------------------17
2.4.5 管理页面-------------------------------------------------------------------------17
2.4.6 删除页面-------------------------------------------------------------------------18
2.4.7 回复页面-------------------------------------------------------------------------19
3.5 登录机制-------------------------------------------------------------------------------20
4.6访问权限--------------------------------------------------------------------------------20
5.7退出登录--------------------------------------------------------------------------------21
1留言本的创建
1.1 创建数据库
打开Offics 工具中的 Access 2003,然后创建名为“留言.mdb”的数据库,并把数据库文件保存到站点目录下,接下来在数据库中创建数据表。
1.2 设计数据表liuyandata
数据表liuyandata用于保存访客的信息,其字段设计如表5.1所示。
表5.1 liuyandata表
liuyandata表中名称的具体说明如下:
字段id是留言内容的关键字段,作为传递参数,用以区别不同字段,将其数据类型设为“自动编号”并且设为主键。
字段name,email,homepage和title分别是分别用来存储姓名,邮箱地址,主页,留言主题,neme字段是必填的,选项卡中设置,在“必填内容”右面的下拉列表选择“是”,“允许空字符串”右面的下拉列表中选择“否”
字段content用来存储留言内容,由于文本数据类型最多只能存放255字符,在这里设置成“备注”这种数据类型最多可以存放65535个字符,content字段也是必须填写的,所以设置字段属性一样设置
字段datetime是用来存储留言提交时间的。
字段recontent是用来存储站长回复内容的。
1.3 设计数据表liuyanmanage
此表格是用来实现维护和删除,存放管理员账号和密码,在表中添加一条初始纪录,用来存储管理员账号和密码,这样登录可以用核对管理员账号和密码是否正确。如表5.2所示。
表5.2 liuyanmanage的设计表
1.4 定义系统DNS
创建数据库后,在ODBC中添加系统数据源。创建系统DNS具体步骤如下:
(1) 双击数据源ODBC打开ODBC数据源管理器对话框,如图5.1所示。
图5.1 ODBC数据源管理器对话框
(2) 切换到系统DNS选项卡,然后单击添加弹出对话框如图4.2所示。
(3) 选择 Microsoft Access Driver(*.mdb)选项,然后单击完成如图4.3所示。
在数据源名文本框中输入“liuyan”,然后单击选择对话框如图,从中选择新创建的数据库“留言.mdb”最后单击确定后,在ODBC数据源管理器对话框中就可以看到刚刚创建的系统数据源。如图5.2所示。
图5.2 单击添加弹出的对话框
图5.3 选择 Microsoft Access Driver(*.mdb)选项,然后单击完成图
图5.4 系统数据源
2 留言板首页的制作
2.1 内容主体的制作
内容主体的制作的具体步骤如下:
(1)内容主体制作的效果图如图6.1所示。
图6.1 页面主体的效果图
(2)在Dreamweaver MX 2004 中连接数据库。在应用程序面板中选择数据库选项卡显示数据库面板,如图5.2所示。
图5.2 数据库面板显示图
在数据库面板中单击添加。然后弹出菜单中选则数据源名称DNS菜单如图6.3所示。
图6.3 数据源名称的显示
(4)在该对话框的连接名称文本框中输入“conliuyan”,在数据源名称下
拉列表中选“liuyan”
(5) 单击确定完成数据库的连接。
在下图切换到绑定选项卡,单击添加,然后从弹出式菜单中选择记录集查询的菜单项弹出对话框如图6.4所示。
图6.4 单击添加后的对话框
图6.5 记录集的设置
在该对话框的连接下拉列表中选择“conliuyan”。
在表格下拉列表中选择“liuyandata”。
单击确定完成对记录集的设置,此时的绑定面板如图5.5,然后把表格和记录集绑定。
把留言和管理设置好超连接,分别链接到index.PHP和admin.PHP页面。
2.2 添加导航按钮和导航状态条
(1) 把光标移动到将要放入导航按钮的表格内,然后单击记录集导航条标签。
从记录集下拉列表中选则“recordset1”在显示方式选项区中选中图像单选按钮,然后单击确定生成导航条。
单击记录集导航状态标签按钮弹出对话框。
(4)从记录集下拉列表中选则“recordset1”,然后单击确定按钮即可完成导航状态条的制作。
2.3 添加行为
在一个页面中显示所有留言记录有所不妥,这就需要将记录分页显示。在Dreamweaver MX 200中,可以添加重复区域的服务器行为和添加导航按钮的方式来实现记录集分页。一般设置每10条留言内容为一页,当留言多于10条时就自动分页显示。
要保证留言的正常显示,就要做到有留言的时候才显示留言,如果没有留言则应该显示“暂无留言”。所以在此要用到一个显示区域服务器行为,即根据库里的数据显示不同的界面。
具体实现如下:
选中中间的表格作为重复区域。选中应用程序面板的服务器行为选项卡显示服务器行为面板。单击面板中的添加按钮,然后从弹出式菜单中选择重复区域菜单项。
从记录集下拉列表中选则“recordset1”.在显示选项中选则“10”,记录单选按钮,然后单击确定按钮完成设置。
选中除最后一行暂无留言表格的所有表格,单击服务器行为面板中的添加按钮,然后从弹出式菜单中选则显示区域,如果记录集不为空则显示区域菜单项。
随即弹出的如果记录集不为空则显示区域对话框,从记录集下拉列表中选则“recordset1”。
单击去定按钮如果记录集不为空则显示区域行为就设置完成。
选中最后一行的暂无留言表格,单击服务器行为面板中的添加按钮,然后从弹出式菜单中选则显示区域,如果记录集为空则显示区域,弹出对话框,从该对话框的记录集下拉列表选择“recordset1”,之后单击确定按钮即可。
2.4 留言
2.4.1 界面制作
界面制作的具体步骤如下所示:
选中大名右面的文本框,在属性面板中为其命名,记载属性面板文本域下的文本框中输入“name”。在分别选中e-mail,主页,主题右面的文本框和留言版的文本区域在属性面板中进行类似的设置,并分别将其命名为email ,homepege,title和content。
选中写完了按钮,在其属性面板中动作选项区域中的提交表单选按钮。
选中重新写按钮,在其属性面板中选中动作选项区中的重设表单单选按钮。
2.4.2 客户端验证
客户端的验证需要在书写留言的页面内做。在也面“guestbook.PHP”中选表单,再选择设计面板中的行为选项卡,单击添加增按钮,然后从弹出式菜单中选则检查表单菜单项弹出如图所示的对话框。如图6.6所示。
图6.6 客户端的验证
实例中要求用户必须填写留言的标题,内容和合法的E-Mail地址,所以在这里需要设置:从命名的栏位列表中分别选择文本“name”在表单“form1”和文本“cintent”在表单“form1”选项:在值域选中必须的复选框:从命名的栏位列表中选择文本“email”在表单“form1”选项,然后在可接受选项区中选中电子邮件地址单选按钮。
2.4.3 插入留言
要将用户填写的记录添加到数据库中,就需要项页面中添加一个插入记录的服务器行为。在应用程序面板中选中服务器行为选项卡,单击添加按钮,然后从弹出式菜单选项中选择插入记录菜单项弹出如图6.7所示的对话框。
图6.7 插入留言
在该对话框中完成以下设置。
(1) 从连接下拉列表中选则“conlinyan”。
从插入到表格下拉列表中选则“liuyuandata”。
在插入后转到文本框中输入“index.PHP”。
从获取值自下拉列表中选择“form1”。
在表单元素列表中先选则name忽略项,然后从列下拉列表中选则name。从提交为下拉列表中选择文本,这样就建立了表单元素name和字段列name之间的对应关系。
重复步骤5,再建立其他表单元素和字段列之间的对应关系,设置完成后的状况如图,单击确定即可。
2.4.4 管理留言
管理页面“admin.PHP”是管理员或站长所能够进入的页面。
2.4.5 管理页面
管理页面和主页面相似,只是在每条留言的右面增加了回复和删除的两个链接。可参照主页制作过程制作管理页面。
回复和删除的设置:
在如图6.8所示的页面里,为文字回复添加转到详细页面服务器行为。先选中文本“回复”,然后在应用程序面板中选则服务器行为选项卡,单击添加按钮,然后从弹出式菜单中选则转到详细页面菜单项弹出如图对话框并进行设置。
6.8 回复的详细页面
(2) 为文字删除添加转到详细页面服务器行为。重复步骤1,完成对删除的链接设置。设置“删除”的转到详细页面对话框,如图6.9所示。
图6.9 删除的详细页面
2.4.6 删除页面
在站点设置del.PHP作为删除页面。该页面根据admin.PHP传过来的id值,利用服务器行为面板中的命令菜单来实现删除操作的,该页面不需要制作前台页面。
单击服务器行为面板中的添加按钮,然后从弹出式菜单中选则命令菜单项弹出如图进行设置。
然后在代码图示的html标签的上面添加如下代码。
<%
If(commdel_strid<>””)then
Set Commdel=Server.CreateObject(ADODB.Command”)
Commdel.ActiveConnection=MM_conliuyan_STRING
Commdel.CommandText=”DELETEFROMliuyan WHERE=”+Replace(Commdel_strid,””,””)+””
Commdel.CommandType=4
Commdel.CommandTimeout=0
Commdel.Prepared=true
Commdel.Execute()
End if
‘执行删除操作后,转到其他页面
Response.Redirect(“admin.PHP”)
%>
2.4.7 回复页面
在站点中设置reply.PHP作为站长回复用户留言的页面。该页面的功能是:根据admin.PHP传过来的id值来取得记录,然后以取得的记录替换数据库中相应id值的记录。
在本页中添加一个更新记录的服务器行为。
首先建立一个reply.PHP文件,然后设计页面,为回复按钮设置提交表单动作,算了连接到“admin.PHP”页面,浏览留言链接到“index.PHP”页面中。
在应用程序面板中选择绑定选项卡,单击添加按钮,然后从对话式菜单中进行选择记录集查询菜单项对记录集对话框进行设置。
从连接下拉列表选择“conliuyan”,从表格下拉列表中选择“liuyandata”在列选择区选中选定的单选按钮,从下面的字段列表中按住CTRL选择id,name.content,datetime字段项,从筛选下拉列表中选则id,其他采用默认值,然后单击确定按钮即可。
绑定id字段到第号中间,绑定name字段到姓姓名右面的表格中,绑定content字段到留言内容右面的文本区域中,再绑定datetime字段到留言时间右面的表格中。
单击服务器行为面板中的添加按钮,然后从弹出式菜单中选择更新记录菜单项弹出如图5.10所示的更新记录对话框并进行设置。
图5.10 更新记录对话框
最后单击确定完成设置。
3.5 登录机制
对一般的用户是不能登录的,因为他们只有留言和浏览留言的权利。对站长来说,当进入管理页面进行维护,删除和修改时,就要有一个登录机制来保证这些页面是不能被其他用户进入的.
限制用户登录采用的方法是:先在数据库中存储管理员的用户和密码;当访问者要访问这些限制访问的页面时,系统会要求访问者输入用户名和密码,然后把用户输入的用户名和密码与数据库的记录核对,相符和则允许进入,否则不允许。
先来制作一个简单的登录界面,如图,提交和重置分别设置提交表单和重设表单动作,浏览留言链接到显示留言的首页“index.PHP”
在服务器行为面板中单击添加按钮,然后从弹出式菜单中选择用户身份验证,登录用户菜单选项弹出式对话框进行设置。
单击确定即可完成登录界面的设置。
4.6 访问权限
对于admin.PHP.del.PHP和reply.PHP页面来说,在没有经过登录验证的时候是不允许进入的,即禁止非授用户访问这些页面。所以要对这些页面添加限制对页的访问的服务器行为来判断是否允许登录。
分别打开admin.PHP,del.PHP和reply.PHP这些需要限制未登录用户访问的页面。
(2) 在admin.PHP页面中,在服务器行为面板中单击添加按钮,然后从弹出式菜单中选择用户身份验证,限制对页面的访问菜单项弹出对话框饯行设置。
(3) 重复步骤2,实现del.PHP,reply.PHP页面对未登录用户访问的限制。
这样当访问者访问admin.PHP和reply.PHP或del.PHP页面时,就会自动弹出login.PHP页面要求用户输入用户名和密码。
5.7 退出登录
退出登录需要在admin.PHP页面中进行如下设置:
打开admin.PHP页面。
选中文本退出管理。
在服务器行为面板中单击添加按钮,然后从弹出式菜单中选择用户身份验证,注销用户菜单对其设置。
在完成后,转到文本框中填写index.PHP。
最后单击确定完成设置。
<%
else
nowname=request("rname")
nowqq=request("qq")
nowmsn=request("msn")
nowcontact=request("contact")
nowuserid=request("userid")
nowpassword=MD5(request("password"))
nowemail=request("email")
nowusername=request("username")
nowsex=request("sex")
nowweb=request("web")
nowtel=request("tel")
nowaddress=request("address")
nowaddtime=date()
nowlock=0
set rs_login=conn.execute("select * from company")
sql="insert into company(c_name,c_pwd,c_rname,c_address,c_contact,c_sex,c_tel,c_qq,c_msn,c_email,c_web,c_lock,c_addtime) values('"&nowuserid&"','"&nowpassword&"','"&nowname&"','"&nowaddress&"','"&nowcontact&"','"&nowsex&"','"&nowtel&"','"&nowqq&"','"&nowmsn&"','"&nowemail&"','"&nowweb&"','"&nowlock&"','"&nowaddtime&"')"
conn.execute(sql)
%>
<%end if%>
给你一个简单实用且有男女单选按钮的!自己整理吧 require("common.inc.php"); ?>
当提交登录信息出现这样的提示:parse error:parse error in d:\appserv\www\registers_ok.php on line 11. 我的registers_ok.php代码是: alert('注册成功!');window.location.href='zhuye.php'; "; }else{ ? echo " "; ? exit; } ?>
PHP论文-留言本系统的设计与实现.doc