• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Megazord

Ajuda formulário

4 mensagens neste tópico

boas pessoal estou com uma duvida qué é a seguinte

Tenho um formulario no dreamweaver que envia através de um ficheiro envi.php, ta a funcionar tudo direitinho so que depois de enviar o formulario eu utilizo o script echo "<script>history.go(-1);</script>"; paravoltar para a página do formulário, so que qdo volta aparece o formulário com os campos preenchidos e eu queria limpar os campos, alguem pode ajudar como posso fazer isso?

Código.

contactos.html

<form

method="POST" action="envia.php"><p><span class="Estilo2"><span class="Estilo4"><br />

      Nome:</span><br />

          <input type="text" size="30" name="nome" id="nome">

          <br>

          <span class="Estilo4">Email:</span></span><span class="Estilo2"><br />

          <input type="text" size=30 name="email" id="email">

          <br />

         

          <span class="Estilo4">Assunto:</span><br />

          <input type="text" size=45 name="assunto" id="assunto">

          <br />

          <br>

          <span class="Estilo4">Mensagem: </span><br>

          <textarea rows="6" cols="50" name="conteudo" id="conteudo">

          </textarea>

          </span></p>

      <p>

        <span class="Estilo2">

          <input name="submit" type="submit" value="enviar" />

          <input type="reset" value="limpar"/>

        </span></p>

      </form>

envia.php

<?

function verificar_email($email){

  $mail_correcto = 0;

  //verifico umas coisas

  if ((strlen($email) >= 6) && (substr_count($email,"@") == 1) && (substr($email,0,1) != "@") && (substr($email,strlen($email)-1,1) != "@")){

      if ((!strstr($email,"'")) && (!strstr($email,"\"")) && (!strstr($email,"\\")) && (!strstr($email,"\$")) && (!strstr($email," "))) {

        //vejo se tem caracter .

        if (substr_count($email,".")>= 1){

            //obtenho a terminação do dominio

            $term_dom = substr(strrchr ($email, '.'),1);

            //verifico que a terminação do dominio seja correcta

        if (strlen($term_dom)>1 && strlen($term_dom)<5 && (!strstr($term_dom,"@")) ){

            //verifico que o de antes do dominio seja correcto

            $antes_dom = substr($email,0,strlen($email) - strlen($term_dom) - 1);

            $caracter_ult = substr($antes_dom,strlen($antes_dom)-1,1);

            if ($caracter_ult != "@" && $caracter_ult != "."){

              $mail_correcto = 1;

            }

        }

      }

  }

}

if ($mail_correcto)

  return 1;

else

  return 0;

}

$nome      = $_POST["nome"];

$email  = $_POST["email"];

$assunto  = $_POST["assunto"];

$conteudo  = $_POST["conteudo"];

global $email; //função para validar a variável $email no script todo

$data      = date("d/m/y");                    //função para pegar a data de envio do e-mail

$hora      = date("H:i");                      //para pegar a hora com a função date

//aqui envia o e-mail para você

//

//aqui são as configurações para enviar o e-mail para o visitante

$site  = "$email";                    //o e-mail que aparecerá na caixa postal do visitante

$titulo = "RE:Contato";                  //titulo da mensagem enviada para o visitante

$msg    = "$nome, Obrigado pela sua mensagem, em breve entraremos em contacto. ACA Pichelaria.";

if($_POST['email'] == '' OR $_POST['conteudo'] == '' )

{

//echo "Por favor preencha todos os campos.";

echo "<script>alert(\"Por favor preencha todos os campos\");</script>";

echo "<script>history.go(-1);</script>";

}else

{

if(verificar_email($email)==0)

{

echo "<script>alert(\"Email inválido.\");</script>";

echo "<script>history.go(-1);</script>";

}

else{

mail("$email",

    "$titulo",

    "$msg",

    "From: $site"

    );

//aqui envia o e-mail de auto-resposta para o visitante

mail("geral@acapichelaria.com", 

                    //email aonde o php vai enviar os dados do form

      "$assunto",

      "Nome: $nome\nData: $data\n\nHora: $hora\n\nE-mail: $email\n\nAssunto: $assunto\nMensagem: $conteudo", "From: $email"

    );

echo "<script>alert(\"A sua mensagem foi enviada com sucesso! Em breve entraremos em contacto. Obrigado. \");</script>";

//echo "<p align=center>$nome, a sua mensagem foi enviada com sucesso!</p>";

//echo "<p align=center>Entraremos em contacto em breve.</p>";}

echo "<script>history.go(-1);</script>";}}

?>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

window.history.back(-1)

Isso é o que ele tem, na maioria dos browsers não faz refresh á página.

E se não fizeres cache da página, é capaz de funcionar

<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora