Tôi biết điều này thường được yêu cầu, nhưng tôi đã xem xét tất cả trên internet để tìm lỗi mà tôi đang thực hiện với mã tôi đã sử dụng để gửi và nhận dữ liệu từ AS3 đến PHP và viceversa. Bạn có thể tìm thấy lỗi sai không? Đây là mã của tôi:Gửi và nhận dữ liệu từ Flash AS3 tới 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;
}
PHP bên trong [miền] /test.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";
?>
Cám ơn câu trả lời của bạn.
Xin vui lòng, cung cấp ít nhất thông tin chính xác những gì đang xảy ra sai. –
Cố gắng chạy PHP của bạn trực tiếp trong trình duyệt, chuyển đổi các biến POST cho GET để bạn có thể kiểm tra nó dễ dàng. Tôi nghi ngờ bạn sẽ tìm thấy một lỗi ở đó. – shanethehat
kết quả của resptxt.text = event.target.data.done này là gì; –