Comunidad de diseño web y desarrollo en internet online

Problemas con Flash y PHP (variables)

Citar            
MensajeEscrito el 21 Oct 2005 04:37 pm
Hola estoy tratando de pasar variables de php a flash
pero en flash no puedo ver el contenido de la variable.

por ejemplo:
PHP
...
$var="HOLA";
echo "&resultado=$var";
}


FLASH
...
objeto.onLoad=function(){
txtmensaje.text = objeto.resultado;
};

y txtmensaje me muestra : $var y no HOLA

alguien sabe porque?

Por xanadu

0 de clabLevel



 

msie
Citar            
MensajeEscrito el 21 Oct 2005 06:44 pm
necesitas ejecutar el swf desde el navegador con la direccion del servidor, seguro estas usando ruta relativa como "miscript.php" , con ctrl+enter no te funcionara, al menos que use ruta absoluta como http://localhost/miscript.php


saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Nov 2005 03:23 am
tengo el mismo problema, lo resolviste? :crap:

Por carlosneuron

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Nov 2005 06:49 am
carlosneuron, me puedes mostrar tus códigos (ambos el de php y el de as), seguro que estas ejecutando en el servidor con php?

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Nov 2005 07:08 am
Maikel:
Gracias por el interes, la verdad soy nuevo en esto y no se si los codigos esten bien, aparentemente ya lo resolvi, estoy haciendo un simulador de gasto en depilacion para una pagina de depilacion laser pondre los codigos y tu me dices si estan correctos.

PHP

Código :

<?
$x = $edad;
$y = $dias;
$z = $costo;
$Calculo = 65 - $x;
$Adias = $Calculo * 365;
$Veces = $Adias / $y;
$multiplicacion = $Veces * $costo;
$final = number_format($multiplicacion);

print '&resultado=Se enviaron los datos correctamente&';
print("resul=" . $final);
?>


swf

Código :

ema.bt.onRelease = function() {
      
   
   em = new LoadVars();
   
   em.edad = edad.value;
   em.dias = dias.value;
   em.costo = costo.value;
      
   respuesta.text = "Enviando la informacion";
   em.onLoad = function() {
      respuesta.text = em.resultado;
   if(respuesta.text == "Se enviaron los datos correctamente");
   gotoAndStop(2);
   respuesta.text = em.resul ;
   };
   
   em.sendAndLoad("http://www.skinfeel.com/prueba/ari.php",em,"POST");
   };



tengo 3 variables:
cuantos años tienes
cada cuando te depilas
cuanto te cuesta depilarte

debe regresar una respuesta sin decimales pero separando comas para las centenas.

con parches este fue el codigo que me funciono, no se si tenga codigo de mas.

Gracias por tu interes

Por carlosneuron

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 20 Nov 2005 07:25 am
te voy a corregir los errores de sintaxis que debes considerar, errores de lógica los corregiras tu:

en php

Código :

<?
//estas recibiendo por el metodo POST 
$x = $_POST["edad"];
$y = $_POST["dias"];
$z = $_POST["costo"];
$Calculo = 65 - $x;
$Adias = $Calculo * 365;
$Veces = $Adias / $y;
$multiplicacion = $Veces * $costo;
$final = number_format($multiplicacion);

print '&resultado=Se enviaron los datos correctamente';
//para que flash lo reconoza como variable directamente
//debe haber un & de prefijo y por recomendacion un &
// al final de todo
print("&resul=" . $final."&");
?>


codigo AS:

Código :

// declaracion afuera y definiendo el tipo de dato
// trata de asociarle el tipo de dato siempre a una
// variable, te ayudará mucho 
var   em:LoadVars = new LoadVars();

ema.bt.onRelease = function() {
   em.edad = edad.value;
   em.dias = dias.value;
   em.costo = costo.value;
   respuesta.text = "Enviando la informacion";
   em.sendAndLoad("http://www.skinfeel.com/prueba/ari.php",em,"POST");
};

//dentro de un evento de Objeto refierete a ese objeto
// con this y no con su identificador(em) te evitará muchos
//dolores de cabeza
em.onLoad = function() {
   respuesta.text = this.resultado;
   if(respuesta.text == "Se enviaron los datos correctamente"){
         gotoAndStop(2);
         respuesta.text = this.resul ;
   };
};


un if se abre"{" y se cierra "}" no pongas un ; :wink:

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 20 Nov 2005 07:47 am
lo intente con tu codigo pero no me corre, no se donde esta el error

http://www.skinfeel.com/servicios/simulador.html


aqui tengo lo que quiero hacer pero esta en html y php
si puedes darle un vistazo para ver si me explico mejor.

gracias de antemano.

Por carlosneuron

6 de clabLevel



 

msie
Citar            
MensajeEscrito el 23 Nov 2005 09:31 pm
Hola a todos, estoy comenzando tambien a desarrollar con flash y entre todas las busquedas me topé con su pagina y con unos tutoriales que dicen como leer variables desde flash y pues como tengo que hacer un proyecto con XMLRPC con php y flash, pues estoy entrenando para ver que sale, bueno al grano mi pregunta es esta:

en el tutorial de cargar variables con flash mencionan como hacerle para cargar las variables y tengo un codigo como este:

pruebaflash.php

Código :

<?php
        $nombre="algo";
        echo "nombre=".$nombre;
?>


y mi codigo de flash es el que sigue:
pruebaphp.fla

Código :

boton.addEventListener("click",imprime);
boton.label="Lee PHP";
php=new LoadVars();
php.load("pruebaflash.php");
debug.text=php.status();
numero=0;
php.onLoad=dameTexto;
cadena="";
function dameTexto(s)
{
   cadena="";
   if (s==undefined)
    {      
        cadena= "Error de conexión";
        return;
     }
   else
   {
      cadena=this.nombre.toString();
      numero=php.getBytesTotal();
   }   
}

function imprime()
{
   areaTexto.text=areaTexto.text+cadena+"--"+numero;
}


el problema es cuando lo pongo en la carpeta raiz del servidor web funciona normal, pero cuando lo muevo a una carpeta flashphp que tambien puede ser accesada via web (supongamos http://localhost/flashphp/) no funciona, me marca undefined...
entonces, quiero saber si solo funciona en raiz , puesto que he colocado los archivos de flash y php en la misma carpeta; ademas si es siempre necesario hacer este tipo de salida con el php(lo de variable=valor), lo he tratado de hacer de otra manera y he cambiado la linea de php.load a php.load("http://localhost/flashphp/pruebaflash.php); pero sin resultado alguno. Asi que... alguien podría ayudarme con esta cuestion?....
PD. Este codigo lo voy a modificar para que funcione con MySQL y varias cosillas adicionales,pero para comenzar con flash... pues espero que sirva.
Saludos y Gracias por su atencion.

Por zelgadiss01

87 de clabLevel



 

The Silent Hills

msie
Citar            
MensajeEscrito el 25 Nov 2005 03:58 am
primero
function dameTexto(s)
{
cadena="";
if (s==undefined)
{
cadena= "Error de conexión";
return;
}
else
{
cadena=this.nombre.toString();
numero=php.getBytesTotal();
}
}


el parametro que recibe el evento onLoad es un booleano, es decir, su valor será true o false :wink: , si es false es que no se pudo cargar el archivo...


Bueno ahora con tu inquietud, sinceramente me parece extraño, solo debes asegurarte de darle la ruta correcta ya sea relativa(ejemplo: "algunscript.php") o absoluta(ejemplo: "http://localhost/algunscript.php").

Ahora te recomiendo algo para evitarte dolores de cabeza con LoadVars, cuando vayas a imprimir una respuesta para LoadVars hazlo con esta sintaxis un & + nombreVariable + = + valordeariable, y terminar la cadena con un &
ejemplo:

Código :

<?php
      echo "&miNombre=Maikel&"
?>

y lo podras leer facilmente en flash con:

Código :

var miLV:LoadVars = new LoadVars();
miLV.load("algunscript.php");

miLV.onLoad = function (exito:Boolean){
        if (exito){
                trace(this.miNombre);
        }
         else {
                 trace("error al cargar archivo externo")
         }
}


Disculpame por no atender muy bien tu inquietud pero en verdad me parece problema de rutas.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Nov 2005 09:35 pm
pues mil gracias, creo que era un problema con la direccion y que no me estaba actualizando correctamente el sitio, y me doy cuenta por tu respuesta que le tengo que dar la estructura &nombre_variable=valor_variable&, osea que de esta manera puedo leer variables de cualquier tipo de pagina que tenga su salida en html.

Mil gracias por la ayuda.
Saludos. :D

Por zelgadiss01

87 de clabLevel



 

The Silent Hills

msie

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.