Ir para conteúdo
Fórum Script Brasil
  • 0

Resposta De Formulário Em Ordem


Flavia Soul

Pergunta

Olá gente...

Estou com um problema a séculos e agora a coisa começou a apertar...

Tenho um script de form mail em Asp que envia os resultados do formulario numa boa, mas o único problema é a ordem que ele chega...

Um exemplo:

Na página form.htm está nessa ordem

Nome:

E-mail:

Telefone:

Comentários:

Mas a resposta que recebo no meu e-mail é essa:

Nome: Flavia

Comentários: blá, blá, blá

E-mail: flavia@.....com.br

Telefone: 215555555

Quero saber como colocar exatamente na ordem que está na página form.

Nome: Flavia

E-mail: flavia@.....com.br

Telefone: 215555555

Comentários: blá, blá, blá

Segue abaixo o script (a página form.htm é normal com o action chamando o envia.asp)

envia.asp

<%@ Language=VBScript %>
<%
'Script para envio de e-mail em formulário

Dim vErro,vSucesso,vErr
vErro = ""
vSucesso = "obrigado.htm"
vErr = "erro.htm"
if Request.Form.Count + Request.QueryString.Count > 0 then
    Call Respform
    Call Resp
end if
'-----------------------------------------------------------
Sub Respform()
    On Error Resume Next
    Dim msg,vData,vHora,vPara,vNomeform,vFrom,vAssunto,vCc,vDom
    vNomeForm = "Contato"
    vPara = "suporte@zonacarioca.com"
    vFrom = "suporte@zonacarioca.com"
    vCc = "suporte@zonacarioca.com"
    vAssunto = "Contato - Zona Carioca"
    vData = Date()
    vData = day(vData) & "/" & month(vData) & "/" & year(vData)
    vHora = Time()
    vHora = hour(vHora) & "h" & minute(vHora) & "min" & second(vHora) & "s"
    msg = "Formulário " & vNomeForm
    msg = msg & " submetido em " & vData & " às " & vHora & VbCrLf & VbCrLf
    if Request.ServerVariables("REQUEST_METHOD") = "POST" then
        for each campo in Request.Form
            if campo <> "B1" and campo <> "B2" and campo <> "B3" and campo <> "B4" then 
                msg = msg & string(60,"-") & vbcrlf
                msg = msg & campo & " : " & Request.Form(campo) & VbCrLf
            end if
        next
    else
        for each campo in Request.QueryString
            if campo <> "B1" and campo <> "B2" and campo <> "B3" and campo <> "B4" then 
                msg = msg & string(60,"-") & vbcrlf
                msg = msg & campo & " : " & Request.QueryString(campo) & VbCrLf
            end if
        next
    end if
    msg = msg & string(60,"*") & vbcrlf
    EnviaEmail msg,vFrom,vPara,vCc,vAssunto
    If Err then
        vErro = Err.number & " : "
        vErro = Err.description
        Err.Clear
    End if
End Sub
'-----------------------------------------------------------
Function EnviaEmail(ByVal p_body, Byval p_from, ByVal p_to, ByVal p_cc, Byval p_subject)
    On Error Resume Next
    Dim iMsg, Flds, iConf, status
    Const SERVIDOR_SMTP = "200.155.18.14"
    status = true
    Set iMsg = Server.CreateObject("CDO.Message")
    Set iConf = Server.CreateObject("CDO.Configuration")
    Set Flds = iConf.Fields
    Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
    Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SERVIDOR_SMTP
    Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
    Flds.Update
    With iMsg
        Set .Configuration = iConf
        .To = p_to
        .CC = p_cc
        .From = p_from
        .Sender = p_from
        .Subject = p_subject
        .TextBody = p_body
        .Send
    End With
    If Err.number <> 0 Then
        status = false
    End If
    If IsObject(iMsg) Then Set iMsg = Nothing
    If IsObject(Flds) Then Set Flds = Nothing
    If IsObject(iConf) Then Set iConf = Nothing
    EnviaEmail = status
End Function
'-----------------------------------------------------------
Sub Resp()
    if vErro = "" then
        Response.Redirect(vSucesso)
    else
        Response.Redirect(vErr)
    end if
End Sub
%>

Alguém poderia me ajudar? :unsure:

Tks

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Guest Marcio Alves Vieira

A linha que controla a ordem das strings está em vermelho

<%@ Language=VBScript %>

<%

'Script para envio de e-mail em formulário

Dim vErro,vSucesso,vErr

vErro = ""

vSucesso = "obrigado.htm"

vErr = "erro.htm"

if Request.Form.Count + Request.QueryString.Count > 0 then

Call Respform

Call Resp

end if

'-----------------------------------------------------------

Sub Respform()

On Error Resume Next

Dim msg,vData,vHora,vPara,vNomeform,vFrom,vAssunto,vCc,vDom

vNomeForm = "Contato"

vPara = "suporte@zonacarioca.com"

vFrom = "suporte@zonacarioca.com"

vCc = "suporte@zonacarioca.com"

vAssunto = "Contato - Zona Carioca"

vData = Date()

vData = day(vData) & "/" & month(vData) & "/" & year(vData)

vHora = Time()

vHora = hour(vHora) & "h" & minute(vHora) & "min" & second(vHora) & "s"

msg = "Formulário " & vNomeForm

msg = msg & " submetido em " & vData & " às " & vHora & VbCrLf & VbCrLf

if Request.ServerVariables("REQUEST_METHOD") = "POST" then

for each campo in Request.Form

if campo <> "B1" and campo <> "B2" and campo <> "B3" and campo <> "B4" then

msg = msg & string(60,"-") & vbcrlf

msg = msg & campo & " : " & Request.Form(campo) & VbCrLf

end if

next

else

for each campo in Request.QueryString

if campo <> "B1" and campo <> "B2" and campo <> "B3" and campo <> "B4" then

msg = msg & string(60,"-") & vbcrlf

msg = msg & campo & " : " & Request.QueryString(campo) & VbCrLf

end if

next

end if

msg = msg & string(60,"*") & vbcrlf

EnviaEmail msg,vFrom,vPara,vCc,vAssunto

If Err then

vErro = Err.number & " : "

vErro = Err.description

Err.Clear

End if

End Sub

'-----------------------------------------------------------

Function EnviaEmail(ByVal p_body, Byval p_from, ByVal p_to, ByVal p_cc, Byval p_subject)

On Error Resume Next

Dim iMsg, Flds, iConf, status

Const SERVIDOR_SMTP = "200.155.18.14"

status = true

Set iMsg = Server.CreateObject("CDO.Message")

Set iConf = Server.CreateObject("CDO.Configuration")

Set Flds = iConf.Fields

Flds("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2

Flds("http://schemas.microsoft.com/cdo/configuration/smtpserver") = SERVIDOR_SMTP

Flds("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25

Flds.Update

With iMsg

Set .Configuration = iConf

.To = p_to

.CC = p_cc

.From = p_from

.Sender = p_from

.Subject = p_subject

.TextBody = p_body

.Send

End With

If Err.number <> 0 Then

status = false

End If

If IsObject(iMsg) Then Set iMsg = Nothing

If IsObject(Flds) Then Set Flds = Nothing

If IsObject(iConf) Then Set iConf = Nothing

EnviaEmail = status

End Function

'-----------------------------------------------------------

Sub Resp()

if vErro = "" then

Response.Redirect(vSucesso)

else

Response.Redirect(vErr)

end if

End Sub

%>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...