Actionscript 3 — использование AS3 для отправки данных в php файл

Я пытаюсь использовать urlLoader, но он не работает, и я не знаю почему ..

Я создал файл php, который я загрузил. Вот код php:

<?php

$psPreRegEmail=$_POST['sEml'];
$FRM_ID=$_POST['sID'];
$psBD=$_POST['sBD'];

echo "email=".$psPreRegEmail;
echo "&id=".$FRM_ID;
echo "&db=".$psBD;

?>

Вот мой код AS3:

var request:URLRequest = new URLRequest('http://www.mysite.fr/login.php')
var variables:URLVariables = new URLVariables()
variables.sEml = 'steph4'
variables.sID = 'steph5'
variables.sBD = 'steph6'

request.data = variables
request.method = URLRequestMethod.POST
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE, handleComplete);
loader.load(request)

function handleComplete(event:Event) {

var loader:URLLoader = URLLoader(event.target)
var vars:URLVariables = new URLVariables(loader.data)

trace('vars.email: '+vars.email)
trace('vars.id: '+vars.id)
trace('vars.db: '+vars.db)

}

Нет ошибок, но когда я иду на http://www.mysite.fr/login.php он отображает: email=&id=&db=

Почему я не вижу: ???

email=steph4
id=steph5
db=steph6

Я начинаю задаваться вопросом, можно ли отправлять данные из приложения AIR в файл php на сервере?
Может быть, потому что из соображений безопасности невозможно отправить данные на URL?

0

Решение

Ваш AS3-код в порядке, но в вашем PHP-коде вы должны сделать так:

<?php

$psPreRegEmail = $_POST['sEml'];
$FRM_ID = $_POST['sID'];
$psBD = $_POST['sBD'];

echo "email=".$psPreRegEmail."&id=".$FRM_ID."&db=".$psBD;

?>

По поводу вашего вопроса, почему вы не получаете то, что вы хотите, когда вы открываете http://www.mysite.fr/login.php ? Это потому что ваш $_POST массив пуст, и тогда ваши переменные пусты. Вы должны просто запустить свой проект, и вы получите это:

vars.email: steph4
vars.id: steph5
vars.db: steph6
0

Другие решения

Я полный нуб с php, но очевидно, что вы не пишете никаких данных. Ваш флэш-файл отслеживает «эхо» от php, но ваш php не сохраняет никаких данных, которые будут отображаться, когда вы просто вызываете его через html.

Поэтому попробуйте, чтобы ваш php записал ваши переменные в текстовый файл, например так:

<?php
$psPreRegEmail=$_POST['sEml'];
$FRM_ID=$_POST['sID'];
$psBD=$_POST['sBD'];

$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = $psPreRegEmail;
fwrite($fh, $stringData);
$stringData = $FRM_ID;
fwrite($fh, $stringData);
$stringData = $psBD;
fwrite($fh, $stringData);
fclose($fh);

echo "eemail=".$psPreRegEmail;
echo "&id=".$FRM_ID;
echo "&db=".$psBD;

?>

Теперь вы можете считывать ваш файл следующим образом:

http://www.mysite.fr/testFile.txt

или написать код PHP, чтобы прочитать его для вас.

0

По вопросам рекламы [email protected]