Flash cs3、Flex与asp、php通信总结(包含数据库)

所属分类: 媒体动画 / Flash教程 阅读数: 62
收藏 0 赞 0 分享
flash与asp:
先把两个代码贴一下:
flash:

varloader:URLLoader=newURLLoader();

varurl:URLRequest=newURLRequest("test.asp");

url.method=URLRequestMethod.POST;

varvalues:URLVariables=newURLVariables();

values.message="helloimflash!";
url.data=values;

loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,loaded);
functionloaded(e:Event){
out1.text=loader.data;
//outPut:phpMessage=imphpmessage!&flashMessage=helloimflash!
out2.text=loader.data.phpMessage;
//imphpmessage!
out3.text=loader.data.flashMessage;
//helloimflash!
out4.text=loader.data.dbMessage;
}
loader.load(url);

asp:

<%@LANGUAGE="JAVASCRIPT"%>
<%
//接收flash传进来的数据
varflashData;

flashData=Request("message");
//发给flash的数据
varaspMessage;
aspMessage=’imaspmessage!’;


//数据库的相关操作
//======================================
varconn;
varrs;
varsql;
varstrPath;
strPath="test.mdb";
try{
conn=Server.CreateObject("ADODB.Connection");
conn.connectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" Server.MapPath(strPath);
conn.open();
}catch(e){
Response.Write(’<metahttp-equiv="Content-Type"content="text/html;charset=UTF-8"/><pstyle="font-size:12px;font-weight:bold;border:1pxsolid#006;padding:6px;background:#fcc">数据库连接出错,请检查连接字串!</p>’);
Response.End
}
rs=Server.createobject("ADODB.Recordset");
sql="select*fromname";
rs.open(sql,conn,1,1);
//======================================
Response.Write("phpMessage=" aspMessage "&" "flashMessage=" flashData "&" "dbMessage=" rs("companyname"));

%>

看到flash和asp文件时面变量名就知道相互是怎么传送的呢,对于数据库的一些插入,更新,查询的操作,只要接收flash的数据,直接运行asp相关数据库操作命令就行了.直接复制到IIS的路径下即可测试.在线观看地址:http://www.wolf2999.cn/php/test.swf

flash与php:
先把两个代码贴一下:
flash:

varloader:URLLoader=newURLLoader();

varurl:URLRequest=newURLRequest("test.php");

url.method=URLRequestMethod.POST;

varvalues:URLVariables=newURLVariables();

values.message="helloimflash!";
url.data=values;

loader.dataFormat=URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,loaded);
functionloaded(e:Event){
out1.text=loader.data;
//outPut:phpMessage=imphpmessage!&flashMessage=helloimflash!
out2.text=loader.data.phpMessage;
//imphpmessage!
out3.text=loader.data.flashMessage;
//helloimflash!
out4.text=loader.data.dbMessage;
}
loader.load(url);
php:

<?php
//这里都是有关数据库的操作
//===================================
Define(’DATABASE_SERVER’,’localhost’);
Define(’DATABASE_USERNAME’,’root’);
Define(’DATABASE_PASSWORD’,’root’);
Define(’DATABASE_NAME’,’flextest’);
$link=@mysql_connect(DATABASE_SERVER,DATABASE_USERNAME,DATABASE_PASSWORD);
@mysql_select_db(DATABASE_NAME,$link);
$result=@mysql_query("Select*fromusers");
$user=@mysql_fetch_array($result,MYSQL_ASSOC);
//echo$user[’userid’];
$dbvar=$user[’userid’];
//===================================
//接收flash传进来的数据
$flashData=$_POST[’message’];
//给flash发送的数据
$phpMessage=’imphpmessage!’;
echo"phpMessage=$phpMessage&flashMessage=$flashData&dbMessage=$dbvar";
?>
代码很简单,不用多解释,其实和asp的没有多大区别的.直接复制到php的路径下即可测试.数据库文件直接在phpMyAdmin下面执行flextest.sql里的sql语句就行了.因为公司禁端口,我不能在线操作我空间的sql的数据库,在线演示地址就没有,等有时间在家里加上.

Flex与php:
先把两个代码贴一下:
Flex:

<?xmlversion="1.0"encoding="utf-8"?>
<mx:Applicationxmlns:mx="http://www.adobe.com/2006/mxml"creationComplete="onInit()"xmlns="*"layout="absolute"backgroundGradientColors="[#ffffff,#c0c0c0]">
<mx:Script>
<![CDATA[
publicfunctiononInit():void
{
userRequest.send();
}
]]>
</mx:Script>
<mx:HTTPServiceid="userRequest"url="request.php"useProxy="false"method="POST">
<mx:requestxmlns="">
<username>{username.text}</username><emailaddress>{emailaddress.text}</emailaddress>
</mx:request>
</mx:HTTPService>
<mx:Formx="22"y="10"width="356">
<mx:HBox>
<mx:Labeltext="Username"/>
<mx:TextInputid="username"/>
</mx:HBox>
<mx:HBox>
<mx:Labeltext="EmailAddress"/>
<mx:TextInputid="emailaddress"/>
</mx:HBox>
<mx:Buttonlabel="Submit"click="userRequest.send()"/>
</mx:Form>
<mx:DataGridid="dgUserRequest"x="22"y="128"dataProvider="{userRequest.lastResult.users.user}">
<mx:columns>
<mx:DataGridColumnheaderText="UserID"dataField="userid"/>
<mx:DataGridColumnheaderText="UserName"dataField="username"/>
</mx:columns>
</mx:DataGrid>
<mx:TextInputx="22"y="292"id="selectedemailaddress"text="{dgUserRequest.selectedItem.emailaddress}"/>
</mx:Application>
php:

<?php
/*ThankstoPeteMackieforthecodebelow*/

Define(’DATABASE_SERVER’,’localhost’);
Define(’DATABASE_USERNAME’,’root’);
Define(’DATABASE_PASSWORD’,’root’);
Define(’DATABASE_NAME’,’flextest’);

#Connecttothedatabase
$mysqli=newmysqli(DATABASE_SERVER,DATABASE_USERNAME,DATABASE_PASSWORD,DATABASE_NAME);

#Checkconnection
if(mysqli_connect_errno()){
printf("MySQLconnectfailed:%s\n",mysqli_connect_error());
exit();
}

#Quotevariabletomakesafe
functionquote_smart($value){
global$mysqli;
#Stripslashes
if(get_magic_quotes_gpc())
$value=stripslashes($value);

#Quoteifnotinteger
if(!is_numeric($value))
$value=$mysqli->real_escape_string($value);
return$value;
}

if(!empty($_POST)&&$_SERVER[’REQUEST_METHOD’]==’POST’){
if($_POST[’emailaddress’]&&$_POST[’username’]){
#Addtheuser
$query=sprintf("InsertINTOusersVALUES(’’,’%s’,’%s’)",quote_smart($_POST[’username’]),quote_smart($_POST[’emailaddress’]));
if(!@$mysqli->query($query)){
printf("’flextest’userdatabasequeryinserterror:%s\n",$mysqli->error);
$mysqli->close();
exit();
}
}
}

#Returnalistofalltheusers
if(!$result=@$mysqli->query("Select*fromusers")){
printf("’flextest’userdatabasequeryselecterror:%s\n",$mysqli->error);
$mysqli->close();
exit();
}

$xml_return="<users>";
while($user=mysqli_fetch_array($result,MYSQLI_ASSOC)){
$xml_return.=
"<user><userid>".$user[’userid’]."</userid><username>".$user[’username’]."</username><emailaddress>".$user[’emailaddress’]."</emailaddress></user>\n";
}
$xml_return.="</users>";
$mysqli->close();
echo$xml_return;
?>
这里的代码就是Adobe phpria sdk里的一个实例. 如果想要全部源码的请留下邮箱,我来发.flex与php的就不说了,直接把php的代码化成asp代码就行了,和flash的一道理了.

源码下载:https://www.jb51.net/files/soft/1_071030193505.rar

更多精彩内容其他人还在看

FLASH CLASS的基本编写规范

继续回来写教程。本来不想写这节的,因为这节的内容很多书上或者网上资料都有,而且写的比我要详细正规得多。但后来想想,还是写吧!为啥?凑篇幅呗~啊哈哈~而且后面几节要结合接宝的范例游戏,具体分析它的几个CLASS,所以,还是用一节把CLASS的写法说一下。可能我对CLASS
收藏 0 赞 0 分享

flash教程:使用拆分数字和文字的函数

flash的小函数:拆分数字和文字的函数. 以下为引用的内容: /* * 拆分数字和文字 */ public function splitNS(s:String):Object{ var tNum:String=""
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例六

相关文章: 通过实例学习Flash AS3.0——案例五 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下
收藏 0 赞 0 分享

用Flash AS制作逼真的下雨动画效果

Flash教程:用Flash AS制作逼真的下雨动画效果 先看下效果:(附.swf文件) 制作过程 一、新建一图层,大小随意; 二、新建元件(影片剪辑): 1、制作雨滴并下落。使用直线工具(颜色设为灰色,1像素)画一短直线,使用选择工具将直
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例五

相关文章: 通过实例学习Flash AS3.0——案例四 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下
收藏 0 赞 0 分享

Flash CS3制作Fla形式的组件

  本文为大家介绍如何制作Flash CS3中的[*.fla]形式的的组件(Component)。这种组件和SWC组件不同,它和CS3自带的组件一样能够双击进入组件里面编辑,是Flash CS3新增加的一种组件形态。下面我们制作一个MyButton组件为例子。   制作步骤:
收藏 0 赞 0 分享

通过实例学习Flash AS3.0——案例四

相关文章:通过实例学习AS3.0——案例三 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。
收藏 0 赞 0 分享

通过实例学习flash AS3.0——案例二

相关文章:通过实例学习AS3.0 --案例一 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。 水平有限,错误难免,欢
收藏 0 赞 0 分享

通过实例学习AS3.0——案例三

相关文章:通过实例学习flash AS3.0——案例二 首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知
收藏 0 赞 0 分享

通过实例学习AS3.0

首先声明:本人大菜鸟一个,刚接触AS3不久,许多理念还没来得及灌输,这些case都是从网上down的,但因为解说是英文的,不利我们学习,我就充当一个translater,顺便可以让自己巩固一下知识。 水平有限,错误难免,欢迎大虾小虾,大鸟小鸟指正。 下面进入正题:
收藏 0 赞 0 分享
查看更多