Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Отправка запроса на сервер (http://www.flasher.ru/forum/showthread.php?t=163272)

PReGi0N1 07.08.2011 19:15

Отправка запроса на сервер
 
Я захотел сделать небольшое приложение для контакта. Зарегестрировал бесплатный хост с поддержкой php и MySQL. Серв работает и база тоже. Но мое флеш приложение выдает ошибку когда я пытаюсь отправить запрос по средствам:

Код AS3:

import flash.net.*;
import flash.system.Security;
function xxx {
Security.loadPolicyFile("http://xxx.com/crossdomain.xml");
senddata(0);
}
function sendData(vars:URLVariables, onSuccess:Function):void
{
        var request:URLRequest = new URLRequest();
        request.url = "http://forgamevk.ns1.realms.biz/";
        request.method = URLRequestMethod.POST;
        request.data = vars;
 
        var loader:URLLoader = new URLLoader();
        loader.dataFormat = URLLoaderDataFormat.VARIABLES;
        loader.addEventListener(Event.COMPLETE, onSuccess);
 
        loader.load(request);
}
 
function senddata(pageNum:uint = 0):void
{
        sendData(new URLVariables("password=12345&do=send&uid=" + uid + "&name=" + uname + "&sname=" + usname), updatedata);
}
function updatedata(pageNum:uint = 0):void
{
        sendData(new URLVariables("password=12345&do=get&uid=" + uid), loadtable);
}
 
function loadtable(e:Event):void
{
        var response:XML = XML(e.target.data.result);
        var postsList:XMLList = response.post;
                userID = postsList.@uid;
                userName = postsList.@uname;
                userSName = postsList.@usname;
                textuid.text = userID;
                textuname.text = userName;
                textusname.text = userSName;                       
}

на сервере стоит такой скрипт

PHP код:


<?php 
$link 
mysql_connect('xxx,'user','pass');

if($link) {

mysql_select_db("BDforgame");
if($_POST['
password'] == "12345"){
if($_POST['
do'] == "send"){
$uid = $_POST['
uid'];
$name = $_POST['
name'];
$sname = $_POST['
sname'];
mysql_query("INSERT INTO utable SET uid = $uid, name = $name, sname = $sname"); 
}
if($_POST['
do'] == "get"){
$uid = $_POST['
uid'];
$result = mysql_query("SELECT * FROM utable WHERE uid = $uid");

$xml = "<?xml version "1.0" encoding = "cp1251_ukrainian_c"?>
while($row = mysql_fetch_array($result)){
$xml .= '
<post pts "'. $row['pts'] .'"money "'. $row['money'] .'"gold "'. $row['gold'] .'"name "'. $row['name'] .'"sname "'. $row['sname'] .'">';
$xml .= '
</post>';
}
$xml .= '
</response>';
print "result = $xml";
}
}

?>

Прошу сказать возможные ошибки или посоветовать другой метод связи сервера с флеш приложением.

olexandr 07.08.2011 20:33

в таких случаях следует указывать текст ошибки
первое, что приходит на ум - отсутствие crossdomain.xml на сервере

dimarik 07.08.2011 21:27

посредством, а не по средствам.

PReGi0N1 08.08.2011 17:00

Кекст ошибки


Error opening URL 'xxx'
Error #2044: Необработанный ioError:. text=Error #2032: Ошибка потока. URL: xxx
at vk::firstt/sendData()
at vk::firstt/senddata()

Добавлено через 3 минуты
crossdomain на сервере имеется

Bgg 08.08.2011 17:05

Код AS3:

request.url = "http://forgamevk.ns1.realms.biz/";

где php скрипт? он там index.php что ли?

Котяра 08.08.2011 20:08

попробуйте сначала сделать серверный скрипт просто возвращающий какую-нибудь ошибку если данные от флэшки не пришли или неверны.
Чтобы в браузере можно было прочитать зайдя на
http://forgamevk.ns1.realms.biz/
потом добавляйте зеркальный ответ, потом лезьте в базу.
Скрипт должен в любом случае что-то возвращать. Если ошибку то описание и код ошибки. Правила хорошего тона и веб разработки этого требуют)


Часовой пояс GMT +4, время: 03:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.