Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Серверные технологии и Flash (http://www.flasher.ru/forum/forumdisplay.php?f=62)
-   -   немогу загрузить данные из php (http://www.flasher.ru/forum/showthread.php?t=198860)

fduch 08.05.2013 00:46

немогу загрузить данные из php
 
Еще вчера в другом проэкте все работало, набросал простенький код, и понадобилось дернуть пару данных из mysql, почемуто немогу загрузить......

Вылетает ошибка : Error #2101: Строка, переданная в URLVariables.decode(), должна быть строкой запроса закодированного URL-адреса и содержать пары имя/значение.
---
Тот же код в другом проэкте работает, в чем косяк?

Код AS3:

var url:String = "http://nakuhne.500mb.net/recipie.php";
var request:URLRequest = new URLRequest(url);
request.method = URLRequestMethod.POST;
var save:URLVariables = new URLVariables();
 save.id = 10;
 
request.data = save;
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES
 
configureListeners(loader);
try {
loader.load(request);
} catch (error:Error) {
trace("Unable to load requested document.");
}
 
function configureListeners(dispatcher:IEventDispatcher):void {
dispatcher.addEventListener(Event.COMPLETE, completeHandler);
}
function completeHandler(event:Event):void {
var loader:URLLoader = URLLoader(event.target);
 
trace("completeHandler: " + loader.data);
var load:URLVariables = new URLVariables(loader.data);
 
trace(load.type);


Sync 08.05.2013 01:39

& в конце лишний)
ну и неплохо бы результаты трейса приложить всё же.

caseyryan 08.05.2013 07:38

Цитата:

Тот же код в другом проэкте работает, в чем косяк?
php не правильные данные отдает

Что-то мне подсказывает, что к базе подключение не происходит. Может пароль не правильный.
В любом случае я бы сделал такой же GET запрос через браузер, и посмотрел, что там выйдет.

fduch 08.05.2013 18:52

Цитата:

Сообщение от Sync (Сообщение 1132453)
& в конце лишний)
ну и неплохо бы результаты трейса приложить всё же.

& из пхп? почему лишний, после каждой пары должен быть.

А до трасе не доходит, вылетает ошибка на
Код AS3:

var load:URLVariables = new URLVariables(loader.data);

Добавлено через 3 минуты
Цитата:

Сообщение от caseyryan (Сообщение 1132464)
php не правильные данные отдает

Что-то мне подсказывает, что к базе подключение не происходит. Может пароль не правильный.
В любом случае я бы сделал такой же GET запрос через браузер, и посмотрел, что там выйдет.

Пхп, выдает все, как надо, проверено.
--пхп на выходе --
rjr=0&rjr=0&rjr=0&type=2&type=1&type=1&type=1&type=1&type=1&
--
сам пхп
PHP код:

$dbh mysql_connect($host$user$pswd) or die("Íå ìîãó ñîåäèíèòüñÿ ñ MySQL.");
mysql_select_db($database) or die("Íå ìîãó ïîäêëþ÷èòüñÿ ê áàçå.");

$load $_POST['id'];

$query "SELECT * FROM `title`";
$res mysql_query($query);

echo 
"rjr=0&";echo "rjr=0&";echo "rjr=0&";

while(
$row mysql_fetch_array($res))
{
echo 
"type=".$row['type']."&";
//echo "section=".$row['section']."&";



Добавлено через 4 минуты
со шрифтом косяк, но это наверное не может быть проблемой?

Добавлено через 11 минут
зы: Есть мнение, что какойто хосяк со сторону хостера, потомучто если поместить пхп с рабочего проэкта на хостинг 500mb.net то оно тоже выдает туже ошибку.
Есть мысли как лечить?
crossdomain.xml присутсвует.

caseyryan 08.05.2013 19:16

Цитата:

со шрифтом косяк, но это наверное не может быть проблемой?
Еще как может. Тут не просто косяк со шрифтом. Причины этого косяка скорее всего в том, что кодировка самого php файла не utf-8.
В чем проект написан? В эклипсе я всегда после создания проекта в его свойствах ставлю кодировку utf-8, чтобы все созданные файлы автоматом ее наследовали.
Тут может быть проблема в том, что перед выводом echo уже что-то посылается клиенту, это может быть даже банальный пробел. Нужно убедиться что ни перед тегом <?php ни после ?> нет ни единого пробела.
Так же можно взять Notepad++ и сконвертировать в нем свой файл в utf-8 без BOM

Добавлено через 1 минуту
Цитата:

потомучто если поместить пхп с рабочего проэкта на хостинг 500mb.net то оно тоже выдает туже ошибку.
может их сервак какие-то хэдеры шлет

Кстати, почему бы вместо вот этого:
PHP код:

or die("Íå ìîãó ïîäêëþ÷èòüñÿ ê áàçå."); 

не написать так:
PHP код:

or die(mysql_error()); 

В продакшене этого конечно лучше не делать, но для отладки можно

fduch 08.05.2013 19:39

Цитата:

Сообщение от caseyryan (Сообщение 1132515)
Еще как может. Тут не просто косяк со шрифтом. Причины этого косяка скорее всего в том, что кодировка самого php файла не utf-8.
В чем проект написан? В эклипсе я всегда после создания проекта в его свойствах ставлю кодировку utf-8, чтобы все созданные файлы автоматом ее наследовали.
Тут может быть проблема в том, что перед выводом echo уже что-то посылается клиенту, это может быть даже банальный пробел. Нужно убедиться что ни перед тегом <?php ни после ?> нет ни единого пробела.
Так же можно взять Notepad++ и сконвертировать в нем свой файл в utf-8 без BOM

У меня до и после довольно много пробелов)
Так создается документ в PHP Expert Edition.
PHP код:

<html>

<head>
  <title></title>
</head>

<body>

<?php

?>

</body>

</html>

Убрал все лишнее, из браузера работает, в as3 нет.
Цитата:

Сообщение от caseyryan (Сообщение 1132515)
Добавлено через 1 минуту

может их сервак какие-то хэдеры шлет

Кстати, почему бы вместо вот этого:
PHP код:

or die("Íå ìîãó ïîäêëþ÷èòüñÿ ê áàçå."); 

не написать так:
PHP код:

or die(mysql_error()); 

В продакшене этого конечно лучше не делать, но для отладки можно

Там так и написано, тока по русски))

Добавлено через 6 минут
из пхп в ас3 приходит вот это:
PHP код:

 <html>

<
head>
  <
title></title>
</
head>

<
body>

rjr=0&rjr=0&rjr=0&type=2&type=1&type=1&type=1&type=1&type=1&
</
body>

</
html

Многовато мусора

Добавлено через 9 минут
Если убрать мусор из пхп, то приходит нормальная строка "rjr=0&rjr=0&rjr=0&type=2&type=1&type=1&type=1&type=1&type=1&" без пробелов.
НО, это работает только если закоментарить строку
Код AS3:

loader.dataFormat = URLLoaderDataFormat.VARIABLES;


caseyryan 08.05.2013 19:49

Цитата:

Там так и написано, тока по русски))
Совсем нет. mysql_error() выдаст сообщение об ошибке и ее причине.
Причины могут быть разные. Не правильный пароль, не верное название базы, или что-то еще.
Цитата:

У меня до и после довольно много пробелов)
Процентов 95 на то, что проблема именно в этом.
Цитата:

Убрал все лишнее, из браузера работает, в as3 нет.
Значит не все. Советую выкинуть этот PHP Expert Edition и испльзовать что-то не создающее кучу лишнего хлама. Как раз notepad++ или эклипс. Написать простейший файл, который будет содержать, например, такой код:
PHP код:

<?php 
   
echo "some_var=some_value";
?>

и проверить что будет происходить.

fduch 08.05.2013 19:56

Что значит "кодировка урл адреса"?

Добавлено через 12 минут
Получается, что в текстовом виде все принимается нормально, а вот в пары имя значение не хочет. Причина не понятна ((((

Добавлено через 56 минут
Цитата:

Сообщение от Sync (Сообщение 1132453)
& в конце лишний)

Сколько рас учу себя обращать внимания на мелочи!!!!!!!!!!!!!!!!!
Блин. & решил проблему)) спс
Только у меня в предыдущем пхп всегда заканчивалось & и все работало почемуто.


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

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