Rumah >pembangunan bahagian belakang >tutorial php >php和swf通信
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读取文本)。可以看火山的教程,很详细。
开始制作(做好上面的准备工作,下面的会很好理解):
图1
1、SWF读取数据
①和②MySQl→PHP→SWF
PHP用“SELECT”从MySQl那里取,再写成xml给SWF读。
图2
2、SWF储存数据
③和④SWF→PHP→MySQl
SWF用“sendAndLoad”给PHP,PHP用“INSERT”给MySQl。
图3
解决乱码(解决数据库中的中文读出来是"????"):
在用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))
参考自:http://dodomail.javaeye.com/blog/211003