Просмотр полной версии : приём переменных из PHP
Подскажите плиз
почему присходит следущее:
в php есть строка :
$may=5;
echo "amount=$may";
так почему, когда во flash'e трейсю полученную переменную, получаю amount=5, а не чисто 5
serzhman
13.02.2006, 23:29
Если я не ошибаюсь, то ты просто строку передаёшь, которая есть "amount=5".
Пиши так:
echo $may;
а почему когда ты передаешь "мама" - флеш получает "мама" а не "папа"?
Это понятно.
Король.
Если протрейсить переменную amount созданную во flash, то выводиться 5, а если поулученную из PHP, то выводит amount=5;
serzhman.
Если я просто передаю
echo $may
а во flesh трейсю переменную trace(may), почему-то выводит undefined
как же получить чистый результат?
блин
ты флешем спрашиваешь у скрипта результат какой-то операции. скрипт возвращает число. откуда флешу знать, как скрипт это число получил и как он его там у себя называет? класс loadVars - это объект, который по событию onLoad/onData наполняется передаваемым ему содержимым. в твоем случае это - число. чтоб к нему обратиться - протрейсь myLoadVars (или как там они у тебя называются) .onData(obj){
trace(obj);
}
дальше исходи из этого
попробуй
xxx.onLoad=function() {
trace (this["amount"]); //или this.amount
}
Может в начале ошибка:
echo "".amount=$may."";
тем самым даешь знать что в этих ковычках ".." у тебя идет функция а не тексти, как было у тебя
MeinTeil
14.02.2006, 17:10
На: 100% всё ПАШЕТ
//PHP
echo("amount=$may&");
//FLASHH кнопке
on (release) {
readReg = new LoadVars();
dataSend = new LoadVars();
readReg.onLoad = function(success) {
if (success) {
trace(readReg.amount);
}
};
dataSend.sendAndLoad("имя PHP скрипта", readReg, "POST");
}
А как вы ПРОВЕРЯЕТЕ PHP СКРИПТЫ на КОМПЕ? Например trace c PHP скрипта? Я чтоб проверить PHP скрипт выкладываю всё на сервак в НЭТ захожу на страницу и проверяю. Я помог помогите мне..
OFFTOP:
Для АNTARESA что ты выёживаешься, у тебя может всё и по маслу а у остальных нет, ты может всё знаешь а остальные нет, место того чтоб закрывать ТОПИК прошлый CREDO.. мог бы подсказать..
А как вы ПРОВЕРЯЕТЕ PHP СКРИПТЫ на КОМПЕ?
OFFTOP:
Для АNTARESA что ты выёживаешься...
Прежде чем крики поднимать, почитал бы литературку кое-какую, глядишь, за умного бы сошел...
А php-скрипты проверяются просто -
http://www.php.net
http://httpd.apache.org
и будет тебе счастье.
Я тоже выкладываю на сервак, но можно сервак и у себя на компе поставить.
MeinTeil
14.02.2006, 18:16
Прежде чем крики поднимать, почитал бы литературку кое-какую, глядишь, за умного бы сошел...
А php-скрипты проверяются просто -
http://www.php.net
http://httpd.apache.org
и будет тебе счастье.
Ты тоже с группы ANTARESA? Мало того что англоязычные ресурсы так хоть бы объяснил что откуда скачать, лучше выслушать какое то "чайневское" высказывание подтверждённое хоть чем то, чем "зачитанного" ляпнувшего только для себе подобных.. пользы больше
http://www.cashmaker.ru/p7018.html
вот кому надо по вопросу который был у меня
А ты собираешься в IT сфере работать без минимального знания английского ? Ну-ну, удачи. Пользуйся подсказками себе подобных, глядишь, суммарный выход будет выше нулевого...
:(
<?php
$list = array();
if ($dir = opendir('.'))
{
while (false !== ($file = readdir($dir)))
{
if ($file != "." && $file != ".." && preg_match("/.jpg/i", $file))
{
$list[] = $file;
echo("amount=$file ");
$i++;
}
}
closedir($dir);
}
?>
Этот код перебирает все jpg на сервере.
Когда я получаю их (по описанию Mein Teil)
флесш даёт результат:
002.jpg amount=001.jpg amount=003.jpg
тоесть первый результат без aount, а остальные с ним.
MeinTeil
14.02.2006, 21:49
:(
<?php
$list = array();
if ($dir = opendir('.'))
{
while (false !== ($file = readdir($dir)))
{
if ($file != "." && $file != ".." && preg_match("/.jpg/i", $file))
{
$list[] = $file;
echo("amount=$file ");
$i++;
}
}
closedir($dir);
}
?>
Этот код перебирает все jpg на сервере.
Когда я получаю их (по описанию Mein Teil)
флесш даёт результат:
002.jpg amount=001.jpg amount=003.jpg
тоесть первый результат без aount, а остальные с ним.
просто происходит ошибка переменных... всёзаписывается в одну переменную.. поэтому надо с PHP передавать строчку потом во флаше делить на МАССИВ и ты получишь по отдельности название каждого файла..
ВОТ ТАК НАДО ВСЁ ПРОВЕРИЛ ВСЁ работает на 100%
//FLASH
on (release) {
stat = "sending";
readReg = new LoadVars();
dataSend = new LoadVars();
readReg.onLoad = function(success) {
if (success) {
stat = "";
picArray = readReg.amount.split("|");
w = readReg.i;
for (i=0; i<readReg.i; i++) {
stat += picArray[i]+"\n";
}
}
};
dataSend.sendAndLoad("script.php", readReg, "POST");
}
//PHP
<?php
$list = array();
if ($dir = opendir('.')){
$i=0;
while (false !== ($file = readdir($dir))){
if ($file != "." && $file != ".." && preg_match("/.jpg/i", $file)){
$list[] = $file;
$z.=$list[$i]."|";
$i++;
}
}
echo("amount=$z&i=$i&");
closedir($dir);
}
?>
как это работает можешь посмотреть у меня
даже PHP пришлось поучить, учебник с нэта скачал круто..:)
http://musique.yard.ru/
http://meinteil.yard.ru/
ну почитай ты хелп и посмотри примеры, помоему были( по крайней мере были пока не произошел редизайн)
пхп:
<?php
$list = array();
if ($dir = opendir('.'))
{
$i = 0;
$out = NULL;
while (false !== ($file = readdir($dir)))
{
if ($file != "." && $file != ".." && preg_match("/.jpg/i", $file))
{
if(!empty($out))
$out .= '&';
$out .= 'amount' . $i . '=' .$file;
$i++;
}
}
if(!empty($out))
$out .= '&';
$out .= "n=$i";
echo $out;
closedir($dir);
}
?>
flash
cont = new LoadVars();
cont.sendAndLoad(url, cont, "GET");
cont.onLoad = function() {
for (i = 0, i<this["n"], i++)
{
trace(this["amount" + i]);
}
}
вот так например
Спасибо вам огромное!!!
MC ты бы не мог пояснить строки в php?
а чего пояснять то? :)
в $out мы получаем строку вида amount1=123.jpg&amount2=345.jpg&....
а во флэш эта строка интерпритируется как
переменная1=значение1 (amount1=123.jpg)
переменная2=значение2 (amount2=345.jpg)
MeinTeil
15.02.2006, 06:50
-MS- а где ты пишешь PHP код что он так разноцветно подсвечивается? дай линк пожалуйста на эту софтину. И ещё как ты выводишь ответ через TRACE если ты проверяешь всё на СЕРВЕРЕ?
Пиши PHP в HomeSite, там всё подсвечивается.
И с xml работать удобно.
трейсить через браузер можно.
вот пример:
http://musique.yard.ru/script.php
MeinTeil
15.02.2006, 12:11
трейсить через браузер можно.
вот пример:
http://musique.yard.ru/script.php
Так флэшевый же трэйс через браузер не будет выдаваться..
MeinTeil
если ты про подсветку на форуме, то смотри бб коды :)
есле редактор, то я пользуюсь php edit, а ваще мне очень понравился zend studio, но у мя тупит :)
и по поводу как вывожу я вопрос твой не понял :) что тебе именно не понятно?
MeinTeil
15.02.2006, 19:44
MeinTeil
если ты про подсветку на форуме, то смотри бб коды :)
есле редактор, то я пользуюсь php edit, а ваще мне очень понравился zend studio, но у мя тупит :)
и по поводу как вывожу я вопрос твой не понял :) что тебе именно не понятно?
Про вопрос забудь :)
Из проблемы вытекает проблема.
Возникла следующая проблема:
Preview PHP - фаил для создания tumbs (preview картинок)
<?php
$list = array();
if ($dir = opendir('.'))
{
$i = 0;
$out = NULL;
while (false !== ($file = readdir($dir)))
{
if ($file != "." && $file != ".." && preg_match("/.jpg/i", $file))
{
if(!empty($out))
$out .= '&';
$out .= 'amount' . $i . '=' .$file;
$i++;
}
}
if(!empty($out))
$out .= '&';
$out .= "n=$i";
echo $out;
closedir($dir);
}
?>
// Flash
domain = "www.spektr-company.ru";
target = "";
files = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "GET");
files.onLoad = function() {
for (count=0; count<this.n; count++) {
var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
position._x = position._width*count;
images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=0", 1);
}
};
Задача:
При нажатии на определённый клип, загружается соответствующая картинка только с другими параметрами разрешения:
Проблема в облости цепочки видимости переменных.
target = "";
files = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "GET");
files.onLoad = function() {
for (count=0; count<this.n; count++) {
var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
position._x = position._width*count;
images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=0", 1);
images_mc["cell_"+count].count = count;
images_mc["cell_"+count].onPress = function(){
photo_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=2", 1);
}
}
};
попробуй сдесь
images_mc["cell_"+count].onPress = function(){
photo_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=2", 1);
}
вместо this["amount"+count] files["amount"+count]
ваще не знаю :) чужой код не понимаю, флэшем занимаюсь тока когда надо, поэтому тож плохо знаю :)
Ты прав!
Работает
Но помимо того, что ты написал, нужно добавить цикл.
domain = "www.spektr-company.ru";
target = "";
files = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "POST");
files.onLoad = function() {
for (count=0; count<this.n; count++) {
var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
position._x = position._width*count;
images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=0", 1);
for (i=0; i<5; i++) {
images_mc["cell_"+i].i = i;
images_mc["cell_"+i].onPress = function() {
photo_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+files["amount"+this.i]+"&type=2");
};
}
}
};
Точно не уверен, но интуиция подсказывает мне, что код можно оптимизировать.
Мне интересно.
Этот код не лучше. В первом случае меня смущает цикл в цикле.
domain = "www.spektr-company.ru";
target = "";
files = new LoadVars();
files.sendAndLoad("http://"+domain+target+"/Amount.php", files, "POST");
files.onLoad = function() {
for (count=0; count<this.n; count++) {
var position = images_mc.createEmptyMovieClip("cell_"+count, images_mc.getNextHighestDepth());
images_mc["cell_"+count].attachMovie("frame_mc", "frame_mc", 1);
position._x = position._width*count;
images_mc["cell_"+count].frame_mc.loaders_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+this["amount"+count]+"&type=0", 1);
}
for (i=0; i<this.n; i++) {
images_mc["cell_"+i].i = i;
images_mc["cell_"+i].onPress = function() {
photo_mc.loadMovie("http://"+domain+target+"/Resize.php?f="+files["amount"+this.i]+"&type=2");
};
}
};
может и можно оптимизировать :)
я бы count передовал в функцию images_mc["cell_"+i].onPress = function()
ps привет сочи из краснодара :) вы там тонете в грязи я слышал
Нет.
Никакой грязи нет.
Дай свой эмайл.
admin@redflame.ru
unclefucker
22.02.2006, 22:15
А можно ещё один тупой вопрос?? Тока не убивайте, если уже было:)
Вот такая вот простая хрень:
//PHP
<?
$m="сообщение";
echo "message=$m";
?>
//FLASH
readReg = new LoadVars();
dataSend = new LoadVars();
readReg.onLoad = function(success) {
if (success) {
message=readReg;
}
}
dataSend.sendAndLoad("load.php", readReg, "POST");
message - переменная динамического текста.
вот что в неё загружается в итоге - %3C%3F%0D%0A%24m=%22%EF%BF%BD%EF%BF%BD%22%3B%20%0D%0Aecho%20%22message%3D%24m%22%3B%0D%0A%3F%3E%0D%0A&onLoad=%5Btype%20Function%5D
Что это??? как от этого избавиться?
MeinTeil
22.02.2006, 22:21
А можно ещё один тупой вопрос?? Тока не убивайте, если уже было:)
Вот такая вот простая хрень:
//PHP
<?
$m="сообщение";
echo "message=$m&";
?>
//FLASH
readReg = new LoadVars();
dataSend = new LoadVars();
readReg.onLoad = function(success) {
if (success) {
message=readReg;
}
}
dataSend.sendAndLoad("load.php", readReg, "POST");
message - переменная динамического текста.
вот что в неё загружается в итоге - %3C%3F%0D%0A%24m=%22%EF%BF%BD%EF%BF%BD%22%3B%20%0D%0Aecho%20%22message%3D%24m%22%3B%0D%0A%3F%3E%0D%0A&onLoad=%5Btype%20Function%5D
Что это??? как от этого избавиться?
я красным отметил то что нужно добавить
mes = this.message;
вот что надо добавить :)
unclefucker
22.02.2006, 23:13
Ага, спасибо!!! Большое!!! Всё получилось....
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.