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

本文介绍Flash如何通过ASP和PHP进行数据交互,包括数据库操作和数据传递过程。提供了具体的代码示例,涵盖Flash与ASP、PHP之间的通信原理。
部署运行你感兴趣的模型镜像

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

 

var loader:URLLoader = new URLLoader();

var url:URLRequest = new URLRequest("test.asp");

url.method = URLRequestMethod.POST;

var values:URLVariables = new URLVariables();

values.message="hello im flash!";
url.data = values;

loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,loaded);
function loaded(e:Event) {
        out1.text=loader.data;
        //outPut: phpMessage=im php message!&flashMessage=hello im flash!
        out2.text=loader.data.phpMessage;
        // im php message!
        out3.text=loader.data.flashMessage;

网页教学网

        // hello im flash!
        out4.text=loader.data.dbMessage;
}
loader.load(url);
网页教学网

 

asp:
 


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

flashData = Request("message");
//发给flash的数据
var aspMessage;
aspMessage = ’im asp message!’;


//数据库的相关操作
//======================================
var conn;
var rs;
var sql;
var strPath;
strPath="test.mdb";
try{
                        conn = Server.CreateObject("ADODB.Connection");
                        conn.connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Server.MapPath(strPath);

Webjx.Com

                        conn.open();
}catch(e){
                    Response.Write(’<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><p style="font-size:12px;font-weight:bold;border:1px solid #006;padding:6px;background:#fcc">数据库连接出错,请检查连接字串!</p>’);
                    Response.End
}
rs=Server.createobject("ADODB.Recordset") ;
sql="select * from name" ;
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:
 

var loader:URLLoader = new URLLoader();

var url:URLRequest = new URLRequest("test.php");

url.method = URLRequestMethod.POST;

var values:URLVariables = new URLVariables();

values.message="hello im flash!";
url.data = values;

loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE,loaded);
function loaded(e:Event) {
        out1.text=loader.data;
        //outPut: phpMessage=im php message!&flashMessage=hello im flash!
        out2.text=loader.data.phpMessage;
        // im php message!
        out3.text=loader.data.flashMessage;


        // hello im flash!
        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 * from users");
  $user=@mysql_fetch_array($result,MYSQL_ASSOC);
  //echo $user[’userid’];
  $dbvar=$user[’userid’];
  //===================================
  //接收flash传进来的数据
  $flashData = $_POST[’message’];


  //给flash发送的数据
  $phpMessage = ’im php message!’;
  echo "phpMessage=$phpMessage&flashMessage=$flashData&dbMessage=$dbvar";
?> 网页教学网

代码很简单,不用多解释,其实和asp的没有多大区别的.直接复制到php的路径下即可测试.数据库文件直接在phpMyAdmin下面执行flextest.sql里的sql语句就行了.因为公司禁端口,我不能在线操作我空间的sql的数据库,在线演示地址就没有,等有时间在家里加上.

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

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="onInit()" xmlns="*" layout="absolute" backgroundGradientColors="[#ffffff, #c0c0c0]">
   <mx:Script>
           <![CDATA[
                   public function onInit():void
                   {
                           userRequest.send();
                  } Webjx.Com
           ]]>
   </mx:Script>
   <mx:HTTPService id="userRequest" url="request.php" useProxy="false" method="POST">
      <mx:request xmlns="">
         <username>{username.text}</username><emailaddress>{emailaddress.text}</emailaddress>
      </mx:request>
   </mx:HTTPService>
   <mx:Form x="22" y="10" width="356">
      <mx:HBox>
         <mx:Label text="Username"/>
         <mx:TextInput id="username"/>

Webjx.Com


      </mx:HBox>
      <mx:HBox>
         <mx:Label text="Email Address"/>
         <mx:TextInput id="emailaddress"/>
      </mx:HBox>
      <mx:Button label="Submit" click="userRequest.send()"/>
   </mx:Form>
   <mx:DataGrid id="dgUserRequest" x="22" y="128" dataProvider="{userRequest.lastResult.users.user}">
      <mx:columns>
         <mx:DataGridColumn headerText="User ID" dataField="userid"/>
         <mx:DataGridColumn headerText="User Name" dataField="username"/> 网页教学网
      </mx:columns>
   </mx:DataGrid>
   <mx:TextInput x="22" y="292" id="selectedemailaddress" text="{dgUserRequest.selectedItem.emailaddress}"/>
</mx:Application> Webjx.Com

php:
 

Webjx.Com


 

 

<?php
/* Thanks to Pete Mackie for the code below */

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

# Connect to the database
$mysqli = new mysqli(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME);

# Check connection
if (mysqli_connect_errno()) {
   printf("MySQL connect failed: %s\n", mysqli_connect_error());
   exit();
}

# Quote variable to make safe
function quote_smart($value) {
        global $mysqli; Webjx.Com
        # Stripslashes
        if (get_magic_quotes_gpc())
                $value = stripslashes($value);

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

if (!empty($_POST) && $_SERVER[’REQUEST_METHOD’] == ’POST’) {
        if ($_POST[’emailaddress’] && $_POST[’username’]) {

 

                # Add the user
          $query = sprintf("Insert INTO users VALUES (’’, ’%s’, ’%s’)", quote_smart($_POST[’username’]), quote_smart($_POST[’emailaddress’]));
                if (!@$mysqli->query($query)) {
                        printf("’flextest’ user database query insert error: %s\n", $mysqli->error);
                        $mysqli->close(); 网页教学网
                        exit();
                }
        }
}

# Return a list of all the users
if (!$result=@$mysqli->query("Select * from users")) {
        printf("’flextest’ user database query select error: %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的一道理了.

源码下载:http://www.webjx.com/files/soft/1_071030193505.rar
本文来自:网页教学网(www.webjx.com)原文链接:http://www.webjx.com/Flash/actionscript/20071030/actionscript_185.html

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

Delphi 12.3 作为一款面向 Windows 平台的集成开发环境,由 Embarcadero Technologies 负责其持续演进。该环境以 Object Pascal 语言为核心,并依托 Visual Component Library(VCL)框架,广泛应用于各类桌面软件、数据库系统及企业级解决方案的开发。在此生态中,Excel4Delphi 作为一个重要的社区开源项目,致力于搭建 Delphi Microsoft Excel 之间的高效桥梁,使开发者能够在自研程序中直接调用 Excel 的文档处理、工作表管理、单元格操作及宏执行等功能。 该项目以库文件组件包的形式提供,开发者将其集成至 Delphi 工程后,即可通过封装良好的接口实现对 Excel 的编程控制。具体功能涵盖创建编辑工作簿、格式化单元格、批量导入导出数据,乃至执行内置公式宏指令等高级操作。这一机制显著降低了在财务分析、报表自动生成、数据整理等场景中实现 Excel 功能集成的技术门槛,使开发者无需深入掌握 COM 编程或 Excel 底层 API 即可完成复杂任务。 使用 Excel4Delphi 需具备基础的 Delphi 编程知识,并对 Excel 对象模型有一定理解。实践中需注意不同 Excel 版本间的兼容性,并严格遵循项目文档进行环境配置依赖部署。此外,操作过程中应遵循文件访问的最佳实践,例如确保目标文件未被独占锁定,并实施完整的异常处理机制,以防数据损毁或程序意外中断。 该项目的持续维护依赖于 Delphi 开发者社区的集体贡献,通过定期更新以适配新版开发环境 Office 套件,并修复已发现的问题。对于需要深度融合 Excel 功能的 Delphi 应用而言,Excel4Delphi 提供了经过充分测试的可靠代码基础,使开发团队能更专注于业务逻辑用户体验的优化,从而提升整体开发效率软件质量。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值