Ir para conteúdo
Fórum Script Brasil
  • 0

formulario contato


IAMDIX

Pergunta

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;
}

Link para o comentário
Compartilhar em outros sites

4 respostass a esta questão

Posts Recomendados

  • 0
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.

Link para o comentário
Compartilhar em outros sites

  • 0
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 errado

Estranho que se eu mudar essa linha no AS3 :

if (email_status == "yes")

PARA

if (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:

Editado por IAMDIX
Link para o comentário
Compartilhar em outros sites

  • 0

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;
}
?>

Link para o comentário
Compartilhar em outros sites

  • 0

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";
}
?>

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      652k
×
×
  • Criar Novo...