Помощь · Поиск · Пользователи · Календарь
Полная версия этой страницы: Взаимодейстиве Flash и php
Flash Zone Forum > Macromedia Flash > Общие вопросы
shadow999
Помогите пожалуйста... Не как не могу вывести результат php скрипта на страницу Flash... Скрипт ппц простой - это обычное число!.. Пол интернета уже перечетал не как не могу понять алгоритм! знаю что sendAndLoad() но вообще никак не получается! помогите пожалуйста, очень прошу

Прошу прощения создал 2 темы...
tiHo
Код показывай.
shadow999
Код
            
    $Link = MySQL_Connect($DBHost, $DBUser, $DBPassword);
    MySQL_Select_Db($DBName, $Link);
    $Sockres = @FSockOpen($ServerIP, $ServerPort, $errno, $errstr, 1);

        if (!$Sockres)
            {
                MySQL_Query("DELETE FROM Online");
                $Count = 0;
                echo "<font color=#ff0000> <b><i>Отключен</i></b></font>";            
            }
        else
            {
                @FClose($Sockres);
                echo "<font color=#32cd32><b><i>Включен</i></b></font>";
            }


    $Result = MySQL_Query("SELECT COUNT(*) FROM point WHERE zoneid='1'");
        $r = mysql_fetch_row($Result);
        $s .= $r[0] + 20;

        if (!$Sockres)
            {            
                echo "<i><font color=#ff0000><b>0</b></font></i></div>";
            }
        else
            {
                @FClose($Sockres);
                echo "<i><font color=#32cd32><b>".$s."</b></font></i>";
            }


Только этот файл у меня находится на сервере... Я не знаю будет ли он коннектится именно к серверной MySQL я вродь пробывал host даже менять если его на свой сайт залить. Поэтому  и хочу всего лишь его результат! Тут получилось 2 резельтата это "Включен, Отлючен" и цифра...
tiHo
Вот пример через класс LoadVars:

Код
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean)
{
    if (success)
    {
        trace(lv.perem);
    }
    else
    {
        trace('Ошибка загрузки.');
    }
};
lv.load('Адрес_твоего_php');


Сделай чтобы echo было таким:

Код
echo "&perem=<i><font color=#ff0000><b>0</b></font></i></div>&";


perem - название твоей переменной, как ты уже сам понял. Если поменял ее имя в AS-скрипте, то и в TXT-файле так же поменяй.

Если тебе обязательно через loadVariables надо, то это пусть еще кто-то подскажет, я с ними не работал никогда.
shadow999
Нашел подобную функцию в интернете... dry.gif Только не получается её нормально встроить!
CODE
<DefineSprite Id="47" FrameCount="6">
<DoAction>
<Actions>
<Push>
<String Name="mcMask" />
</Push>
<GetVariable />
<Push>
<Integer Value="1" />
<String Name="_parent" />
</Push>
<GetVariable />
<Push>
<String Name="clip" />
</Push>
<GetMember />
<Push>
<String Name="setMask" />
</Push>
<CallMethod />
<Pop />
<Push>
<String Name="preload" />
<Double Value="0" />
</Push>
<SetVariable />
<Push>
<String Name="stat.php" />
<String Name="this" />
</Push>
<GetVariable />
<GetURL2 LoadVariables="false" LoadTarget="false" SendVarsMethod="None" />
<End />
</Actions>
</DoAction><ShowFrame />
<ShowFrame />
<DoAction>
<Actions>
<ConstantPool>
<Constant Name="preload" />
</ConstantPool>
<Push>
<Constant8 Value="0" />
</Push>
<GetVariable />
<Push>
<Double Value="0" />
</Push>
<Equals2 />
<Not />
<If Offset="11" />
<GoToFrame Frame="1" />
<Play />
<Jump Offset="27" />
<Push>
<Constant8 Value="0" />
</Push>
<GetVariable />
<Push>
<Integer Value="1" />
</Push>
<Equals2 />
<Not />
<If Offset="6" />
<GoToFrame Frame="3" />
<Play />
<End />
</Actions>
</DoAction>
<ShowFrame />
<DoAction>
<Actions>
<ConstantPool>
<Constant Name="x" />
<Constant Name="stat_base" />
<Constant Name="UP" />
<Constant Name="text_online" />
<Constant Name="stat_online" />
<Constant Name="text_online2" />
<Constant Name="stat_online2" />
<Constant Name="text_acc" />
<Constant Name="stat_acc" />
<Constant Name="_root" />
<Constant Name="xml_reader_body" />
<Constant Name="but_reg" />
<Constant Name="_visible" />
<Constant Name="DOWN" />
<Constant Name="n/a" />
<Constant Name="but_cubi" />
<Constant Name="stat_serv" />
<Constant Name="text_serv" />
<Constant Name="stat_serv2" />
<Constant Name="text_serv2" />
</ConstantPool>
<Push>
<Constant8 Value="0" />
</Push>
<GetTime />
<SetVariable />
<Push>
<Constant8 Value="1" />
</Push>
<GetVariable />
<Push>
<Integer Value="1" />
</Push>
<Equals2 />
<Not />
<If Offset="107" />
<Push>
<Constant8 Value="2" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="3407616" />
</Push>
<SetMember />
<Push>
<Constant8 Value="2" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="5" />
</Push>
<SetMember />
<Push>
<Constant8 Value="6" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="7" />
</Push>
<GetVariable />
<SetMember />
<Push>
<Constant8 Value="8" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="9" />
</Push>
<GetVariable />
<SetMember />
<Push>
<Constant8 Value="10" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="11" />
</Push>
<GetVariable />
<SetMember />
<Push>
<Constant8 Value="12" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="13" />
</Push>
<GetMember />
<Push>
<Constant8 Value="14" />
</Push>
<GetMember />
<Push>
<Constant8 Value="15" />
<Boolean Value="1" />
</Push>
<SetMember />
<Jump Offset="125" />
<Push>
<Constant8 Value="2" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="16711680" />
</Push>
<SetMember />
<Push>
<Constant8 Value="2" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="16" />
</Push>
<SetMember />
<Push>
<Constant8 Value="6" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="17" />
</Push>
<SetMember />
<Push>
<Constant8 Value="8" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="17" />
</Push>
<SetMember />
<Push>
<Constant8 Value="10" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="17" />
</Push>
<SetMember />
<Push>
<Constant8 Value="12" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="13" />
</Push>
<GetMember />
<Push>
<Constant8 Value="14" />
</Push>
<GetMember />
<Push>
<Constant8 Value="15" />
<Boolean Value="0" />
</Push>
<SetMember />
<Push>
<Constant8 Value="12" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="13" />
</Push>
<GetMember />
<Push>
<Constant8 Value="18" />
</Push>
<GetMember />
<Push>
<Constant8 Value="15" />
<Boolean Value="0" />
</Push>
<SetMember />
<Push>
<Constant8 Value="19" />
</Push>
<GetVariable />
<Push>
<Integer Value="1" />
</Push>
<Equals2 />
<Not />
<If Offset="36" />
<Push>
<Constant8 Value="20" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="3407616" />
</Push>
<SetMember />
<Push>
<Constant8 Value="20" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="5" />
</Push>
<SetMember />
<Jump Offset="31" />
<Push>
<Constant8 Value="20" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="16711680" />
</Push>
<SetMember />
<Push>
<Constant8 Value="20" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="16" />
</Push>
<SetMember />
<Push>
<Constant8 Value="21" />
</Push>
<GetVariable />
<Push>
<Integer Value="1" />
</Push>
<Equals2 />
<Not />
<If Offset="36" />
<Push>
<Constant8 Value="22" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="3407616" />
</Push>
<SetMember />
<Push>
<Constant8 Value="22" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="5" />
</Push>
<SetMember />
<Jump Offset="31" />
<Push>
<Constant8 Value="22" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="3" />
<Integer Value="16711680" />
</Push>
<SetMember />
<Push>
<Constant8 Value="22" />
</Push>
<GetVariable />
<Push>
<Constant8 Value="4" />
<Constant8 Value="16" />
</Push>
<SetMember />
<End />
</Actions>
</DoAction>
<ShowFrame />
<ShowFrame />
<DoAction>
<Actions>
<GetTime />
<ConvertToNumber />
<Push>
<String Name="x" />
</Push>
<GetVariable />
<ConvertToNumber />
<Push>
<String Name="timeout" />
</Push>
<GetVariable />
<Push>
<Integer Value="2" />
</Push>
<Divide />
<ConvertToNumber />
<Add2 />
<ConvertToNumber />
<Greater />
<Not />
<If Offset="11" />
<GoToFrame Frame="0" />
<Play />
<Jump Offset="2" />
<PreviousFrame />
<Play />
<End />
</Actions>
</DoAction>
<ShowFrame />
</DefineSprite>


Выполняет примерно тоже самое... Вот файл на который он ссылается
Цитата
stat_base=1&stat_serv=1&stat_online=hide&stat_acc=hide&stat_serv2=0&stat_online2=hide&stat_acc2=hide&timeout=900000&preload=1


Получилось, что даже если вводить полный путь к этому php скрипту!.. То ничего не происходит, тупо кидает на stat.php НО ОЧЕНЬ БОЛЬШОЙ И НЕ ПОНЯТНЫЙ СКРИПТ ПОЛУЧИЛСЯ

Цитата(tiHo @ 17.10.2009 - 10:33) *
Код
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success:Boolean)
{
    if (success)
    {
        trace(lv.perem);
    }
    else
    {
        trace('Ошибка загрузки.');
    }
};
lv.load('Адрес_твоего_php');


Или объясните поподробней вот этот... он и сам по себе меньше и легче гораздо)) Очень бы хотел сделать! Я вставлял этот код всё как вы и говорили, но ничего не происходит!!! Может я как то не правильно вставляю... Помогите пожалуйста! Я прикреплю swf файл может он чем поможет 

Нажмите для просмотра прикрепленного файла
tiHo
Я вот что вижу в твоем SWF: http://openfile.ru/photo/full/14597/

Что тебе именно объяснить в этом коде?

У тебя файл swf и php как долеко друг от друга лежат? Прямые пути того и того скажи., и через что ты запускаешь swf (через браузер или через стационарный флеш-плеер).
shadow999
Цитата(tiHo @ 17.10.2009 - 12:54) *
Я вот что вижу в твоем SWF: http://openfile.ru/photo/full/14597/

Что тебе именно объяснить в этом коде?

У тебя файл swf и php как долеко друг от друга лежат? Прямые пути того и того скажи., и через что ты запускаешь swf (через браузер или через стационарный флеш-плеер).


Ну сам  swf файл у меня лежит... в http://on-game.su/* а скрипт на поддомене http://register.on-game.su/* Запускаю я через swf редактор, там кнопочка просмотр, иногда на сайт заливаю.

Ну я так понимаю что этот код надо вставлять в что-то типо этого 
Код
<DefineSprite>
            <DoAction>
            <Actions>
ТУТА_ТИПО_СКРИПТ
            </DoAction>
            </Actions>
</DefineSprite>

Вообще заместо простой надписи ON - я хочу поставить динамичный php скрипт!.. что б этот статус реально был рабочим!!! Ну и Аккаунтов и Онлайн я аналогично сделать могу!
MustLive
Цитата
Прошу прощения создал 2 темы...

shadow999

Ты не две, а даже три темы создал. Мало того, что вчера создал две одинаковые темы и tiHo пришлось удалить дубликат, так ещё перед этим ты уже создавал подобную тему. Ещё 04.10.2009 ты создал тему PHP&FLASH, где ты задал тот же вопрос, на который я тебе ответил в тот же день.

Цитата
Взаимодейстиве Flash и php

Мало того, что тема загрузки данных во флеш (из скрипта или из файла) многократно рассматривалась на форуме, так ещё и ты уже этот же вопрос задавал в другой теме, и получил на него ответ. Если что-то не получается, стоило в той же теме написать, а не создавать новую. В дальнейшем я тебе настоятельно рекомендую воздержаться от создания тем-дубликатов.
shadow999
Я изменяюсь... Получилось это совершенно случайно!!! А про третью тему я честное слово забыл! dry.gif

Цитата(MustLive @ 17.10.2009 - 19:06) *
PHP&FLASH, где ты задал тот же вопрос, на который я тебе ответил в тот же день.


Да я же пробовал 
Код
loadVariables("http://register.on-game.su/status.php", "");
- я не знаю, скорей всего я неправильно вставляю, ибо ничего не изменялось! Я вставил только эту строчку... sad.gif
tiHo
Ты не только php-скрипт покажи, но и as тоже. Мне кажется ты там херни понаписал всякой, вроде твоего:

Код
<DefineSprite>
            <DoAction>
            <Actions>
ТУТА_ТИПО_СКРИПТ
            </DoAction>
            </Actions>
</DefineSprite>


Даже не представляю куда такое вставлять надо.
shadow999
blink.gif да я везде пробовал вставить! Просто не могу понять куда... Т.к ничего не работает у меня тупо нету этого кода
tiHo
Вообщем нам от тебя нужен AS-скрипт для того чтобы тебе помочь, и сказать что куда нужно писать. SWF то у тебя есть, который на сайте сервера PW, так вот в нем то чтото написано (если он твой конечно), так вот копируй его сюда, и посмотрим что там и куда.

Буду через 5 часов, посмотрю. Если ктото конечно до меня этого не сделает.
shadow999
В общем... swf'ка не моя, сайт мой, но и доработать нужно мне  dry.gif Точно не знаю то ли послал! Но послал  tongue.gif
Код
<?xml version="1.0" encoding="UTF-8" ?>
<Movie SwfVersion="8" Width="898" Height="528" FrameRate="30" IsCompressed="true">
    <FileAttributes UseNetwork="false" ActionScript3="false" HasMetadata="false" UseGPU="false" UseDirectBlit="false" />
tiHo
Нет, это не то. Тебе нужен исходник(.fla) твоего swf, в котом вся флешка и есть, а swf это уже готовая флешка, с ней тебе врятли что получится сделать.

PS> Ты куда вставлял код который я тебе дал? Остается только догадываться...
shadow999
У меня лучше... rolleyes.gif xml

Нажмите для просмотра прикрепленного файла
tiHo
Либо слишком долго отсутствовал на форуме, и за это время на xml можно стало делать флешки, либо всетаки ты не понимаешь что от тебя хотят.

Вариант 2. Ты мне даешь полный путь к твоему .php, и я пробую сделать тебе флешку которая будет принимать от него сообщения в том виде который тебе нужен. Но не более того. Все остальное ты делаешь сам.

PS. Можешь в Личные сообщения кинуть ссылку, если она у тебя сверхсекретная.
MustLive
Цитата
А про третью тему я честное слово забыл!

shadow999, не стоит забывать о темах, которые ты открыл. И для того чтобы этого не происходило, чтобы знать, что на твой вопрос ответили, стоит подписываться на темы. И тогда тебе будут приходить уведомления о новых постах в подписанных темах.

Цитата
Нашел подобную функцию в интернете... Только не получается её нормально встроить!
<DefineSprite Id="47" FrameCount="6">

Это не AS-код, это XML-код для SWiX. Естественно у тебя не получится его во флеш редакторе встроить (ни "нормально", ни вообще). Во флеш редакторе нужно использовать Action Script код. А в SWiX - лишь xml-код.

Цитата
Даже не представляю куда такое вставлять надо.

tiHo, это XML-код для программы SWiX. И его можно использовать только в данной программе, но не в редакторе Flash.
MustLive
Цитата
В общем... swf'ка не моя, сайт мой, но и доработать нужно мне

shadow999

Тебе нужен исходник флешки - fla файл. Раз swf-ка не твоя, то у её автора достань исходник. Если это не возможно, то доставай исходник из откомпилированной флешки (swf). Это можно сделать декомпиляторами, о чём уже многократно писалось на форуме (по всем вопросам тобою поднятым уже писалось на форуме, поэтому использование поиска - это первое, что ты должен был сделать).

К примеру, SWiX который ты использовал для получения исходника AS-кода флешки (не полноценного fla-исходника) - это тоже декомпилятор. Но лучше воспользуйся нормальным декомпилятром для получения fla-файла, в котором ты изменишь AS-код (например, Sothink SWF Decompiler).

Цитата
Либо слишком долго отсутствовал на форуме, и за это время на xml можно стало делать флешки

tiHo

Из xml флешки не начали делать. Делают их стандартными способами - через официальные или опенсорсные компиляторы. В данном случае, как я уже говорил, это хмл-код для SWiX (который SWiX сделал на основе swf). Это такой псевдо-код, подобные псевдо-коды делают и другие декомпиляторы или дизасемблеры флешек, и SWiX позволяет изменить AS-код во флешке через редактирование данного xml-кода.
shadow999
Цитата(tiHo @ 18.10.2009 - 15:40) *
PS. Можешь в Личные сообщения кинуть ссылку, если она у тебя сверхсекретная.

Ничего секретно в нем нет... PHP скрипт

Нажмите для просмотра прикрепленного файла
tiHo
Нажмите для просмотра прикрепленного файла, вот так я имел ввиду.
shadow999
Оооо... Огромное спасибо! Тогда только один вопрос! Возникла проблема когда я попытался передать 2 переменные по отдельности все работает, а вместе один работает, а второй - undefined... blink.gif

Помогите пожалуйста!.. Прикреплю fla-файл может поможет чем! Скрипт я импонтировал совсем в притык к флешке http://www.on-game.su/status.php

Нажмите для просмотра прикрепленного файла
tiHo
Домой приду часа через 4-5, тогда разберемся.
tiHo
Зачем тебе третья переменная не пойму(тебе виднее), но держи файл:

Нажмите для просмотра прикрепленного файла

с исчерпывающими(надеюсь) комментариями.

Под себя настроишь сам что как хочеш чтобы было написано. Главное суть smile.gif
shadow999
Переменная "akk" - это кол-во аккаунтов... rolleyes.gif Сейчас посмотрим
tiHo
 ну это я понял, просто ща подумал что можно сделать чтото вроде

Включен(онлайн 310 из 538 чел)

или как там уже) вообщем твое дело.
shadow999

Не знаю или это я совсем тупой!!? blink.gif  или.. хммм... Лан!

Я так понимаю что флешка не может достучаться до скрипта, хотя в проигрывателях у меня все отлично работает! Че за нафиг то?! smile.gif

Вот... Собственно Ваш скриптик тоже самое пишет!

А это мои изменения!..
Код
var lv:LoadVars = new LoadVars();
lv.onLoad = function(success)
{
    if (success)
    {
        if (lv.perem == "ON")
        {
            vivod_stat.text = "ON";  
            online.text = "" + lv.online + "";
            akk.text = "" + lv.akk + "";
        }
        else
        {
            vivod_stat.text = "OFF"; .
            online.text = "0";
            akk.text = "" + lv.akk + "";
        }
    }
    else
    {
        vivod_stat.text = " n/a ";
    }
};
lv.load('http://www.on-game.su/status.php');
chingachgoog
Надо в паблише установить доступ "только сеть".
И помнить о политике безопасности адоба: ФП из сети НЕ может что-то скачивать с компа, а ФП с компа не может скачивать из сети (за рядом исключений).
tiHo
Может я сейчас и чушь скажу, но попробуй положить этот файл:

Нажмите для просмотра прикрепленного файла

вообщем чтобы был доступен по адресу on-game.su/crossdomain.xml

потом еще раз проверь будет ли работать флешка. (обнови страницу с флешкой вообщем если уже открыта)
shadow999
Эммм... Вот и всё старый, добрый смайлик
tiHo
 чтото я непойму тогда в чем дело...
shadow999
Что делать то?! Подскажите пожалуйста... sad.gif
tiHo
 подождем пока еще ктонить до этой темы доберется... Самому интересно причина.
chingachgoog
Для флеша адрес http://on-game.su/ вовсе не равен адресу http://www.on-game.su/
shadow999
Оооо.. Спасибо)))) blink.gif Всё отлично работает...
tiHo
Да, я про это и забыл... позорище лесное.
Функционер
Ребятки, хотел сделать простенький определитель ip,  но постоянно получаю undefined.
файл ipdetect.php:
Код
<?php
$user_ip = getenv ("REMOTE_ADDR");
echo $user_ip;
?>


ну и флеш:
Код
var myLoder:LoadVars = new LoadVars();
myLoder.load('ipdetect.php');
myLoder.onLoad = function(success) {
    if (success) {
        ind = myLoder.user_ip;
    } else {
        ind = 'ошибка при загрузке ';
    }
};

ind- перем.динам.текста

Вопрос -что не так?
Спасибо.

зы Вопрос снят, в пхп ошибся 
Код
echo "user_ip=".$user_ip;
MustLive
Цитата
зы Вопрос снят, в пхп ошибся

Функционер

Вот именно, что нужно правильно в серверных скриптах (в данном случае в php) выводить данные для передачи во флеш - их нужно выводить в CGI-формате. О чём не раз писалось на форуме.

И что ты уже сделал, и у тебя программа заработала как нужно wink.gif.
Русская версия IP.Board © 2001-2014 IPS, Inc.