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