wendel 0 Denunciar post Postado Fevereiro 7, 2009 Boa noite, amigos Coloquei no meu site um newsletter. A pessoa coloca o e-mail e recebe um e-mail com o link para confirmação do cadastro. Só que o link que ele recebe, ao ser clicado dá erro. Na página da administração o e-mail cadastrado aparece com a informação de aguardando confimação e essa confirmação não acontece nunca. favor acessar a página www.flavalencaba.com, esta do lado esquerdo, em baixo. o código é esse (eu acho): <?php include("config.php"); $email = $_POST["e-mail"]; $opcao = $_POST["opcao"]; $codigo = md5($email); if($email == ""){ echo "<script>alert('Preencha corretamente o campo de e-mail!');"; echo "location.href='index.php'</script>"; } else{ if($opcao == "assinar"){ $sql = mysql_query("SELECT * FROM n_emails WHERE email = '$email'"); if(mysql_num_rows($sql)==1){ echo "<font face=Geneva, Arial, Helvetica, sans-serif size=2 color=#ffffff>"; echo "<b>Erro:</b>"; echo " Este e-mail já¡ está cadastrado!"; echo "</font>"; } else{ $codigo = sha1($codigo); mysql_query("INSERT INTO n_emails(id,email,codigo,ativo) VALUES ('','$email','$codigo','n')") or die(mysql_error()); $cabecalho = "From: $a_nome <$a_email>"; $cabecalho .= "\nReply-To: $a_nome <$a_email>"; $cabecalho .= "\nContent-Type: Text/HTML"; $msg = "<font face=Geneva, Arial, Helvetica, sans-serif size=2>"; $msg .= "Olá <b>$email</b>,"; $msg .= "<br>"; $msg .= "Você está recebendo esta mensagem porque você ou alguém adicionou esse e-mail"; $msg .= " na lista do site <a href='$url' target=_blank><b>$titulo</b></a><br><br>"; $msg .= "Para confirmar, clique no link abaixo:<br>"; $msg .= "<a href='$url_sist/confirmar.php?tipo=adiciona&codigo=$codigo' target=_blank>"; $msg .= "$url_sist/confirmar.php?tipo=adiciona&codigo=$codigo></a>"; $msg .= "<br><br>Se não foi você, simplesmente ignore este e-mail. <br>Obrigado(a)."; $msg .= "</font>"; mail($email,$confirm_assunto,$msg,$cabecalho); echo "<font face=Geneva, Arial, Helvetica, sans-serif size=2 color=ffffff>"; echo "O e-mail <b>$email</b> foi cadastrado com sucesso!"; echo "<br>"; echo "Um e-mail de confirmação agora foi enviado para você."; echo "</font>"; } } elseif($opcao == "remover"){ $sql = mysql_query("SELECT * FROM n_emails WHERE email = '$email'"); if(mysql_num_rows($sql)==0){ echo "<font face=Geneva, Arial, Helvetica, sans-serif size=2 color=ffffff>"; echo "<b>Erro:</b>"; echo " E-mail não cadastrado em nosso sistema!"; echo "</font>"; } else{ $codigo = sha1($codigo); $cabecalho = "From: $a_nome <$a_email>"; $cabecalho .= "\nReply-To: $a_nome <$a_email>"; $cabecalho .= "\nContent-Type: Text/HTML"; $msg = "<font face=Arial size=2>"; $msg .= "Olá <b>$email</b>,"; $msg .= "<br>"; $msg .= "Você está recebendo esta mensagem porque você ou alguém tentou remover esse e-mail "; $msg .= "da lista do site <a href='$url' target=_blank><b>$titulo</b></a><br><br>"; $msg .= "Para confirmar, clique no link abaixo:<br>"; $msg .= "<a href='$url_sist/confirmar.php?tipo=remove&codigo=$codigo' target=_blank>"; $msg .= "$url_sist/confirmar.php?tipo=remove&codigo=$codigo></a>"; $msg .= "<br><br>Se não foi você, ou se deseja continuar recebendo e-mails, simplesmente ignore este e-mail. <br>Obrigado(a)."; $msg .= "</font>"; mail($email,$confirm_assunto,$msg,$cabecalho); echo "<font face=Geneva, Arial, Helvetica, sans-serif size=2 color=ffffff>"; echo "Um e-mail de confirmação foi enviado para <b>$email</b>."; echo "</font>"; } } else{ echo "<script>alert('Por favor, selecione se quer ASSINAR ou REMOVER o e-mail.');"; echo "location.href='index.html'</script>"; } } ?> Valeu a força Compartilhar este post Link para o post Compartilhar em outros sites
webruno 0 Denunciar post Postado Fevereiro 7, 2009 E aí Wendel... esse código que tu postou não tem nada a ver com a confirmação mano... esse código envia o e-mail para clicar no link, e isso você falou que está ok... O problema deve estar no código da página confirmar.php?tipo=adiciona. Posta ele aí... Se você notar, nesse script que postasse não tem o if(tipo=="adiciona")... Sacou? Qualquer coisa posta aí. Falou. Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 8, 2009 Olá, webruno Obrigado pela força. o código da página confirmar.php é este: <?php include("config.php"); $tipo = $_GET["tipo"]; $codigo = $_GET["codigo"]; if($tipo == "adiciona"){ $sql = mysql_query("SELECT * FROM n_emails WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1){ mysql_query("UPDATE n_emails SET ativo = 's' WHERE codigo = '$codigo'"); echo "<script>alert('E-mail cadastrado com sucesso! Agora você já faz parte de nossa lista e ficará sabendo de todas as novidades da FlaValença-Ba - www.flavalencaba.com');"; echo "location.href='http://www.flavalencaba.com/new/newlestter/index.php'</script>"; } else{ echo "<script>alert('E-mail não encontrado no banco de dados.');"; echo "location.href='http://www.flavalencaba.com/new/newlestter/index.php'</script>"; } } elseif($tipo == "remove"){ $sql = mysql_query("SELECT * FROM n_emails WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1){ mysql_query("DELETE FROM n_emails WHERE codigo = '$codigo'"); echo "<script>alert('E-mail apagado com sucesso!');"; echo "location.href='http://www.flavalencaba.com/new/newlestter/index.php'</script>"; } else{ echo "<script>alert('E-mail não encontrado no banco de dados.');"; echo "location.href='http://www.flavalencaba.com/new/newlestter/index.php'</script>"; } } else{ echo "location.href='http://www.flavalencaba.com/new/newlestter/index.php'</script>"; } ?> Abraços, Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 8, 2009 Cadê você, webruno? rsrsrs Compartilhar este post Link para o post Compartilhar em outros sites
Mário Monteiro 179 Denunciar post Postado Fevereiro 9, 2009 wendel nao precisa floodar o forum o outro usuario nao entrou hoje, provavelemente por ser um domingo Compartilhar este post Link para o post Compartilhar em outros sites
webruno 0 Denunciar post Postado Fevereiro 10, 2009 Fala Wendel, esqueci de você rapaz, hahaha... eu esqueci de marcar a assinatura do tópico pra receber a atualização no e-mail. Mas enfim... cara, aparentemente a lógica do seu script está OK... você precisa passar o erro que está acontecendo... aparece algum erro na tela? Ou simplesmente não faz o update? Tenta depurar para saber onde está acontecendo o erro. Por exemplo, no bloco do "if($tipo == "adiciona")" você pode colocar alguns echos para saber por qual caminho o script ta indo e assim você vê onde está o erro. Tipo: if($tipo == "adiciona") { $sql = mysql_query("SELECT * FROM n_emails WHERE codigo = '$codigo'"); if(mysql_num_rows($sql)==1) { echo "Chegou até aqui. Já é um bom sinal." mysql_query("UPDATE n_emails SET ativo = 's' WHERE codigo = '$codigo'"); } else { echo "Hummm... o problema deve estar no SELECT." } } Beleza? Qualquer coisa pergunta aí que dessa vez respondo mais rapido, hehehe. Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 10, 2009 Olá, meu velho Rapaz, o problema é que não saco muito de php. Você se cadastra e recebe um e-mail para comvirmar a inscrição. Até aí funciona beleza. O problema é quando você clica no link da confirmação (que foi pro seu e-mail) que a página da erro. Ele não chega a confirmar sua assinatura. Quando acesso administração aparece seu e-mail com a informação aguardando confirmação. Qual é seu e-mail? Tirei ele do site devido o erro e te passo o link dele e a senha Abração Compartilhar este post Link para o post Compartilhar em outros sites
webruno 0 Denunciar post Postado Fevereiro 11, 2009 Então Wendel... a gente pode resolver isso pelo fórum mesmo, assim você já aprende um pouco mais de PHP... Você fez o que eu lhe disse? Para depurar o código? Você precisa saber em qual parte do script dá erro... quando você clica no link de confirmação que é enviado para o e-mail, ele abre a página "confirmar.php?tipo=adiciona&codigo=$codigo" certo? Acontece algum erro nessa página? Vai postando aí que a gente chega lá. Falou. Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 11, 2009 Oi, Cadastrei um outro e-mail meu e recebi esse texto: Olá wendel.lobao@yahoo.com.br, Você está recebendo esta mensagem porque você ou alguém adicionou esse e-mail na lista do site FlaValença-Ba Para confirmar, clique no link abaixo: http://www.flavalencaba.com/new/newlestter...ee630687fea> Se não foi você, simplesmente ignore este e-mail. Obrigado(a). Acho que achei esse negócio. Será que este sinal ">" no final do código que gera o erro? Só vou mexer nele depois que você analisar. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
webruno 0 Denunciar post Postado Fevereiro 11, 2009 humm, acho que não é isso cara... eu cliquei no link e deu um erro 404, ou seja, página não encontrada... é bem provável que o arquivo não exista nesse caminho: "new/newlestter/confirmar.php"... pra falar a verdade, nem a pasta "newsletter" existe no servidor. Você precisa fazer o upload desses arquivos. Tenta aí, qualquer coisa pergunta. Falou. Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 11, 2009 Oi, Rapaz, se você não toca neste assunto eu não descobriria nunca. O prior é que o arquivo estava funcionando todo certinho, apenas essa hora da confirmação é que não vai. No servidor o diretório estava escrito newsletter e apenas nesse link da confirmação estava newlestter. Uma zorra de "s" no lugar errado. O que me deixa mais puto que eu mesmo conferir linha por linha de todo o sistema antes de postar e não achei este erro. Levei quase uma manhã verificando. Valeu mesmo, desculpa tomar seu tempo em minha falta de atenção na digitação. Abração Compartilhar este post Link para o post Compartilhar em outros sites
webruno 0 Denunciar post Postado Fevereiro 12, 2009 hahahaha, beleza, faz parte... qualquer coisa diz aí. Falou. Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nigre 0 Denunciar post Postado Fevereiro 12, 2009 WENDEL, ME DE UM HELP! Seguinte, acho que tenho esse mesmo código que você está usando para um sistema de newsletter... É esse aqui não é? http://www.mxstudio.com.br/dreamweaver/sis...tter___parte_1/ http://www.mxstudio.com.br/dreamweaver/sis...tter___parte_2/ http://www.mxstudio.com.br/dreamweaver/sis...tter___parte_3/ http://www.mxstudio.com.br/dreamweaver/sis...letter___final/ Bem, meu problema é o seguinte. Eu fiz até a parte 2 até agora. Depois disso, o tutorial diz que já dá pra testar o cadastro de emails. Só que não consigo testar porque dá erro na página do IE... erro 500 e 404. Será que o sistema não funciona com servidor testes (uso o apache) e só roda no ar mesmo? Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 12, 2009 Oi, Leandro O meu não é esse, não... Não sou a pessoa mais certa para te ajudar, pois não saco muito do PHP (quebro o galho. rsrsrsrs) O sistema deve rodar no Apache, sim. Termine a três e quatro, deve ser em função disso que ele esta dando esse erro. Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nigre 0 Denunciar post Postado Fevereiro 13, 2009 Oi Wendel. Bem, de qualquer maneira agradeço. Agora, será que você não poderia postar ou me enviar por e-mail os códigos das páginas que compõe o sistema de newsletter para que eu posso comparar com o meu, a fim de tentar solucionar o problema? Abraço Compartilhar este post Link para o post Compartilhar em outros sites
wendel 0 Denunciar post Postado Fevereiro 13, 2009 Oi, Leandro Eu não tenho esses arquivos do seu. O meu é diferente. Se você quiser, te envio o "meu". Abraços Compartilhar este post Link para o post Compartilhar em outros sites
Leandro Nigre 0 Denunciar post Postado Fevereiro 17, 2009 Olá Wenderl! Ficaria muito grato se pudesse me enviar o seu. Mandei para este e-mail, por gentileza: leandro_nigre@yahoo.com.br Valew! Abraço Compartilhar este post Link para o post Compartilhar em outros sites