flash后台数据连接(PHP篇) 之 php&flash收藏夹

后台|数据

距上次在flash8写文章(为Alert组件加上响应功能!~http://space.flash8.net/bbs/thread-319211-1-1.html)之后已经有好久没有动笔墨了,不知有没有生绣。这次要写的是PHP和flash,这里做一个简章的例子 --  php&flash 收藏夹,当然这只是说明如何实现传递变量及php写文件。

我的设想(流程):写入操作:填好数据到表单中,点按钮保存 -> 透过php写入文件favorite.dat中(你也可以改成MySql,应该不是很难) 。读数据: 点刷新按钮 -> 通过php读取全部的数据 -> 返回到flash TextArea中,(因为TextArea支持简单的HTML,当然也包括<a href..>)。删除:留给你的作业!

说明:因为只通过一个php文件,所以我在flash设定了一个变里 $_POST[a] 用于分别出是保存还是刷新,如不考虑删除,也可以直接改成,在php端判断。如果是$_POST则,为写数据,相应的$_GET就为读数据(这里的刷新)。好了,开始:
一: 打开你的flash 8 新建一个影片,这里我们需要几个组件
1. 一个TextArea -> 我命名为: url_textarea 。这里的属性我设置成了支持HTML,以便我的那些网址可以点击,有人问:为什么不用DataGrid啊,因为我还没有学会用。
2. 二个TextInput -> 命名为 : webname_txt 和 url_txt。
3. 三个Button -> 命名为: save_btn 和 refresh_btn。
4. 以及几个用作说明的label。
二: 打开代码写上:
import mx.controls.Alert; //加入Alert,以便弹出一个提示信息
var send_lv = new LoadVars (); //发送到服务器的变量
var save_lv = new LoadVars ();  //保存存时从服务器返回的信息
var refresh_lv = new LoadVars (); // 刷新时从服务器返回的信息
/**
* 设定添加按钮的动作
*/
append_btn.onRelease = function(){
        send_lv.a = "save"; //使用保存方法
        send_lv.name = webname_txt.text; //网站名称
        send_lv.url = url_txt.text; //网址
        send_lv.sendAndLoad ("favorite.php", save_lv, "POST");  //发送数据到php
        webname_txt.text = url_txt.text = ""; //清空文本框
}
/**
* 设定刷新按钮
*/
refresh_btn.onRelease = function() {
                send_lv.a = "refresh"; //刷新方法
                send_lv.sendAndLoad ("favorite.php", refresh_lv, "POST"); //返回数据
}
//保存效应
save_lv.onLoad = function (success : Boolean)
{
                if (success){
                        // save_lv.msg是从php处返回的提示信息
                        mx.controls.Alert.show (save_lv.msg, "Debug Message", Alert.YES, _root, false, "prueba", Alert.OK);
                }
                else {
                        mx.controls.Alert.show ("错误,未能加载", "Debug Message", Alert.YES, _root, false, "prueba", Alert.OK);
                }
}
//刷新响应
refresh_lv.onLoad = function (success : Boolean)
{
                if (success){
                        mx.controls.Alert.show (refresh_lv.msg, "Debug Message", Alert.YES, _root, false, "prueba", Alert.OK); //弹出信息
                        //显示到TextArea中
                        url_textarea.text = refresh_lv.data; 
                }
                else {
                        mx.controls.Alert.show ("错误,未能加载", "Debug Message", Alert.YES, _root, false, "prueba", Alert.OK);
                        
                }
}
stop();三:写那个favorite.php
我喜欢用的编辑器: editplus 介绍给大家使用,写入代码:
<?php
/***
* php & flash 收藏夹
*
* 这里要实现的功能是,用flash来展示和通过php来读写文本来
* 实现一个收藏夹的功能
*
* 数据的储存结构
* $name|$url|$date|&|$name|$url|$date....
*/

/**
* 实现添加的功能
* @ $name : 收藏的网站名
* @ $url : 网址
*/
function append($name,$url){
        $fp = fopen("favorite.dat","a+"); //添加模式
        $flag = fwrite($fp,"$name|$url|".time()."|&|"); //添加是否成功?
        fclose($fp);
        return $flag;
}

/***
* 实现读取功能
* 返回:数组
*/
function get_data(){
        $f = "favorite.dat"; //要读取的文件
        $fp = fopen($f,’r’);
        $tmpdata = fread($fp,filesize($f)); //全部读取
        fclose($fp);

        $detail= explode(’|&|’,$tmpdata); //分解数据

        for($i=0; $i<sizeof($detail)-1; $i++) {
                $out = explode(’|’,$detail[$i]); //再分一次就可以输出了
                $date=date("Y/m/D",$out[2]); //格式化日期

                $ret_data .= "<a href=’$out[1]’>$out[0]</a> - [$date]<br>"; //格式化数据了
        }
        return "&data=$ret_data";
}

/***
* 确定是何种方法,是保存数据还是点刷新按钮!
*/

if ($_POST[a] == "save") {
        if(append($_POST[name],$_POST[url])) {
                echo "msg=是的,已经保存好了";
        }
        else{
                echo "msg=不好意思,技术原因,没能保存 :-(";
        }
}
elseif ($_POST[a] == "refresh") {
                echo "msg=数据来了,接收中...".get_data();
}
?>这里有一点:一定要记得建立一个favorite.dat,因为fopen(fp,'a+') ,这里的a+模式不能新建文件,所以你要建好!

时间: 2024-12-21 21:52:22

flash后台数据连接(PHP篇) 之 php&flash收藏夹的相关文章

flash后台数据连接(PHP篇)之php&amp;flash收藏夹---amfphp实现+mysql

mysql|后台|数据 这里就不多说了,应该很容易就可以看懂了!这里没有用TextArea而改用了DataGrid! :-) 刚学会! import mx.remoting.Service; import mx.services.Log; import mx.rpc.RelayResponder; import mx.rpc.FaultEvent; import mx.rpc.ResultEvent; import mx.remoting.PendingCall;  import mx.remo

flash后台数据连接(PHP篇)之php&amp;amp;flash收藏夹-amfphp实现+mysql

这里就不多说了,应该很容易就可以看懂了!这里没有用TextArea而改用了DataGrid! :-) 刚学会! import mx.remoting.Service;import mx.services.Log;import mx.rpc.RelayResponder;import mx.rpc.FaultEvent;import mx.rpc.ResultEvent;import mx.remoting.PendingCall;import mx.remoting.debug.NetDebug

flash与后台数据交换方法整理续

后台|数据 相关文章:flash与后台数据交换方法整理      个人觉得WebService的数据访问速度,仅次于Remoting,但WebService是一种通用型的接口,一般服务端技术都支持的!      WebService的优点:       1.WebService的接口支持比较广泛(Java,ASP.Net,PHP,Coldfusion-我下面举例用):       2.WebService是一个通用型的接口,所以服务端写的接口,不局限于Flash使用,其他程序也可以调用,"一举两

腾讯 服务器 后台数据-后台数据怎样连接到腾讯服务器?

问题描述 后台数据怎样连接到腾讯服务器? 我的一个网站的游戏用到Q币支持的虚拟货币,需要将后台数据连接到腾讯的服务器,那个游戏app未上线,现在就想先将后台数据迁移到腾讯服务器上面,找不到流程,有没有人知道或和腾讯有过类似合作的?

flash与后台数据交换方法整理

后台|数据 P.S   最近有一些网友总是询问flash与后台数据交互的问题,因此我就做了一些总结和整理,也想方便大家了!   目前据我所知,Flash与后台数据交互共有下列几种方法(如果你觉得不全,你可告知一下,我会添加上去了):    1.LoadVars(XML)    2.Flash Remoting    3.Webservice    4.XMLSocket  一.LoadVars篇  我之所以把XML也放在这里说,是因为XML和LoadVars数据交互的方式大体相同,就是传递时的数

[AS3]Flash与后台数据交换四种方法整理【转】

随着Flash Player 9的普及,AS3编程也越来越多了,所以这次重新整理AS3下几种与后台数据交换方法. 1.URLLoader(URLStream) 2.FlashRemoting 3.XMLSocket(Socket)  4.FMS/FCS 一.URLLoader(URLStream)篇 URLStream和URLLoader中URLLoaderDataFormat.BINARY类似,它提供对下载 URL 的低级访问方式,我在此不再重复了,有兴趣的,可以看Flash帮助中URLStr

Flash与后台数据交换方法整理_Flash As

一.LoadVars篇   我之所以把XML也放在这里说,是因为XML和LoadVars数据交互的方式大体相同,就是传递时的数据内容有点不一样而已!    我现在列出在开发过程最常用的"用户密码验证"实例,加以说明! 复制代码 代码如下: //=======================================================;  // Flash代码;  //==================================================

浅谈站长如何根据后台数据进行内容的构建

对于每一个站长来说,为访客和搜索引擎蜘蛛提供新鲜的高质量的内容是每天的工作之一,如果一个站点长期没有在内容上更新的话,访客和搜索引擎最终都会流失.对于内容的更新,我们是不是只要每天更新几篇就没事了呢?这样的成效有多少?笔者认为只是为了更新而更新的是得不到好的效果的.我们在更新内容的时候还要充分的利用现有的数据,即后台的流量数据来进行内容的构建,才能达到最好的效果.那么笔者将就如何利用后台数据进行内容构建分享自己的心得. 一:通过分析站点后台数据的PV值构建内容 PV只是一个站长们判断用户的友好体

spring学习笔记(17)数据库配置[1]spring数据连接池详解

数据连接池 在spring中,常使用数据库连接池来完成对数据库的连接配置,类似于线程池的定义,数据库连接池就是维护有一定数量数据库连接的一个缓冲池,一方面,能够即取即用,免去初始化的时间,另一方面,用完的数据连接会归还到连接池中,这样就免去了不必要的连接创建.销毁工作,提升了性能.当然,使用连接池,有一下几点是连接池配置所考虑到的,也属于配置连接池的优点,而这些也会我们后面的实例配置中体现: 1. 如果没有任何一个用户使用连接,那么那么应该维持一定数量的连接,等待用户使用. 2. 如果连接已经满