verificar validar regular registro por mandar formulario expresion existencia envio enviar electronico desde correo contacto confirmacion con como php mysql email verification

validar - La forma más fácil para el enlace de verificación de correo electrónico PHP



validar registro por email php (3)

¿Más fácil para quién - usuario, programador, computadora? ¿Qué está optimizando: la cantidad de pulsaciones de teclas, el tamaño del código, la experiencia del usuario?

Lo más fácil de codificar es probablemente inseguro. Debe verificar que la dirección de correo electrónico esté correcta antes de enviarle una carta.

Ya tengo un sistema avanzado de inicio de sesión / registro en mi sitio web ( colemansystems.psm2.co.uk ). Sin embargo, me gustaría que se envíe un correo electrónico a los nuevos usuarios para verificar su dirección de correo electrónico. Si no han hecho clic en el enlace, no podrán acceder a su cuenta. Soy semi-experimentado con PHP y MySQL, por favor explique en profundidad.

Edición: el código que estoy usando para el archivo verify.php (el enlace en el que el usuario hace clic con un GET (por ejemplo, verify.php?d=51773199320 ))

$secret = $_GET[''d'']; $result = mysql_query("SELECT valid FROM users WHERE secret=$secret"); while ($row = mysql_fetch_array($result)) { $valid = $row[''valid'']; } if ($valid == "") { echo"There seems to be a problem with the verification code.<br><br><br><br><br>"; } elseif ($valid == "1") { echo"Your account is already verified.<br><br><br><br><br>"; } else { mysql_query("UPDATE users SET valid = ''1'' WHERE secret=$secret"); echo "Thank you, your account is now verified and you are free to use the exclusive features!<br><br><br><br><br><br>"; }

¿Es esto seguro?


La forma más fácil es no registrar usuarios no verificados en absoluto.

Pídales una dirección de correo electrónico y envíelos con un enlace que contenga esta dirección sellada con un hash. Al recibir este enlace puede iniciar el proceso de registro.

Algo como esto

$secret = "35onoi2=-7#%g03kl"; $email = urlencode($_POST[''email'']); $hash = MD5($_POST[''email''].$secret); $link = "http://example.com/register.php?email=$email&hash=$hash";

Y en su register.php agregue 2 campos ocultos al formulario de registro: correo electrónico y hash, almacenando los valores recibidos de GET.

Por último, procesar el registro y el control,

if (md5($_POST[''email''].$secret) == $_POST[''hash'']) { //Continue registration. }


después del registro, cree una cadena con hash y guárdela en la tabla de usuario temporal envíe esa cadena con hash a la dirección de correo electrónico del usuario usando este código

if(isset($_POST[''register''])) { $email_id=$_POST[''email'']; $pass=$_POST[''password'']; $code=substr(md5(mt_rand()),0,15); mysql_connect(''localhost'',''root'',''''); mysql_select_db(''sample''); $insert=mysql_query("insert into verify values('''',''$email'',''$pass'',''$code'')"); $db_id=mysql_insert_id(); $message = "Your Activation Code is ".$code.""; $to=$email; $subject="Activation Code For Talkerscode.com"; $from = ''your email''; $body=''Your Activation Code is ''.$code.'' Please Click On This link <a href="verification.php">Verify.php?id=''.$db_id.''&code=''.$code.''</a>to activate your account.''; $headers = "From:".$from; mail($to,$subject,$body,$headers); echo "An Activation Code Is Sent To You Check You Emails"; }

y después de eso crea una página de verificación y luego

if(isset($_GET[''id'']) && isset($_GET[''code''])) { $id=$_GET[''id'']; $code=$_GET[''id'']; mysql_connect(''localhost'',''root'',''''); mysql_select_db(''sample''); $select=mysql_query("select email,password from verify where id=''$id'' and code=''$code''"); if(mysql_num_rows($select)==1) { while($row=mysql_fetch_array($select)) { $email=$row[''email'']; $password=$row[''password'']; } $insert_user=mysql_query("insert into verified_user values('''',''$email'',''$password'')"); $delete=mysql_query("delete from verify where id=''$id'' and code=''$code''"); } }

Si tiene algún problema, aquí hay un completo tutorial http://talkerscode.com/webtricks/account-verification-system-through-email-using-php.php