|
刚开始做这个留言本的时候,连mysql和php都没接触过。经过痛苦的查找资料和学习,郁闷了一个星期后完成了我的简单留言本。网上没有比较好的php留言本相关教程,我下载的n多源文件都看得云里雾里,而且好多都将代码写在mc上。又或许可能有好的教程我没搜到,但无论如何,我现在要在这里班门弄斧一番了。 目的: 用flash+php+mysql制作一个简单的留言本。 配置环境: 最开始肯定是先配置相应的环境了。我下载的是配置环境套件包,傻瓜式的方法,简易安装,比较适合我。下载地址:http://phpnow.org/download.html (包括:apache、php、mysql、zend optimizer、phpmyadmin、 eaccelerator ) 文件夹介绍如下(init.cmd安装;pncp.cmd控制面板。):  图1
apache文件夹:php服务器(类似iis)。 mysql-5.0.15b文件夹:mysql数据库服务器。 data文件夹:存放的是网站数据库。(留言本的数据库存放于此,后台) bin 文件夹:里面的文件用来操作数据库(dos方式) php-5.2.6-win32文件夹:php的函数库,用apache来解释。 zendoptimizer文件夹:加速php的执行。 htdoc(或www):存放网页文件。(留言本的网页文件放于此,前台) phpmyadmin文件夹:操作数据库(windows方式)
注: 1、安装时会提示你输入mysql数据库密码,这里密码以“sun”为例。(用户名为“root”)  图2
2、浏览器中输入“http://127.0.0.1”后显示配置相关信息,可以输入mysql密码进行连接测试。  图3
3、网站目录索引默认是关闭的,用控制台将其开启,便于后期对网站(留言板)的测试。  图4
 图5
知识准备: 1、先介绍如何用php连上数据库(数据库用户名“root”,密码“sun”,有库“myguestbook”)  图6
2、php和mysql通信(sql语句:insert存,select取): php←mysql:select * from myguestbook; php→mysql:insert into myguestbook(name,comment) value ("张三","这是留言"); 3、swf和php通信(loadvars类的sendandload方法存,解析xml的方式取): swf←php:php用echo写xml文件,swf直接解析该文件。(我以前纳闷为什么蓝色的rss是php格式的,学到这里才明白。) swf→php:swf用“sendandload”(data_lv.uname="张三")发送变量,php用$name=$_post['uname']接收变量。
注: 1、留言本其实就是这两个小的过程,php相当于一个桥梁。强烈建议将2和3都写出一个简单的例子,例子运行成功了,留言本没开始写就已经完成一大半了。 2、sendandload既可以发送变量给php,也可以接收php的变量(类似于swf读取文本)。可以看火山的教程,很详细。 开始制作(做好上面的准备工作,下面的会很好理解):  图7
1、swf读取数据 ①和②mysql→php→swf php用“select”从mysql那里取,再写成xml给swf读。  图8
2、swf储存数据 ③和④swf→php→mysql swf用“sendandload”给php,php用“insert”给mysql。  图9 点击放大
完成后的截图:  图10
其他注意事项: 解决乱码(解决数据库中的中文读出来是"????"): 在用phpadmin建立数据库的时候选择“utf8-geeral-ci”编码。 在php文件的查询语句前,加上:mysql_query("set names 'utf8'"); php模块化(便于以后修改): 连接数据库的语句写在单独的文件中,如connectdb.php。 则写数据(datatosql.php)和读数据(datatoxml.php)的文件中加上:require "connectdb.php"即可。 mysql排错函数(如操作有错,根据提示会很方便修改): mysql_errno(出错号);mysql_error(出错原因)。 php的日期函数(更详细的可参考其他帮助): data("ymd,l,h:i"); //20080608,sunday,09:28 swf实时刷新(保证读取最新数据): swf发送并获取实时变量:data_lv.sendandload("datatosql.php?n="+rando |