Foros del Web » Programando para Internet » PHP »

validar cuenta por medio de email

Estas en el tema de validar cuenta por medio de email en el foro de PHP en Foros del Web. hola muy buenas antes que nada quiero agradecerles su tiempo y su ayuda. bueno antes que nada tengo una tabla de usuarios en la cual ...
  #1 (permalink)  
Antiguo 19/04/2010, 19:13
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 0
validar cuenta por medio de email

hola muy buenas antes que nada quiero agradecerles su tiempo y su ayuda.

bueno antes que nada tengo una tabla de usuarios en la cual tengo los datos

id
usuario
contraseña
nombre
email

mi duda es referente a que quiero hacer una validacion de la cuenta por medio de email pero la verdad soy novato en esto y no tengo idea de como hacerlo

y otra pregunta estoy manejando el xampp y se tendria que modificar algo para hacer pruebas de si manda bien el correo o algo asi?
  #2 (permalink)  
Antiguo 19/04/2010, 21:03
 
Fecha de Ingreso: agosto-2008
Mensajes: 271
Antigüedad: 16 años, 3 meses
Puntos: 2
Respuesta: validar cuenta por medio de email

porq no le ayudan ? tengo la misma duda :D soy novato tambien!
  #3 (permalink)  
Antiguo 19/04/2010, 21:11
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años, 5 meses
Puntos: 1517
Respuesta: validar cuenta por medio de email

1. Buscando rápido por internet encontré esto en el primer enlace http://www.forosdelweb.com/2211030-post7.html Más detalle, solo tienes que crear un campo adicional en la base de datos. En este campo guardas la información conforme al ejemplo que te indica okram y envías el email con la información de la confirmación. Cuando la persona pulse un enlace que contenga esa información, debes entonces cambiar la cuenta a activa, que debe ser otra columna.

2. Necesitas usar un servidor SMTP para enviar los email. Si no tienes uno, no vas a poder enviar los datos. Ya que PHP solo se encarga de enviar los datos al servidor SMTP y el SMTP se encarga de enviar los datos al email correpondiente. Busca en este foro acerca de SMTP o en internet que hay mucha información.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #4 (permalink)  
Antiguo 23/04/2010, 09:52
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: validar cuenta por medio de email

hola disculpen la tardanza de mi respuesta estuve checando lo que me dijiste abimaelrc y la verdad me sirvio de mucho te lo agradesco mil gracias.

respecto al servidor smtp el xampp trae el mercury por lo que vi hay que configurarlo para poder enviar los e-mails encontre una pagina que explica como configurar aqui se los dejo por si a alguien le interesa:
http://goliatenterrado.es/2009/03/03...reos-externos/

y respecto a como mandarlo al e-mail hay que pasar una variable por el url y recogerlo en otra pagina para hacer la actualizacion de la base de datos


Código PHP:
Ver original
  1. //envio de correo solicitando inscripcion
  2. //este es el correo que se configuro cuando se configuro el mercury
  3. $email = "postmaster@localhost";
  4. //este es el correo al cual se va a mandar el e-mail
  5. $sendTo = $_REQUEST["email"];
  6.  
  7. $subject = "Validacion de Cuenta de Usuario";
  8.  
  9. //los datos de la cuenta
  10. $nombre = $_REQUEST["nombre"];
  11. $login = $_REQUEST["usuario"];
  12. $password = $_REQUEST["contraseña"];
  13. //codigo de  validacion que se va a mandar
  14. $cod = $_REQUEST["clave"];
  15.  
  16.    //send mail
  17.    $headers  = "From: $email\r\n";
  18.    $headers .= 'MIME-Version: 1.0' . "\r\n";
  19.    $headers .= 'Content-type: text/html; charset=utf-8' . "\r\n";
  20.                 $msg = "Hola " . $nombre . "<br><br>";
  21.                 $msg .= "Gracias por tomarse el tiempo de registrarse, te damos la bienvenida a www.xxx.com. <br>";
  22.                 $msg .= "Acontinuacion mostramos sus datos de Usuario:<br><br>";
  23.         $msg .= "Usuario:" .$login."<br>";
  24.         $msg .= "Contrase&ntildea:" .$password."<br>";
  25.         $msg .= "Para acompletar su proceso de inscripcion, de click en el siguiente link para validar su cuenta<br>";
  26. //este es el link que aparece en el correo y al que hay que darle click para validar
  27.                 $msg .= "<A HREF =http://localhost/paginas/validacion.php?clave=".$cod.">$cod</A>" ;
  28. //se envia el correo
  29.    mail($sendTo, $subject, $msg, $headers);
  30. //se le avisa al usuario q se le a enviado un correo
  31.     echo"<script type='text/javascript'>";
  32.    echo"window.alert('Su solicitud ha sido recibida, en breve un e-mail sera enviado a la cuenta de correo .$sendTo. inicie sesion para confirmar sus datos. Gracias por su interes');";
  33.    echo "location.href='../index.html'";
  34.    echo '</script>';

para recoger la variable en la otra pagina
$_GET[clave]

y ya despues solo se hace un update con los campos que se van a actualizar en mi caso quedo asi
mysql_query("UPDATE usuarios SET estado = 1 where clave = '".$_GET["clave"]."'");

por favor si estoy mal en algo o se puede hacer de una mejor forma les suplico me lo hagan saber estoy empezando con todo esto y me gustaria aprender mas y otra vez muchas gracias
  #5 (permalink)  
Antiguo 23/04/2010, 10:06
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: validar cuenta por medio de email

Vas bien

Como complento, quizás deberías hacer unas validaciones para asegurarte que recibirás los datos que necesitas.

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #6 (permalink)  
Antiguo 23/04/2010, 10:14
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: validar cuenta por medio de email

mmmmm disculpa mi ignorancia validaciones como de que tipo o como la verdad no entendi muy bien
  #7 (permalink)  
Antiguo 23/04/2010, 10:20
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 18 años, 3 meses
Puntos: 70
Respuesta: validar cuenta por medio de email

Pues se supone que recibes un get no?

Código PHP:
Ver original
  1. $_GET["clave"];

Entonces hazle un mysql_real_escape_string o quizás un addslashes a esa variable que recibes

Saludos
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #8 (permalink)  
Antiguo 23/04/2010, 10:35
 
Fecha de Ingreso: mayo-2009
Mensajes: 38
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: validar cuenta por medio de email

ok lo voy a checar y luego les cuento como me fue muchas gracias
  #9 (permalink)  
Antiguo 20/11/2015, 14:55
 
Fecha de Ingreso: noviembre-2015
Mensajes: 1
Antigüedad: 9 años
Puntos: 0
Respuesta: validar cuenta por medio de email

Estaba buscando una respuesta más segura a esto. El código que hace noble10 es funcional. Sin embargo le falta cuando hace el insert en la base de datos del código de activación. Aun así me preocupa la seguridad. Quizas podamos hacer una $_SESSION[validar]=$codigo y cuando el usuario pulse el link en el mail que enviamos se verifique que la sesion aun exista con esa clave. Así sabemos que quien se registró es la misma persona que lo validó, además que la sesion caduca en cierto tiempo. Otra. Es mejor usar POST que GET y tambien es mejor enviar la clave codificada en MD5 o base 64 etc.

Etiquetas: email, medio
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 13:30.