Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom dia a todos. Eu estou testando um script de cadastro com confirmação por email esta quase tudo certo.
Como não sou muito experiente no php, estou querendo uma pequena ajuda.
E o seguinte o script faz o cadastro e envia para o email tudo certo, mais se não inserir nada ele faz o cadastro e não relata erro
Este e o script para o cadastro
<?php
include_once('config.php');
if( isset( $_POST['enviar'] ) ) {
$nome = $_POST['nome'];
$email = $_POST['email'];
$login = $_POST['login'];
$senha = sha1( $_POST['senha'] );
$uid = uniqid( rand( ), true );
$data_ts = time( );
$ativo = 0;
$sql = "insert into cadastro ( id_cadastro, nome, email, login, senha,
data_ts, uid,
ativo ) ";
$sql .= "values
('', '$nome','$email','$login','$senha','$data_ts','$uid','$ativo')";
if( ! mysql_query( $sql ) ) {
echo "Houve um erro inserindo o registro ".mysql_error( );
} else {
$id = mysql_insert_id( );
$url =
sprintf( 'id=%s&email=%s&uid=%s&key=%s',$id, sha1($email), md5($uid),
md5($data_ts)
);
$mensagem = 'Para confirmar seu cadastro acesse o link:'."\n";
$mensagem .= sprintf('http://www.xxxxxx.com.br/Ativar.php?%s',$url);
mail( $email, 'Confirmacao de cadastro', $mensagem );
echo "Registro inserido com sucesso";
}
}
?>
<form method="POST">
Nome:<input type="text" name="nome"><br>
Email:<input type="text" name="email"><br>
Login:<input type="text" name="login"><br>
Senha:<input type="password" name="senha"><br>
<br>
<input type="submit" name="enviar" value="Cadastrar">
</form>
este e o que faz a conexão
<?php
$host = "localhost"; // Local do Servidor | Normalmente é usado localhost.
$user = "root"; //Nome de usuário do Sql
$password = ""; //Senha do servidor
$database = "cadastro"; // Base de dados
$conexao = mysql_connect($host,$user,$password) or die ("Não foi possível conectar a base de dados.");
$db = mysql_select_db($database,$conexao) or die ("Erro ao selecionar base de dados.");
?>
e este e o que faz a ativação
<?php
include_once('config.php');
$id = $_GET['id'];
$nome = $_GET['nome'];
$login = $_GET['login'];
$emailMd5 = $_GET['email'];
$uidMd5 = $_GET['uid'];
$dataMd5 = $_GET['key'];
$sql = "select * from cadastro where id_cadastro = '$id'";
$sql = mysql_query( $sql );
$rs = mysql_fetch_array( $sql );
$valido = true;
if( $nome !== $rs['nome'] )
$valido = true;
if( $login !== $rs['login'] )
$valido = true;
if( $emailMd5 !== md5( $rs['email'] ) )
$valido = true;
if( $uidMd5 !== md5( $rs['uid'] ) )
$valido = true;
if( $dataMd5 !== md5( $rs['data_ts'] ) )
$valido = true;
if( $valido === true ) {
$sql = "update cadastro set ativo='1' where id_cadastro='$id'";
mysql_query( $sql );
echo "Cadastro ativado com sucesso!"; echo "Informacoes invalidas";
}
?>Carregando comentários...