Jump to content


Photo

Aspemail - Não Consigo Buscar Os Dados Do Formulário


  • Faça o login para participar
5 replies to this topic

#1 Animal

Animal

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 20/12/2006, 22:11

Seguinte, fiz um sistema para envio de e-mail com anexo utilizando o aspemail e o aspsmartupload.
Basicamente tudo funciona, consigo upar o arquivo e anexar no e-mail, porém eu quero que chegue no meu e-mail os dados do formulário, como o nome de quem mandou e o e-mail. Eu tenho outro sistema idêntico a este porém sem o anexo, e não consigo encontrar o pq não está dando certo.
Detalhe, o script não retorna denhum tipo de erro.

Eis a criança:


Formulário:

<table width="505" height="501" border="0" align="center" cellpadding="0" cellspacing="10" bgcolor="#ECEDBA">
<tr>
<th width="485" height="0" align="center" valign="top" scope="col"><p align="center" class="style12">Envie-nos o seu curriculum</p></th>
</tr>
<tr>
<th height="0" align="center" valign="top" scope="col"><img src="file:///D|/Provis&oacute;rio/figuras/barra_divisoria.gif" width="249" height="3" /></th>
</tr>
<tr>
<th height="419" align="center" valign="top" scope="col"><table width="485" border="0" cellspacing="0" cellpadding="0">
<form action="curriculum.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
<tr>
<th width="97" height="30" align="left" valign="middle" class="style19" scope="col">Nome:</th>
<th width="388" align="left" valign="middle" scope="col"><input name="nome" type="text" class="style10" size="60" maxlength="60" /></th>
</tr>
<tr>
<td height="30" align="left" valign="middle" class="style19">E-mail:</td>
<td align="left" valign="middle"><input name="email" type="text" class="style10" size="30" maxlength="30" /></td>
</tr></form>
<form action="upload.asp" target="frame1" method="post" enctype="multipart/form-data" name="form1" id="form1">
<tr>
<td height="30" align="left" valign="middle" class="style19">Anexar arquivo: </td>
<td height="19" align="left" valign="middle" class="style19"><input name="arquivo" type="file" class="style10" size="36" />
<input name="anexar" type="submit" class="style10" id="anexar" value="Anexar" /></td>
</tr>
<tr>
<td height="19" colspan="2" align="center" valign="top" class="style19">&nbsp;</td>
</tr>
<tr>
<td height="19" colspan="2" align="center" valign="top" class="style19"><iframe src="frame1.htm" name="frame1" width="370" height="40" scrolling="No" frameborder="0" id="frame1"></iframe></td>
</tr></form>
<form action="curriculum.asp" method="post" enctype="multipart/form-data" name="form1" id="form1">
<tr>
<td height="19" colspan="2" align="center" valign="top" class="style19">&nbsp;</td>
</tr>
<tr>
<td height="30" colspan="2" align="center" valign="top"><input type="submit" name="enviar" value="Enviar" /></td>
</tr></form>


Script p/ upload:

<%
Set objUpload = Server.CreateObject("aspSmartUpload.SmartUpload")
objUpload.AllowedFilesList = "doc"
objUpload.DeniedFilesList = "exe,bat,zip,rar,cab,swf,jpg,gif,pdf,asp,aspx,htm,html"
objUpload.MaxFileSize = 150000
objUpload.Upload

For each file In objUpload.Files
If not file.IsMissing Then
file.SaveAs(Server.MapPath("/uploads/" & "curriculum." & file.FileExt))
End If
Next

Response.Write ""
%>


E por fim o script que envia o e-mail:

<%
nome = Request.Form("nome")
assunto = "Curriculum de "&nome&""

Set MailC = Server.CreateObject("Persits.MailSender")
MailC.Host = "201.87.225.5"
MailC.From = ""
MailC.FromName = Request.Form("email")
MailC.AddAddress "meu_e-mail@bla.com.br"
MailC.Subject = assunto
corpo = "<html><body bgcolor=ECEDBA><table width=75% border=1 align=center cellpadding=2 cellspacing=2><tr><th><table width=99% border=0 cellspacing=2 cellpadding=2><tr><td colspan=2 align=center><table width=100% border=1 cellspacing=2 cellpadding=2><tr><th width=100% colspan=2 align=center valign=middle bgcolor=#CCCC99><span><font face=Arial, Helvetica, sans-serif color=#333333 size=3><i><b>Envie-nos o seu curriculum</b></i></font></span></th></tr></table></td></tr><tr><td height=150 colspan=2 align=center valign=middle><span><font face=Arial, Helvetica, sans-serif color=#333333 size=1><b>O usu&aacute;rio</b></font></span> <span><font face=Arial, Helvetica, sans-serif color=#006633 size=2><b>"&nome&"</b></font></span> <span><font face=Arial, Helvetica, sans-serif color=#333333 size=1><b>enviou-nos um curriculum.</b></font></span> </td></tr></table></th></tr><table></body></html>"

MailC.Body = corpo
MailC.IsHTML = True
MailC.AddAttachment (Server.MapPath("\uploads\curriculum.doc"))

On Error Resume Next
MailC.Send
If Err < 0 Then
Response.Write "Error encountered: " & Err.Description
End If
Set MailC = Nothing
%>


Todo o texto que coloquei para vir no e-mail está ok, só os campos do formulário que ele não busca mesmo.
Desde já agradeço a atenção de todos! Valeu! Um abraço!

#2 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 21/12/2006, 13:37

Quando se usa no formulário o enctype para envio de fotos a função Request.Form() não funcione, procure no manual do componente de email como resgatar valores de formulario.

[]s

#3 Animal

Animal

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 21/12/2006, 15:23

Opa! Primeiramente valeu pela resposta cara!

Mas... Como eu disse tenho outro sistema idêntico a este porém sem o upload, e neste os dados são resgatados corretamente, com o uso da função Request.form() e com o mesmo enctype. Até porque eu fiz primeiro o outro, e só alterei o formulário, inclui o file type e o submit pra upload, e alterei as variáveis e inclui o AddAttachment(). Antes de postar eu estudei bastante a documentação toda do componente, além dos scripts que vem junto como modelo. Já que instalei ele no meu pc pra poder testar.

É certo que vou verificar o que tu disse, mas, tenho quase certeza de que este não é o problema já que como disse no outro formulário funciona.


Este é o link do formulário que funciona:

http://www.integralc...faleconosco.htm


E este é o link deste formulário que postei:

http://www.integralc.../curriculum.asp


Mais uma vez valeu mas, continuamos a busca!!! Grande abraço!!!

#4 siola

siola

    Usuário

  • Usuários
  • 894 posts
  • Sexo:Masculino
  • Localidade:SBC - SP
  • Interesses:ASP, .NET, javascript

Posted 21/12/2006, 15:54

O problema é exatamente o que eu te disse.
No seu formulário que funciona olha como está a tag de inicio do formulário:
<form id="form" name="form" method="post" action="faleconosco.asp">

já no segundo olhe como está:
<form action="upload.asp" target="frame1" method="post" enctype="multipart/form-data" name="form1" id="form1">

Viu?

Como o enctype="multipart/form-data" o Request.Form não funciona, e se você tirar não vai funcionar o upload da foto, por isso lhe disse para olhar a documentação do componente que lá vai explicar como proceder para pegar o valor dos outros campos que não forem do tipo file.

[]s

#5 Animal

Animal

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 21/12/2006, 16:28

Certo! Renomeei o form que chama o script do upload para ficar diferente do que manda o e-mail, e tirei o enctype do que manda o e-mail.
Ainda não puxou. Continua mandando o e-mail e o anexo, mas os dados de quem enviou não e continua não dando erros.
Estou tentando encontrar algo que possa me ser útil na documentação mas ainda não achei.
A única coisa que encontrei é que se eu estivesse utilizando o AspUpload (componente que esta hospedagem não tem) eu deveria utilizar a função Upload.Form no lugar da Request.Form só que estou utilizando o AspSmartUpload.

Dá uma conferida lá no mesmo link pra ti ver como ficou.


Cara, e mais uma vez obrigado por estar te empenhando em me ajudar!

Edição feita por: Animal, 21/12/2006, 16:39.


#6 Animal

Animal

    Novato no fórum

  • Usuários
  • 6 posts
  • Sexo:Não informado

Posted 31/12/2006, 15:02

Ahhhááááa... Problema resolvido!!!
Coloquei o formulário de upload em um arquivo htm separado, que aparece na mesma página como iframe, assim o enctype não se bate!!!!

Muito obrigado a todos pela ajuda!!!! E qualquer dúvida agora estarei pronto pra responder!!! Hehehehehehe Ao menos sobre este pepino!!!


Um grande abraço e um ótimo começo de ano!!!!




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq