Código PHP:
Functions.php
<?php
function checkLogin($levels)
{
if(!$_SESSION['logged_in'])
{
$access = FALSE;
}
else {
$kt = split(' ', $levels);
$query = mysql_query('SELECT Level_access FROM users WHERE ID = "'.mysql_real_escape_string($_SESSION['user_id']).'"');
$row = mysql_fetch_assoc($query);
$access = FALSE;
while(list($key,$val)=each($kt))
{
if($val==$row['Level_access'])
{//if the user level matches one of the allowed levels
$access = TRUE;
}
}
}
if($access==FALSE)
{
header("Location: login.php");
}
else {
//do nothing: continue
}
}
function valid_email($str)
{
return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
}
function checkUnique($field, $compared)
{
$query = mysql_query("SELECT `".mysql_real_escape_string($field)."` FROM `users` WHERE `".mysql_real_escape_string($field)."` = '".mysql_real_escape_string($compared)."'");
if(mysql_num_rows($query)==0)
{
return TRUE;
}
else {
return FALSE;
}
}
function numeric($str)
{
return ( ! ereg("^[0-9\.]+$", $str)) ? FALSE : TRUE;
}
function alpha_numeric($str)
{
return ( ! preg_match("/^([-a-z0-9])+$/i", $str)) ? FALSE : TRUE;
}
function random_string($type = 'alnum', $len = 8)
{
switch($type)
{
case 'alnum' :
case 'numeric' :
case 'nozero' :
switch ($type)
{
case 'alnum' : $pool = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
break;
case 'numeric' : $pool = '0123456789';
break;
case 'nozero' : $pool = '123456789';
break;
}
$str = '';
for ($i=0; $i < $len; $i++)
{
$str .= substr($pool, mt_rand(0, strlen($pool) -1), 1);
}
return $str;
break;
case 'unique' : return md5(uniqid(mt_rand()));
break;
}
}
?>
Ok hasta aquí terminamos con los .php, ahora vamos por el .fla
1._ crearemos un nuevo documento de flash as2.0
1) Abre tu macromedia flash y crea un nuevo archivo llamado index.fla. Créate un fondo q te guste (Ten
en cuenta que vamos a tener 5 campos, así que dibújate 5 rectángulos). A esta primera capa la llamaremos
mismamente "fondo".
2) Crear una nueva capa llamada "campos" e insertar encima de los rectángulos que creamos, 5 campos
de texto de tipo "Input text" y ponerles los siguientes nombres de instancia. username (para el nombre de
usuario). password (para la contraseña). password_confirmed (para repetir la contraseña) email (para la direc. de e-mail).
copiar2( para el captcha).
Create otro campo de tipo dinamic_text y colocale como nombre de instancia “copiar” sin las comillas.
Todos estos campos estarán definidos como tipo de texto "single line" (línea única) salvo el campo
pass q se definirá como texto tipo "password" (contraseña). Todas estas opciones las tenéis en
propiedades.
3) A continuación crear una nueva capa llamada "alertas", en ella insertaremos todos los movie clips (si
queréis hacerlo mas sencillo, podéis insertar un simple mensaje y listo, sin mc)
4) Crearos una capa llamada "botón" e insertar en ella un botón con nombre " register" y debajo de este
insertar una caja de texto de tipo dynamic text y llamarla "proces"
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.
Bueno decir que este paso os lo podéis saltar, no es imprescindible, lo he creado para dar un efecto mas
chulo. Sirve para que una vez nos hayamos registrado nos salgan los datos con los que nos hemos
registrado. Para los que queráis insertarlo, crearos una capa llamada " exito" , insertamos un
keyframe en el frame 35 y en un hueco reservado insertamos 2 campos de texto de tipo "dynamic text" con
los nombres de instancia: username2, email2,
6) Bueno ya tenemos toda la parte física, ahora vamos a por el código. Nos vamos a la capa llamada
" exito". Pinchar en el primer frame y pegar el código:
Código :
//Creamos la funcion que creara el numero aleatorio del captcha
captcha = 6+Math.floor(Math.random()*78.9);
captcha = captcha*100.4+1;
captcha = Math.floor(captcha);
this.copiar.text = captcha++;
//creamos la funcion que enviara los datos del formulario a la pagina register.php
enviar = function () {
if (copiar.text == copiar2.text) {
if (username.text.length) {
if (password.text.length) {
if (password_confirmed.text.length) {
if (email.text.length) {
form1 = new LoadVars();
form1.username = username.text;
form1.password = password.text;
form1.password_confirmed = password_confirmed.text;
form1.email = email.text;
proces.text = "procesando datos";
form1.sendAndLoad("register.php", form1, "POST");
form1.onLoad = function() {
if (this.estatus == "ocupado") {
proces.text = "";
username.text = "";
gotoAndStop(20);
}
if (this.estatus == "nomail") {
proces.text = "";
email.text = "";
gotoAndStop(25);
}
if (this.estatus == "ok") {
proces.text = "Registrado con exito!";
usernamevar = username.text;
passwordvar = password.text;
password_confirmedvar = password_confirmed.text;
emailvar = email.text;
username = "";
password = "";
password_confirmed = "";
email = "";
gotoAndPlay(35);
}
};
}
} else {
gotoAndStop(5);
}
} else {
gotoAndStop(10);
}
} else {
gotoAndStop(15);
//campo nombre de usuario vacÃ*o
}
} else {
gotoAndStop(35);
}
};
register.onRelease = enviar;
stop();
Atención! si optáis por poner un mensaje sencillo de usuario registrado con éxito tenéis que sustituir
gotoAndPlay(35); por gotoAndStop(35);
7) Nos creamos a la capa llamada "exito" (Solo para los que han seguido el paso 5) e
insertamos en el frame 35 un keyframe y en actions frame insertamos el siguiente código
this.username2.text = usernamevar;
this.email2.text = emailvar;
this.user.text = usernamevar;
proces.text = "Registrado con exito!";
stop()
Importante: en el index.fla, tendremos que insertar una linea de codigo para
evitar que salga el menu al hacer click derecho, ya que de lo contrario el usuario podría dar a la opción
reproducir y saltarse d esta forma todo el sistema de seguridad. Para evitar esto solo teneis que poner la
siguiente linea de codigo:
Stage.showMenu=false;
Eso es todo cualquier duda me la pueden hacer llegar a la direccion de correo [email protected]
Si te gusto este tutorial valoralos con karma
Atte.jatg “jose Alexis Trujillo gonzalez caracas-venezuela.