Я пытаюсь использовать 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?
Ваш 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
Я полный нуб с 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, чтобы прочитать его для вас.