[as3]Flash cs3,Flex与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);
            conn.open();
}catch(e){
            Response.Write('<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><div style="font-size:12px;font-weight:bold;border:1px solid #006;padding:6px;background:#fcc">数据库连接出错,请检查连接字串!</div>');
            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:
程序代码 程序代码

<?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();
          }
       ]]>
   </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"/>
      </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>


php
程序代码 程序代码

<?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;
    # 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的一道理了.
源码在这里:
点击下载




[本日志由 wolf2999 于 2009-05-24 05:15 PM 编辑]
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 15 | 引用: 0 | 查看次数: 7120
Azan [2010-05-20 02:30 AM]
你好
能否麻烦给发一份Flex + ASP + 数据库源码给我好吗
[img]http://services.nexodyne.com/email/icon/%2BzBJHboVHg%3D%3D/S6EZMgU%3D/R01haWw%3D/0/image.png[/img]
非常谢谢
Jacker [2010-05-10 09:06 PM]
你好呀 是否能send一份 flash + php 源码给我吗

我的邮箱是 : weikit008@gmail.com
laozhu [2009-09-27 02:03 PM]
你好!感谢你的文章, 能否发其中的代码给我一份好吗?上面的链接下载不了,非常感谢!
okzu@sina.com
laozhu [2009-09-27 02:02 PM]
你好!感谢你的文章, 能否发其中的代码给我一份好吗?上面的链接下载不了,非常感谢!
yefan [2009-05-23 05:47 PM]
源代码下不了,麻烦发一下krsthuijuan@163.com可以吗?
ccmm18 [2008-12-18 11:21 AM]
你好,要是方便的话,您可以把Flex+ASP的,ASP的代码给我一份好吗?我是新手,想学习这方面的东西。
非常谢谢
wolf2999 [2008-11-21 09:18 AM]
已经打开.请再下载试试.
HanC [2008-11-20 00:24 AM]
你好 。 我也是新手 、

想学有关Flash + ASP + 数据库方面的。

看了你的例子 。但是源代码下不了 。

能麻烦给发一份不 ?

谢谢了。

邮箱:lmhanc@163.com你好 。 我也是新手 、

想学有关Flash + ASP + 数据库方面的。

看了你的例子 。但是源代码下不了 。

能麻烦给发一份不 ?

谢谢了。

邮箱:lmhanc@163.com
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭