Comunidad de diseño web y desarrollo en internet online

validar usuario ACTIONSCRIPT - PHP

Citar            
MensajeEscrito el 05 Nov 2008 03:20 pm
Amigos, estoy haciendo una validación de usuario en flash que combina actionscript y php, pero no me resulta.

Para empezar, en flash cree 2 campos de texto del tipo "introducción de texto" cada uno con un nombre de instancia; "nombre_usuario" y "clave_usuario", adema de un botón llamado login, con nombre de instancia "login" con la siguiente acción.

Código :

on (release){
   login();
   mensaje_txt.text = "conectando...";
}


Además el flash tiene como acción esto

Código :

stop();
Stage.scaleMode = "noScale";
var envio:LoadVars = new LoadVars();
var recibir:LoadVars = new LoadVars();
function login() {
   envio.username = nombre_usuario.text;
   envio.password = clave_usuario.text;
   envio.action = "login";
   envio.sendAndLoad("consulta.php",recibir,"POST");
}
recibir.onLoad = function(exito) {
      if (exito) {
            switch (this.opcion) { 
   case "0" : 
      mensaje_txt.text = "no existe el usuario";
      break; 
   case "1" : 
      mensaje_txt.text = "nombre de usuario o pass mal ingresado";
      break; 
   case "2" : 
      mensaje_txt.text = "datos correctos";
      switch (this.tipo){
      case "0" :
         gotoAndStop(1);
         break;
      case "1" :
      default :
         mensaje2_txt.text = "no tienes tipo de usuario";
            break; 
            }
            break;
         default : 
            mensaje_txt.text = "no hay conexión";
            break; 
         }
   } else {
         mensaje_txt.text = "Error en el Script";
   }
};


Junto con eso, cree dos archivos PHP; consulta.php y connect.php

connect.php

Código :

<?php 
$hostname_conn = "localhost"; 
$database_conn = "usuarios"; 
$username_conn = "user"; 
$password_conn = "pass"; 
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error()); 
?>


consulta.php

Código :

<?php 
$action = $HTTP_POST_VARS['action']; 
$username = $HTTP_POST_VARS['nombre_usuario']; 
$password = $HTTP_POST_VARS['clave_usuario']; 

require_once('connect.php'); 
mysql_select_db($database_conn, $conn); 

if ($action == 'login'){ 
    $sql = mysql_query("SELECT * FROM usuarios WHERE usuario='$username' and clave='$password'"); 
    if (!$sql) { 
        die('Could not query:' . mysql_error()); 
    } 
    $sql2 = mysql_fetch_row($sql); 
    if (!$sql2){ 
        echo 'no existe usuario'; 
        ?> & opcion=0 & <? 
    }else{ 
        if ($password !== $sql2[0]){ 
            echo 'el pass no coincide'; 
            ?> & opcion=1 & <? 
        }else{ 
            echo 'datos correctos'; 
            ?> & opcion=2 & 
            & tipo= <? echo $sql2[1]; ?> & <? 
        } 
    } 
    mysql_close($conn); 
} 
?>


Con esto, lo que conseguia era que me mostrara "Error en el Script".
--------------------------------------------
Luego de ver que no me resultaba indague en el tema y cambie un poco el código. Y lo deje así.

Codigo flash

Código :

stop();
Stage.scaleMode = "noScale";


function login() {
    var envio:LoadVars = new LoadVars();
    envio.username = nombre_usuario.text;
    envio.password = clave_usuario.text;
    envio.action = "login";
    envio.sendAndLoad("consulta.php",envio,"POST");
    envio.onLoad = function(exito) {
          if (exito) {
                switch (this.opcion) { 
    case "0" : 
    mensaje_txt.text = "no existe el usuario";
    break; 
    case "1" : 
    mensaje_txt.text = "nombre de usuario o pass mal ingresado";
    break; 
    case "2" : 
    mensaje_txt.text = "datos correctos";
    break; 
    }}};

}


consulta.php

Código :

<?php
$action = $HTTP_POST_VARS['action'];
$username = $HTTP_POST_VARS['nombre_usuario'];
$password = $HTTP_POST_VARS['clave_usuario'];

require_once('connect.php');
mysql_select_db($database_conn, $conn);

if ($action == 'login'){

$quien = mysql_query("SELECT * FROM usuarios WHERE usuario='$username' and clave='$password'") or die(mysql_error());
$online = mysql_fetch_array($quien);
if($username!= $online['usuario'])   {
$info=  'no existe usuario';
$opcion=0;

}else{
      if   ($password != $online['clave']   ){
      $info= 'el pass no coincide';
        $opcion=1;
      }else{

            $info='datos correctos';
            $opcion=2;
            }
            }

            
            echo  $info;
            echo  "&opcion=".$opcion."&";
   mysql_close($conn);

    }


Pero ahora lo unico que me muestra es "cargando...", que es el valor del boton login.

Si alguien puede ayudarme seria genial
Gracias :D

Por Pablosky

24 de clabLevel



 

Santiago, Chile

msie
Citar            
MensajeEscrito el 10 Nov 2008 03:36 pm
Cambia el nombre del boton que se llama "login" igual que la función, porque hay una doble definición sobre el objeto, que se llaman igual, entonces no hace caso al boton, después de que se define como función.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 27 Ene 2010 11:41 am
cambia esto

Código PHP :

$action = $HTTP_POST_VARS['action'];
$username = $HTTP_POST_VARS['nombre_usuario'];
$password = $HTTP_POST_VARS['clave_usuario'];


por esto

Código PHP :

$action = $HTTP_POST_VARS['action'];
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];


fijate en

Código ActionScript :

var envio:LoadVars = new LoadVars();
envio.username = nombre_usuario.text;
envio.password = clave_usuario.text;
envio.action = "login";

Por kaquna

68 de clabLevel



Genero:Femenino  

firefox
Citar            
MensajeEscrito el 15 Ago 2012 01:48 am
dps de varias idas y vueltas lo pude hacer funcionar así:

Código PHP :

<?php
$action = $_POST['action'];
$username = $_POST['username'];
$password = $_POST['password'];

require_once('connect.php');
mysql_select_db($database_conn, $conn);

if ($action == 'login'){
   $quien = mysql_query("SELECT * FROM usuarios WHERE usuario='$username'") or die(mysql_error());
   $online = mysql_fetch_array($quien);
   if($username!= $online['usuario'])   {
      $info=  'no existe usuario';
      $opcion=0;
   }else{
        if ($password != $online['clave']   ){
         $info= 'el pass no coincide';
         $opcion=1;
        }
        else{
         $info='datos correctos';
         $opcion=2;
      }
   }
   echo  "opcion=".$opcion."&";
   echo  $info;
   mysql_close($conn);
}

Por ehermza

0 de clabLevel



 

chrome
Citar            
MensajeEscrito el 15 Ago 2012 10:58 am
Jajaja, cada dos años alguien le da nuevas sugerencias :)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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