Ir para o conteúdo

Publicidade

 Estatísticas do Fórum

  • 0 Usuários ativos

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

Foto:

Problemas de quebra de linha no envio de email (Flash +PHP)

  • Por favor, faça o login para responder
3 respostas neste tópico

#1 Hernani F.

Hernani F.
  • Membros
  • 32 posts

Postado 09 dezembro 2009 - 09:22

Olá,
gostaria de saber se alguém já passou por isso, eu criei um inputText no flash e setei ele como multiline, e mando o valor dele por sendAndLoad para o php,no php eu recebo por POST, gravo em uma variável e envio com a função mail porém se eu dou um enter no flash o que está para baixo do enter não é enviado.

Se eu digito no campo de inputText do Flash assim:

Olá, (aqui dou um enter)
meu nome é Hernani Fernandes (aqui dou um outro enter)
Obrigado.

Ele envia pro php e o php envia pro email assim

Olá,

.................
Ou seja o que está abaixo do enter ele não envia.


O código:

// ----Método que envia os dados para o php
var lv:LoadVars = new LoadVars();
var lvR:LoadVars = new LoadVars();

function enviaEmail()
{
	this.lv.texto = this.txt.text;
	this.lv.sendAndLoad("email.php",this.lvR,"POST");
	
	this.lvR.onLoad = function (ok:Boolean)
	{
		if (ok = true)
		{
			_root.txt.text = "Email Enviado";
		}else
		{
			_root.txt.text = "Falha ao enviar";
		}
	}

}
// ----botão que envia
this.btEnvia.onPress = function ()
{
	this._parent.enviaEmail()
}


No PHP ficou assim:


<?php 
	//recebe a variavel do flash
	$nome = $_POST['texto'];


	//cabeçalhos para correção de acentuação
	$headers = "MIME-Version: 1.0\n"; 
	$headers .= "Content-Type: text/html; charset=utf-8\n";
	$headers .="From: $email\n";

	//preenche em um campo que vai organizar e colocar de forma visualizável
	$corpo = "Texto: $texto";
	
	
	//envia
	if(mail('meuemail@meuemail.com',"Email enviado pelo site",$corpo,$headers)){
		echo "ok=true";
	}else{
		echo "ok=false";
	}
?>

Caso tenham alguma dúvida o link para baixar os arquivos é o seguinte:
http://www.mouseup.c...teste/email.rar

Se já existir este tópico em outro lugar peço que postem o link pois já fasculhei a internet e este fórum porém não encontrei nada.

Obrigado.
Hernani F.
  • 0

#2 Thiago de Oliveira Cruz

Thiago de Oliveira Cruz

    Web Developer

  • Membros
  • 4.797 posts

Postado 09 dezembro 2009 - 14:22

Colocou wordWrap no campo de texto também???

Se não colocou ele vai continuar single line.

Abraços
  • 0

#3 Hernani F.

Hernani F.
  • Membros
  • 32 posts

Postado 11 dezembro 2009 - 09:15

Sim, coloquei, porém continua o problema.
  • 0

#4 Thiago de Oliveira Cruz

Thiago de Oliveira Cruz

    Web Developer

  • Membros
  • 4.797 posts

Postado 11 dezembro 2009 - 12:14

No arquivo que você mandou você não colocou essa opção não apenas mutiline

Então faça assim
_root.txt.multiline = true;
_root.txt.wordWrap = true;

E você ta usando muito _root, _parent, this desnecessariamente... cuidado que isso pode vir a complicar sua vida mais para frente!!!
Se o form já está no _root não precisa colocar _root na frente, mesma coisa par ao botão não precisa colocar this.botao, só botão já funciona

e a function não precisa chamar this._parent.function chame só function()...
Ou seja seu código estaria mais correto se fica-se assim:

// ----Método que envia os dados para o php
var lv:LoadVars = new LoadVars();
var lvR:LoadVars = new LoadVars();

txt.multiline = txt.wordWrap = true;

function enviaEmail()
{
	lv.texto = txt.text;
	lv.sendAndLoad("email.php",lvR,"POST");
	
	lvR.onLoad = function (ok:Boolean)
	{
		if (ok = true)
		{
			txt.text = "Email Enviado";
		}else
		{
			txt.text = "Falha ao enviar";
		}
	}

}
// ----botão que envia
btEnvia.onPress = function ()
{
	enviaEmail();
}


Não que seu metodo de programar esteja errado, você apenas está complicando mais e "sujando" mais o código ao invés de deixar ele simples e limpo.

Abraços
  • 0




Publicidade

/ins>