当前位置: 首页 > 面试题库 >

从Flash AS3向PHP发送和接收数据

邹锦
2023-03-14
问题内容

我知道这是经常问到的问题,但是我遍及整个Internet来查找我用来从AS3向PHP发送数据和从PHP接收数据的代码所犯的错误,反之亦然。你能找到错误吗?这是我的代码:

AS3:

import flash.events.MouseEvent;
import flash.net.URLLoader;
import flash.net.URLRequest;
import flash.net.URLVariables;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequestMethod;
import flash.events.Event;

submitbtn.addEventListener(MouseEvent.CLICK, sendData)

function sendData(event:MouseEvent):void
{
    var loader : URLLoader = new URLLoader;
    var urlreq:URLRequest = new URLRequest("http://[mydomain]/test.php");
    var urlvars: URLVariables = new URLVariables;
    loader.dataFormat = URLLoaderDataFormat.VARIABLES;
    urlreq.method = URLRequestMethod.POST;
    urlvars.uname = nametxt.text;
    urlvars.apellido = aptxt.text;
    urlvars.email = emtxt.text;
    urlvars.cedula = cctxt.text;
    urlvars.score = scoretxt.text;
    urlreq.data = urlvars;
    loader.addEventListener(Event.COMPLETE, completed);
    loader.load(urlreq);
}

function completed(event:Event): void
{
    var loader2: URLLoader = URLLoader(event.target);
    trace(loader2.data.done);
    resptxt.text = event.target.data.done;
}

[domain] /test.php中的PHP:

<?php
    $username = $_POST["uname"];
    $apellido = $_POST["apellido"];
    $cedula = $_POST["cedula"];
    $email = $_POST["email"];
    $score = $_POST["score"];
    print_r($_POST);
    if (!($link=mysql_connect(databasemanager,username,password))) 
       { 
          echo "Error conectando a la base de datos."; 
          exit(); 
       } 
       if (!mysql_select_db(database,$link)) 
       { 
          echo "Error seleccionando la base de datos."; 
          exit(); 
       }
       try
       {
           mysql_query("insert into scores(name,lastName,email,document,score) values('$username','$apellido','$email','$cedula','$score')",$link);                
           print "done=true";          
       }
       catch(Exception $e)
       {
           print "done=$e->getMessage()";          
       }
       echo "done=true";    
?>

感谢您的回答。


问题答案:

您的AS代码似乎正确。因此问题可能出在PHP中。请首先使用以下PHP文件进行测试:

<?php
       echo "test=1&done=true";    
?>

然后,这应该让您的电影跟踪"true"。然后,您应该调试PHP。print_r($_POST);当然会破坏您的输出。可能是您忘记删除此调试语句了:-)

@Jesse和@​​Ascension
Systems,请检查文档中的URLVariables:http
://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/net/URLVariables.html



 类似资料:
  • 问题内容: 我正在使用套接字连接我的Android应用程序(客户端)和Java后端服务器。每次与服务器通信时,我都希望从客户端发送两个数据变量。 1)某种消息(由用户通过界面定义) 2)消息的语言(由用户通过界面定义) 我该如何发送这些消息,以便服务器将每个消息解释为一个单独的实体? 在读取了服务器端的数据并做出了适当的结论之后,我想向客户端返回一条消息。(我想我会没事的) 因此,我的两个问题是如

  • 我正在尝试从Android向我的php服务器提交数据。然而,所有的答案似乎都使用了不推荐使用的ApacheHTTP库。我不想用它,当我试着用的时候,它不起作用。 现在它似乎什么也没做。它似乎连接到web服务器,但服务器不写入任何数据。如果我只是用浏览器访问url,它会写入一个文件。 php代码是 然后在Android studio中,我会在按下按钮后放入所有代码

  • http://Socket.io允许你触发或响应自定义的事件,除了connect,message,disconnect这些事件的名字不能使用之外,你可以触发任何自定义的事件名称。 服务器端 // 注意,io(<端口号>) 将为你创建一个http服务。 var io = require('socket.io')(80); io.on('connection', function (socket)

  • 问题内容: 我正在尝试为请求和响应应用程序创建桌面客户端。 我能够轻松地执行GET请求。但是我想知道是否有人可以帮助我确定如何进行JSON请求和响应。并将其解析为字符串,从那里我可以锻炼如何将其全部切开 问题答案: Json.net在.net世界中无处不在。

  • 问题内容: 我是Android开发的新手,我想开发一个使用蓝牙发送和接收文本的应用程序。从逻辑上讲,我已经获得了有关发送文本的所有信息,但是当我尝试在手机中对其进行测试时,看不到该界面。 这是代码 UUID.fromString(“00001101-0000-1000-8000-00805f9b34fb”); mmSocket = mmDevice.createRfcommSocketToServ