Jump to content
Fórum Script Brasil
  • 0

formulario contato


IAMDIX

Question

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 to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 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 to comment
Share on other 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:

Edited by IAMDIX
Link to comment
Share on other 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 to comment
Share on other 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 to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652.1k
×
×
  • Create New...