Foros del Web » Programando para Internet » PHP »

script de activacion de usuarios via email

Estas en el tema de script de activacion de usuarios via email en el foro de PHP en Foros del Web. Hola que tal programadores, tengo una duda de como hacer un script que genere un codigo aleatorio de 10 digitos y que este a su ...
  #1 (permalink)  
Antiguo 05/04/2011, 15:18
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años
Puntos: 15
Información script de activacion de usuarios via email

Hola que tal programadores, tengo una duda de como hacer un script que genere un codigo aleatorio de 10 digitos y que este a su ves encripte el numero y genere un link de activacion al usuario que se registre en mi web.

A ver si me explico bien , he creado una pagina en flash la cual contiene un formulario de registro, enlazado a una base de datos mysql con php, todo el registro me funciona bien pero quisuera agregar un script que genere un link de activacion que el usuario tenga que activar para poder completar el registro. aqui le coloco el script que he hecho en flash, se llama registra.fla, tambien le coloco el registra.php, y el conexion.php.

diganme que codigo le tengo que agregar a los diferentes script?

registra.fla:

enviar = function ()
{
if (usu.text.length) //comprobamos que el nombre de usuario no este vacío
{
if (pass.text.length) //Comprobamos que la contraseña no este vacía
{
if (mail.text.length) //Comprobamos que la dirección de e-mail no este vacía
{
//Preparamos las variables que enviaremos al php
form_lv = new LoadVars();
form_lv.usuL = usu.text;
form_lv.passL = pass.text;
form_lv.mailL = mail.text;
form_lv.nombreL = nombre.text;
form_lv.ciudadL = ciudad.text;
form_lv.edadL = edad.text;
proces.text = "procesando datos...";
//Enviamos las variables a registrar.php
form_lv.sendAndLoad("http://localhost/prueba/registrar.php", form_lv, "POST");
//escribe URL real deregistrar.php
//Recibimos y manejamos las variables que vienen de registrar.php
form_lv.onLoad = function()
{
if (this.estatus == "ocupado")
{
proces.text = "";
usu.text = "";
gotoAndStop(20); //Alerta: Nick ocupado
}
if (this.estatus == "nomail") {
proces.text = "";
mail.text = "";
gotoAndStop(25); //Alerta: e-mail icorrecto
}
if (this.estatus == "ok") {
proces.text = "Registrado con exito!";
usuvar = usu.text;
mailvar = mail.text;
nombrevar = nombre.text;
ciudadvar = ciudad.text;
edadvar = edad.text;
usu.text = "";
mail.text = "";
nombre.text = "";
ciudad.text = "";
edad.text = "";
gotoAndPlay(35); //Ingreso exitoso
}
if (this.estatus != "ocupado" && this.estatus!= "nomail" && this.estatus!= "ok")
{
proces.text = "";
gotoAndStop(30); //Alerta: problemas con el servidor
}
};
}
else
//Alertas de campos vacíos
{
gotoAndStop(5); //campo mail vacío
}}
else
{
gotoAndStop(10); //campo contraseña vacío
}}
else
{
gotoAndStop(15); //campo nombre de usuario vacío
}
};
enviar_btn.onRelease = enviar;
stop();
::::::::::::::::::::::::::::


// este es el registrar.php..

<?php
include('conexion.php'); //conectamos con la base de datos
$link = Conectarse();
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){
$mail_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 != "."){
$mail_correcto = 1;
}}}}}
if ($mail_correcto)
return 1; //mail correcto
else
return 0; //mail incorrecto
}
$comp_email = quitar($HTTP_POST_VARS["mailL"]);
$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($HTTP_POST_VARS["usuL"])."'";
$result = mysql_query($sql);
if($row = mysql_fetch_array($result))
{
echo "&estatus=ocupado&"; //nick ocupado
}
else
{
//insertamos los datos en nuestra base de datos
$sql = "INSERT INTO usuarios (nick, password, email, nombre, ciudad, edad) VALUES (";
$sql .= "'".quitar($HTTP_POST_VARS["usuL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["passL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["mailL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["nombreL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["ciudadL"])."'";
$sql .= ",'".quitar($HTTP_POST_VARS["edadL"])."'";
$sql .= ")";
mysql_query($sql);
echo "&estatus=ok&"; //registro exitoso
}
mysql_free_result($result);
mysql_close();
}
else
{
echo "&estatus=nomail&"; //mail incorrecto
}
?>
::::::::::::::::::::::::::::

y este es el conexion.php

<? // Fichero con los datos de conexión a la BBDD
function Conectarse()
{
$db_host="localhost"; // Host al que conectar, habitualmente es el ‘localhost’
$db_nombre="usuarios"; // Nombre de la Base de Datos que se desea utilizar
$db_user="root"; // Nombre del usuario con permisos para acceder
$db_pass=""; // Contraseña de dicho usuario
// Ahora estamos realizando una conexión y la llamamos ‘$link’
$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.");
// Devolvemos $link porque nos hará falta más adelante, cuando queramos hacer consultas.
return $link;
}
?>

::::::::::::::::::::::::::::::::::

que me faltaria agregar?? porfavor ayudenme.. gracias de antemano..
__________________
www.josealexis.net
  #2 (permalink)  
Antiguo 05/04/2011, 15:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Respuesta: script de activacion de usuarios via email

Hola:

En mi sistema de comentarios, implementé un sistema de activación por email, para evitar la porquería que suelen ponerse , échale un vistazo: Ponga comentarios en su web, incluso se genera la rutina aleatoriamente...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 05/04/2011, 16:11
Avatar de jatg  
Fecha de Ingreso: abril-2011
Ubicación: caracas
Mensajes: 152
Antigüedad: 13 años
Puntos: 15
Respuesta: script de activacion de usuarios via email

Gracias hermano esto era lo que queria saber muy buen script el de ejemplo de validacion de claver muchas gracias.
__________________
www.josealexis.net

Etiquetas: email, usuarios
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 16:45.