Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/08/2012, 13:35
PepeF
 
Fecha de Ingreso: julio-2012
Mensajes: 276
Antigüedad: 11 años, 7 meses
Puntos: 27
Mensaje [APORTE] Sistema De Verificacion De Correo

Aqui os dejo un sistema de verificacion de correo.
Lo siguiente que aporte sera un sistema de logueo con:
Captcha
Baneo
Sistema de Verificacion De Correo
Olvidar tu contraseña
Cuantos usuarios hay online
Todos los usuarios registrados.
Sistema de cambiar nombre,contraseña,eliminar cuenta

¿Que hace este sistema?
Este sistema cuando te registras envia un enlace a tu correo que as introducido anteriormente y desde hay activas tu cuenta.

¿Como funciona el sistema?
Cuando tu te registras en la base de dato se genera un codigo de X caracteres y despues envia el mensaje con un enlace que al hacerle clic verifica si tu email y el codigo generado son correcto y en caso verdadero en el campo Estado que tiene valor 0 se cambia por valor 1 y te lo activara.

¿Y como es la url que envia al correo?
El link que envia es el siguiente.
http://tuweb.com/validacion.php?email=tu email&key=el codigo que genera en la base de dato

¿Como se llama cada campo y/o tabla?
La base se llama web
La tabla se llama usuarios
Donde se guarda el nombre se llama Nombre
Donde se guarda la contraseña se llama Contraseña
Donde se guarda el email se llama Email
Puedes modificar tus campos por los anteriores o modificar los codigos php

Codigo de la base de dato: (Añade esto a tu base de dato)

CREATE TABLE IF NOT EXISTS `usuarios` (
`EstadoKEY` varchar(40) NOT NULL,
`CodigoKEY` varchar(40) NOT NULL,
PRIMARY KEY (`Nombre`,`Email`)
)

Codigos:

En tu registro añade esto: (Al principio del archivo)
Código PHP:
Ver original
  1. <?php
  2. $web = "tupaginaweb";
  3. $conexion = mysql_connect(".....","....","....");
  4.     $password = md5(rand(0,1000));
  5.     mysql_query("INSERT INTO usuarios(Nombre,Email,Contrasena,EstadoKEY,CodigoKEY,Baneado) VALUES ('$_POST[nombre]', '$_POST[email]', 'MD5($_POST[contrasena])', '0', '$password', '0')");
  6.     $registros = mysql_query("SELECT Email,CodigoKEY FROM usuarios WHERE nombre = '$_POST[nombre]'");
  7.     while($reg = mysql_fetch_array($registros)){
  8.     mail("$_POST[email]","Activa tu cuenta.","Hola $_POST[nombre], Bienvenido tu te as registrado en http://$web y para activar tu cuenta necesitas meterte en esta url. http://$web/validacion.php?email=$reg[Email]&key=$reg[CodigoKEY]");
  9.     }
  10. ?>

Validacion.php
Código PHP:
Ver original
  1. <?php
  2. $web = "tupaginaweb";
  3. $conexion = mysql_connect(".....","....","....");
  4. $verificacion = mysql_query("SELECT * FROM usuarios WHERE email = '$_GET[email]' AND CodigoKey = '$_GET[key]'");
  5. if ($veri = mysql_fetch_array($verificacion)){
  6.     mysql_query("UPDATE usuarios SET EstadoKEY = '1' WHERE EstadoKEY = '0'");
  7.     echo "Tu cuenta ha sido activada.";
  8.     echo '<meta http-equiv="refresh" content="2; url=index.php">';
  9. }else {
  10.     header('Location: index.php');
  11. }
  12. ?>

Última edición por PepeF; 14/08/2012 a las 14:28