用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=+random(9999), data_lv, post);
swf读取实时xml:myxml.load(datatoxml.php?n=+random(9999))
