`

Flex的通信方式(三)——HTTPService_1

阅读更多


MXML代码:



<?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="config.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
# 定义数据库资料
Define('DATABASE_SERVER', 'localhost');
Define('DATABASE_USERNAME', 'root');
Define('DATABASE_PASSWORD', '');
Define('DATABASE_NAME', 'flexphp');

# Connect to the database

$mysqli = new mysqli(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD, DATABASE_NAME);
mysqli_query($mysqli,"SET NAMES 'utf8'");   //设置UTF8编码

# 判断数据库链接是否OK
if (mysqli_connect_errno()) {
   printf("MySQL connect failed: %s\n", mysqli_connect_error());
   exit();
}


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']) {
    
     # 添加数据
       $query = sprintf("Insert INTO login VALUES ('', '%s', '%s')", quote_smart($_POST['username']), quote_smart($_POST['emailaddress']));
         if (!@$mysqli->query($query)) {
             printf("'flexphp' login database query insert error: %s\n", $mysqli->error);
             $mysqli->close();
             exit();
         }
     }
}

# 显示数据
if (!$result=@$mysqli->query("Select * from login")) {
     printf("'flexphp' login database query select error: %s\n", $mysqli->error);
     $mysqli->close();
     exit();
}

#写入XML文件
$xml_return = "<users>";
while ($user = mysqli_fetch_array($result, MYSQLI_ASSOC)) {
     $xml_return .=
     "<user><userid>".$user['id']."</userid><username>".$user['name']."</username><emailaddress>".$user['mail']."</emailaddress></user>\n";
}
$xml_return.= "</users>";
$mysqli->close();
echo $xml_return;
?>









在调试时候, 由于使用的是PHP内库MYSQLI ,   会出现问题, 下面是解决这个问题的方法:

1. 在conf\php.ini中,在vim用 "php_mysql" 搜索到extension=php_mysql.dll,去掉前面的";",同时在下面增加extension=php_mysqli.dll;
2. "extension_dir" 检查路径是否正确;
3. 找到ext/目录,把其中的php_mysql.dll,php_mysqli.dll两个文件Copy to system/system32下(这个地方目录我没找到这样的, 我就COPY TO   windows 和 system里面, 也成功了。).
4. 重启服务.切记, 一定要重启服务。





-- phpMyAdmin SQL Dump
-- version 2.9.2
-- http://www.phpmyadmin.net
--
-- 主机: localhost
-- 生成日期: 2008 年 07 月 22 日 06:01
-- 服务器版本: 5.0.27
-- PHP 版本: 5.2.1
--
-- 数据库: `flexphp`
--

-- --------------------------------------------------------

--
-- 表的结构 `login`
--

CREATE TABLE `login` (
`id` int(255) NOT NULL auto_increment,
`name` varchar(255) collate utf8_unicode_ci NOT NULL,
`mail` varchar(20) collate utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=5 ;

--
-- 导出表中的数据 `login`
--

INSERT INTO `login` VALUES (1, '张三', 'zhangsan@163.com');
INSERT INTO `login` VALUES (2, '李四', 'lisi@163.com');
INSERT INTO `login` VALUES (3, '王五', 'wangwu@163.com');
INSERT INTO `login` VALUES (4, '赵六', 'zhaoliu@163.com');
  • c200872213599.rar (612 Bytes)
  • 描述: 下载数据库文件login.sql
  • 下载次数: 2
分享到:
评论

相关推荐

    Flex从入门到实践_1

    Flex SDK包含了编译器、IDE集成、组件库以及运行时环境——Flash Player或Adobe AIR。Flex的应用程序通常以SWF格式运行在浏览器中,为用户提供交互性强、视觉效果丰富的体验。 2. **ActionScript基础** ...

    Flex 第一步 Chapter_2

    10. **Flex与服务器通信**:讲解如何使用HTTPService、WebService或Remoting等技术与后端服务器进行数据交互。 这个章节可能是逐步引导式的,通过实例来解释上述概念,帮助初学者建立坚实的基础。通过实践这些知识...

    Flex案例代码,Flex案例代码

    5. **服务调用**:Flex可以轻松地与后端服务器进行通信,如通过HTTPService或WebService调用远程API,获取或提交数据。 6. **事件驱动编程**:Flex应用是事件驱动的,用户操作或其他系统事件会触发相应的事件处理器...

    Flex从入门到实践——源代码(10章)

    1. **基础概念**:Flex的基础包括MXML和ActionScript。MXML是一种标记语言,用于构建用户界面,而ActionScript则是面向对象的编程语言,负责处理逻辑和交互。源代码中可能会展示如何在MXML文件中声明组件,并在...

    Flex从入门到实践——源代码(15,16,17章)

    1. Flex基础概念 - Flex是一个开放源代码的框架,用于构建跨平台的桌面和移动应用程序,基于Flash Player或Adobe AIR运行。 - MXML是Flex的主要标记语言,用于声明式地创建用户界面布局和组件。 - ActionScript是...

    3DGame.rar_flex_跳棋

    本篇文章将深入探讨如何利用Adobe Flex这一强大的开发工具,创建一个具有三维视觉效果的跳棋游戏——"3DGame"。 Flex是一种基于ActionScript 3.0的开源框架,主要用于构建富互联网应用程序(RIA)。它的出现极大地...

    Java和Flex通过Blaze 通信

    在这样的背景下,BlazeDS应运而生,它作为中间件,提供了Java和Flex之间的数据通信解决方案。 BlazeDS是Adobe公司发布的一个开源项目,它的主要功能是为Java服务器和Flex客户端提供实时的双向通信。通过使用BlazeDS...

    ColdFusion Flex intergeration demo 1

    《ColdFusion与Flex集成应用探索——以"ColdFusion Flex intergeration demo 1"为例》 在当今的Web开发领域,ColdFusion和Flex是两种强大的技术,它们分别在服务器端和客户端展现出了各自的优势。ColdFusion,由...

    ASP.NET源码——[图片动画]flex图片上传带预览功能.zip

    这个压缩包“ASP.NET源码——[图片动画]flex图片上传带预览功能.zip”显然是一个用于展示如何在ASP.NET环境中实现图片上传并带有预览功能的示例代码。 Flex是Adobe公司推出的一种用于创建富互联网应用(RIA)的开发...

    flex4组建以及DEMO实例.安装序列号

    Spark组件基于Flex4的图形渲染引擎——Gumbo,允许开发者自定义组件外观和行为,提供了更丰富的UI设计可能性。例如,Button、Label、Accordion、TabNavigator等都是常用的Spark组件,它们可以通过MXML或ActionScript...

    FLEX通过JSP与数据库交互

    为了解决FLEX无法直接与数据库通信的问题,可以采用以下方法:通过HTTPService组件向JSP页面发送请求,由JSP页面处理这些请求并与数据库进行交互。这种方法不仅解决了跨平台问题,还能够利用Java强大的后端处理能力...

    flex 教程 flex 自学完成手册

    7. **服务调用**:Flex可以方便地与后端服务器通信,如使用HTTPService、WebService或AMF服务来获取或提交数据。理解XML、JSON数据格式的处理和序列化。 8. **图形和动画**:Flex支持基本的绘图和动画功能,你可以...

    SAP Web Dynpro Java集成FLEX应用分析.pdf

    Flex的整体架构包括一个开发IDE——FlexBuilder,它有自己的类库框架(Flex Framework)、组件(Components)以及用于服务器通信的中间件(LiveCycle Data Services ES)。Flex应用由MXML、ActionScript和Flex Class ...

    flex + ssh框架 结合例子

    1. **AMF通信**:AMF是一种二进制格式,用于在Flex客户端和服务器之间传输数据。它比HTTP/JSON更快,更适合大量数据的交换。使用 BlazeDS 或 GraniteDS 这样的中间件,可以轻松实现Flex与Spring的AMF集成。 2. **...

    flex学习的资料文档

    在Flex中,事件是组件间通信的主要方式。事件包括用户交互事件(如click、focusIn)、数据改变事件(如dataChange)等。通过添加事件监听器,你可以编写处理这些事件的函数。例如,为Button组件添加点击事件监听器,...

    Flex+java+mySQL(blazds链接方法)

    BlazDS是Adobe提供的一个开源项目,它是Flex与Java应用程序之间的数据服务层,允许双向通信,即Flex客户端可以调用Java服务器上的服务,同时服务器也能向客户端推送数据。BlazDS提供了Remoting和MessageBroker服务,...

    Flex 3 RIA开发详解与精深实践

    《Flex 3 RIA开发详解与精深实践——企业级Web应用与AIR桌面应用》一书深入探讨了Flex 3在实际项目中的应用,涵盖了从基础到高级的各种技术,包括组件设计、数据绑定、服务集成、动画效果以及Adobe AIR的桌面应用...

    Flex的LCDS服务器架构

    LCDS客户端架构包含了几个关键的Flex组件,如RemoteObject、HTTPService、WebService、Producer、Consumer和DataService。其中,RemoteObject、Producer和Consumer是在Flex SDK的rpc.swc组件库中,而DataService则在...

Global site tag (gtag.js) - Google Analytics