Buenas phper@

Hoy les traigo algo nuevo, no es simple ni tampoco complicado. Si de verdad te interesa flash y estás dispuesto a realizar trabajos con él, te va a interesar este tutorial. Vamos a crear un pequeño sistema de usuarios en este post, y en otro vamos a ampliarlo, a cargar mas variables.
Antes de comenzar...Bien, lo primero, es plantearse un esquema parecido a este:
FLASH: MANDA UNA CONSULTA A PHP.
PHP: RECOJE LA CONSULTA REALIZADA POR FLASH, Y MANDA UNA RESPUESTA.
FLASH: MUESTRA LA RESPUESTA.
Nos ayudará en la realización del código fuente. Ahora, empecemos a trabajar

Vamos a ir a nuestro escritorio y vamos a crear una carpeta donde vamos a almacenar todos los documentos de este tutorial; Por ejemplo la llamaremos: Registro.
Dentro de registro vamos a crear una nueva carpeta que se llame: PHP. Aqui vamos a introducir todos los documentos PHP que necesitemos.
Una vez echo esto, vamos a abrir un nuevo documento de texto (Bloc de Notas o Notepad) y vamos a plantearnos la estructura de nuestra tabla. Vamos a llamarla: 'usuarios' Nos queda una cosa así:
CREATE TABLE usuarios (
id bigint(7) NOT NULL auto_increment,
nick char(100) NOT NULL,
password char(100) NOT NULL,
KEY id (id))
Creo que por el momento bastará con esto.
Lo guardamos con la extensión .sql (por ejemplo db.sql) en la carpeta que previamente hemos creado.
RegistroAhora, nos vamos a Flash; Abres flash y creas un nuevo documento. Será nuestro archivo de registro. Sólo va a tener 2 campos y un espacio para el botón.
Mi tamaño del lienzo es de 300x200. Lo podemos decorar como queramos, yo lo dejo simple, dos campos de texto con lo que es cada uno arriba, y un botón enviar. Todo esto ocurre en el fotograma 1. Bien, vemos dos campos de texto. Són del tipo: "Introducción de texto" y tienen la opción de borde activada. Al campo del usuario de nick lo llamaremos "user" y al campo del usuario de la password: "pass". Al campo pass, cuando lo seleccinais, hay una opcion en propiedades que que sale una A enmarcada, esta abajo del todo. Y os pondrá "Línea Única" Si abrís eld esplegable, el último valor es "Contraseña" Lo selecciáis. Con esto hacemos que cuando el user escriba la pass, le salga el típico * en vez de su password. Al botón le daremos el nombre "but".
Ah! se me olvidaba! También creen un campo de texto Dinámico y lo llaman respuesta. Es donde el usuario va a recibir la respuesta del servidor como: Contraseña incorecta, usuario no existe en la bd, etc.
Bien, ahora dejamos la parte física y nos metemos en el código. Al fotograma 1 le damos el siguiente código:
stop();
enviar = function () {
if (user.text.length) {
if (pass.text.length) {
// Que enviamos al PHP?
form_lv = new LoadVars();
form_lv.usuL = user.text;
form_lv.passL = pass.text;
respuesta.text = "Conectando...";
// Hacemos un sendAndLoad a registrar.php
form_lv.sendAndLoad("http://www.tuweb.com/registro/php/registro.php", form_lv, "POST");
// Una vez recibida la información, damos respuestas:
form_lv.onLoad = function() {
if (this.estatus == "ko")
{
respuesta.text = "Nombre Ocupado";
user.text = "";
}
if (this.estatus == "ok") {
proces.text = "Registrado con exito!";
}
if (this.estatus != "ko" && this.estatus!= "ok")
{
respuesta.text = "Error de conexión"
} //Hemos definido alguna URL mal (aqui no tendríamos que llegar)
}
}
}
else
{
respuesta.text = "Password Vacía";
} //Contraseña: 0
}
{
respuesta.text = "Usuario Vacío"
}//User: 0
but.onRelease = enviar;
Ahora que tenemos el Registro en Flash, nos queda la parte PHP del registro. Es muy simple sólo tenemos que fijarnos en las variables y los nombres de las funciones que hemos puesto en el flash, y crear un documento en PHP. Como bien hemos dicho en el Código AS, hemos llamado al archivo registro.php así que creamos un documento nuevo en PHP que se llame registro.php Haremos algo así:
<?php
include('conectar.php'); // Conectar.PHP inprescindible!!
$link = Conectarse();
function quitar($mensaje) // Elimina algunos carácteres indeseados en el registro (Estan en HTML).
{
$mensaje = str_replace("<","<",$mensaje);
$mensaje = str_replace(">",">",$mensaje);
$mensaje = str_replace("\'","&#39;",$mensaje);
$mensaje = str_replace('\"',""",$mensaje);
$mensaje = str_replace("\\\\","&#92;",$mensaje);
return $mensaje;
}
if($row = mysql_fetch_array($result))
{
echo "&estatus=ko&"; // El nick ya esta en uso!
}
else
{
$sql = "INSERT INTO usuarios (nick, password) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["usuL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["passL"])."'";
$sql .= ")";
mysql_query($sql);
echo "&estatus=ok&"; // Regisro OK
}
mysql_free_result($result);
mysql_close();
}
?>
Vale! Ya tenemos un registro echo

Ahora viene la parte que quizás sea un poco mas complicada, pero ya veréis como la sacamos
LoginGuardamos el Archivo FLA del registro como reg.fla ya que despues tocaremos el código para modificar la URL del PHP. Bien una vez guardado creamos otro documento de flash, será la pantalla de login. Lo mismo que en el anterior; 3 campos (user, pass y respuesta) y un botón (but) Aqui crearemos un nuevo fotograma vacio que será el lugar donde llevaremos a los usuarios logueados

Vamos con el primer fotograma;
La estructura nombrada anteriormente. La montáis. Bien, ahora comprobamos los datos; el campo para escribir el nick tiene el nombre 'user' el de la password 'pass' el que nos da respuesta, 'respuesta' y el botón se llama 'but'
Bien, vamos con el código AS;
stop();
enviar = function () {
if (user.text.length) {
if (pass.text.length) {
// Que enviamos al PHP?
form_lv = new LoadVars();
form_lv.usu = user.text;
form_lv.pass = pass.text;
respuesta.text = "Conectando...";
form_lv.sendAndLoad("http://www.tuweb.com/registro/php/entrar.php", form_lv, "POST");
form_lv.onLoad = function()
{
if (this.estatus == "pass")
{
respuesta.text = "Contraseña Incorrecta!";
}
if (this.estatus == "ko") {
respuesta.text = "El usuario no existe!";
usu.text = "";
pass.text = "";
}
if (this.estatus == "ok") {
respuesta.text = "Conectado!";
gotoAndStop(2);
}
if (this.estatus != "pass" && this.estatus!= "ko" && this.estatus!= "ok")
{
respuesta.text = "Problemas de conexión";
}// Aqui no deberiamos llegar!
};
}
else
{
respuesta.text = "Contraseña Incorrecta";
}
}
else
{
respuesta.text = "Insertar nombre de usuario";
}
};
but.onRelease = enviar;
Lo mismo que en el registrar, miramos el Flash y nos fabricamos un PHP como éste (entrar.php):
<?php
include('conectar.php'); // Conectar.PHP Inprescindible!!!!
$link = Conectarse();
if(isset($_POST["pass"]) && isset($_POST["user"]))
{
$nickN = $_POST["user"];;
$passN = $_POST["pass"];;
$result = mysql_query("SELECT password FROM usuarios WHERE nick='$nickN'"); // Consultamos la BD
if($row = mysql_fetch_array($result))
{
if($row["password"] == $passN) // Coincide el user con la contraseña?
{
echo "&estatus=ok&"; // Siii!!! :D
}
else
{
echo "&estatus=pass&"; // No.... :(
}
}
else
{
echo "&estatus=ko&"; // El usuario no se encuentra en la BD xD
}
mysql_free_result($result);
}
mysql_close();
?>
Bueno, ahora en el fotograma 2, vamos a crear una pequeña nterface para nuestro usuario. Vamos a crear un texto que diga: "Hola, "y otro texto a continuación con el nombre de 'nick'. En acciones nos vamos y ponemos:
nick.text = _root.user.text
Ahora ya es cuestión tuya decorarlo como quieras, crear mas variables, etc. Un saludo gente espero que os sirva!! Aqui les dejo elr esultado final

Pero estaría bien que lo intenten hacer, asi seguroque aprenden mas.
QUE MAS ME FALTA?El conectar.php se lo dejo aqui:
<?
function Conectarse()
{
$db_host="tu_host";
$db_nombre="nombre_base_de_datos";
$db_user="nombre_de_usuario_de_la_base_de_datos";
$db_pass="contraseña_del_usuario_de_la_bd";
// Respuestas
$link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos!");
// Seleccionamos la base de datos que nos interesa!
mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos.");
return $link;
}
?>
Recuerden subir los PHP's y editar las rutas de los archvos en cada FLA. Depsués creen el SWF (CONTROL -> PROBAR PELÍCULA) y suban los SWF. Dudas, etc. Posteen aqui

Saludos, RamFu
http://info-jc.com/files/Registro.rar