设为首页 收藏本站
查看: 935|回复: 0

[经验分享] Flash+PHP+MySQL留言板教程

[复制链接]

尚未签到

发表于 2018-9-27 13:33:01 | 显示全部楼层 |阅读模式
  实例演示地址:http://www.52totem.com/test/liuyan.html  (下面有附件下载)
  如果想问什么是PHP的话,百度一下吧,再百度一下“如何配置PHP环境”,满地都是教程。
  FLASH不能直接操作文件与数据库,于是就得通过PHP的行为来间接操作。留言板实现原理很表现了Flash做web开发的基本方式。动态脚本用JSP,ASP也都可以的,它们的功能就是从FLASH接收数据,然后写入文件或数据库,再将数据库给读取出来。这里以PHP为例。
  这个留言板的基本原理:FLASH里填入数据,然后执行对外发送脚本;PHP即接收FLASH发送来的数据,经过整理加工,写入数据库,然后将数据库里的数据读取出来,输出成XML格式文档;FLASH再动态加载这个XML格式的PHP。
  那么开始吧→_→【ps:下面的代码是基于对AS3有相对扎实了解的,可能还需要读者认真阅读,我已经尽量写了注释了】
  首先是PHP,PHP从FLASH里一次接收这三个变量:inputName,inputContact,inputMessage。
  这个是PHP文档,文件名是comments.php。需要确定已经建立好数据库,这里示例数据库是totem,表是comments,表规格是这样:(ID SMALLINT, SHIJIAN DATETIME, IP CHAR(15), NAME CHAR(20), CONTACT CHAR(20), MESSAGE CHAR(100), REPLY CHAR(100))。
  



  

  接下来是AS3的脚本,有附件,是FLASH CS5 的。没有写文档类,代码写在幁上了
  


  • import flash.net.URLRequest;
  • import flash.net.URLLoader;
  • import flash.events.MouseEvent;
  • import flash.events.Event;

  • var url:URLRequest = new URLRequest("http://www.hyieq.com/phps/comments.php");
  • //上面的new URLRequest里就是要连接的php文件的位置,注意协议http,上面的只是示例位置。
  • var loader:URLLoader = new URLLoader  ;
  • sendBtn.addEventListener(MouseEvent.CLICK,sendClick);
  • var forbidChar:RegExp = new RegExp("[#&|*]");
  • //这里用正则表达式来过滤一些不被允许的特殊字符
  • function sendClick(e:MouseEvent)
  • {
  •     //这个函数事先判断一下用户输入的是否含有非法字符
  •     if (inputName.text.match(forbidChar))
  •     {
  •         warning.text = "称呼含有非法字符,请重输";
  •     }
  •     else if (inputName.text=="")
  •     {
  •         warning.text = "称呼不能为空";
  •     }
  •     else if (inputContact.text.match(forbidChar))
  •     {
  •         warning.text = "联系方式含有非法字符,请重输";
  •     }
  •     else if (inputContact.text=="")
  •     {
  •         warning.text = "联系方式不能为空";
  •     }
  •     else if (inputMessage.text.match(forbidChar))
  •     {
  •         warning.text = "留言含有非法字符,请重输";
  •     }
  •     else if (inputMessage.text=="")
  •     {
  •         warning.text = "留言不能为空";
  •     }
  •     else
  •     {
  •         //如果都没问题了,则执行提交动作:
  •         warning.text = "提交中......";
  •         sendVars();
  •     }
  • }
  • function sendVars()
  • {
  •     //这个函数就是执行发送任务了
  •     System.useCodePage = true;
  •     //关键句1:
  •     var variables:URLVariables=new URLVariables();
  •     variables.username = inputName.text;
  •     variables.usercontact = inputContact.text;
  •     variables.usermessage = inputMessage.text;
  •     //关键句2:
  •     url.method = "post";
  •     url.data = variables;
  •     //关键句3:
  •     loader.load(url);
  •     loader.addEventListener(Event.COMPLETE,loaded);
  •     //上面这句其实是整个发送的配套动作,AS3里发送与读取是要一块执行的
  •     pageNum = 1;
  • }
  • var myXML:XML;
  • var pageNum:int = 1,pageTotal:int,pagePerNum:int;

  • function loaded(e:Event)
  • {
  •     //等待完成加载动作后,其实就可以直接读取PHP里生成的XML格式文档了
  •     showPage.text = pageNum + "/" + pageTotal;
  •     inputName.text = "";
  •     inputContact.text = "";
  •     inputMessage.text = "";
  •     warning.text = "完成!";
  •     myXML = new XML(e.currentTarget.data);
  •     pageTotal = int(myXML.zongyeshu);
  •     pagePerNum = int(myXML.yetiaoshu);
  •     showPage.text = pageNum + "/" + pageTotal;
  •     loadList();
  • }
  • function loadList()
  • {
  •     //加载顺序留言列表
  •     for (var i:int=0; i 1 ? pageNum--:0;
  •     showPage.text = pageNum + "/" + pageTotal;
  •     loadList();
  • }
  • function downclick(e:MouseEvent)
  • {
  •     pageNum < pageTotal ? pageNum++:0;
  •     showPage.text = pageNum + &quot;/&quot; + pageTotal;
  •     loadList();
  • }
  • function defaultLoad()
  • {
  •     //默认没发送数据的情况加载一次留言列表
  •     System.useCodePage = true;
  •     warning.text = &quot;加载中...&quot;;
  •     loader.load(url);
  •     loader.addEventListener(Event.COMPLETE,loaded);
  • }
  • defaultLoad();
  

  然后上传到自己的本地服务器测试一下吧,祝读者成功!
  下面是附件(这个附件是不能直接运行的,里面是写好的代码而已,还需要自己配置好环境和MySQL,按上例做的话才可测试):



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-602863-1-1.html 上篇帖子: Linux下C++访问MySQL-Art 下篇帖子: MySQL之mysql_config_editor使用
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表