Foros del Web » Creando para Internet » Flash y Actionscript »

registro con flash php mysql

Estas en el tema de registro con flash php mysql en el foro de Flash y Actionscript en Foros del Web. CREADO POR: JOSÉ ALEXIS TRUJILLO . caracas-venezuela Hola a todos, he decidido crear este pequeño tutorial para todas aquellas personas que les gustaria crear registro ...
  #1 (permalink)  
Antiguo 11/06/2011, 18:03
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años, 7 meses
Puntos: 15
Exclamación registro con flash php mysql

CREADO POR: JOSÉ ALEXIS TRUJILLO . caracas-venezuela

Hola a todos, he decidido crear este pequeño tutorial para todas aquellas personas que les gustaria crear registro de usuarios con validación u activacion via e-mail, utilizando actionscript, flash, php, MySQL, para ellos aquí va el tutorial.

1.-PRIMERO

Crearemos nuestra base de datos yo para este caso la llamare “users”, (sin las comillas).
Aquí el script de la base de datos:

Código :
Código PHP:
CREATE TABLE `users` (
  `
IDint(11NOT NULL auto_increment,
  `
Usernamevarchar(255NOT NULL,
  `
Passwordvarchar(255NOT NULL,
  `
Temp_passvarchar(55) default NULL,
  `
Temp_pass_activetinyint(1NOT NULL default '0',
  `
Emailvarchar(255NOT NULL,
  `
Activeint(11NOT NULL default '0',
  `
Level_accessint(11NOT NULL default '2',
  `
Random_keyvarchar(32) default NULL,
  
PRIMARY KEY  (`ID`),
  
UNIQUE KEY `Username` (`Username`),
  
UNIQUE KEY `Email` (`Email`)
ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=26 

2.-SEGUNDO





Despues de habre creado nuestra tabla crearemos 5 archivos php los cuales llamaremos de la siguiente manera:

Código PHP:
Register.php

<?

$username 
=$_POST['username'];
$password =$_POST['password'];
$password_confirmed =$_POST['password_confirmed'];
$email $_POST['email'];
$action $_POST['register'];

require_once(
'db.php');
include(
'functions.php');

function 
quitar($mensaje//elimina símbolos indeseados
{
$mensaje str_replace("<","&lt;",$mensaje);
$mensaje str_replace(">","&gt;",$mensaje);
$mensaje str_replace("\'","'",$mensaje);
$mensaje str_replace('\"',"&quot;",$mensaje);
$mensaje str_replace("\\\\","\",$mensaje);
return $mensaje;
}
//comprobamos con esta función que la dirección de email escrita es correcta
function comprobar_email($email){
$email_correcto = 0;
//Hacemos una primera comprobación
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," "))) {
//miro si tiene caracter .
if (substr_count($email,".")>= 1){
//obtengo la terminacion del dominio
$term_dom = substr(strrchr ($email, '
.'),1);
//compruebo que la terminación del dominio sea correcta
if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){
//compruebo que lo de antes del dominio sea correcto
$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; //mail correcto
else
return 0; //mail incorrecto
}
$comp_email = quitar($_POST["email"]);
$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 nick='".quitar($_POST["
username"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "&estatus=ocupado&"; //nick ocupado
}


{
if($_POST['
username']!='' && $_POST['password']!='' && $_POST['password']==$_POST['password_confirmed'] && $_POST['email']!='' && valid_email($_POST['email'])==TRUE && checkUnique('Username', $_POST['username'])==TRUE && checkUnique('Email', $_POST['email'])==TRUE)


         $query = mysql_query("INSERT INTO users (`Username` , `Password`, `Email`, `Random_key`) VALUES ('".mysql_real_escape_string($_POST['username'])."', '".mysql_real_escape_string(md5($_POST['password']))."', '".mysql_real_escape_string($_POST['email'])."', '".random_string('alnum', 32)."')") or die(mysql_error());

         $getUser = mysql_query("SELECT ID, Username, Email, Random_key FROM users WHERE Username = '".mysql_real_escape_string($_POST['username'])."'") or die(mysql_error());

         if(mysql_num_rows($getUser)==1)
         {

            $row = mysql_fetch_assoc($getUser);
                $headers = '
Fromwww.josealexis.tk@mydominio.com' . "\r\n" .
                '
Reply-Towww.josealexis.tk@mydominio.com' . "\r\n" .
                '
X-MailerPHP/' . phpversion();
                 $subject = "Activation de registro de usuarios www.josealexis.com";
                 $message = "hola ".$row['
Username'].", éste es su eslabón de activación para unir nuestro website. Para por favor confirmar su número de miembros haga clic en lo siguiente eslabón : http://www.josealexis.tk/confirm.php?ID=".$row['ID']."&amp;key=".$row['Random_key']. " gracias por registrarse";
                 if(mail($row['
Email'], $subject, $message, $headers))
            {//we show the good guy only in one case and the bad one for the rest.
               $msg = '
Registro creadoPor favor haga click en el enlace que le hemos enviado a su dirrecion de correo electronico para activar su cuenta.';
                 echo "&estatus=ok&"; //registro exitoso

            }
            else {
               $error = '
La cuenta esta creada pero falta que usted active la misma en en link que le hemos enviado a su direccion de e-mail';

            }
         }
         else {
            $error = '
se ha terminado su tiempo de velides para activar su cuentaPor favor registrese nuevamente .';

         }

      }
 }

echo ("&error=".$error);
echo ("&msg=" . $msg);
?>
<?=$_SERVER['
PHP_SELF']?>


Confirm.php

<?php
require_once('
db.php');
include('
functions.php');

   if($_GET['
ID']!='' && numeric($_GET['ID'])==TRUE && strlen($_GET['key'])==32 && alpha_numeric($_GET['key'])==TRUE)
   {

      $query = mysql_query("SELECT ID, Random_key, Active FROM users WHERE ID = '".mysql_real_escape_string($_GET['ID'])."'");

      if(mysql_num_rows($query)==1)
      {
         $row = mysql_fetch_assoc($query);
         if($row['
Active']==1)
         {
            echo "&error=".$error = '
This member is already active !';
         }
         elseif($row['
Random_key']!=$_GET['key'])
         {
            echo "&error=".$error = '
The confirmation key that was generated for this member does not match with the one entered !';
         }
         else
         {
            $update = mysql_query("UPDATE users SET Active=1 WHERE ID='".mysql_real_escape_string($row['ID'])."'") or die(mysql_error());
            $msg = '
Congratulations !  You just confirmed your membership !';
         }
      }
      else {

         echo "&error=".$error = '
User not found !';

      }

   }
   else {

      $error = '
Invalid data provided !';

   }

   if(isset($error))
   {
      echo "&error=".$error;
   }
   else {
      echo "&msg=".$msg;
   }
?>

confirm_password.php

<?php
require_once('
db.php');
include('
functions.php');

   $query = mysql_query("SELECT * FROM users WHERE ID = '".mysql_real_escape_string($_GET['ID'])."'");

   if(mysql_num_rows($query)==1)
   {
      $row = mysql_fetch_assoc($query);
      if($row['
Temp_pass']==$_GET['new'] && $row['Temp_pass_active']==1)
      {
         $update = mysql_query("UPDATE users SET Pass = '".md5(mysql_real_escape_string($_GET['new']))."', Temp_pass_active=0 WHERE ID = '".mysql_real_escape_string($_GET['ID'])."'");
         $msg = '
Your new password has been confirmedYou may login using it.';
      }
      else
      {
         $error = '
The new password is already confirmed or is incorrect';
      }
   }
   else {
      $error = '
You are trying to confirm a new password for an unexisting member;
   }

   if(isset(
$error))
   {
      echo 
$error;
   }
   else {
      echo 
$msg;
   }
?>

Db.php


<?php

$hostname 
"localhost";
$database "users";
$username "tu_user";
$password "tu_pass";

$login mysql_connect($hostname$username$password) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database);
?>
Seguiremos en el proximo post
__________________
www.josealexis.net

Etiquetas: flash, mysql, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:51.