Jump to content


Photo

Como Passar Email No Flash Com Php ?


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

#1 FLY727

FLY727

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:poa

Posted 26/10/2004, 16:44

Pessoal,

estou tentando uma forma de passar email de dentro de um SWF sem a necessidade de abrir o outlook.

uma forma que encontrei foi a interaçao Flash e PHP mas nao esta dando certo. Alguem pode me ajudar a encontrar meu erro?

Segue o que eu fiz:

Três textFields do tipo input text : nome, email e msg
Um textField do tipo dynamic text : status.
Um botão : enviar

o botao enviar tem actionscript:
on(release)
{
status = "ENVIANDO MENSAGEM";
loadVariablesNum("phpMail.php", 0, "POST");
}

e o phpmail.php o codigo é:
<?php
$recipient = "meuemail@qualquer.com.br";

$subject = "EMail via PHP";

$msg = "email: $email\n\n$msg";

$mailheaders = "From: $nome";

mail("$recipient", "$subject", "$msg", "$mailheaders");

echo "status=MENSAGEM ENVIADA COM SUCESSO";
?>

mas nao esta dando certo este esquema.
sera que preciso colocar o smtp em algum lugar do codigo?
tenho uma pagina index.html aonde o swf esta e o phpmail.php .

valeu

Edição feita por: FLY727, 26/10/2004, 16:45.

Toda decolagem é opcional. Todo pouso é mandatório.

Sempre tente manter o seu número de pousos igual ao de suas decolagens.

Um bom pouso é aquele do qual você sai caminhando. Um ótimo pouso é aquele depois do qual você pode usar o avião novamente.

#2 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 26/10/2004, 16:54

cara, seu jeito é perfeito... mas o loadvariables é um pouco lento... faça assim:

coloque o loadvariables em um frame, no frame seguinte vc verifica se ele obteve sucesso, e caso contrario, volta pro frame anterior(um pseudo loop)... como fazer?

bom, faça o seu php devolver uma variavel, com um
echo "sucesso=ok"; //(ou vc usa sua propria variavel status que vc jah fez)

e no frame de verificação vc faz:
if (!sucesso)
gotoandplay(frameanterior);


quando executar, o "sucesso" vai existir, e seu email vai ter sido enviado...

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#3 Hes Vital

Hes Vital

    Doutor

  • Usuários
  • 796 posts
  • Sexo:Não informado
  • Localidade:Leste - Santa Catarina
  • Interesses: * Programação - Sempre é bom criar algo.<br> - PHP<br> - Action Script<br> * Jogos - Nunca se é velho demais pra jogar.<br> - RPG<br> - Ação<br> - Outros

Posted 26/10/2004, 17:04

Stormbringer, sobre o if(!sucesso), eu achava que isso só funcionava pra booleanos, funcionou com o "ok"?
Quantos programadores são necessários para trocar uma lâmpada?
Só um, mas a casa cai!

Posted Image

#4 Stormbringer

Stormbringer

    I'd love to stay with you all

  • Ex-Admins
  • 2927 posts
  • Sexo:Não informado
  • Localidade:Goiânia - GO
  • Interesses:Atualmente: pesquisa e desenvolvimento de web-games

Posted 26/10/2004, 17:57

Stormbringer, sobre o if(!sucesso), eu achava que isso só funcionava pra booleanos, funcionou com o "ok"?

sim... em qualquer linguagem de programaçao essa forma funciona se a variavel simpelsmente existir ou nao...

if(!sucesso)

essa condicional significa: Se a variavel sucesso nao existir
aí eu faço a acao:
vá para o frame anterior e tente carrega-la novamente

embora seja um uso booleano(existir ou não), a logica é, se sucesso="qualquer_coisa", a requisiçao da resposta sobre sua existencia devolve "true", negando a "existencia", vc cai no meu exemplo...

๑۩۞۩๑Let the Carnage Begin!!๑۩۞۩๑


#5 Up.inTheSky

Up.inTheSky
  • Visitantes

Posted 26/10/2004, 18:34

Seria demais pedir um tuto?... hehehe

#6 Hes Vital

Hes Vital

    Doutor

  • Usuários
  • 796 posts
  • Sexo:Não informado
  • Localidade:Leste - Santa Catarina
  • Interesses: * Programação - Sempre é bom criar algo.<br> - PHP<br> - Action Script<br> * Jogos - Nunca se é velho demais pra jogar.<br> - RPG<br> - Ação<br> - Outros

Posted 26/10/2004, 20:39

Aqui ó: Pesquisar por PHP no Fórum em Flash.

Meu conselho> Faça pesquisas, assim acharás sua resposta mais rápido. ;) (y)
Quantos programadores são necessários para trocar uma lâmpada?
Só um, mas a casa cai!

Posted Image

#7 FLY727

FLY727

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Masculino
  • Localidade:poa

Posted 26/10/2004, 23:19

Stormbringer

Deu certo... muito obrigado!

Mas me explica uma coisa por favor,
esse emal sera enviado pelo servidor
do site/email do codigo?
As msg que recebo sao sempre do
nome cadastrado no formulario mas o
@... sempre muda mantendo o provedor.
Tenho a impressao de ser o nome do
servidor.terra.com.br .
Tem como mandar direto do email que
inseri no codigo? sempre vir o mesmo
remetente?

Valeu

Edição feita por: FLY727, 26/10/2004, 23:21.

Toda decolagem é opcional. Todo pouso é mandatório.

Sempre tente manter o seu número de pousos igual ao de suas decolagens.

Um bom pouso é aquele do qual você sai caminhando. Um ótimo pouso é aquele depois do qual você pode usar o avião novamente.

#8 Hes Vital

Hes Vital

    Doutor

  • Usuários
  • 796 posts
  • Sexo:Não informado
  • Localidade:Leste - Santa Catarina
  • Interesses: * Programação - Sempre é bom criar algo.<br> - PHP<br> - Action Script<br> * Jogos - Nunca se é velho demais pra jogar.<br> - RPG<br> - Ação<br> - Outros

Posted 27/10/2004, 13:05

O e-mail é o do servidor, porque é o servidor que manda o e-mail, se eu entendi sua perguta, essa é a resposta.
Quantos programadores são necessários para trocar uma lâmpada?
Só um, mas a casa cai!

Posted Image

#9 ziriguidum

ziriguidum

    CG Master

  • Usuários
  • 192 posts
  • Sexo:Não informado
  • Localidade:São Leopoldo/RS
  • Interesses:Computação Gráfica

Posted 16/11/2005, 15:50

e aí galera, blz? achei interessante este código.. então resolvi fazer um teste.. mas não deu mto certo...

pra começar..

nos meus campos de input aparecem "_level7.nome" e por aí vai..

aí, eu apagando-os e clicando em enviar.. aparece a msg "enviando..." no meu dynamic text "alerta"...

ele passa pelo .php e envia.. mas não retornar o "enviado com sucesso"

Mesmo assim, o e-mail chega.. mas não vem como html

ele vem assim:

<TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Verdana\" SIZE=\"9\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">Rodolfo</FONT></P></TEXTFORMAT><br><TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Verdana\" SIZE=\"9\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">POsimidia</FONT></P></TEXTFORMAT><br><TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Verdana\" SIZE=\"9\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">Telefone</FONT></P></TEXTFORMAT><br><TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Verdana\" SIZE=\"9\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">rodolfo@posimidia.com.br</FONT></P></TEXTFORMAT><br><TEXTFORMAT LEADING=\"2\"><P ALIGN=\"LEFT\"><FONT FACE=\"Verdana\" SIZE=\"9\" COLOR=\"#FFFFFF\" LETTERSPACING=\"0\" KERNING=\"0\">LalalalpalLAalAa</FONT></P></TEXTFORMAT>

Pergunta: 1 - Como não exibir os "_level7.nome" nos meus campos de input???
2 - Como retornar o "email enviado com sucesso"?
3- Como enviar o e-mail como html??

No meu frame eu tenho a seguinte ação:

System.useCodepage = true
Selection.setFocus('nome')
nome.tabIndex = 0
empresa.tabIndex = 1
telefone.tabIndex = 2
email.tabIndex = 3
mensagem.tabIndex = 4
enviar.tabIndex = 5

function EnviaForm() {
	if (nome eq '') {
  alerta = 'O Campo Nome é Obrigatório!'
  Selection.setFocus('nome');
	} else if (email eq '' || email.indexOf('@', 0) eq -1 || email.indexOf('.', 0) eq -1) {
  alerta = 'Este não é um e-mail válido!'
  Selection.setFocus('email');
	} else if (mensagem eq '') {
  alerta = 'Escreva a mensagem!'
  Selection.setFocus('mensagem');
	} else {
  loadVariablesNum('phpmail.php', 0, 'POST')
     alerta = 'Enviando...'
	}
}
stop();

No botão tenho esta:

on(release){
	EnviaForm();
}

E o phpmail.php é este:

<?php
$recipient = "email@server.com.br";

$subject = "Contato enviado pelo site";

$mensagem = "$nome<br>$empresa<br>$telefone<br>$email<br>$mensagem";

$mailheaders = "From: $nome";

mail("$recipient", "$subject", "$mensagem", "$mailheaders");

echo "alerta=MENSAGEM ENVIADA COM SUCESSO";
?>

para entender o level7 q estou falando..podem visitar o wip do site em www.cbcomunicacao.com.br/flash e clicar em Contato.

Edição feita por: ziriguidum, 16/11/2005, 15:52.

3DSmax | Combustion | Real Flow | Photoshop | Premiere | Flash | Director | Corel |

Rodolfo Roth
Character Designer

CG.art - A Arte da Computação Gráfica

#10 Sheepman

Sheepman

    Veterano

  • Usuários
  • 1497 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 16/11/2005, 16:43

Só um parênteses... seria muito interessante descartar o uso do loadvariables e usar a LoadVars. Como a troca dos dados com o servidor é assíncrona, através do loadvariables tu não recebe uma resposta, e depende de definir variáveis para verificar se existe um retorno ou não. No caso da LoadVars, o evento onLoad dá conta do recado, de forma simples e muito mais eficaz.

Abraço
Mozart Petter - http://www.mozartpetter.com/
Não sabe o que é herança? clique aqui e descubra.

#11 ziriguidum

ziriguidum

    CG Master

  • Usuários
  • 192 posts
  • Sexo:Não informado
  • Localidade:São Leopoldo/RS
  • Interesses:Computação Gráfica

Posted 16/11/2005, 22:17

oi Sheep, blz? poderia escrever o código com LoadVars?? eu não manjo nada disso.

Um abraço.
3DSmax | Combustion | Real Flow | Photoshop | Premiere | Flash | Director | Corel |

Rodolfo Roth
Character Designer

CG.art - A Arte da Computação Gráfica

#12 wilsonmorgado

wilsonmorgado

    Normal

  • Usuários
  • 67 posts
  • Sexo:Não informado
  • Localidade:Aveiro-Portugal
  • Interesses:Internert webdesign

Posted 20/11/2005, 17:24

oi Sheep, blz? poderia escrever o código com LoadVars?? eu não manjo nada disso.

Um abraço.

ai cara, para que inventar?

Este script est funcinonado, veja os arquivos que disponibilzo no meu site:


http://members.lycos...ado/phpmail.fla


http://members.lycos...ado/phpmail.php
WILSON MORGADO
www.wilson.web.pt

#13 O malinha

O malinha

    12 Horas

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

Posted 20/11/2005, 20:32

Ae Pessoal,

Fiz o formulario que o FLY727 colocou lá, mas aconteceu o seguinte:

Quando eu testo unico e exclusivamente meu swf "contato.swf" o formulario funciona tranquilo, ou seja, o email CHEGA na minha caixa certinho.

Agora, quando eu testo o site todo, o "index.swf", que puxa o "contato.swf", ele nao funciona.

É necessario no botão "enviar" colocar algum target, sei la... eu nao to entendo pq nao ta funcionando.

Qual problema?

Obrigado!

Edição feita por: O malinha, 20/11/2005, 21:42.


#14 Sheepman

Sheepman

    Veterano

  • Usuários
  • 1497 posts
  • Sexo:Masculino
  • Localidade:Porto Alegre - RS

Posted 21/11/2005, 13:57

oi Sheep, blz? poderia escrever o código com LoadVars?? eu não manjo nada disso.

Um abraço.

Basicão...
var objLV:LoadVars = new LoadVars();
objLV.onLoad = function():Void{
   /* quando os valores forem carregados, tudo que estiver aqui dentro será executado */
   trace(this); // apenas um exemplo, mostra tudo que foi carregado
}
objLV.load("arquivo.php");

Existem ainda diversos outros eventos, tu pode saber, por exemplo, à quantas anda o carregamento dos dados, e etc.
E Wilson, isso não é inventar, é manter-se atualizado, até porque pessoal, no ActionScript 3 não vai mais existir loadVariables, loadMovie e etc, existirá apenas classes, e quem não souber mexer nelas, vai ter que ralar lá na frente.

Abraço
Mozart Petter - http://www.mozartpetter.com/
Não sabe o que é herança? clique aqui e descubra.

#15 O malinha

O malinha

    12 Horas

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

Posted 21/11/2005, 15:36

Ae Pessoal,

Fiz o formulario que o FLY727 colocou lá, mas aconteceu o seguinte:

Quando eu testo unico e exclusivamente meu swf "contato.swf" o formulario funciona tranquilo, ou seja, o email CHEGA na minha caixa certinho.

Agora, quando eu testo o site todo, o "index.swf", que puxa o "contato.swf", ele nao funciona.

É necessario no botão "enviar" colocar algum target, sei la... eu nao to entendo pq nao ta funcionando.

Qual problema?

Obrigado!


me ajudem :(




0 user(s) are reading this topic

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

IPB Skin By Virteq