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
