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

Form PHP com erro e redirect


ricardo-moura

Pergunta

Galera preciso de uma grande ajuda. Tenho um formulário e o mesmo está atendendo as necessidades, porem estava precisando corrigir alguns erros e programar alguns recursos, já tentei de tudo em fóruns, tutoriais, vídeos e não consigo implantar os recursos abaixo:

 1º - O usuário ao clicar no botão enviar e realizado a validação retornando uma mensagem de erro ou de agradecimento, o problema está aqui ao enviar ele realiza a validação e mesmo com um retorno de erro o form é enviado, é claro retornando o erro detectado, gostaria de que o mesmo só fosse enviado após a mensagem de agradecimento fosse exibida.

 2º - Implemetar um redirect neste formulário, onde após alguns segundo após a exibição da mensagem de agradecimento o usuário fosse redirecionado para uma página simples de agradecimento.

Tenteis impntar os códigos abaixo mas não consegui:

<?php header('Location: minhapágina.php'); ?>

echo = "<meta http-equiv='Refresh' content='0;URL=link.php>";

Poderiam me ajudar?

 

<form action="contato.php" method="post">

                    <?php

 if($_POST){

/*Destinario*/

$destino = "email@empresa.com.br";

$nome = "Nome da empresa";

/*Valores do form*/

 

$empresa = $_POST["empresa"];//campo reconhecido

$reme = $_POST["reme"];//campo reconhecido

$email = $_POST["email"];//campo reconhecido

$telefone = $_POST["telefone"];//campo reconhecido

$celular = $_POST["celular"];//campo reconhecido

$assunto = $_POST["assunto"];//campo reconhecido

$sugestao = nl2br($_POST['sugestao']);//campo reconhecido

$header = "From:$reme<$email>";

$header .= "\nContent-type:text/html;charset=utf-8\n";

$mensagem .= "<font face=\"Verdana\" size=2>Sugestão enviada por um visitante no formulário Fale Conosco.</font><br>";

$mensagem .= "=============================================:<br>";

$mensagem .= "<font face=\"Verdana\" size=2><b>Empresa:</b> $empresa<br>";//campo recuperado

$mensagem .= "<b>Nome:</b> $reme<br>";//campo recuperado

$mensagem .= "<b>E-mail:</b> $email<br>";//campo recuperado

$mensagem .= "<b>Telefone:</b> $telefone<br>";//campo recuperado

$mensagem .= "<b>Celular:</b> $celular<br>";//campo recuperado

$mensagem .= "<b>Assunto:</b> $assunto<br>";//campo recuperado

$mensagem .= "<b>Mensagem:</b> $sugestao</font><br>";//campo recuperado

$mensagem .= "=============================================:<br>";

$envia = mail($destino,$assunto,$mensagem,$header);

 

/*Volores da auto resposta*/

 

$assunto_r = "Auto resposta de $SERVER_NAME";

$msg_r = "<font face=\"Verdana\" size=2>

Prezado(a) <b>$reme</b>.<br><br>

Obrigado por entrar em contato! Estaremos respondendo em breve.<br /><br />

Desde já agradecemos a sua visita.<br><br>

Nome da Empresa.<br>

Tel: (99) 9999-9999 / Fax: 9999-9999<br><br>

<a href='http://www.empresa.com.br'>$SERVER_NAME</a>

</font>";

 

$header_r = "From:$nome<$destino>";

$header_r .= "\nContent-type:text/html;charset=utf-8\n";

$envia_r = mail($email,$assunto_r,$msg_r,$header_r);

 

/*Testa p/ ver se tudo ok*/

 

$erro=0;

if(!preg_match( "/^([0-9,a-z,A-Z]+)([.,_]([0-9,a-z,A-Z]+))*[@]([0-9,a-z,A-Z]+)([.,_\\,-]([0-9,a-z,A-Z]+))*[.]([0-9,a-z,A-Z]){2}([0-9,a-z,A-Z])?$/i","$email")){

$erro++;

$erros .= "<center><font color=red>Endereço de e-mail inválido.</font><br>

Clique <a href='javascript:history.back()'>aqui</a> para Voltar</center><br><br>";

}

 

if(empty($reme) or empty($email) or empty($telefone)or empty($celular) or empty($assunto) or empty($sugestao)){

$erro++;

$erros = "<center>Os campos abaixo são obrigatórios.</center><br>

 

<font color=red><b>Nome:</b></font>  Por favor, preencha corretamente!<br>

<font color=red><b>E-mail:</b></font>  Por favor, preencha corretamente!<br>

<font color=red><b>Telefone:</b></font>  Por favor, preencha corretamente!<br>

<font color=red><b>Celular:</b></font>  Por favor, preencha corretamente!<br>

<font color=red><b>Assunto:</b></font>  Por favor, preencha corretamente!<br>

<font color=red><b>Mensagem:</b></font>  Por favor, preencha corretamente!<br><br></font>

<center>Clique <a href='javascript:history.back()'>aqui</a> para Voltar</center><br>";

}

 

if($erro !=0){

echo"$erros";

}else{

 

/*Envia o email*/

 

if(!($envia) and ($envia_r)) {echo"<font color=red>Erro ao enviar a mensagem</font>";

}else{

echo"<center><font color=black>Obrigado <font color=red>$reme</font>.<br>

A mensagem: <font color=red>$assunto</font> foi enviada com sucesso!

</font></center><br><br>";

}

}

}

?>

<fieldset>                    

<label> <span>Empresa</span> <input type="text" name="empresa" /> </label> 

 <label> <span>(*) Nome</span> <input type="text" name="reme" /> </label>

 <label> <span>(*) E-mail</span> <input type="text" name="email" /></label>

 <label> <span>(*) Telefone</span> <input type="text" name="telefone" class="input_tel" id="telefone" /> </label>

<label> <span>(*) Celular</span> <input type="text" name="celular" class="input_tel" id="celular" /> </label>

<label> <span>(*) Assunto</span> <input type="text" name="assunto" /> </label>

<label> <span>(*) Mensagem</span> <textarea cols="31" rows="5" name="sugestao"></textarea></label>

<input type="hidden" name="Sub" value="send" />               

<input type="submit" name="Sub" value="Enviar" class="send" />

</fieldset>

</form>

Editado por ricardo-moura
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

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