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

Formulario Aspemail - chega vazio!


VCdesign

Pergunta

Oi gente,

Tenho um formulario em Flash, descobri que o host da empresa tem o componente persist aspemail, quando clico no botao submit (enviar)o email esta chegando certinho no meu email da empresa, porem, os dados inseridos chegam como undefined (indefinido). não esta lendo as variaveis e já faz 2 semanas que não acho a solucao!

Tem varios posts sobre o problema, mas a solucao que é bom... nada!!!

Sera que alguém poderia me enviar um codigo valido? ou corrigir o que esta faltando no meu?

Desde já agradeco!

Segue o codigo que estou usando em Flash e em ASP:

ASP - enviar para o meu email:

<%
Set Mail=Server.CreateObject("Persits.MailSender")

Mail.Host="WinMailSrv"
Mail.Subject="Contact from Level Platforms - form"
Mail.From="nome@telsist.com"
Mail.AddAddress "nome@telsist.com"
Mail.Body = "Telsist website - Level Platforms"&Chr(13) & _
"Name:"& Request("name")& Chr(13) & _
"Company:"& Request("company")& Chr(13) & _
"Telephone:"& Request("tel")& Chr(13) & _
"E-mail:"& Request("email")


On Error Resume Next ' catch errors
Mail.Send
If Err <> 0 Then ' error occurred
response.write(Err.Description)
else
Response.Write "<script type='text/javascript'>alert('Thank You.\nYour message has been successfully sent to us! We will handle your request as soon as possible!.');</script>"

Response.Redirect "http://www.telsist.com"
End If
%>

<%Set Mail = Nothing%>
----------------------------------------------------------------------------------- Formulario Flash:
// declarar object LoadVars
// (o container dos seus dados a serem enviados e recebidos)
var email:LoadVars = new LoadVars();

// Sumario dos objectos no palco:

// 1. Botao com nome-de-instancia: sendButton
// 2. MovieClip com o nome-de-instancia: mcContact
// 3. Campos-de-texto input (dentro do mcContact),

// com nomes-de-instancia: name, company, tel e email


// 1. -----------------------------------------------
// acao para o botao

sendButton.onRelease = function() {

email["name"] = mcContact["name"].text;

email.company = mcContact.company.text;

email.tel = mcContact.tel.text;

email.email = mcContact.email.text;

validar_formulario();

};

// Cuidado!
// Com nomes-de-instancia coincidentes com sintaxes usadas pelo Flash
// mcContact.name = "mcContact"; !!!
// Devia ser: mcContact["name"]

// 2. ------------------------------------------------
// Validar os dados enviados (forma simples):

// variavel que vai, ou não, autorizar o envio

// assumiremos primeiro q tudo esta' certo!

var tudo_certinho:Boolean = true;

// variavel que vai isolar o erro (qual o campo não preenchido)

var o_que_esta_errado:String = "";

//

// funcao que vai checar o input do usuario

// neste caso, apenas vai saber se existe texto nesses campos ou não

// e notificar qual o que não foi preenchido

//

function validar_formulario(){

//

if(mcContact["name"].length == 0){

tudo_certinho = false;

o_que_esta_errado = "preencha o seu nome";

//

}else if(mcContact.company.length == 0){

tudo_certinho = false;

o_que_esta_errado = "preencha o nome da sua firma";

//

}else if(mcContact.tel.length == 0){

tudo_certinho = false;

o_que_esta_errado = "preencha o numero de telefone";

//

}else if(mcContact.email.length == 0){

tudo_certinho = false;

o_que_esta_errado = "preencha o seu email";

}

//

if(tudo_certinho == true){

enviar_receber();

}else{

//

// ouput para o flash

trace(o_que_esta_errado);

//

// ouput no browser

getURL("java script:alert('"+o_que_esta_errado+"');");

}

}

//

// 3. ------------------------------------------------
// A funcao chamada, quando tudo_certinho == true

// e vai enviar os dados e receber uma resposta do asp

//

function enviar_receber() {

// enviar

email.sendAndLoad("http://www.telsist.com/send.asp",email,"POST");

//

// receber

email.onload = function(success) {

if (success) {

gotoAndPlay("email ok");

} else {

gotoAndPlay("email fail");

}

delete this.onload;

};

}

//

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Resolvido o problema!

Vou deixar aqui a resposta para caso alguém perdido (como eu) esteja com o mesmo problema.

Formulario Flash + ASP:

1. Certifique-se que o servidor tem o componente Aspemail instalado.

2. Codigo ActionScript 2.0 dentro do botao enviar (bem simples, pois quando inventei moda com codigos para o Flash limpar, dar mensagem, etc... dava pau):

on (release) {

// Endereco da pagina ASP para o botao enviar funcionar

getURL("http://www.coloque aqui seu site.com/nome da sua pagina.asp?nome da variavel colocada na caixa do formulario Flash="+_parent.mesmo nome da variavel+"&variavel="+_parent.mesma variavel+"&variavel="+_parent.mesma variavel+"&variavel="+_parent.mesma variavel+"&"&variavel="+_parent.mesma variavel, "_self", "GET");

//o trace vai mostrar no output se o flash esta puxando as variaveis. Se vier undefined é porque a variavel esta dentro de algum movieclip que você criou e você deve escrever o nome depois de _parent, ex: "&company="+_parent.nome do movieclip.company

trace("Name " + _parent.nome da variavel);

trace("Company " + _parent.nome da variavel);

trace("Telephone " + _parent.nome da variavel);

trace("E-mail " + _parent.nome da variavel);

trace("Message " + _parent.nome da variavel);

}

No ASP (no final, depois que a pessoar preencheu o formulario e enviou, o asp vai redirecionar para a pagina principal do seu site, se der erro ele vai dizer o problema):

<%

Set Mail=Server.CreateObject("Persits.MailSender")

Mail.Host="nome do seu host - smtp"

Mail.Subject="assunto do seu email - ex: Contato do site tal"

Mail.From="destinatario@empresa.com"

Mail.AddAddress "destinatario@empresa.com"

Mail.Body= "Name: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _

"Company: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _

"Telephone: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _

"E-mail: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _

"Message: " & Request.QueryString("nome da variavel que você colocou no Flash")

On Error Resume Next ' catch errors

Mail.Send

If Err <> 0 Then ' error occurred

response.write(Err.Description)

else

response.redirect("http://www.nome do seu site.com")

End If

%>

Tudo bem simples, mas funcional! Tudo que esta em negrito é o que você deve mudar. De resto, não toque em nenhuma virgula! rsrsrs...

Espero que ajude mais alguém!

Link para o comentário
Compartilhar em outros sites

  • 0

Primeiramente Boa Tarde Senhores,

Vou Aproveitar seu Tópico..rsrs

Estou com um problema em um formulario asp + flash.

As mensagens estão chegando com alguns codigos como corrigir?

fuicomponentclass = [type Function]
fscrollselectlistclass = [type Function]
fcomboboxclass = [type Function]
fcomboboxitemclass = [type Function]
fselectablelistclass = [type Function]
fselectableitemclass = [type Function]
total = 2348069
carregando = 2330505
porcentagem = 99
fscrollbarclass = [type Function]
flistboxclass = [type Function]
fscrollpaneclass = [type Function]
flistitemclass = [type Function]

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0

você já tentou da forma que eu disse que deu certo pra mim? (segue abaixo novamente)

Antes eu tava tendo esse mesmo problema, mas é porque você ta colocando o caminho errado da variavel.

Formulario Flash + ASP:

1. Certifique-se que o servidor tem o componente Aspemail instalado.

2. Codigo ActionScript 2.0 dentro do botao enviar (bem simples, pois quando inventei moda com codigos para o Flash limpar, dar mensagem, etc... dava pau):

on (release) {
// Endereco da pagina ASP para o botao enviar funcionar
getURL("http://www.coloque aqui seu site.com/nome da sua pagina.asp?nome da variavel colocada na caixa do formulario Flash="+_parent.mesmo nome da variavel+"&variavel="+_parent.mesma variavel+"&variavel="+_parent.mesma variavel+"&variavel="+_parent.mesma variavel+"&"&variavel="+_parent.mesma variavel, "_self", "GET");


//o trace vai mostrar no output se o flash esta puxando as variaveis. Se vier undefined é porque a variavel esta dentro de algum movieclip que você criou e você deve escrever o nome depois de _parent, ex: "&company="+_parent.nome do movieclip.company

trace("Name " + _parent.nome da variavel);
trace("Company " + _parent.nome da variavel);
trace("Telephone " + _parent.nome da variavel);
trace("E-mail " + _parent.nome da variavel);
trace("Message " + _parent.nome da variavel);

}
No ASP (no final, depois que a pessoar preencheu o formulario e enviou, o asp vai redirecionar para a pagina principal do seu site, se der erro ele vai dizer o problema):
<%
Set Mail=Server.CreateObject("Persits.MailSender")

Mail.Host="nome do seu host - smtp"
Mail.Subject="assunto do seu email - ex: Contato do site tal"
Mail.From="destinatario@empresa.com"
Mail.AddAddress "destinatario@empresa.com"
Mail.Body= "Name: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _
"Company: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _
"Telephone: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _
"E-mail: " & Request.QueryString("nome da variavel que você colocou no Flash") & Chr(13) & _
"Message: " & Request.QueryString("nome da variavel que você colocou no Flash")

On Error Resume Next ' catch errors
Mail.Send
If Err <> 0 Then ' error occurred
response.write(Err.Description)
else
response.redirect("http://www.nome do seu site.com")
End If

%>

Link para o comentário
Compartilhar em outros sites

  • 0

Boa Tarde Senhores,

Desculpe a demora em posicionar a situação....

Não entendo bulhufas de programacao, seria + ou - isso que ficaria o codigo?

Obrigado

on (release) {
// Endereco da pagina ASP para o botao enviar funcionar
getURL("http://www.coloque aqui seu site.com/nome da sua pagina.asp?"
+_parent.nome+"&variavel="+_parent.email variavel+"&tel="+_parent.assuntol+"&variavel="+_parent.mensagem+"&"&variavel, "_self", "GET");


//o trace vai mostrar no output se o flash esta puxando as variaveis. Se vier undefined é porque a variavel esta dentro de algum movieclip que você criou e você deve escrever o nome depois de _parent, ex: "&company="+_parent.nome do movieclip.company

trace("Nome" + _parent.nome);
trace("Email " + _parent.email);
trace("Telefone " + _parent.tel);
trace("Assunto " + _parent.assunto);
trace("Mensagem " + _parent.mensagem);

}

Link para o comentário
Compartilhar em outros sites

  • 0

Só para constar oque estou usando é este.

Copiei inclusive de algum tópico daqui foi o unico form que achei funcionou.

DENTRO DO FLASH
AÇÃO DO BOTÃO ENVIAR
on (release) {
loadVariablesNum("http://www.empresa.com/form/email.asp", 0, "POST");
// já este irá carregar o arquivo asp e enviar para seu email
gotoAndStop(19);
// aqui enviamos o flash para o quadro 2 onde terá uma nova programação com novas telas para demostrar ao usuário que o email dele foi enviado
}
<%
'<form method="POST" action="email.asp">
'    <input type="hidden" name="destino"    value="contato@empresa.com">
'    <input type="hidden" name="formulario" value="formulario.html">
'    <input type="hidden" name="assunto"    value="Formulario">
'    <input type="hidden" name="obrigado"   value="obrigado.html">

Nome    = Request.form("nome")
Telefone  = Request.form("tel")
Assunto = Request.form("assunto")
email   = Request.form("email")
Mensagem = Request.form("Mensagem")
dominio = Replace(Request.ServerVariables("HTTP_HOST"),"www.","")

if LEN(From)  < 1 then From  = "postmaster@" & dominio
if LEN(email) < 1 then email = "postmaster@" & dominio
MSG = ""
Set Mail3 = CreateObject("CDONTS.Newmail")
Mail3.Value("Reply-To") = email
Mail3.From    = "Formulario de Contato <postmaster@" & dominio
Mail3.To      = Para
Mail3.Subject = Assunto

For Each Item IN Request.Form
    item = LCase(Item)
    if Item <> "destino" AND Item <> "assunto" AND Item <> "obrigado" AND Item <> "formulario" AND Item <> "enviar" then MSG = MSG + Item + " = " + Request.Form(Item) + chr(13)
Next
Mail3.Body = MSG
' Para encaminhar mensagens em HTML, utilize os itens abaixo
' Mail3.MailFormat = 0
' Mail3.BodyFormat = 0
Mail3.Send

Set Mail3 = nothing
Response.Redirect(Request.FORM("obrigado"))
%>

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,1k
    • Posts
      651,7k
×
×
  • Criar Novo...