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

(Resolvido) Redirecionar a página após envio do PHP!


Matheus Matos

Pergunta

Galera é o seguinte,tenho um formulário para envio de mensagem...

o código do arquivo.php é esse:

<?

//pega as variaveis por POST

$nome = $_POST["nome"];

$email = $_POST["email"];

$assunto = $_POST["assunto"];

$mensagem = $_POST["mensagem"];

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ê

mail ("meu@email.com.br", //email aonde o php vai enviar os dados do form

"$assunto",

"Nome: $nome\nData: $data\nHora: $hora\nE-mail: $email\nMensagem: $mensagem",

"From: $email"

);

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

echo "<p align=center>Estaremos retornando em breve.</p>";

?>

Ele funciona beleza! Só que depois que envia o e-mail vejam que aparece a mensagem "Nome, sua mensagem foi enviada com sucesso! estaremos retornando em breve"

beleza, aparece isso e fica lá quieta...

gostaria que redirecionasse para outra página, ou a index do site o a página do formulario!

seria bom também, se ao clicar em envia aparecia um alert com a mensagem, o usuário clicava em ok e ele limpava os campos do formulário! (de preferência)

Se não fui claro digam,

só peço que por favor me ajudem!

Vlw

Matheus Matos

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

7 respostass a esta questão

Posts Recomendados

  • 0

Pra redirecionar, você pode colocar no final da página:

echo = "<meta http-equiv='Refresh' content='0;URL=link.php>";
No "content" você defina quantos segundos depois a página vai ser redirecionada... Se for 0, ele redirecionará no mesmo instante. E no "URL", você coloca o link da página que vai ser redirecionada... Já pra limpar o formulário, você pode fazer o seguinte, utiliza o código acima, e na URL você coloca o nome da mesma página do formulário... Por exemplo, todo o formulário está na página: "formulario.html", então você coloca assim:
echo = "<meta http-equiv='Refresh' content='0;URL=formulario.html>";

Então, ele vai recarregar a página, apagando todos os valores do formulário.

Espero ter ajudado,

Anderson Ferreira

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

  • 0

E ai cara, tudo certo !?

Eu uso assim:

echo "<script>window.location='pagina do formulario.php';alert('$nome, sua mensagem foi enviada com sucesso! Estaremos retornando em breve');</script>";

Isso dai faz o que você queria, que é avisar por alert javascript que a mensagem foi enviada e quando a pessoa clicar em OK, abre a pagina do formulario novamente..

Aqui funciona certinho, tenta ai..

Qualquer coisa da um toque..

Grande abraço..

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

  • 0

Quero fazer o redirecionamento para um site ao final quando clicar em cadastra abaixo meu cogido como faço?

<?php
$subjectPrefix = '[Cadastros]';
$emailTo = 'meuemail@hotmail.com';
if($_SERVER['REQUEST_METHOD'] == 'POST') {
$name = stripslashes(trim($_POST['form-name']));
$email = stripslashes(trim($_POST['form-email']));
$assunto = stripslashes(trim($_POST['form-assunto']));
$pattern = '/[\r\n]|Content-Type:|Bcc:|Cc:/i';
if (preg_match($pattern, $name) || preg_match($pattern, $email) || preg_match($pattern, $assunto)) {
die("Header injection detected");
}
$emailIsValid = preg_match('/^[^0-9][A-z0-9._%+-]+([.][A-z0-9_]+)*[@][A-z0-9_]+([.][A-z0-9_]+)*[.][A-z]{2,4}$/', $email);
if($name && $email && $emailIsValid ){
$subject = "$subjectPrefix $name";
$body = "Nome: $name <br /> Email: $email $assunto ";
$headers = 'MIME-Version: 1.1' . PHP_EOL;
$headers .= 'Content-type: text/html; charset=utf-8' . PHP_EOL;
$headers .= "From: $name <$email>" . PHP_EOL;
$headers .= "Return-Path: $emailTo" . PHP_EOL;
$headers .= "Reply-To: $email" . PHP_EOL;
$headers .= "X-Mailer: PHP/". phpversion() . PHP_EOL;
mail($emailTo, $subject, $body, $headers);
$emailSent = true;
} else {
$hasError = true;
}
}
?>
<!DOCTYPE html>
<html>
<head>
<title>Fashion news | Marcom</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
</head>
<body>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/<?php echo $jQueryVersion; ?>/jquery.min.js"></script>
<script type="text/javascript" src="assets/js/contact-form.js"></script></td>
<?php if(isset($emailSent) && $emailSent): ?>
<div class="col-md-6 col-md-offset-3">
<div class="alert alert-success text-center">Sua mensagem foi enviada com sucesso.</div>
</div>
<?php else: ?>
<?php if(isset($hasError) && $hasError): ?>
<div class="col-md-5 col-md-offset-4">
<div class="alert alert-danger text-center">Houve um erro no envio, tente novamente mais tarde.</div>
</div>
<?php endif; ?>
<div class="col-md-6 col-md-offset-3">
<form action="<?php echo $_SERVER['REQUEST_URI']; ?>" id="contact-form" class="form-horizontal" role="form" method="post">
<div class="form-group">
<label for="name" class="col-lg-2 control-label">Nome:</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="form-name" name="form-name" placeholder="Nome" required>
</div>
</div>
<div class="form-group">
<label for="email" class="col-lg-2 control-label">Email:</label>
<div class="col-lg-10">
<input type="email" class="form-control" id="form-email" name="form-email" placeholder="Email" required>
</div>
</div>
<div class="form-group">
<div class="col-lg-offset-2 col-lg-10">
<button type="submit" class="btn btn-default">Cadastrar</button>
</div>
</div>
</form>
<?php endif; ?>
<?php
$ieVersion = preg_match('/MSIE (.*?);/', $_SERVER['HTTP_USER_AGENT'], $matches) ? floatval($matches[1]) : null;
if($ieVersion < 9 && $ieVersion != null) {
$jQueryVersion = '1.10.2';
} else {
$jQueryVersion = '2.0.3';
}
?>
</div>
</body>
</html>
Link para o comentário
Compartilhar em outros sites

  • 0
Em 7/31/2009 at 11:48, Parisi disse:

E ai cara, tudo certo !?

 

Eu uso assim:

 

 

 

echo "<script>window.location='pagina do formulario.php';alert('$nome, sua mensagem foi enviada com sucesso! Estaremos retornando em breve');</script>";

 

 

Isso dai faz o que você queria, que é avisar por alert javascript que a mensagem foi enviada e quando a pessoa clicar em OK, abre a pagina do formulario novamente..

Aqui funciona certinho, tenta ai..

Qualquer coisa da um toque..

Grande abraço..

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • 0
Em 31/07/2009 em 11:48, Parisi disse:

E ai cara, tudo certo !?

 

Eu uso assim:

 

 

 

echo "<script>window.location='pagina do formulario.php';alert('$nome, sua mensagem foi enviada com sucesso! Estaremos retornando em breve');</script>";

 

 

Isso dai faz o que você queria, que é avisar por alert javascript que a mensagem foi enviada e quando a pessoa clicar em OK, abre a pagina do formulario novamente..

Aqui funciona certinho, tenta ai..

Qualquer coisa da um toque..

Grande abraço..

deu certoooooooo! o único que deu, no meu caso direcionei para a pagina contato.html e voltou limpinha!

 

valeuuuuuuuuuuuuuu 

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...