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

0

Я пытаюсь использовать 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?

Теги:
actionscript-3
flash
air

2 ответа

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

Я полный noob с 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
    Что ты делаешь ?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню