本例以Dreamweaver为设计工具,运用Dreamweaver服务器行为的功能,构建一个php+mysql的留言本。
准备
运行环境:AppServ 2.5.9
在appserv网页文件目录www下建立tut目录,tut下建立guestbook目录,留言本相关文件均存放在guestbook下。新建Dreamweaver站点,以tut作为站点根目录。当然,您可以根据自己的习惯建立目录和站点。
用phpmyadmin建立数据库:tut,数据库连接用户:root,密码:hello,您可以自行修改适合您的服务器配置。
在tut库中新建数据表:guestbook,数据表结构如下:
CREATE TABLE `guestbook` ( `id` INT( 5 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , `name` VARCHAR( 30 ) NOT NULL , `date` DATETIME NOT NULL , `msg` TEXT NOT NULL , `email` VARCHAR( 50 ) NULL );
一、留言本显示
1、在Dreamweaver设计留言显示的页面,文件名为index.php,作为留言本的首页。基本框架如下:
2、在Dreamweaver应用程序面板的数据库标签中添加mysql数据库连接。
3、在服务器行为标签中新建记录集,选定需要的列,按留言时间date字段降序排序,记录集名称任意输入或默认皆可。
4、将绑定标签中的字段拖放到页面相应位置。
5、重复留言显示区域。选择上图表格,在服务器行为标签中新建“重复区域”。
6、分页显示。在服务器行为标签中新建记录集分页,分别为翻页箭头添加移至目标。
7、控制显示区域。
添加服务器行为显示区域:如果不是第一页则显示。
添加服务器行为显示区域:如果不是第最后一页则显示。
添加服务器行为显示区域:如果记录不为空则显示。
添加服务器行为显示区域:如果记录为空则显示。
8、测试。
设计图如下:
浏览测试图如下:
二、新建留言
您在上节已经看到了测试效果,因还数据表中尚无信息,页面显示“尚无访客留言”。本节介绍新建留言页面的设计。我们新建一个空白页面,保存文件名为addmsg.php,并将上节index.php中的“我要留言”链接到addmsg.php。
1、插入记录。新建一条留言,实际上就是往数据库插入一条记录。Dreamweaver已经为我们提供了“插入记录表单向导”功能,能够帮助我们很容易的实现插入记录。
要点:id和date为隐藏域,因为id为自动增加的字段,date我们让它实现自动获取,我们所要做的就是将date的默认值设置为 “<?php echo date(‘Y-m-d H:i:s’); ?>”,这是一句php代码,通过php的date()函数将当前时间格式化为如“2007-12-25 23:12:39”的格式。msg显示为“文本区域”,插入后转到:index.php。
2、美化格式,“查看留言”连接到index.php。
3、测试。
新留言测试图:
显示留言测试图:
您可能发现了问题:1、发表留言时信息是分段的,但是显示却未分段;2、留言时间与实际时间相差8个小时。
解决办法:
(1)打开index.php,转到代码模式,搜索“<?php echo $row_msg['msg']; ?>”,修改为“<?php echo nl2br($row_msg['msg']); ?>”,nl2br()函数是将数据中的回车键转为html可识别的换行符“
”。
(2)这是由于服务器默认设置的时间是UTC时间,我们应在东八区,需要修改php.ini。appserv 2.5.9的php.ini在windows目录下,用文本编辑器打开搜索“date.timezone”,并修改为“date.timezone = Asia/Shanghai”。如果“date.timezone”前有分号,还需把分号删除,最后重新启动apache服务。