数据载入中,请稍后......
 
展开
懒人码库客户端 点击或扫描下载
欢迎来到懒人码库!懒人码库QQ群:19651313
欢迎来到懒人码库!懒人码库QQ群:19651313  
当前位置:懒人码库 > Flash/AS

Flash与PHP间变量如何传递

2014-12-01 14:14 来源:www.lanrenmaku.com / 作者:懒人 已被阅读:次 分类:Flash/AS 上一篇:FLASH中如何调用外部*.swf文件(加载到影片剪辑中) 下一篇:防止SWF文件被反编译 SWF文件加密工具(SWF Protection)

一. FLASH读取外部信息
  
  先说一下flash读取外部文本
文件,建一文本文件(myvar.txt),其内容如下:
  myvar1=aaa&myvar2=bbb
  
  同目录建一FLASH,保存为a.fla,在第一桢,建两个动态文本,在下面属性栏,分别设置其变量名为myvar1和myvar2,在桢上写as代码:
  
  loadVariables("myvar.txt",_root);
  
  运行一下看看。
  
  你应该可以用php输出类似以上文本文件的内容吧,如:
  myvar.php
  <?php
  echo "myvar1=aaa&myvar2=bbb";
  ?>
  
  记得把"loadVariables("myvar.txt",_root);"改成"loadVariables("myvar.php",_root);"
  
  二. FLASH向外部发送数据
  
  以上面的flash文件为例,建一个a.php,其
内容如下:
  
  
  在flash里新建一个按纽,并为按纽写代码:
  
  on(release){
  getURL("a.php","_blank","GET");
  }
  
  在网站环境下运行试试,假设你的网站在本机测试,刚才的文件在网站根目录,则用地址“
http://127.0.0.1/a.swf”测试一下看

总结下flash和php通信的学习经验
网上搜索了很多,要么只写了个大概,要么总是有这有那的错误,不适合新人学习。于是乎自己摸索了2天,学成后决定将经验写出,以适合FLASH新人和PHP新人阅读的菜鸟级文章。源码请下载附件。
phpchina混久了,感觉自己一直在进步,目前正在用PHP 的OOP方式结合FLASH写一个小游戏,过几天写好了在发给大家一起分享。
=
=
学习flash和php,mysql数据连接,需要一点flash基础,php基础和JAVAScript基础,一点点就好。
打开FLASH8,没有的话去百度,GG搜索下一个吧
我学的是PHP,开始没接触过FLASH,找个文本框,按钮组件什么的都弄了好一会,花好一会时间才FLASH入门。
废话不多说,下面开始写自己摸索的经验。
一、在第1帧代码里建立一个文本框实例textarea,实例名字为a1;再建立一个按钮实例button,实例名字为b1;并在
“动作”里写入代码
[php]
System.useCodepage=true; //FLASH中设置中文显示,以防乱码
b1.onPress = function () //实例按钮b1按下时触发事件
{
var qwe=new LoadVars(); 
 //使用LoadVars类
 
   qwe.flash_content=a1.text; //将实例a1的数据传入变量flash_content
 
   qwe.sendAndLoad("1.php",qwe,"post"); //发送变量到1.php
 
   gotoAndPlay(5);  //最后FLASH播放第5页
}
stop();//在按钮按下前,FLASH停止在当前帧
[/php]
二、在第5帧新建空白关键帧,建立按钮实例button,实例名字为b2;并在“动作”里写入代码
[php]
b2.onPress = function ()
{
gotoAndPlay(6);
 
       //按钮按下播放第6页,这步动作纯属为数据传递到PHP并写入MYSQL延长时间
}
stop();//在按钮按下前,FLASH停止在当前帧
[/php]

三、在第8帧新建空白关键帧,在“动作”里写入代码
[php]
loadVariablesNum("1.php",0,"post"); //连接1.php并读取信息
System.useCodepage=true; //FLASH中设置中文显示,以防乱码
[/php]

四、在第20帧新建空白关键帧,建立文本框实例textarea,名字为s1。在“动作”里写入代码
[php]
//20帧才写这段代码也是为PHP程序运行延长时间
s1.text=s; 
 //读取PHP输出的变量s,并传送到文本框实例s1显示
stop(); 
   //停止当前帧,以便阅读,不停止的话FLASH就跳到第1帧了
[/php]
五、打开代码编译器或者你的记事本写PHP代码
[php]
<?php



include('config.php');//链接数据库文件,这个不多说了
$content=$_POST['flash_content'];
//取得FLASH传来的变量flash_content,并赋给PHP变量$content
$str_sql="INSERT INTO 
 test (content) VALUES ('$content')";
//将变量$content写入数据库
mysql_query($str_sql);
//查询一遍
$exec="select * from test ORDER BY id DESC limit 0,1";
//读取数据库信息
$result = mysql_query($exec);
//查询读取的数据
while($row= mysql_fetch_array($result))
//将数据传给数组变量$row
{
$act=$row[content]; //提取数组$row中字段content数据给$act
echo"&s=$act"; 
 
//输出变量$act,注意输出内容前面加&s= ,因为FLASH变量是以&开头,
//FLASH读到&s时自动将后面的内容赋给变量&s
}
?>
[/php]
[php]
<?php



$link=mysql_pconnect ('localhost','root','123456');
//打开数据库
if(!$link)
{
die('<b>数据库连接失败!</b>');
}
mysql_select_db ('chat');
//选择数据库
mysql_query("set names 'gb2312'");
//设置编码
?>
[/php]
六、新建数据库chat
数据库里建立表test。
建立字段id,类型int,no null,自增,设为主键。
建立字段content,类型text。

或者新建SQL文件,直接导入下面mysql代码。
[php]
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- 数据库: `chat`
--
CREATE DATABASE `chat` DEFAULT CHARACTER SET gb2312 COLLATE gb2312_bin;
USE `chat`;
-- --------------------------------------------------------
--
-- 表的结构 `test`
--
CREATE TABLE IF NOT EXISTS `test` (
 
 `id` int(40) NOT NULL auto_increment,
 
 `content` text collate gb2312_bin,
 
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM 
 DEFAULT CHARSET=gb2312 COLLATE=gb2312_bin AUTO_INCREMENT=145 ;

[/php]

小贴士:懒人码库 为网页前端人员提供建站常用的广告代码和网页特效,内容涵盖焦点图,导航菜单,jQuery代码,图片特效,对联广告,日历控件,在线客服等。