Comunidad de diseño web y desarrollo en internet online

Problema con loadVars

Citar            
MensajeEscrito el 09 Sep 2008 06:43 pm
Hola,

estoy intentando hacer un módulo de login en flash con loadVars. El proceso de registro e identificación va perfecto; el problema lo tengo a la hora de dar acciones a la película según la variable que devuelva el .php .

Por ejemplo: Si php me devuelve "ok" yo le digo que vaya al frame 10 y si php me devuelve "datos incorrectos" que no se mueva.

Código :

var login_lv:LoadVars = new LoadVars();
var respuesta_lv:LoadVars = new LoadVars();
function identificarse() {
   login_lv.user = nombre.text;
   login_lv.ccontrol = contrasena.text;
   login_lv.sendAndLoad("login.php",respuesta_lv,"POST");
}
this.login.onRelease = function() {
   identificarse();
};
respuesta_lv.onLoad = function() {
   usuario.text = this.respuesta;
//según el resultado que imprimiese el php en la variable "usuario" pondría unas acciones u otras.
   play();
};


Alguien sabe qué puede pasar?

Por Barri

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 02:00 am
hermano ..tenia el mismo problema hace unas semanas...bueno parecido....y asi lo arregle mira...
el php lo tengo asi(te muestro solo el pedazo que importa(ablo del script..no pienses malxD)

Código :

$consulta_usuario ="SELECT * FROM users WHERE usuario = '$usuario' AND pass = '$pass'";
$result = mysql_query($consulta_usuario) or die("Couldn't execute query.");
$num_rows = mysql_num_rows($result); 
if($num_rows == 0){ 
echo "mensaje=usuario o password incorrectos&resultado=error";
}else{
if($num_rows > 0){ 
echo "mensaje=$usuario&resultado=ok";
}
mysql_close($conexion);
}
?>

y en fla tengo esto en el primer fla

Código :

function login() {
   envio.usuario = usuario_txt.text;
   envio.pass = pass_txt.text;
   envio.sendAndLoad("consulta.php", recibir, "POST");
}
recibir.onLoad = function(exito) {
   if(exito){
      mensaje_txt.text = this.mensaje;
//fijate bien que aca el ok esta entre comillas porque me llevo un dia de pruebas a mi saber que era eso xD
      if(this.resultado=="ok"){
//lo de verificacion lo uso para que aparezca el mensaje bienvenido $usuario en todos los fotogramas y el //otro...gotoAndStop bueno...ya sabras...suerte..chequealo...y cualkier cosa...me decis
         _root.verificacion_usuario.text=mensaje_txt.text;
         _root.gotoAndStop(2);
         
         
      }
}else{
      mensaje_txt.text = "hubo un error";
   }
}

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 11:35 am
Hola,

Esa forma que comentas es la lógica y llevo dos días explicándome porqué no me sale. Si yo tengo una variable que me muestra el resultado y lo estoy viendo en pantalla ¿por qué cuando le pongo una condición no me responde? Estoy desesperado, no puede ser que haya solucionado todas las conexiones entre flash y php para hacer el login y ahora en lo más tonto me esté atascando.

¿Se te ocurre algo?

Os dejo el PHP:

Código :

<?php
include ('db/conexion.php');
mysql_connect($db_host,$db_user,$db_pass) or die("Unable to connect to database");
mysql_select_db($database) or die("Unable to select database");

   $user = (isset($_POST['user'])) ? $_POST['user'] : ”;
        $ccontrol = (isset($_POST['ccontrol'])) ? $_POST['ccontrol'] : ”;

        $sql = 'SELECT pass FROM members WHERE nom = "' . $user . '"';
      $qr_res = mysql_query($sql);
      $contr = 'pass';

        @$password = mysql_result($qr_res, 0, $contr);

        if ($password == md5($ccontrol)) {
                setcookie('usuario', $user, time()+3600); //cookies a 1 hora
                setcookie('ccontrol', md5($ccontrol), time()+3600);
            echo "resultado=ok";
            } else {
      }
?>



Y el AC:

Código :

stop();
var login_lv:LoadVars = new LoadVars();
var respuesta_lv:LoadVars = new LoadVars();
function identificarse() {
   login_lv.user = nombre.text;
   login_lv.ccontrol = contrasena.text;
   login_lv.sendAndLoad("login.php",respuesta_lv,"POST");
}
this.login.onRelease = function() {
   identificarse();
};
respuesta_lv.onLoad = function(exito) {
   if(exito){
      usuario.text = this.mensaje;
      if(this.resultado=="ok"){
         _root.gotoAndStop(1);
      }
    }else{
      usuario.text = "Error en la aplicación";
   }
}

Por Barri

18 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Sep 2008 01:25 pm
¿Es un error que cometiste al colocar el código aquí o le estás diciendo que vaya al fotograma 1 en vez del 10?

Código ActionScript :

respuesta_lv.onLoad = function(exito) {
   if(exito){
      usuario.text = this.mensaje;
      if(this.resultado=="ok"){
         _root.gotoAndStop(1);
      }
    }else{
      usuario.text = "Error en la aplicación";
   }
}

Por The Fricky!

Presidente

6168 de clabLevel

3 tutoriales
8 articulos

Genero:Masculino   Bastard Operators From Hell Héroes

Piccola Venezia...

firefox
Citar            
MensajeEscrito el 10 Sep 2008 03:12 pm
Ya lo he arreglado. Lo más triste es que no sé cómo lo he hecho. He probado lo mismo que estuve haciendo ayer y ahora me funciona. Lo único que se me ocurre es que en la variable que recibía del PHP en lugar de esto:

Código :

echo "resultado=ok";


he enviado otra variable por probar:

Código :

echo "resultado=ok&muestra=datoscorrectos";


y así me funciona. No tiene ningún sentido pero... Si alguien sabe el porqué que lo diga.

Gracias a todos por vuestra ayuda.

Por Barri

18 de clabLevel



 

firefox

 

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