Ir para conteúdo

POWERED BY:

Arquivado

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

gamefe

com request.form e inserir no BD... textarea

Recommended Posts

Pessoal, estou montando uma newsletter, bem complicadinha por sinal. Estou usando o FCKeditor.

Em uma página tem o formulário normal, na outra, pegando os dados do form, salva na tabela e envia para os e-mails cadastrados.

Só que estou tendo problemas com o código abaixo. Ele não gera erro nenhum no asp, envia normalmente a newsletter e aparece tudo normal. Porém quando olho no BD, está com o escrito #Error no lugar onde deveria aparecer o que foi enviado pela newsletter.

O código que estou usando é o seguinte:

<%' *************************** MENSAGENS DO SISTEMAS ************************************Msg_AdminAtualizado="Dados administrativos atualizados com sucesso."Msg_EmailDeletado="Seu E-mail foi deletado com sucesso de nossa base de dados !"Msg_NaoConsta="Não consta nenhum e-mail em nossa base de dados com os dados fornecidos !"Msg_HistoricoDeletado="A Mensagem do Historico de Email foi deletado com sucesso da base de dados !"Msg_HistoricoAdicionado="A Mensagem foi adicionado no historico com sucesso !"Msg_NenhumEmail="Não foi encontrado nenhum email na base de dados !"Msg_HistoricoLimpo="Não foi encontrado nenhum historico na base de dados !"Msg_ValidaDados="<center> <img src=""images/atencao.gif"">  "Msg_ValidaDados=Msg_ValidaDados & "<font size=""2"" face=""arial"" color=""red"">Favor atualizar os dados administrativos.</font></center>"' *************************************************************************************' ********************** ENDERECO COMPLETO DO NEWSLETTER ******************************Msg_Cancelamento="http://www.site.com.br"' ***** ATENÇÃO - Você não deverá colocar barra no final do endereço' *************************************************************************************' ************************** ENDERECO DO BANCO DE DADOS *******************************ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\home\site\dados\newdados.mdb;"Set ConnStr= Server.CreateObject("ADODB.Connection")ConnStr.ConnectionTimeout=120ConnStr.Open ConnStringAssunto = "Teste"Mensagem = replace(request.form("FCKeditor1"),"'","""")Data = Date()sSQL="SELECT * FROM Masters"Set rs=ConnStr.Execute(sSQL)emailadministrador=rs("email")Set rs=Nothingsql_select = "select * from Lista"no = 0Set rs_sendmail = Server.CreateObject("ADODB.Recordset")rs_sendmail.Open sql_select, ConnStrif rs_sendmail.EOF thenResponse.write "<br><br><center><font face=arial size=2>" & Msg_NenhumEmail & "</font></center>"ElsestrSQL = "INSERT INTO HistoricoLista (Assunto, Mensagem, Data) VALUES ('" & Assunto & "', '" & Mensagem & "', '" & Data & "')"ConnStr.Execute(strSQL)Response.write "<br><br><font face=arial size=""2"">" & Msg_HistoricoAdicionado & "</font><br>"While Not rs_sendmail.EOFSet mail = Server.CreateObject("CDONTS.NewMail")mail.From=emailadministradormail.To=rs_sendmail("email")mail.Subject=AssuntoMail.BodyFormat=0Mail.MailFormat=0mail.Body = Mensagem & "<BR><BR><font face=arial size=2><a href=""" & Msg_Cancelamento & "/deletar.asp?modo=Email&id=" & rs_sendmail("id") & "&Serial=" & rs_sendmail("SerialNumber") & """>Para remover seu e-mail desta lista CLIQUE AQUI!</a></font>"mail.SendSet mail = Nothingno = no + 1rs_sendmail.MoveNextWendResponse.Write "<br><font face=arial size=2>Total de Emails enviado:  " & no & " email(s).</font>"rs_sendmail.CloseSet rs_sendmail = NothingEnd IfResponse.write "</div>"%>

Acredito que o problema seja nas " do fckeditor. Tentei de todo jeito mas não consigo arrumar para funcionar no BD e para enviar o e-mail certinho...

Alguém poderia me ajudar?

Valeu!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

não seria a quantidade de caracteres? se nãome engano o campo do tipo memorando suporta perto dos 64000 caracteres

Compartilhar este post


Link para o post
Compartilhar em outros sites

jonathandj, é este mesmo o problema... pelo que vi está passando dos 64.000 caracteres, como faço com isso? Existe algum BD que suporta mais do que isso? Existe alguma maneira de travar para não ser enviado se tiver mais do que 64.000 caracteres?Algum código que faz esta verificação...Aguardo qualquer ajuda...Grato,Gabriel

Compartilhar este post


Link para o post
Compartilhar em outros sites

bom, existem algumas alternativas....você pode usar um javascript pra bloquear a digitação, mas se o camarada colar o conteudo vai aceitar. pode também limitar pelo asp e "cortar" o texto quando atingir um nº X de caracteres e gravar somente o permitido e também a melhor das alternativas....trocar de DB pois se você limitar os caracteres o usuário não vai gravar o conteúdo que realmente deseja. Se não me engano o mySql aceita mais caracteres. Aconselho fazer uma pesquisa dos DB mais usados tipo mysql, Postgree,Firebird,Interbase, Oracle e SqlServer....certamente mais de um desses irá atender as suas necessidades. ;)

Compartilhar este post


Link para o post
Compartilhar em outros sites

cabral, nesse caso a news do cara vai gravar incompleta e não com o conteudo que realmente foi enviado por email

Compartilhar este post


Link para o post
Compartilhar em outros sites

Algu4em confirma pra mim qual o tamanho do campo varchar e varchar2 do sql, faz os eguinte importa o access para o sql através do enterprise publica o banco em sql, axo a melhor alternativa

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.