Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Juliana Rodrigues

propriedade header do php

Recommended Posts

Bom pessoal tenho uma dificuldade que nao sei como proceder tenho um arquivo que processa alguns dados e no final ele envia um email para o contato até ai blz. so que no final eu tenho o seguinte codigo

<?
if($inserir){
	$sucesso_msg = "Mensagem enviada com sucesso!!";	
	header("location:../ListaMensagens?a=".md5(2)."&m=".base64_encode($sucesso_msg)."");
} else {
	$erro_msg = "Oops... Algo aconteceu tente novamente!";	
	header("location:../ListaMensagens?a=".md5(1)."&m=".base64_encode($erro_msg)."");
}	
?>

o codigo ele mostra uma mensagem tipo alertbox.

O que eu quero é assim que ele feche a janela que esta e mostre o header na janela principal

sendo que a pagina que executa isso é uma janela que eu chamo assim

<a href="mostraMensagem.php?id=<?=$res[id]?>" onclick="window.open(this.href,'galeria','width=680,height=520'); return false;" title="Mostra Mensagem" id="galeria">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você terá de fazer isso com Javascript, pois o PHP não tem controle sobre as janelas.

 

No script executado dentro do pop-up, use window.opener para referenciar a janela principal. Em seguida pode usar location.href para redirecionar e window.close para fechar o pop-up

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um outro approach pode ser uma div na janela principal que capture um session de erro. Na página aonde aconteceria o erro, você coloca ele em uma session e na página principal algo do tipo:

if(isset($_SESSION["erro_email"])){
        echo "<div>Oh não, aconteceu um erro, e agora?</div>";
        unset($_SESSION["erro_email"]);
}

No unset, excluímos a seção para que a mensagem não seja carregada novamente no próximo load/reload da página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.