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

Erro ao enviar dados para o email


Helio

Pergunta

Boa tarde pessoal;

Estou com dois probleminhas no formuário de contato (html e php)!

O primeiro é como faço para checar se usuario preencheu os campos principais no formulário antes de enviar o email?

O segundo é: ao Enviar os dados da minha pagina de contato, ocorre um erro. Ele envia o email mas a pagina de confirmação

do envio dos dados fica ativa em primeiro plano e não consigo voltar para a pagina principal1 Como resolvo isso:

O Código é esse:

<?php
$date = date("d/m/Y h:i");

$nome = $_POST['nome'];
$email = $_POST['email'];
$telefone = $_POST['telefone'];
$cidade = $_POST['cidade'];
$textodamensagem = $_POST['textodamensagem'];

$nome_do_site="http://www.xxxxxxxxxxxxxxxxxxxx.com.br";
$email_para_onde_vai_a_mensagem = "contato@xxxxxxxxxxxxxxxx.com.br";
$nome_de_quem_recebe_a_mensagem = "XXXX XX XXXXXX";
$exibir_apos_enviar='enviado.html';

$cabecalho_da_mensagem_original="From: $name <$email>\n";
$assunto_da_mensagem_original="Contato no Site";

$configuracao_da_mensagem_original="

ENVIADO POR:\n
Nome: $nome\n
Email: $email\n
Telefone: $telefone\n
Cidade: $cidade\n
Mensagem: $textodamensagem\n
ENVIADO EM: $date

";

$assunto_da_mensagem_de_resposta = "Confirmação";
$cabecalho_da_mensagem_de_resposta = "From: $nome_do_site < $email_para_onde_vai_a_mensagem>\n";
$configuracao_da_mensagem_de_resposta="Obrigado por entrar em contato!\nEstaremos respondendo em breve...\nAtenciosamente,\n$nome_do_site\n\nEnviado em: $date";

$assunto_digitado_pelo_usuario="s";

$headers = "$cabecalho_da_mensagem_original";

if($assunto_digitado_pelo_usuario=="s"){
$assunto = "$assunto_da_mensagem_original";
}
$seuemail = "$email_para_onde_vai_a_mensagem";
$mensagem = "$configuracao_da_mensagem_original";
mail($seuemail,$assunto,$mensagem,$headers);

$headers = "$cabecalho_da_mensagem_de_resposta";
if($assunto_digitado_pelo_usuario=="s"){
$assunto = "$assunto_da_mensagem_de_resposta";
}else{
$assunto = "Re: $assunto";
}

$mensagem = "$configuracao_da_mensagem_de_resposta";
mail($email,$assunto,$mensagem,$headers);                                        <--------- A pagina mostra um erro aqui, só que é muito rápida 
echo "&lt;script>window.location='$exibir_apos_enviar'</script>";

?>

Ok!? Como eu disse acima, não consigo vizualizar o erro só da pra perceber que que ele informa a linha onde dá o erro

e vai pra pagina de resposta confirma.html e a partir dai trava e eu não consigo mais ir para a pagina principal do programa ou da pagina de contato.

Pode me dar uma luz ai?

Obrigado :unsure:

Editado por quintelab
Título alterado e adicionado BBcode Code
Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Boa Tarde,

para verificar se o cara digitou ou não o campo, use por exemplo

if(isset($_POST['nome']))
{
    //condição caso ele tenha preenchido
}
else
{
   // condição caso não tenha preenchido
}

Em relação aos erro que está dando no mail, tenta escrever na tela as variaveis que está usando na função, veja se todas estão corretas.

E comenta a linha de baixo para ver o erro, o window.location está redirecionando antes que você consiga ler.

Link para o comentário
Compartilhar em outros sites

  • 0

Está dando erro na respota:

....

$mensagem = "$configuracao_da_mensagem_de_resposta";

mail($email,$assunto,$mensagem,$headers); <-------- Aqui é onde esta dando erro...

echo "<script>window.location='$exibir_apos_enviar'</script>";

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

  • 0
Está dando erro na respota:

....

$mensagem = "$configuracao_da_mensagem_de_resposta";

mail($email,$assunto,$mensagem,$headers); <-------- Aqui é onde esta dando erro...

echo "<script>window.location='$exibir_apos_enviar'</script>";

Verifique se está habilitado a função mail, ou se o servidor permite envio de email, ate´mais

Link para o comentário
Compartilhar em outros sites

  • 0

Uma linha antes da função mail, manda exibir um alert escrevendo as variaveis $email, $assunto, $mensagem, $headers.

Com certeza alguma dessas variaveis está com algum erro, acredito que seja o header, só a nivel de teste também, tire a variavel $header da função mail, ela é opcional, não vai fazer falta, se o código funcionar sem ela, é porque o erro está ai, só fica restando saber qual, mas já é algo mais fácil!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá!

Fiz conforme sua dica! E agora está retornando o seguinte erro:

Warning: Cannot modify header information - headers already sent by (output started at C:\Data\domains\escoladedancaricardodahora.com.br\wwwroot\enviar.php:1)

in C:\Data\domains\escoladedancaricardodahora.com.br\wwwroot\enviar.php on line 2

como corrijo isto? O arquivo enviar está na pasta raiz (www).

Obrigado! :rolleyes:

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,1k
    • Posts
      651,9k
×
×
  • Criar Novo...