Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Felippe.88

Problemas com LoadVars e formatação de texto html

Recommended Posts

Poxa ! que sorte Psycocandy !

 

Pq eu estou a semanas e ainda não consegui fazer funcionar o Envio pelo PhP ... http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

AS 2.0 (Flash 8)

 

CODE
function sendMsg(url:String):Void {

if (arguments.length===0){

return;

}

var enviaParaServidor:LoadVars=new LoadVars();

enviaParaServidor.nome=nome.text;

enviaParaServidor.email=email.text;

enviaParaServidor.telefone=telefone.text;

enviaParaServidor.mensagem=mensagem.text;

enviaParaServidor.sendAndLoad(envia.php,enviaParaServidor,"POST");

enviaParaServidor.sendAndLoad(recebe.php,enviaParaServidor,"POST");

getURL("recebe.php","_self","POST");

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

PhP 5.2.0

Apache 2.2.3

 

Segue o envia.php

 

CODE
<html>

<body>

<?php

 

$para .= "felippe.88@gmail.com";

$assunto .= "..:: Contato Triad ::..";

 

$mensagem .= "

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">

<html xmlns=\"http://www.w3.org/1999/xhtml\">

<head>

<title>Contato</title>

</head>

<body>

Nome: <strong>".$_POST['nome']."</strong><br />

E-mail: <strong>".$_POST['email']."</strong>><br />

Telefone: <strong>".$_POST['telefone']."</strong><br />

Disse: $msg<br/>

</body></html>

";

 

$header .= "MIME-Version: 1.0\r\n";

$header .= "Content-type: text/html; charset=iso-8859-15\r\n";

$header .= "From: ".$_POST['$nome']." <".$_POST['email'].">";

 

if (mail ($para, $assunto, $msg, $header))

echo ("&enviado=ok&");

}

 

?>

</body>

</html>

Aí .. eu me pergunto e vos pergunto :

Aonde é que eu errei ??! http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

 

Se quiserem checar .. eu ja publiquei o site no servidor, para testar...

Percebam que ao enviar ele redireciona para outra página o recebe.php

Ela só têm um Echo para as variáveis do Flash ...

 

é mais ou menos assim:

 

CODE
<html>

<body>

<?php

 

echo "O usuário: ".$_POST['nome']."";

echo "<br>";

echo "E-mail: ".$_POST['email']."";

echo "<br>";

echo "Telefone: ".$_POST['telefone']."";

echo "<br>";

echo "Enviou a Mensagem: ".$_POST['mensagem']."";

 

?>

</body>

</html>

Visitem :

Triad Media Design

 

Obs1: Não recebo os e-mails e nem consigo ver o valor das variávels na oágina recebe.php

Obs2: ..por favor .. me ajudem ..

Obrigado ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

no flash testa assim para ver se chega

 

 

function sendMsg(url:String):Void {
  if (arguments.length===0){
	return;
  }
  var enviaParaServidor:LoadVars=new LoadVars();
  enviaParaServidor.nome="teste nome"
  enviaParaServidor.email="teste mail";
  enviaParaServidor.telefone="teste fone";
  enviaParaServidor.mensagem="teste mensagem";
  enviaParaServidor.sendAndLoad("envia.php",enviaParaServidor,"POST");
  enviaParaServidor.sendAndLoad("recebe.php",enviaParaServidor,"POST");
	getURL("recebe.php","_self","POST");
  }
}

 

se chegar algum email o problema é q o flash não esta acessando as caixas de texto

se não o erro deve estar no php ou no servidor

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na verdade acho que ja descobri o que era ....

 

Fiz um teste e ficou assim :

 

CODE
// metodo responsavel por enviar a mensagem

function sendMessage() {

// verifica se há algum campo não preenchido

if (nome.text == '' || email.text == '' || mensagem.text == '') {

// mostra aviso

saida.text = 'Preencha os Campos !';

} else {

// novo objeto da classe LoadVars()

var env:LoadVars = new LoadVars();

// se o arquivo foi carregado ...

env.onLoad = function(success:Boolean) {

// ... com sucesso

if (success) {

// mostra aviso

saida.text = 'Mensagem enviada com sucesso!';

}

// ... senão

else {

// mostra aviso

saida.text = 'Erro: Mensagem não enviada';

}

 

};

// aloca as variaveis a serem enviadas ao PHP

env.nome = nome.text;

env.email = email.text;

env.mensagem = mensagem.text;

// envia as variaveis ao PHP e carrega o arquivo

env.sendAndLoad('enviar.php', env, 'POST');

// env.sendAndLoad('recebe.php', env, 'POST');

// getURL("recebe.php","_self","POST");

}

}

// metodo responsavel por "limpar" os campos

function releaseFields() {

nome.text = '';

email.text = '';

mensagem.text = '';

saida.text = '';

}

 

//Botão enviar:

btnEnvia.onPress = function(){

sendMessage();

}

 

//Botão Apagar:

btnApaga.onPress = function(){

releaseFields();

}

Nesse teste eu tirei as frescuras do SetStyle ... e mudei o esquema de validação; Mas o que ue acho que estava atrapalhando era exatamente o

 

CODE
// env.sendAndLoad('recebe.php', env, 'POST');

// getURL("recebe.php","_self","POST");

Deixei só um sendAndLoad..

 

-- O problema agora é outro ...

No meu e-mail está chegando só as variáveis .. $email, $telefone ... etc..

Segue o PhP ..

 

CODE
<html>

<body>

<?php

# pegando as variaveis vindas do Flash

$nome = $_POST['nome'];

$email = $_POST['email'];

$mensagem = $_POST['mensagem'];

 

# montando o corpo da mensagem

$para = 'felippe.88@gmail.com';

$assunto = 'nome_assunto';

$conteudo = 'Nome: $nome\n';

$conteudo .= 'Email: $email\n\n';

$conteudo .= '=============== Mensagem ===============\n\n';

$conteudo .= '$mensagem\n';

$header = 'From: $email';

 

# enviando a mensagem através do metodo mail()

mail($para, $assunto, $conteudo, $header);

 

 

?>

Queria poder separar a variável $*** da menssagem porém ambas estão dentro do $conteudo. =

 

Pergunta 1 = Precisa mesmo desse "." (Qual a sintaxe correta disso ? :wacko:

Pergunta 2 = Queria aplicar um estilo um pouco mais bonito, usando tabelas e tal . estou usando o dreamweaver, mas não faço a mínima idéia de como montar o Estilo no modo design e inserir as variáveis porali ... Acho que vou ter que usar o modo Split achar onde está a Tabela e inserir a Variavel , e creio também que todo o Layaout deve estra dentro do $conteudo.= Não seria isso ?!

 

 

Segue o teste que está funcionando ... http://forum.imasters.com.br/public/style_emoticons/default/clap.gif

Teste de Envio

Compartilhar este post


Link para o post
Compartilhar em outros sites

a pergunta 1 eu não entendi...

 

 

 

o 2 é isso ai mesmo, coloque os styles direto na tabela, e depois coloque tudo dentro de $conteudo

 

 

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

a pergunta 1 eu não entendi...

 

 

 

o 2 é isso ai mesmo, coloque os styles direto na tabela, e depois coloque tudo dentro de $conteudo

 

 

 

 

 

[]´s

Eu tinha perguntado sobre os pontinhos ... Mas agora já entendi como funciona essa Sintaxe ...

 

-- Dúvida sobre a 2 ... Bem tudo está funcionando, a não ser o envio já com a tabela ...

 

Eu testei enviar os dados normalmente, sem tabela, sem nada ... E deu certo .. O problema é quando eu insiro o HTML no $msg ...

 

CODE
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Envia via PhP</title>

<body>

<div align="center">

<?php

$para = "felippe.88@gmail.com"

$assunto = "..: Contato triadmd.com.br :.."

 

// Cria a variável responsável pela mensagem, usando Tags HTML.

$msg = '

 

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">

<html xmlns=\"http://www.w3.org/1999/xhtml\">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

<title>Untitled Document</title>

<style type="text/css">

<!--

.style1 {

font-family: Arial, Helvetica, sans-serif;

color: #7FA6CA;

}

body,td,th {

font-family: Arial, Helvetica, sans-serif;

font-size: 12px;

color: #666666;

}

-->

</style>

</head>

<body>

<table width="500" border="0" cellspacing="0" cellpadding="0">

<tr>

<th colspan="4" bgcolor="#FFFFFF" scope="col"><h3 align="left" class="style1">Sistema de envio de E-mail </h3></th>

</tr>

<tr>

<th colspan="4" bgcolor="#6191BE" scope="col"> </th>

</tr>

<tr>

<td colspan="2"><div align="center"><img src="file:///D|/Work/Atuais/Triad/Website/_imagens/e_mail.jpg" width="152" height="120" /></div></td>

<td width="13" bgcolor="#FFFFFF"> </td>

<td width="271"><img src="file:///D|/Work/Atuais/Triad/Website/_imagens/logo_triad_final.png" width="271" height="146" /></td>

</tr>

 

<tr>

<td colspan="4" bgcolor="#6191BE"> </td>

</tr>

<tr>

<td colspan="4"> </td>

</tr>

<tr>

<td colspan="3"><strong>O Usuário: </strong></td>

<td>'.$nome.'</td>

</tr>

<tr>

<td colspan="3"><strong>E-mail:</strong></td>

<td>'.$email.'</td>

</tr>

<tr>

<td colspan="3"><strong>Telefone:</strong></td>

<td>'.$telefone.'</td>

</tr>

<tr>

<td colspan="3"> </td>

<td> </td>

</tr>

<tr>

<td colspan="3"><strong>Escreveu:</strong></td>

<td rowspan="2">'.$mensagem.'</td>

</tr>

<tr>

<td colspan="3"> </td>

</tr>

<tr>

<td colspan="3"> </td>

<td> </td>

</tr>

<tr>

<td colspan="4" bgcolor="#6191BE"> </td>

</tr>

</table>

</div>

</body>

</html>

'

 

// Estabelece o de: e para: de acordo com a variáveis.

$header = 'From:'.$nome.' <'.$email.'>';

 

// Executa a função mail.

mail($para, $assunto, $msg, $header);

 

?>

</div>

</body>

</html>

Viu ? Está tudo normal a não ser o $msg ..

Só Algumas Observações ..

Eu tive que colocar as aspas diferentes ... Ex $msg =' color="#F4F4F4" ... Isso porque senão ele ficava interpretando como Comentário os "#" ou "//" ...

 

Mas aí vai a pergunta ... Será que o PhP não está entendendo direito o código HTML ?!

Ou será que ele não consegue construir esse e-mail .. Creio que se o PhP não conseguisse construir o e-mail ele pelo menos iria enviar a mensagem como um grande texto ... Mas no caso não está nem enviando ..

 

Desculpe a "chateação" Eder ...

 

Eu creio que estes meus posts ja devem estar saindo fora do contexto desse tópico ...

Se quiser Mover .. sem problemas ..

 

Abraço..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não consgui Editar meu Tópico ...

Porisso escrevi de novo ..

 

Agora eu acrescentei as linhas :

 

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$mensagem = $_POST['mensagem'];

 

Mas continua na mesma ...

http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto, cortei o tópico em dois

 

 

 

acho que esta faltando um ponto e vírgula no final do texto

 

 

$msg = '

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<

.......

';   //  <-- AQUI

// Estabelece o de: e para: de acordo com a variáveis.
$header = 'From:'.$nome.' <'.$email.'>';

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

pronto, cortei o tópico em dois

 

 

 

acho que esta faltando um ponto e vírgula no final do texto

 

 

$msg = '

<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\" \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">
<

.......

';   //  <-- AQUI

// Estabelece o de: e para: de acordo com a variáveis.
$header = 'From:'.$nome.' <'.$email.'>';

 

 

[]´s

Não ... nada ainda ....

Obs: já coloquei o ";"

Compartilhar este post


Link para o post
Compartilhar em outros sites

deve ter algum outro erro no php, executa o recebe.php na navegador para ver se acusa algum erro

 

 

 

[]´s

O recebe.php não diz nada, ele só mostra as variáveis ...

e elas estão Ok ....

 

Creio que seja uns pontinhos .. e uma ateração na forma como eu escrevo a mensagen ...

 

CODE
$mensagem .='<html>';

$mensagem .='<head></head>';

$mensagem .='<body>';

.......

Será que se eu tentar assim , separadando em linhas diferentes .... ?!

Outra coisa ...

 

Atualmente o sistema funciona feiozinho com aquele script mais fácil...

CODE
<?php

# pegando as variaveis vindas do Flash

$nome = $_POST['nome'];

$email = $_POST['email'];

$telefone = $_POST['telefone'];

$mensagem = $_POST['mensagem'];

 

# montando o corpo da mensagem

$para = 'triadmd@triadmd.com.br, felippe.88@gmail.com';

$assunto = '..: Contato (www.triadmd.com.br) :..';

$conteudo .= 'Nome: '.$nome.'\n';

$conteudo .= '<br>';

$conteudo .= 'Telefone: '.$telefone.'\n';

$conteudo .= '<br>';

$conteudo .= 'Email: '.$email.'\n\n';

$conteudo .= '<br>';

$conteudo .= '=============== Mensagem ===============';

$conteudo .= '<br>';

$conteudo .= ''.$mensagem.'';

$header = 'From:'.$nome.' <'.$email.'>';

 

# enviando a mensagem através do metodo mail()

mail($para, $assunto, $conteudo, $header);

 

 

?>

Só que detalhe .... Não pula linha ... Isso quer dizer que as Tags HTML ou mesmo do PhP não podem estar entre aspas ...

Mas eu tirar as aspas ele não vai entender que faz parte da mensagem , porem se eu manter o e-mail vai continuar chegando assim:

 

Luiz Felippe para triadmd

mostrar detalhes 12:33 (9 minutos atrás)

 

Nome: Luiz Felippe\n<br>Telefone: 69782080\n<br>Email: felippe.88@gmail.com\n\n<br>=============== Mensagem ===============<br>Mais um Teste, creio que agora a mensagem chegara um pouco melhor..

 

E outra coisa ... eu faria para manter como caracteres reservados Tags HTML como:

CODE
<img src="file:///D|/Work/Atuais/Triad/Website/_imagens/logo_triad_final.png" width="271" height="146" /></td>

Eu sei qua no caso das cores dá para evitar o "#", colocando a cor assim : color="0xF4F4F4"

 

 

 

hunnff .. Já tô ficando lokão com isso ...

:blink:

Compartilhar este post


Link para o post
Compartilhar em outros sites

o problema agora é PHP, e não mais com o flash, deve ser algo no na variável $header que você deve passar

 

abre um tópico lá na área de PHP que o pessoal te ajuda

 

mas só para testar, altera o final do código para isso:

 

 

// o resto do codigo acima


// cabeçalho
$lb = "\r\n";
$boundary  = 'Multipart_Boundary_x{'. md5(time()) . '}';
$header = 'From:'.$nome.' <'.$email.'>'.$lb;
$headers  .= 'MIME-Version: 1.0'.$lb;
$headers  .= 'Content-Type: multipart/alternative; boundary="'.$boundary.'"'.$lb;

# enviando a mensagem através do metodo mail()
mail($para, $assunto, $conteudo, $header);

 

 

se não funcionar eu não sei o que fazer

 

 

 

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.