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

cffernandes

Redireccionar para ponto inicial

4 mensagens neste tópico

Boas tardes, o meu problema é o seguinte, tenho uma form em html, que faz o envio do conteudo através de um formmail. O problema é que após clicar no botão enviar, a página fica em branco presa no ficheiro php, e eu queria que ela voltasse para o ponto inicial da form ou para o index... Ou ainda e isto seria o ideal que mostra-se no lugar da form uma mensagem a dizer que foi enviado...

Eu não percebo absolutamente nada de php, e sei que poderá eventualmente ser um pedido que muitos fazem, mas já procurei e não encontrei nada que responda à minha questão...

A form em html é esta:

<form name="form1"action="enviar.php" method="post">
      <table width="100%" border="0" cellspacing="0" cellpadding="0">
        <tr>
          <td width="20%" valign="top" class="style5">Nome:</td>
          <td width="80%"><label>
            <input name="name" type="text" id="name" size="50">
          </label></td>
        </tr>
        <tr>
          <td valign="top" class="style5">Telefone:</td>
          <td><label>
            <input name="phone" type="text" id="phone" size="50">
          </label></td>
        </tr>
        <tr>
          <td valign="top" class="style5">Email:</td>
          <td><label>
            <input name="mail" type="text" id="mail" size="50">
          </label></td>
        </tr>
        <tr>
          <td valign="top" class="style5">Mensagem:</td>
          <td><label>
            <textarea name="message" id="message" cols="38" rows="3"></textarea>
          </label></td>
        </tr>
        <tr>
          <td> </td>
          <td> </td>
        </tr>
        <tr>
          <td> </td>
          <td><label>
            <input type="submit" name="enviar" id="enviar" value="Enviar">
            <input type="reset" name="cancel" id="cancel" value="Cancelar">
          </label></td>
        </tr>
      </table>
        </form>

E o ficheiro enviar.php está assim...

<?php
$destino = "aqui tem o mail para onde deve ir a mensagem";
$assunto = "Contacto do Site";
$msg = "Contato enviado em " . date("d/m/Y") . " às " . date("H:i") . ":\n\n";

foreach($_POST as $campo => $valor)
{
  $msg .= ucfirst($campo) . ": " . $valor . "\n";
}

mail($destino, $assunto, $msg);

?>

Agradeço desde já toda a ajuda dada...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Queres que o redireccionamento seja automatico passados x segundos ou queres que redireccione logo?

Se for a primeira, tens que usar a meta tag refresh: http://en.wikipedia.org/wiki/Meta_refresh

Se for a segunda, para o index seria o código : header('location:/'); , para a página de onde veio seria: header('location:'.$_SERVER['HTTP_REFERER']);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Perfeito, muito obrigado pela rápida ajuda...

Já agora optei por enviar para o index...

Muito obrigado...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Por questões de não quebrares a lógica de navegação, a 2ª opção com PHP é preferível, pelo que espero que tenha sido a tua escolha...

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