IAMDIX Posted December 5, 2011 Report Share Posted December 5, 2011 Fala galera,faz um tempo que estou preparando esse formulario e ta dando um erro aqui, seja no servidor wamp instalado no meu pc seja no servidor dedicado pago.No flash não tenhos erro mas rodando o formulario recebo "Erro no envio, tente de novo!" por isso acredito ser um erro no arquivo php:PHP<?php $enviaPara = 'contato@meuemail.com.br'; $campoNome = $_POST['nome']; $campoCidade = $_POST['cidade']; $campoEstado = $_POST['estado']: $campoTel = $_POST['tel']; $campoEmail = $_POST['email']; $campoCheckin = $_POST['checkin']; $campoCheckout = $_POST['checkout']; $campoAdultos = $_POST['adultos']; $campoCriancas = $_POST['criancas']; $campoComentarios = $_POST['comentarios']; $escolha = $_POST['escolha']; $subject = 'E-mail do site'; //Montando o corpo da mensagem $mensagem = "Nome: ".$_POST['nome']." \n"; $mensagem = "Cidade: ".$_POST['cidade']." \n"; $mensagem = "Estado: ".$_POST['estado']." \n"; $mensagem = "Tel: ".$_POST['tel']." \n"; $mensagem = "Email: ".$_POST['email']." \n"; $mensagem = "Checkin: ".$_POST['checkin']." \n"; $mensagem = "Checkout: ".$_POST['checkout']." \n"; $mensagem = "Adultos: ".$_POST['adultos']." \n"; $mensagem .= "Criancas: ".$_POST['criancas']." \n"; $mensagem .= "Comentarios: ".$_POST['comentarios']." \n"; $mensagem = "escolha: ".$_POST['escolha']; //e-mail do remetente: $mail_headers = 'From: '.$_POST['email']; //envia o e-mail mail($enviaPara, $subject, $mensagem, $mail_headers); // Vamos fazer um teste para ver se o email foi enviado corretamente if( mail( $para, $assunto, $corpo, $headers ) ) { // Caso o email tenha sido enviado pelo provedor, retorna YES //echo "&success=yes"; //$success=0'; $success='yes'; echo "&success=".$success; } else { // Caso não tenha sido enviado, retorna NO //echo "&success=no"; //$success=1'; $success='no'; echo "&success=".$success; } } ?> AS3 stop(); //variaveis nome_txt.text = ""; cidade_txt.text = ""; estado_txt.text = ""; tel_txt.text = ""; email_txt.text = ""; checkin_txt.text = ""; checkout_txt.text = ""; adultos_txt.text = ""; criancas_txt.text = ""; comentarios_txt.text = ""; msg_txt.text = ""; var escolha:String = new String(); var url_vars:URLVariables = new URLVariables(); var timer:Timer; var url_loader:URLLoader = new URLLoader ; var url_request:URLRequest = new URLRequest("testemail.php"); //arquivo send_mail.php tem que estar na mesma pasta // caso seja em outro lugar colocar o endereço do link onde está url_request.method = URLRequestMethod.POST; //registro eventos limpar_btn.addEventListener(MouseEvent.CLICK, _limpar); enviar_btn.addEventListener(MouseEvent.CLICK, _enviar); //funçoes do sistema; function init():void { //habilitamos acentuação System.useCodePage = false; } //outras funçoes function _enviar(e:MouseEvent):void { /* Verifica se o CheckBox apto 1 foi selecionada */ if (apto1_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto1 */ escolha = "Apto1, "; } /* Verifica se o CheckBox Apto 2 foi selecionada */ if (apto2_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto2 */ escolha += "Apto2, "; } /* Verifica se o CheckBox apto 3 foi selecionada */ if (apto3_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto3 */ escolha += "Apto3, "; } /* Verifica se o CheckBox apto 4 foi selecionada */ if (apto4_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto4 */ escolha += "Apto4, "; } /* Verifica se o CheckBox apto 5 foi selecionada */ if (apto5_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto5 */ escolha += "Apto5. "; } if (nome_txt.text == "" || cidade_txt.text == "" || estado_txt.text == "" || tel_txt.text == "" || email_txt.text == "" || checkin_txt.text == "" || checkout_txt.text == "" || adultos_txt.text == "" || criancas_txt.text == "" || comentarios_txt.text =="" || escolha == "") { msg_txt.text = "Prencha todos os campos!"; } else { /*var mail_data:String = "Nome=" + nome_txt.text + "&Cidade=" + cidade_txt.text + "&Estado=" + estado_txt.text + "&Tel=" + tel_txt.text + "&Email=" + email_txt.text + "&Checkin=" + checkin_txt.text + "&Checkout=" + checkout_txt.text + "&Adultos=" + adultos_txt.text + "&Criancas=" + criancas_txt.text + "&Comentarios=" + comentarios_txt.text;*/ url_vars.nome = nome_txt.text + "&"; url_vars.cidade = cidade_txt.text + "&"; url_vars.estado = estado_txt.text + "&"; url_vars.tel = tel_txt.text + "&"; url_vars.email = email_txt.text + "&"; url_vars.checkin = checkin_txt.text + "&"; url_vars.checkout = checkout_txt.text + "&"; url_vars.adultos = adultos_txt.text + "&"; url_vars.criancas = criancas_txt.text + "&"; url_vars.comentarios = comentarios_txt.text + "&"; url_vars.escolha = escolha + "&"; msg_txt.text = "Enviando o formulario ....."; //var url_vars:URLVariables = URLVariables(mail_data); url_request.data = url_vars; //url_vars.dataFormat = URLLoaderDataFormat.TEXT; url_loader.dataFormat = URLLoaderDataFormat.VARIABLES; url_loader.load(url_request); url_loader.addEventListener(Event.COMPLETE, _verifica); } } function _verifica(e:Event):void { var loader:URLLoader = URLLoader(e.target); var email_status = new URLVariables(loader.data).success; //variavel que está no php if (email_status == "yes") { msg_txt.text = "Enviado com Sucesso!"; timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, _timer); timer.start(); } else { //para verificar se o timer funciona timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, _timer); timer.start(); msg_txt.text = "Erro no envio, tente de novo!"; } } function _timer(e:TimerEvent):void { if (timer.currentCount >= 10) { nome_txt.text = cidade_txt.text = estado_txt.text = tel_txt.text = email_txt.text = checkin_txt.text = checkout_txt.text = adultos_txt.text = criancas_txt.text = comentarios_txt.text = escolha = ""; apto1_ch.selected = false; apto2_ch.selected = false; apto3_ch.selected = false; apto4_ch.selected = false; apto5_ch.selected = false; timer.removeEventListener(TimerEvent.TIMER, _timer); } } /* Função disparada quando se clica no botão limpar */ function _limpar(event:MouseEvent):void { limpa();/* Chamamos a função limpa */ } function limpa() { escolha = ""; nome_txt.text = ""; cidade_txt.text = ""; estado_txt.text = ""; tel_txt.text = ""; email_txt.text = ""; checkin_txt.text = ""; checkout_txt.text = ""; adultos_txt.text = ""; criancas_txt.text = ""; comentarios_txt.text = ""; escolha = ""; apto1_ch.selected = false; apto2_ch.selected = false; apto3_ch.selected = false; apto4_ch.selected = false; apto5_ch.selected = false; } Quote Link to comment Share on other sites More sharing options...
0 rickayron Posted December 5, 2011 Report Share Posted December 5, 2011 Fala galera,faz um tempo que estou preparando esse formulario e ta dando um erro aqui, seja no servidor wamp instalado no meu pc seja no servidor dedicado pago.No flash não tenhos erro mas rodando o formulario recebo "Erro no envio, tente de novo!" por isso acredito ser um erro no arquivo php:PHP<?php $enviaPara = 'contato@meuemail.com.br'; $campoNome = $_POST['nome']; $campoCidade = $_POST['cidade']; $campoEstado = $_POST['estado']: $campoTel = $_POST['tel']; $campoEmail = $_POST['email']; $campoCheckin = $_POST['checkin']; $campoCheckout = $_POST['checkout']; $campoAdultos = $_POST['adultos']; $campoCriancas = $_POST['criancas']; $campoComentarios = $_POST['comentarios']; $escolha = $_POST['escolha']; $subject = 'E-mail do site'; //Montando o corpo da mensagem $mensagem = "Nome: ".$_POST['nome']." \n"; $mensagem = "Cidade: ".$_POST['cidade']." \n"; $mensagem = "Estado: ".$_POST['estado']." \n"; $mensagem = "Tel: ".$_POST['tel']." \n"; $mensagem = "Email: ".$_POST['email']." \n"; $mensagem = "Checkin: ".$_POST['checkin']." \n"; $mensagem = "Checkout: ".$_POST['checkout']." \n"; $mensagem = "Adultos: ".$_POST['adultos']." \n"; $mensagem .= "Criancas: ".$_POST['criancas']." \n"; $mensagem .= "Comentarios: ".$_POST['comentarios']." \n"; $mensagem = "escolha: ".$_POST['escolha']; //e-mail do remetente: $mail_headers = 'From: '.$_POST['email']; //envia o e-mail mail($enviaPara, $subject, $mensagem, $mail_headers); // Vamos fazer um teste para ver se o email foi enviado corretamente if( mail( $para, $assunto, $corpo, $headers ) ) { // Caso o email tenha sido enviado pelo provedor, retorna YES //echo "&success=yes"; //$success=0'; $success='yes'; echo "&success=".$success; } else { // Caso não tenha sido enviado, retorna NO //echo "&success=no"; //$success=1'; $success='no'; echo "&success=".$success; } } ?> AS3 stop(); //variaveis nome_txt.text = ""; cidade_txt.text = ""; estado_txt.text = ""; tel_txt.text = ""; email_txt.text = ""; checkin_txt.text = ""; checkout_txt.text = ""; adultos_txt.text = ""; criancas_txt.text = ""; comentarios_txt.text = ""; msg_txt.text = ""; var escolha:String = new String(); var url_vars:URLVariables = new URLVariables(); var timer:Timer; var url_loader:URLLoader = new URLLoader; var url_request:URLRequest = new URLRequest("testemail.php"); //arquivo send_mail.php tem que estar na mesma pasta // caso seja em outro lugar colocar o endereço do link onde está url_request.method = URLRequestMethod.POST; //registro eventos limpar_btn.addEventListener(MouseEvent.CLICK, _limpar); enviar_btn.addEventListener(MouseEvent.CLICK, _enviar); //funçoes do sistema; function init():void { //habilitamos acentuação System.useCodePage = false; } //outras funçoes function _enviar(e:MouseEvent):void { /* Verifica se o CheckBox apto 1 foi selecionada */ if (apto1_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto1 */ escolha = "Apto1, "; } /* Verifica se o CheckBox Apto 2 foi selecionada */ if (apto2_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto2 */ escolha += "Apto2, "; } /* Verifica se o CheckBox apto 3 foi selecionada */ if (apto3_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto3 */ escolha += "Apto3, "; } /* Verifica se o CheckBox apto 4 foi selecionada */ if (apto4_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto4 */ escolha += "Apto4, "; } /* Verifica se o CheckBox apto 5 foi selecionada */ if (apto5_ch.selected == true) { /* A opção foi selecionada */ /* Armazena na variável escolha o valor Apto5 */ escolha += "Apto5. "; } if (nome_txt.text == "" || cidade_txt.text == "" || estado_txt.text == "" || tel_txt.text == "" || email_txt.text == "" || checkin_txt.text == "" || checkout_txt.text == "" || adultos_txt.text == "" || criancas_txt.text == "" || comentarios_txt.text =="" || escolha == "") { msg_txt.text = "Prencha todos os campos!"; } else { /*var mail_data:String = "Nome=" + nome_txt.text + "&Cidade=" + cidade_txt.text + "&Estado=" + estado_txt.text + "&Tel=" + tel_txt.text + "&Email=" + email_txt.text + "&Checkin=" + checkin_txt.text + "&Checkout=" + checkout_txt.text + "&Adultos=" + adultos_txt.text + "&Criancas=" + criancas_txt.text + "&Comentarios=" + comentarios_txt.text;*/ url_vars.nome = nome_txt.text + "&"; url_vars.cidade = cidade_txt.text + "&"; url_vars.estado = estado_txt.text + "&"; url_vars.tel = tel_txt.text + "&"; url_vars.email = email_txt.text + "&"; url_vars.checkin = checkin_txt.text + "&"; url_vars.checkout = checkout_txt.text + "&"; url_vars.adultos = adultos_txt.text + "&"; url_vars.criancas = criancas_txt.text + "&"; url_vars.comentarios = comentarios_txt.text + "&"; url_vars.escolha = escolha + "&"; msg_txt.text = "Enviando o formulario ....."; //var url_vars:URLVariables = URLVariables(mail_data); url_request.data = url_vars; //url_vars.dataFormat = URLLoaderDataFormat.TEXT; url_loader.dataFormat = URLLoaderDataFormat.VARIABLES; url_loader.load(url_request); url_loader.addEventListener(Event.COMPLETE, _verifica); } } function _verifica(e:Event):void { var loader:URLLoader = URLLoader(e.target); var email_status = new URLVariables(loader.data).success; //variavel que está no php if (email_status == "yes") { msg_txt.text = "Enviado com Sucesso!"; timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, _timer); timer.start(); } else { //para verificar se o timer funciona timer = new Timer(500); timer.addEventListener(TimerEvent.TIMER, _timer); timer.start(); msg_txt.text = "Erro no envio, tente de novo!"; } } function _timer(e:TimerEvent):void { if (timer.currentCount >= 10) { nome_txt.text = cidade_txt.text = estado_txt.text = tel_txt.text = email_txt.text = checkin_txt.text = checkout_txt.text = adultos_txt.text = criancas_txt.text = comentarios_txt.text = escolha = ""; apto1_ch.selected = false; apto2_ch.selected = false; apto3_ch.selected = false; apto4_ch.selected = false; apto5_ch.selected = false; timer.removeEventListener(TimerEvent.TIMER, _timer); } } /* Função disparada quando se clica no botão limpar */ function _limpar(event:MouseEvent):void { limpa();/* Chamamos a função limpa */ } function limpa() { escolha = ""; nome_txt.text = ""; cidade_txt.text = ""; estado_txt.text = ""; tel_txt.text = ""; email_txt.text = ""; checkin_txt.text = ""; checkout_txt.text = ""; adultos_txt.text = ""; criancas_txt.text = ""; comentarios_txt.text = ""; escolha = ""; apto1_ch.selected = false; apto2_ch.selected = false; apto3_ch.selected = false; apto4_ch.selected = false; apto5_ch.selected = false; }a variavel email_status por algum motivo está recebendo falso da variavel success do php, mas o codigo php parece esta correto, o que pode ser é que a função mail() não esteja abilitada no seu servidor e talves esteja gerando erro. var email_status = new URLVariables(loader.data).success;tente definir os campos staticamente e entrar diretamente na pagina de envio de email e post o resultado. Quote Link to comment Share on other sites More sharing options...
0 IAMDIX Posted December 5, 2011 Author Report Share Posted December 5, 2011 (edited) a variavel email_status por algum motivo está recebendo falso da variavel success do php, mas o codigo php parece esta correto, o que pode ser é que a função mail() não esteja abilitada no seu servidor e talves esteja gerando erro. var email_status = new URLVariables(loader.data).success;tente definir os campos staticamente e entrar diretamente na pagina de envio de email e post o resultado.Ola rickayron,não entendi como seria definir os campos staticamente e entrar diretamente na pagina de envio de email mas vou atualizar aqui o codigo php revisado por outra pessoa; <?php error_reporting(E_ALL); $dados = array( 'nome', 'cidade', 'estado', 'tel', 'email', 'checkin', 'checkout', 'adultos', 'criancas', 'comentarios', 'escolha', ); $mensagem = 'Seguem dados da mensagem:<br /><br />'; foreach( $dados as $campo ): if ( !array_key_exists( $campo , $_POST ) ) continue; $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) ); // $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( $_POST[ $campo ] ) ); endforeach; //e-mail do remetente: $mail_headers = 'MIME-Version: 1.0' . "\r\n"; $mail_headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n"; $subject = 'E-mail do site'; $enviaPara = 'contato@meuemail.com.br';//você deve alterar isso para um email existente // Vamos fazer um teste para ver se o email foi enviado corretamente if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) { // Caso o email tenha sido enviado pelo provedor, retorna YES echo "&success=yes"; } else { // Caso não tenha sido enviado, retorna NO echo "&success=no"; }agora eu recebo seja do servidor pago, seja do wamp aqui na minha maquina, porém o usuario fica com a tela do formulario com a seguinte mensagem Enviando o formulario .....Parece que var email_status = new URLVariables(loader.data).success; está com algo erradoEstranho que se eu mudar essa linha no AS3 :if (email_status == "yes")PARAif (email_status = "yes")da erro no flash mas gerando o swf envia a mail deixando a mensagem Enviando o formulario......enquanto offline da erro no flash mas acusa o Enviado com successo :blink: Edited December 6, 2011 by IAMDIX Quote Link to comment Share on other sites More sharing options...
0 IAMDIX Posted December 5, 2011 Author Report Share Posted December 5, 2011 Acabei de resolver com mais uma pesquizada no google Aqui o novo codigo onde so foram retiradas 2 & no final conforme podem ver. Funcionando 100% agora.<?php error_reporting(E_ALL); $dados = array( 'nome', 'cidade', 'estado', 'tel', 'email', 'checkin', 'checkout', 'adultos', 'criancas', 'comentarios', 'escolha', ); $mensagem = 'Seguem dados da mensagem:<br /><br />'; foreach( $dados as $campo ): if ( !array_key_exists( $campo , $_POST ) ) continue; $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) ); // $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( $_POST[ $campo ] ) ); endforeach; //e-mail do remetente: $mail_headers = 'MIME-Version: 1.0' . "\r\n"; $mail_headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n"; $mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . "\r\n"; $subject = 'E-mail do site'; $enviaPara = 'contato@meuemail.com.br';//você deve alterar isso para um email existente // Vamos fazer um teste para ver se o email foi enviado corretamente if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) { // Caso o email tenha sido enviado pelo provedor, retorna YES echo "success=yes"; //$success=0'; // $success='yes'; //echo "&success=".$success; } else { // Caso não tenha sido enviado, retorna NO echo "success=no"; //$success=1'; //$success='no'; //echo "&success=".$success; } ?> Quote Link to comment Share on other sites More sharing options...
0 IAMDIX Posted December 10, 2011 Author Report Share Posted December 10, 2011 Dei mai uma melhorada no codigo<?php error_reporting(E_ALL); $dados = array( 'nome', 'cidade', 'estado', 'tel', 'email', 'checkin', 'checkout', 'adultos', 'criancas', 'comentarios', 'escolha', ); $mensagem = 'Seguem dados da mensagem:<br /><br />'; foreach( $dados as $campo ): if ( !array_key_exists( $campo , $_POST ) ) continue; $mensagem .= sprintf( '%s: %s<br />' , ucfirst( $campo ) , strip_tags( rtrim( $_POST[ $campo ] , '&' ) ) ); endforeach; //e-mail do remetente: $mail_headers = 'MIME-Version: 1.0' . PHP_EOL; $mail_headers .= 'Content-type: text/html; charset=UTF-8' . PHP_EOL; $mail_headers .= 'From: Contato do formulario do site<contato@' . $_SERVER[ 'SERVER_NAME' ] . '>' . PHP_EOL; $mail_headers .= sprintf( "Reply-To: {$_POST['email']}") . PHP_EOL; $subject = 'E-mail do site'; $enviaPara = 'contato@meuemail.com.br';//você deve alterar isso para um email existente // Vamos fazer um teste para ver se o email foi enviado corretamente if( mail( $enviaPara, $subject, $mensagem, $mail_headers ) ) { // Caso o email tenha sido enviado pelo provedor, retorna YES echo "success=yes"; } else { // Caso não tenha sido enviado, retorna NO echo "success=no"; } ?> Quote Link to comment Share on other sites More sharing options...
Question
IAMDIX
Fala galera,
faz um tempo que estou preparando esse formulario e ta dando um erro aqui, seja no servidor wamp instalado no meu pc seja no servidor dedicado pago.
No flash não tenhos erro mas rodando o formulario recebo "Erro no envio, tente de novo!"
por isso acredito ser um erro no arquivo php:
PHP
AS3Link to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.