Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Criei um formulário em PHP com AS no Flash CS4, mas na hora de preencher e enviar, o e-mail não chega.
O código PHP é o seguinte:
<?php
extract ($_GET);
$recipient = "ricardobarantini@gmail.com";
$subject = "formulário de contato";
$msg = "nome: $nomennAssunto: $assuntonnDDD: $dddnnTelefone: $fonennE-mail:$emailnnMensagem: $msg";
$mailheaders = "From: ricardobarantini@live.com";
mail("$recipient", "$subject", "$msg", "$mailheaders");
?>
Action Script do Frame 01:
stop();
nome = "";
email = "";
fone = "";
msg = "";
status = "";
Action Script do Frame 02:
loadVariablesNum("mail.php", 0, "GET");
stop();
intervalo = function() {
prevFrame();
clearInterval (tempo);
}
tempo = setInterval (intervalo, 1800);
Obrigado por ajudarem. :)Fiz igual o tutorial e não funcionou. :(
Baixe o exemplo e teste.
Se não funcionar verifique se seu servidor tem suporte a função mail
Se o email não chegou em sua caixa de SPAM em vez de chegar como email normal
Se o seu servidor não necessita de SMTP
Abraços
É, não deu certo mesmo. Vou verificar meu servidor.
Obrigado.
----------------------------------------------------------------------------------------------------------------------------------
Meu servidor não tem suporte PHP, existe outra maneira de enviar e-mail pelo formulário?
Olha que maravilha não tem suporte e você querendo enviar com PHP :) rs
Existe com ASP, COLDFUSION (não tenho certeza, mas acho que da)
E existe um metodo arcaico com HTML simples... mas nem sei como fazer.
Verifique se seu servidor tem algum tipo de suporte de linguagem server side.
Se não tiver... diga ao cliente que não tem como colocar um form de contato, ou troque de servidor ou pague um que preste.
Abraços
Peguei trabalho pela metade, isso é complicado, acho que vou ter que usar o Google Docs aqui mesmo.
Só para tirar uma dúvida!
http://lazuliodontologia.com.br/flash/info.php
Tem PHP sim, não é mesmo?!
sim
Então por que será que não envia? :(
teste seu php com um formulário em html. se não funcionar.. ai o problema e no php, caso contrario e o flash..
Nem precisa disso tudo...
No mail.php
Prencha os dados dos campos que vão para o email manualmente e execute o mail.php diretamente
Se der erro ele vai mostrar na tela qual foi o erro.
Abraços
>
Nem precisa disso tudo...No mail.phpPrencha os dados dos campos que vão para o email manualmente e execute o mail.php diretamenteSe der erro ele vai mostrar na tela qual foi o erro.Abraços
Testei assim e o e-mail veio para mim, qual seria o problema? :mellow:
O erro pode ser que o flash n ta enviando as informações corretas para o PHP então...
Pois se ta chegando dessa maneira não tem erros no php.
Como está seu formulário de envio...
Só o action
Como que ta formulado o código para enviar as informações?
Abraços
stop();
nome.text = "";
email.text = "";
fone.text = "";
mensagem.text = "";
status.text = "";
var obj_s = new LoadVars();
var obj_l = new LoadVars();
function carrega(){
if(obj_l.ok = "1"){
nextFrame();
}else{
status.text = "Erro no envio";
}
}Repito: Use um proxy debugger e vai poder acompanhar o caminho dos dados do seu formulário. Não é "tudo isso", como o Thiago acha. É muito mais simples que ficar testando as possibilidades.
Isso ai não faz nada ;)
Literalmente.
Agora se você fizer algo:
var obj_s:LoadVars = new LoadVars();
var obj_l:LoadVars = new LoadVars();
obj_s.nome = nome.text;
obj_s.assunto = assunto.text;
obj_s.mensagem = mensagem.text;
obj_s.sendAndLoad("mail.php", obj_l, "POST");
Você pode começar a ir a algum lugar...
Abraços
>
Isso ai não faz nada ;)
Literalmente.
Agora se você fizer algo:
var obj_s:LoadVars = new LoadVars();
var obj_l:LoadVars = new LoadVars();
obj_s.nome = nome.text;
obj_s.assunto = assunto.text;
obj_s.mensagem = mensagem.text;
obj_s.sendAndLoad("mail.php", obj_l, "POST");
Você pode começar a ir a algum lugar...
Abraços
Eu troco o AS atual por esse?
Eu estou lhe dando uma ideia de como você deve fazer...
Por favor não faça copy & paste.
Procure sobre as informações que foram passadas.
Como LoadVars e sendAndLoad
E tente usar esses metodos para fazer o seu formulário.
Lembre-se q eu estou aqui para lhe guiar... assim como outras pessoas e não lhe dar códigos prontos.
Pq eu quero é que você aprenda a fazer e não aprenda a copiar.
abraços
Eu não entendo nada de AS, pra você ter idéia, eu aprendi a função do stop(); essa semana.
Baixe isso aqui:
http://www.4shared.com/file/3-zm-clU/formfacil.html
E teste... veja o que foi feito.
E altere conforme sua necessidade.
É necessário trocar o email no mail.php para que funcione o código.
Abraços
>
Baixe isso aqui:
http://www.4shared.com/file/3-zm-clU/formfacil.html
E teste... veja o que foi feito.
E altere conforme sua necessidade.
É necessário trocar o email no mail.php para que funcione o código.
Abraços
"Transferi" todos os dados e etc, mas ele da erro ao enviar.
Maneiro cara...
E qual o erro?...
Pergunta técnica... você testou o arquivo em seu servidor ANTES de alterar??? ou saiu alterando... ai depois testou?
Abraços
>
Maneiro cara...
E qual o erro?...
Pergunta técnica... você testou o arquivo em seu servidor ANTES de alterar??? ou saiu alterando... ai depois testou?
Abraços
Ele não envia o e-mail, ai no status da a mensagem de "erro ao enviar".
Eu alterei os dados de e-mail e transferi os códigos pro meu formulário, enviei pro servidor e testei.
Acabei de enviar e testar o seu formulário com meu e-mail no servidor e também não enviou o e-mail. Estou testando com meu gmail. Esse pode ser o erro?
AS do frame ACTIONS (adicionei "fone")
stop();
nome.text = "";
email.text = "";
fone.text = "";
mensagem.text = "";
status.text = "";
var obj_s:LoadVars = new LoadVars();
var obj_l:LoadVars = new LoadVars();
botao_enviar.onPress = function(){
if (nome.text == "") {
status.text = "O nome esta vazio";
selection.setFocus("nome");
} else if (email.text == "") {
status.text = "O e-mail está vazio";
Selection.setFocus("email");
} else if (fone.text == "") {
status.text = "Faltou o telefone";
Selection.setFocus("fone");
} else if (mensagem.text == "") {
status.text = "Faltou a mensagem";
Selection.setFocus("mensagem");
} else {
obj_s.nome = nome.text; //Valor do nome
obj_s.email = email.text;
obj_s.fone = fone.text;
obj_s.mensagem = mensagem.text;
obj_s.sendAndLoad("mail.php",obj_l,"POST");
obj_l.onLoad = carrega;
status.text = "Enviando...";
}
}
function carrega(ok){
status.text = obj_l.ok;
if(ok){
if(obj_l.ok == '1'){
nextFrame();
}else {
status.text = "Erro ao enviar";
}
}else {
status.text = "E-mail não enviado";
}
};
botao_resetar.onPress = function(){
nome.text = "";
email.text = "";
fone.text = "";
mensagem.text = "";
status.text = "";
}Tem certeza que nem no SPAM não chegou?????
Acabei de testar o mesmo formulário em meu servidor, só que com meu email e chegou perfeitamente.
E sei que esse form chega... pois tem uma cópia dele em outro forum com meu email... e vivo recebendo email das pessoas testando.
Mas de qualquer maneira
Vá em seu mail.php e faça o seguinte:
<?php
// adicione seu e-mail na linha abaixo
$recipient = "seu e-mail";
$subject = "formulário de contato";
$nome = "TESTE";//$_POST['nome'];
$email = "TESTE@test.com";//$_POST['email'];
$mensagem = "Teste"; //$_POST['mensagem'];
$msg = "nome: $nome \n\n E-mail: $email \n\n Mensagem: $mensagem";
// adicione seu e-mail na linha abaixo
$mailheaders = "From: seu e-mail";
$ok = @mail("$recipient", "$subject", "$msg", "$mailheaders");
if($ok){
echo "&ok=1&";
}else {
echo "&ok=2&";
}
?>Se você fizer isso ai e executar você tem que aparecer uma tela branca escrito isso: &ok=1&Ou isso: &ok=2&
Teste em seu servidor
Execute o arquivo mail.php
Pq como o script ta chegando até a resposta final n tem erro de script... no flash o problema deve estar sendo no php
Abraços
Da uma lida aqui:
http://forum.imasters.com.br/index.php?/topic/314180-tutorial-formulrio-fcil-de-e-mail-flash-php/
Abraços