Helio Postado Abril 29, 2010 Denunciar Share Postado Abril 29, 2010 (editado) 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çãodo 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 "<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 erroe 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 Abril 29, 2010 por quintelab Título alterado e adicionado BBcode Code Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Abril 29, 2010 Denunciar Share Postado Abril 29, 2010 Boa Tarde,para verificar se o cara digitou ou não o campo, use por exemploif(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. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Helio Postado Maio 3, 2010 Autor Denunciar Share Postado Maio 3, 2010 (editado) 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 Maio 3, 2010 por Helio Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 rickayron Postado Maio 3, 2010 Denunciar Share Postado Maio 3, 2010 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 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 *FIT* Postado Maio 4, 2010 Denunciar Share Postado Maio 4, 2010 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! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Helio Postado Maio 4, 2010 Autor Denunciar Share Postado Maio 4, 2010 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 2como corrijo isto? O arquivo enviar está na pasta raiz (www). Obrigado! :rolleyes: Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Helio
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:
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 quintelabTítulo alterado e adicionado BBcode Code
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
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.