Jump to content


Photo

Formulário Envia Dados Com Tag Html Embutido


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

#1 arthurlucena

arthurlucena

    Imamade nandomo..

  • Usuários
  • 343 posts
  • Sexo:Masculino
  • Localidade:João Pessoa
  • Interesses:Desenho, artes gráficas, fotografia, games, praia, cinema, animes, cultura japonesa, tecnologia, desenvolvimento para web entre outras coisas =)

Posted 14/08/2007, 15:17

Aeh pessoal,

Estou com um problema aqui, tenho um formulário que envia um email para mim, no entando, os campos que são digitados pelo usuário estão vindo com tags html embutidas, vide abaixo:
[codebox]Record Information:

phone: <TEXTFORMAT LEADING="-1"><P ALIGN="LEFT"><FONT FACE="Trebuchet MS" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">9999-1111</FONT></P></TEXTFORMAT>
email: <TEXTFORMAT LEADING="-1"><P ALIGN="LEFT"><FONT FACE="Trebuchet MS" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">arthur@teste</FONT></P></TEXTFORMAT>
company: <TEXTFORMAT LEADING="-1"><P ALIGN="LEFT"><FONT FACE="Trebuchet MS" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">Empresa Teste</FONT></P></TEXTFORMAT>
ddd: <TEXTFORMAT LEADING="-1"><P ALIGN="LEFT"><FONT FACE="Trebuchet MS" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">99</FONT></P></TEXTFORMAT>
retURL:
oid: 00D300000005osb
debugEmail: arthur@debugEmail
debug: 1
encoding: UTF-8
last%5Fname: <TEXTFORMAT LEADING="-1"><P ALIGN="LEFT"><FONT FACE="_sans" SIZE="12" COLOR="#FFFFFF" LETTERSPACING="0" KERNING="0">Arthur</FONT></P></TEXTFORMAT>[/codebox]

Os demais campos hidden, que eu seto manualmente, via AS, vem como texto puro. Como eu poderia fazer com que todos os inputs que o usuário digitasse viessem como texto puro? Dei uma procurada aqui no fórum mas não encontrei nada relevante, nem no Google também.

Valeu!

Edição feita por: arthurlucena, 14/08/2007, 15:19.

...........darkness.........²d¬¬b²
A vida é muito curta para se preocupar com o que as outras pessoas pensam. Viva.
Arthur Lucena..................貴族
arthurlucena at email dot com
[O'']olhares.com/arthurlucena

#2 Patrique

Patrique

    Super Veterano

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

Posted 14/08/2007, 18:31

Cara eu sinceramente nuca mexi com isso, mais de uma procurada por replace, no caso se vc estiver utilizando o asp utilize o replace do asp para retirar.

#3 arthurlucena

arthurlucena

    Imamade nandomo..

  • Usuários
  • 343 posts
  • Sexo:Masculino
  • Localidade:João Pessoa
  • Interesses:Desenho, artes gráficas, fotografia, games, praia, cinema, animes, cultura japonesa, tecnologia, desenvolvimento para web entre outras coisas =)

Posted 15/08/2007, 09:10

Valeu patrique,

O problema é que estou enviando para um servidor externo, o qual eu não tenho acesso, nem mesmo sei qual a linguagem que os mesmos utilizam. Então tratar os dados no lado do servidor infelizmente está fora de cogitação. Quanto a função replace valeu mesmo pela dica!
Agora é o seguinte: para os inputs estou usando componentes de texto "Input Text" e as tags xhtml que são enviadas correspondem a formatação do input text que usei no fla(swf), até mesmo o '< ... LEADING="-1">' ou seja, o formulário está sendo enviado no formato html...

Cara, já rodei atrás disso e nem sinal de solução.
...........darkness.........²d¬¬b²
A vida é muito curta para se preocupar com o que as outras pessoas pensam. Viva.
Arthur Lucena..................貴族
arthurlucena at email dot com
[O'']olhares.com/arthurlucena

#4 Patrique

Patrique

    Super Veterano

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

Posted 15/08/2007, 11:38

hum rum, em relação ao replace da linguagem eu entendo, mais ainda sim acho que da para vc usar o replace do flash cara, deve ter alguma solução, não sei como esta o restante do seu .as mais acredito que o replace do flash deva te servir.

[]'s
Patrique

#5 arthurlucena

arthurlucena

    Imamade nandomo..

  • Usuários
  • 343 posts
  • Sexo:Masculino
  • Localidade:João Pessoa
  • Interesses:Desenho, artes gráficas, fotografia, games, praia, cinema, animes, cultura japonesa, tecnologia, desenvolvimento para web entre outras coisas =)

Posted 15/08/2007, 16:07

Então,

Apos seguir o conselho do Patrique, fiz uma busca na ajuda do flash e achei a função replaceText. Porém a mesma não estava funcionando. Quando eu passava o inputText e chamava ela, passando como argumento um pedaço qualquer de sua string a mesma me retornava "undefined" no trace(). Tentei o [inputText].text, [inputText].htmlText e nada, sempre o famigerado "undefined". Tentei de tudo e nada.... parece que o replaceText funciona apenas para variaveis strings, não para componentes como InputText. Bom, whatever! Achei na internet uma função bastante útil, segue a mesma abaixo:
[codebox]function searchAndReplace(holder, searchfor, replacement) {
temparray = holder.split(searchfor);
holder = temparray.join(replacement);
return (holder);
}[/codebox]
E um exemplo de sua utilização:
[codebox]myreplaced = searchAndReplace("The quick sliver fox jumped over the lazy
brown dog", "brown", "orange");
trace(myreplaced);
//traces "The quick sliver fox jumped over the lazy orange dog"[/codebox]

Ok, isso é uma manobra no sistema (ou uma STA, Gambiarra, o que seja....) mas está funcionando. Meu problema não está resolvido, só temporariamente (e toscamente) solucionado. Não faço a menor idéia do porque o formulário estar enviado as formatações em html... tão logo eu descubro posto aqui a solução. Mas caso alguém tenha alguma ideía, por favor, contribua com este tópico =D
...........darkness.........²d¬¬b²
A vida é muito curta para se preocupar com o que as outras pessoas pensam. Viva.
Arthur Lucena..................貴族
arthurlucena at email dot com
[O'']olhares.com/arthurlucena

#6 Patrique

Patrique

    Super Veterano

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

Posted 15/08/2007, 18:51

Hum sacanagem hien cara, eu também nunca havia tido problema com isso, e também ficarei no aguardo se alguém souber uma solução para isso.

[]'s

#7 arthurlucena

arthurlucena

    Imamade nandomo..

  • Usuários
  • 343 posts
  • Sexo:Masculino
  • Localidade:João Pessoa
  • Interesses:Desenho, artes gráficas, fotografia, games, praia, cinema, animes, cultura japonesa, tecnologia, desenvolvimento para web entre outras coisas =)

Posted 30/08/2007, 11:21

Okay, após alguns dias afastado deste problema voltei a procurar sua solução.
E no final acabei encontrando, pelo menos para utilizar php.

É bom verificar se as caixas de texto estão com a opção "Render text as html" marcadas, caso estejam, desmarque-as. No arquivo php responsável por receber os dados e enviar o email adicione a função "strip_tags()" passando como argumento a string que será enviada. Então fica algo mais ou menos assim:
[codebox] <?PHP
$usuario = strip_tags($_POST['inputNome']);
$assunto = strip_tags($_POST['inputAssunto']);
$mensagem = strip_tags($_POST['inputMsg']);

$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";
$headers .= "From: ".$usuario."@qualuqercoisa.com.br\r\n";

mail("$receiver", "$assunto", "$mensagem", "$headers") or die("Não foi possível enviar a mensagem");

?>[/codebox]

Fiz aqui alguns testes, funcionou perfeito. Infelizmente não resolverá meu problema, pois o servidor que o formulário aciona é externo e eu não tenho qualquer controle sobre o mesmo (pensei numa manobra no sistema para fazê-lo funcionar, mas um remendo para remendar outro remendo me parece caótico demais), mas fica aqui uma solução correta para qualquer um que precise.

---

Bom, ao que parece encontrei uma real solução para o meu problema, ainda pesquisando nas profundezas mais recônditas da web tomei conhecimento desta pequena linha de código AS que resolveu meu problema:
[codebox]_root.instanceOfText_txt.html = false;[/codebox]

Ainda estou fazendo uns testes, mas parece que realmente isso resolve o meu problema.

Edição feita por: arthurlucena, 30/08/2007, 11:53.

...........darkness.........²d¬¬b²
A vida é muito curta para se preocupar com o que as outras pessoas pensam. Viva.
Arthur Lucena..................貴族
arthurlucena at email dot com
[O'']olhares.com/arthurlucena

#8 mramalho

mramalho

    Novato no fórum

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

Posted 18/11/2009, 11:32

Okay, após alguns dias afastado deste problema voltei a procurar sua solução.
E no final acabei encontrando, pelo menos para utilizar php.

É bom verificar se as caixas de texto estão com a opção "Render text as html" marcadas, caso estejam, desmarque-as. No arquivo php responsável por receber os dados e enviar o email adicione a função "strip_tags()" passando como argumento a string que será enviada. Então fica algo mais ou menos assim:

<?PHP$usuario = strip_tags($_POST['inputNome']);$assunto = strip_tags($_POST['inputAssunto']);$mensagem = strip_tags($_POST['inputMsg']);$headers = "MIME-Version: 1.0\r\n";$headers .= "Content-type: text/html; charset=iso-8859-1\r\n";$headers .= "From: ".$usuario."@qualuqercoisa.com.br\r\n";mail("$receiver", "$assunto", "$mensagem", "$headers") or die("Não foi possível enviar a mensagem");?>

Fiz aqui alguns testes, funcionou perfeito. Infelizmente não resolverá meu problema, pois o servidor que o formulário aciona é externo e eu não tenho qualquer controle sobre o mesmo (pensei numa manobra no sistema para fazê-lo funcionar, mas um remendo para remendar outro remendo me parece caótico demais), mas fica aqui uma solução correta para qualquer um que precise.

---

Bom, ao que parece encontrei uma real solução para o meu problema, ainda pesquisando nas profundezas mais recônditas da web tomei conhecimento desta pequena linha de código AS que resolveu meu problema:
_root.instanceOfText_txt.html = false;

Ainda estou fazendo uns testes, mas parece que realmente isso resolve o meu problema.



Estava como mesmo problema e que me tirou horas de sono. Para resolver desmarquei a opção "Auto Kern" nas propriedades de "character". Funcionou no meu script asp com componente "Persits.MailSender"
Para futuros problemas, segue esta opção.




1 user(s) are reading this topic

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

IPB Skin By Virteq