Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

by_stoco

E-mail com link

Recommended Posts

Salve a todos!Como faço para montar um e-mail com um link para validar um novo registro feito no site.Tipo assim: O usuário se cadastra e imediatamente é enviado um e-mail para ele e o seu cadastro só é valido se o link do e-mail for acessado.Como posso fazer isso?Se possível um exemplo!Desde já agradeço...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie a tabela com os dados que você precisa cadastrar, adicione um campo para salvar o codigo de ativacao, e um campo para salvar a permissao de acesso(no caso do meu script chamado perm) com um valor padrao zero.

 

O arquivo que faz a insercao no BD.

 

cadastra_bd.php

<?session_start();// cria o codigo de ativacaom, onde 30 é o nº de caracteresfor ($i=1; $i<=30; $i++) {    if ($i%2==0)        $num .= rand(1, 9);    else        $num .= chr(rand(97,122)); // 65,90 para maiúsculas & 97,122 para minúsculas}$_SESSION['codigo'] = $num;?><?// insere no BD<? require "conexao.php";$nome = $HTTP_POST_VARS["nome"];$login = $HTTP_POST_VARS["login"];$senha = $HTTP_POST_VARS["senha"];$email = $HTTP_POST_VARS["email"];$telefone = $HTTP_POST_VARS["telefone"];$endereco = $HTTP_POST_VARS["endereco"];$cidade = $HTTP_POST_VARS["cidade"];$cod_ativacao = $_SESSION['codigo'];//===========================================$sql = "insert into usuarios (nome, login, senha, email,telefone, endereco, cidade, cod_ativacao) values ('$nome', '$login', '$senha', '$email','$telefone', '$endereco', '$cidade', '$cod_ativacao')";  $resultado = mysql_query($sql)or die ("<font color=FF0000><b>Não foi possível efetuar o cadastro</b></font><br>Possívelmente o <b>login ($login)</b> já existe<br><br>Mensagem de Erro do Banco de Dados:<br><font color=FF0000>".mysql_error()."</font>");  echo ("<br><br><br><center><font color=#FFFFFF>Cadastro efetuado<br>Um Email foi enviado para o email cadastrado<br>com os dados para ativação do seu cadastro</font></center>");	//================================$remetente = "Seu Site <você@site.com.br>";$headers .= "MIME-Version: 1.0\n";$headers .= "Content-Type: text/html; charset=iso-8859-1\n";  $headers .= "From: $remetente\n";$headers .= "X-Mailer: SISTEMA DE EMAIL\n";$assunto = "Ativação de cadastro";$mensagem = "<font color=#0000FF>Ative o seu cadastro<br><br>Clique no link abaixo para efetuar a ativação do seu cadastro:<br><br><a href=http://www.site.com.br/ativar_cadastro.php?codigo=$cod_ativacao>http://www.site.com.br/ativar_cadastro.php?codigo=$cod_ativacao</a>";    mail("$email","$assunto","$mensagem","$headers");?>
ativar_cadastro.php

<?php$cod_ativacao = $_GET['codigo'];require "conexao.php";$sql = "SELECT * FROM usuarios WHERE cod_ativacao = '$cod_ativacao'";$resultado = mysql_query($sql)or die ("Erro:: ".mysql_error());$total = @mysql_num_rows($resultado);  //traz o resultado da pesquisa acimaif ($total == 1){	$update = "UPDATE usuarios SET perm = '1' WHERE cod_ativacao = '$cod_ativacao'";	$resultado_update = mysql_query($update) or die ("Erro ao ativar");	echo "<br><br><br><center><font face=verdana size=2>Cadastro ativado com sucesso</font></center>";}else{	echo "<br><br><br><center><font face=verdana size=1>Cadastro não ativado!<br>Possívelmente o seu código de ativação deve estar incorreto<br>Verifique seu email!</font></center>";}?>
ai no login você verifica os usuarios que tem permissao com valor 1.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.