Ir para conteúdo

Arquivado

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

godoy89

[Resolvido] Formulario ASP

Recommended Posts

Microsoft VBScript compilation error '800a0401'

 

Expected end of statement

 

/novo_site/envia.asp, line 28

 

(linha 28) varMsg = "Chamado pelo site (www.xxx.com.br)<br><br><b>Nome:</b> "&varNome" ("&varEmail")<br><b>Empresa:</b> "&varEmpresa"<br><b>Telefone:</b> ("&varDDD") "&varFone"<br><b>Assunto:</b> "&varAssunto"<br><b>Mensagem:</b> "&varMensagem""

 

Ele indica o erro na aspa vermelha...

 

 

Alguém?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Fala cara, beleza? Acredito que estejam faltando uns '&' ai na sua linha de código, da um olhada na linha abaixo:

 

varMsg = "Chamado pelo site (www.xxx.com.br)<br><br><b>Nome:</b> " &varNome& "(" &varEmail& ") <br><b>Empresa:</b>  " &varEmpresa& "<br><b>Telefone:</b> (" &varDDD& ") " &varFone& "<br><b>Assunto:</b> " &varAssunto& "<br><b>Mensagem:</b> " &varMensagem

Flw

Compartilhar este post


Link para o post
Compartilhar em outros sites

faz assim:

 

varMsg ="Chamado pelo site (www.xxx.com.br)<br><b>Nome:</b> " & varNome & "-" & varEmail & _
"<br>Empresa:</b>" & varEmpresa & " <br><b>Telefone:</b> " & varDDD & "-" & varFone & " <br><b>"&_
"Assunto:</b> " & varAssunto & "<br><b>Mensagem:</b>" & varMensagem

response.write(varMsg)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só peguei o seu responsite.write e fiz uma nova variável:

 

"Sua mensagem foi enviada com sucesso, obrigado pelo contato!"

 

E funciona 99%...

Agora eu tenho problemas ao mudar o objCDOSYSMail.From =/

Qualquer coisa que eu digite ali ele da erro na linha 59 ( objCDOSYSMail.Send )

 

[46] 'Dados para envio e recebimento'
[47] objCDOSYSMail.From = "xxx@xxx.com.br"
[48] objCDOSYSMail.To = "godoy89@gmail.com"
[49] objCDOSYSMail.Replyto = varEmail
[50] objCDOSYSMail.Subject = ""&varAssunto&" (xxx.com.br)"

[52] 'conteúdo da mensagem
[53] 'objCDOSYSMail.TextBody = "Teste do componente CDOSYS"
[54] 'para envio da mensagem no formato html altere o TextBody para HtmlBody
[55] objCDOSYSMail.HtmlBody = varMsg

[57] 'objCDOSYSMail.fields.update
[58] 'envia o e-mail
[59] objCDOSYSMail.Send

Uso esse mesmo código pra diversos sites que eu tenho, então eu copiei do último e colei no novo, só alterando os Requests do formulário e coisas do tipo.

 

O engraçado é que ele SÓ FUNCIONA com o From do código anterior, ou seja: o e-mail da empresa anterior.

Não sei o que pode estar causando isso, já coloquei o meu e-mail, o e-mail da empresa atual, e-mail @hotmail.com etc etc etc e nada funciona!

 

Por favor, dêem um help ae, só falta isso pra eu entregar o site! http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Segue o erro quando eu mudo o e-mail da linha 47:

 

error '8004020f'

 

/novo_site/envia.asp, line 59

 

Na real eu queria colocar a variável email nesse lugar do From, assim ficaria fácil pro cliente achar os e-mails de X usuário (o e-mail estaria no remetente)

 

alguma sugestão?

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta configurado o

cdoSMTPServer

 

tenta isso

 

<%  
    Set cdoConfig = CreateObject("CDO.Configuration")  
 
    With cdoConfig.Fields  
        .Item(cdoSendUsingMethod) = cdoSendUsingPort  
        .Item(cdoSMTPServer) = "<enter_mail.server_aqui>"  
        .Update  
    End With  
 
    Set cdoMessage = CreateObject("CDO.Message")  
 
    With cdoMessage  
        Set .Configuration = cdoConfig  
        .From = "from@email_valido.com"  
        .To = "to@email_valido.com"  
        .Subject = "CDO Mensagem"  
        .TextBody = "Este é um teste para CDO.message"  
        .Send  
    End With  
 
    Set cdoMessage = Nothing  
    Set cdoConfig = Nothing  
%>

Compartilhar este post


Link para o post
Compartilhar em outros sites

como esta configurado o

cdoSMTPServer

 

tenta isso

 

<%  
    Set cdoConfig = CreateObject("CDO.Configuration")  
 
    With cdoConfig.Fields  
        .Item(cdoSendUsingMethod) = cdoSendUsingPort  
        .Item(cdoSMTPServer) = "<enter_mail.server_aqui>"  
        .Update  
    End With  
 
    Set cdoMessage = CreateObject("CDO.Message")  
 
    With cdoMessage  
        Set .Configuration = cdoConfig  
        .From = "from@email_valido.com"  
        .To = "to@email_valido.com"  
        .Subject = "CDO Mensagem"  
        .TextBody = "Este é um teste para CDO.message"  
        .Send  
    End With  
 
    Set cdoMessage = Nothing  
    Set cdoConfig = Nothing  
%>

Desse jeito eu consigo colocar o e-mail da pessoa que preenche o formulário no campo .From ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegue sim, basta informar o parâmetro no lugar dos e-mails exemplos que ele citou.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo, agora consegui fazer tudo certinho.

 

Após o envio do e-mail, tem como eu dar um redirect pra outra página?

 

(essa página teria a mensagem de "Obrigdo pela mensagem, bla bla bla")

 

 

vlw

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim para dar um redirect faça assim

 

Response.Redirect("sucesso.asp")

este code tem que ser colocado abaixo do code no qual envia a mensagem.

 

na pagina sucesso.asp você coloca esa mensagem dizendo que o email foi enviado com sucesso.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu dou um redirect para uma pagina passando parametro na url, exemplo

response.redirect("default.asp?msgeof=1")

onde ele é redirecionado para a pagina default

você recupera variavel passada na url

 

varmsgeof=request.querystring("msgeof")

e atraves dela pode exibir uma mensagem de sucesso

ou abrir uma pagina , k fecha automaticamente, apenas para exibicaun para o user

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu dou um redirect para uma pagina passando parametro na url, exemplo

response.redirect("default.asp?msgeof=1")

onde ele é redirecionado para a pagina default

você recupera variavel passada na url

 

varmsgeof=request.querystring("msgeof")

e atraves dela pode exibir uma mensagem de sucesso

ou abrir uma pagina , k fecha automaticamente, apenas para exibicaun para o user

 

Por exemplo:

 

Response.Redirect("default.asp?obrigado=1")

(obrigado eh a variavel, e o =1 significa um "enable" ?)

 

 

ele redireciona pra pagina default.asp MAS puxa a variavel "obrigado" (posso usar qualquer nome pra essa variável?)

 

varObrigado=request.querystring("Sua mensagem foi enviada com sucesso!")

 

Isso retornaria ao usuário como?

Tipo um alert (javascript)?

 

Aliás, tem como fazer isso?

O usuário manda o formulário, aí aparece um alert e, quando ele clica no OK vai pra default.asp?

Acho que fica mais simples do que criar uma página de agradecimento e talz, não acham tbm?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara faça mais ou menos assim...

 

Depois do envio do email pelo sistema, coloque um code de rediret com variavell querystring tipo assim...

 

Response.Redirect("mesmapagina.asp?acao=enviado")

Dai nesta página mesmapagina.asp você verifica com if e else se a querystring acao foi ativada, a verificação para saber seria mais ou menos assim

 

VAcao = Request.QueryString("acao")

Neste exemplo acima é criado uma variavel chamada VAcao nesta váriavel você faz o sistema pegar a querystring que neste caso será acao

 

Depois disso monte o if e else, seria mais ou menos assim

 

<%
If VAcao = "enviado" then
Response.Write("email enviado")
End If
%>

Note que eu mando comparar a variavel VAcao com a palavra enviado se a variavel Vacao foi criada com a querystring enviado o sistema ira verificar que são iguais e com isso mostrara a mensagem "email enviado", caso o valor for vazio ou a palavra passada pela querystring for diferente o sistema não exibira mensagem nenhuma.

 

Caso queira dar apenas um alerta de prompt em javascript faça o if else assim

 

 

<%
If VAcao = "enviado" then
Response.Write("<scritp>alert('Email enviado com sucesso!');</script>")
End If
%>

No mais é isso, boa sorte e sucessos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

100% agora!

 

vlw pela ajuda gente!

 

Moderadores, podem fechar :)

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.