Acontinuacion vamos a crear un archivo en flash, el cuál nos permitirá hacer un pequeño sistema de registros, para insertar los datos a una base de datos, al conectar el .swf como formulario, el php como manejador, y la base de datos para insertar en ella los mismo. Para ver el Sistema de Registro Trabajando Revisen Aca. Cabe destacar que para la realización de este tutorial, se aplicaron conocimientos contenidos en este documento http://it-eservice.com/BackUp%20iT-Products/Web/Intranet/Registrar/ingreso%2520de%2520usuarios%2520en%2520flash.pdf.
•Pasos
1)
Para este Tutorial de Flash+Php+MySQL usaremos una base de datos edificada de la siguiente manera:
CREATE TABLE usuarios
( id bigint(7) NOT NULL auto_increment,
usuario char(100) NOT NULL,
contrasena char(100) NOT NULL,
email char(100) NOT NULL,
nombre char(255) default NULL,
avatar char(255) default NULL,
pais char(255) default NULL,
KEY id (id))
Vamos y creamos un nuevo documento en Flash, preferiblemente de 250px por 350 px. Crea la primera capa, y llamala Fondo, en ella crea el diseño de fondo que más tu guste y creas conveniente para tu registro; ten en cuenta los campos de textos que seran necesarios.
2)
Crea una segunda capa, llamala "campos", ahora coloca los campos de texto necesarios para tu registro (yo colocare los que usare para dar el ejemplo que de vida al tutorial), los cuales deben ser "Input text"; posteriormente a ellos colocale en el nombre de instancia el correspondiente:
•Al Campo de Usuario, usuario.
•al campo de la contraseña, contrasena.
•al campo del correo electronico, email.
•al campo del nombre, nombre.
•al campo de avatar, avatar.
•al campo pais, pais.
Ten en cuenta de darle a todos los campos de texto "single line" o "linea única", con la diferencia que al campo pass deberas ponerle tipo contraseña.
3)
A continuación crear una nueva capa llamada "mensajes", en ella deberas insertar los campos de texto necesarios para los posibles errores.
a) Campo email vacío (Este error lo manejamos en el keyframe 5)
b) Campo contraseña vacío (Este error lo manejamos en el keyframe 10)
c) Campo nombre de usuario vacío (Este error lo manejamos en el keyframe 15)
d) Nombre de usuario escogido no disponible (Este error lo manejamos en el keyframe 20)
e) Dirección de Correo Electronico incorrecta (Este error lo manejamos en el keyframe 25)
f) Problemas con el servidor (Este error lo manejamos en el keyframe 30)
g) Por ultimo el mensaje de registro exitoso lo manejaríamos en el keyframe 35. Poner el mensaje de
error en el keyframe correspondiente y listo.
4)
Crea otra capa llama "boton", y en ella crearas un Boton, con nombre de instancia enviar_btn, y además deber colocar una campo de texto Dinámico o "dynamic text" con nombre de instancia "proceso".
5)
Luego de haber edificado todo el diseño y elementos que daran funcion a todo el sistema, solo nos falta el codigo ActionScript que dara la logica; para ello debes crear una capa llamada "acciones", abre el panel de Acciones y coloca el siguiente código:
Código ActionScript :
enviar = function () { if (usuario.text.length) { if (contrasena.text.length) { if (email.text.length) { //Preparamos las variables que enviaremos al php form_lv = new LoadVars(); form_lv.usuarioL = usuario.text; form_lv.contrasenaL = contrasena.text; form_lv.emailL = email.text; form_lv.nombreL = nombre.text; form_lv.avatarL = avatar.text; form_lv.paisL = pais.text; proceso.text = "cargando tus datos..."; form_lv.sendAndLoad("http://www.direcciondetuarchivo.com/registrar.php", form_lv, "POST"); //http://www.enmaracay.net/registrar.php form_lv.onLoad = function() { if (this.estatus == "Ya esta siendo Utilizado") { proceso.text = ""; usuario.text = ""; gotoAndStop(20); } if (this.estatus == "normal") { proceso.text = ""; email.text = ""; gotoAndStop(25); } if (this.estatus == "ok") { proceso.text = "Registrado con exito!"; usuvar = usuario.text; mailvar = email.text; nombrevar = nombre.text; avatarvar = avatar.text; paisvar = pais.text; usuario.text = ""; email.text = ""; nombre.text = ""; avatar.text = ""; pais.text = ""; gotoAndPlay(35); } if (this.estatus != "Ya esta siendo usado" && this.estatus!= "normal" && this.estatus!= "ok") { proceso.text = ""; gotoAndStop(30); } }; } else { gotoAndStop(5); }} else { gotoAndStop(10); }} else { gotoAndStop(15); } }; enviar_btn.onRelease = enviar; stop();
6)
Luego de haber creado todo el archivo Flash o .swf que servirá de formulario para el registro, ahora nos falta quién procese todos los datos ingresados, para ellos necesitamos crear un archivo php, que cuente con un script de captacion de datos, provenientes de las variables insertadas en el formulario (archivo .fla creado anteriormente). El código es el siguiente:
Código PHP :
<?php include('conexion.php'); $link = Conectarse(); function quitar($mensaje) { $mensaje = str_replace("<","<",$mensaje); $mensaje = str_replace(">",">",$mensaje); $mensaje = str_replace("\'","'",$mensaje); $mensaje = str_replace('\"',""",$mensaje); $mensaje = str_replace("\\\\","\",$mensaje); return $mensaje; } function comprobar_email($email){ $mail_correcto = 0; if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){ if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) { if (substr_count($email,".")>= 1){ $term_dom = substr(strrchr ($email, '.'),1); if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){ $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1); $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1); if ($caracter_ult != "@" && $caracter_ult != "."){ $email_correcto = 1; } } } } } if ($email_correcto) return 1; else return 0; } $comp_email = quitar($HTTP_POST_VARS["emailL"]); $i = comprobar_email($comp_email); //llamamos a la función if ($i != 0) //si la dirección de email es correcta... { $sql = "SELECT id FROM usuarios WHERE usuario='".quitar($HTTP_POST_VARS["usuL"])."'"; $result = mysql_query($sql); if($row = mysql_fetch_array($result)) { echo "&estatus=ocupado&"; } else { $sql = "INSERT INTO usuarios (usuario, contrasena, email, nombre, avatar, pais) VALUES ("; $sql .= "'".quitar($HTTP_POST_VARS["usuarioL"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["contrasenaL"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["emailL"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["nombreL"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["avatarL"])."'"; $sql .= ",'".quitar($HTTP_POST_VARS["paisL"])."'"; $sql .= ")"; mysql_query($sql); echo "&estatus=ok&"; } mysql_free_result($result); mysql_close(); } else { echo "&estatus=normal&"; //email incorrecto } ?>
Si deseas puedes sustituir los campos de variables "$HTTP_POST_VARS" por "$_POST" en caso de usar PHP 5 o superior, pero también puedes dejarlo tal como esta, pues el PHP 5 trabaja, el syntax de versiones anteriores.
7)
Como podrás ver, en el código anterior incluimos un archivo externo, el cual nos permitirá conectar mediante los datos alli puestos de nuestro servidor, acceder a nuestra base de datos y dar paso a insertar nuestros datos. Dicho archivo debe llamarse "conexion.php" y esta formulado de la siguiente manera:
Código PHP :
<? function Conectarse() { $db_host="localhost"; // Host correspondiente a nuestro servidor, normalmente es localhost $db_nombre="tubase_dedatos"; // Nombre de Nuestra Base de datos $db_user="tuusuario"; // Nombre del usuario para ingresar a nuestra base de datos $db_pass="tucontraseña"; // Contraseña de dicho usuario $link=mysql_connect($db_host, $db_user, $db_pass) or die ("Error conectando a la base de datos."); mysql_select_db($db_nombre ,$link) or die("Error seleccionando la base de datos."); return $link; } ?>
Luego de haber finalizado el ultimo paso, ya hemos concluido y llegado al final de nuestro Tutorial de Aprendizaje para Conectar Flash+Php+MySQL y crear un sistema de registro o formulario que inserte los datos que sea de nuestro interés a una base de datos. Espero sea de gran Ayuda, y para cualquier duda estamos Aca para Ayudar. Si Desean ver el Sistema trabajando, solo entren Aca.!!!
Un Saludos a Todos, Ayudando a la Causa de "Mejorando la Web En Español", y al Grupo Técnico que encabeza nuestro Amigo Freddie.
Atte: José Alejandro Realza Asistente de Desarrollo y Soporte Técnico.