当前位置: 首页 > 图文教程 > Flash动画 > ActionScript > Flash cs3、Flex与asp、php通信总结(包含数据库)

ActionScript
FLASH 3D相册之利用BitmapData类制作
Flash 脚本游戏开发教程 第一课
Flash 脚本游戏开发教程第二课
Flash 脚本游戏开发教程第三课
Flash 脚本游戏开发教程第四课
Flash 脚本游戏开发教程第五课
Flash 脚本游戏开发教程第六课
Flash 脚本游戏开发教程第七课
Flash 脚本游戏开发教程第八课
Flash AS实现的蝌蚪摆尾动画的教程
从基础开始深入学Flash AS3教程(4)(译文)
从基础开始深入学Flash AS3教程(5)(译文)
从基础开始深入Flash AS3教程(2)(译文)
从基础开始深入学Flash AS3教程(3)(译文)
Flash AS3对单个图片进行角色动作化处理
从基础开始深入Flash AS3教程(1)(译文)
Flash教程:if条件语句的用法
Flash AS教程:_visible属性的详细讲解
Flash AS教程:图片环绕旋转效
Flash教程:trace()的使用

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-16   浏览: 95 ::
收藏到网摘: n/a

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的一道理了.

源码下载:/upload/tech/20090916/20090916063229_c06d06da9666a219db15cf575aff2824.rar