Tema: mysql
Ver Mensaje Individual
  #4 (permalink)  
Antiguo 01/04/2008, 08:03
Avatar de yoseman
yoseman
 
Fecha de Ingreso: diciembre-2003
Ubicación: Alicante (Spain)
Mensajes: 471
Antigüedad: 20 años, 4 meses
Puntos: 5
Re: mysql

Claro para flash es distinto...

Voy a intentar ayudarte teniendo en cuenta que no sé muy bien lo que tienes antes del script ni lo que tienes en flash...

Supongo que estás utilizando una variable de tipo LoadVars para recoger datos desde flash y haces un sendAndLoad de otra variable de tipo loadVars.

Quiero decir, en flash tienes que tener por ejemplo:

enviar=new LoadVars();
enviar.action="devolver_contrasenya";

recibir=new LoadVars();

enviar.sendAndLoad("direccion_del_php.php",recibir ,"POST");

recibir.onLoad=function()
{
// el trace lo pongo para comprobar si se recoge bien
trace (recibir.opcion);
}

Pués partiendo de que esto es correcto, el script en php que devolvería a flash el dato solicitado y pensando que no haya ningún error en base de datos ni nada sería:

Código PHP:
<?php
// en teoría para leer la variable enviada desde flash sería para mi ejemplo de enviar
// $_POST['action']
if($action == 'devolver_contrasenya')
{
    
// si no tienes antes ningún par variable valor quita el &
    
echo "&opcion=";
    
$sql mysql_query("SELECT password FROM alumnos WHERE usuario='".$username."'");
    
$sql2 mysql_fetch_row($sql);
    if(!
$sql2)
    {
        echo 
"0"
    
}
    else
    {
        echo 
$sql2[0];
    }
}
echo 
"&fin=si";
Lo que pasa es que no sé si tienes algun par variable-valor antes de este código, si lo tuvieses, ya sabes que la nomencatura para recibir en flash usando sendAndLoad es variable1=valor1&variable2=valor2&variableN=valorN &fin=si(yo siempre pongo al final un &fin=si por si acaso)

Tampoc sé de dónde has sacado el $username que supuestamente se envia desde flash, pero ten en cuenta que si tuvieses en flash envia.username="javier" en php lo tienes que recoger con $_POST['username'], si pones $username puede ser que no funcione.

Luego por otra parte tu utilizas en la evaluación ($action == 'devolver_contrasenya') pero dependiendo de la versión de php y si no has hecho una asignación previa a $_POST['action'] puede no funcionar. Si antes de ese código no tienes asignado $action=$_POST['action'] prueba de usarlo o poner directamente en la evaluación $_POST['action']

Pero vamos que básicamente es eso, es que no sé si tienes cosas antes.

Y para comprobar que recibes bien supongo que usarás un trace en el flash, mira a ver si se recibe al menos algo.

Es que pueden ser muchas cosas.

lo mismo si pones mas datos te puedo ayudar mejor...

Un saludo.
__________________
[+]
[+]

Última edición por yoseman; 01/04/2008 a las 08:15