Publicidade

Entre para seguir isso  
Seguidores 0
Hernani F.

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

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.com.br/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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

 

Se não colocou ele vai continuar single line.

 

Abraços

0

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!


Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.


Entrar Agora
Entre para seguir isso  
Seguidores 0

  • Próximos Eventos