Usaremos las bases de datos de mysql para almacenar los usuarios de nuestra aplicación, y el php sera nuestro mediador entre flash y mysql, porque no podemos conectarnos directamente a la base de datos.
Pasos:
- Creación de la base de datos y tabla usuarios en mysql.
- Creación flash.
- Validación de las variables en php.
Creación de la base de datos y tabla usuarios en mysql.
Aprender de base de datos tutorial de base de datos. Para más ayuda sobre la creación de base de datos tutorial de creación de base de datos con cpanel.
Para comenzar debemos crear una base de datos en nuestro panel de control de mysql.
Nota: en caso de que tengan una base de datos creada para su aplicación usen esa y solo creen la tabla usuarios con los detalles que siguen.
Una vez creada la base de datos creamos nuestra tabla, usuarios con tres campos esto es solo para el tutorial después pueden agregar mas campos para poder diferenciar a sus usuarios(tener administrador,etc..).
Descripción de los campos:
Identificador |
Tipo de Dato |
Nulo |
Extra |
Clave |
---|---|---|---|---|
id |
int(255) |
not null |
autoincrement |
primary key |
username |
varchar(12) |
not null |
----- |
----- |
password |
varchar(12) |
not null |
----- |
----- |
Nota: crea la primera fila con sus datos username y pass para poder probar la aplicación.
Estariamos listos con MySQL tenemos definida nuestra base de datos y la tabla, con sus campos correspondientes.
Creación del flash.
Para comenzar necesitamos dos cuadros de introducción texto, cada uno llamado username_txt y password_txt, también un botón, y por último un texto dinámico mensaje_txt para los mensajes de conexión.
Nota: recuerda que el password_txt es del tipo password.
Nuestro código para el primer frame será el siguiente:
stop();
var envio:LoadVars = new LoadVars();
var recibir:LoadVars = new LoadVars();
function login() {
envio.username = username_txt.text;
envio.password = password_txt.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";
//acá pueden agregar acciones para los registrados
break;
default :
mensaje_txt.text = "no hay conexión";
break;
}
} else {
mensaje_txt.text = "Error en el Script";
}
};
Para el botón necesitamos el siguiente código:
on (release){
login();
mensaje_txt.text = "conectando..."; }
Primero enviamos a nuestro php por POST los valores de username_txt y password_txt, también agregamos dentro de las variables que enviaremos, una llamada action = login que nos hace la comprobación en el php.
Al recibir la variable this.opcion hacemos un switch con los posibles valores. Todas las comprobaciones son hechas en el php.
Validación de las variables en php.
En esta parte necesitamos dos archivos, el connect.php y consulta.php.
El primero nos realiza una conexión a la base de datos.
Código php (connect.php).
<?php
$hostname_conn = "localhost";//servidor donde corre mysql
$database_conn = "mi_db";//base de datos
$username_conn = "username";//usuario de mysql
$password_conn = "password";//pass de mysql
//la conexion
$conn = mysql_pconnect($hostname_conn, $username_conn, $password_conn) or die(mysql_error()); ?>
El segundo es el que recibe nuestras variables y hace las consultas y comprobaciones.
Código php (consulta.php).
<?php
// by ketchup [email protected]
$action = $HTTP_POST_VARS['action'];
$username = $HTTP_POST_VARS['username'];
$password = $HTTP_POST_VARS['password'];
require_once('connect.php'); //llamada a la conexion
mysql_select_db($database_conn, $conn); //selecciona la db
if ($action == 'login'){
$sql = mysql_query("SELECT password,tipo FROM usuarios WHERE username='".$username."'");
if (!$sql) {
die('Could not query:' . mysql_error());
}
$sql2 = mysql_fetch_row($sql);
if (!$sql2){
//no existe usuario
echo 'no existe usuario<br>';
?>&opcion=0&<?
} else{
if ($password !== $sql2[0]){
//no coincide pass
echo 'el pass no coincide<br>';
?>&opcion=1&<?
} else{
//usuario y pass correctos
echo 'datos correctos<br>';
?>&opcion=2&
&tipo=<? echo $sql2[1]; ?>&<?
}
}
mysql_close($conn);
}
?>
¿Sabes SQL? ¿No-SQL? Aprende MySQL, PostgreSQL, MongoDB, Redis y más con el Curso Profesional de Bases de Datos que empieza el martes, en vivo.
Publica tu comentario
El autor de este artículo ha cerrado los comentarios. Si tienes preguntas o comentarios, puedes hacerlos en el foro
Entra al foro y participa en la discusión
o puedes...
¿Estás registrado en Cristalab y quieres
publicar tu URL y avatar?
Inicia sesión
¿No estás registrado aún pero quieres hacerlo antes de publicar tu comentario?
Registrate