Ir para conteúdo

Arquivado

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

vazzoler

header em uma nova aba

Recommended Posts

Galera, estou com a seguinte situação: Tenho um formulário onde verifico o login e senha de acesso (estou abrindo essa tela com os campos dentro de um iframe num dropdown menu). Após  o submit, chamo no action a página formulários.php para verificar se o login e senha é válido. O meu problema está no seguinte: após a verificação de login e senha, eu gostaria que a área restrita fosse aberta em uma nova página, porém, se o login e senha fosse inválido, retornasse a mensagem dentro do iframe no dropdown. O problema que estou tendo é o seguinte é que não sei como abrir a nova página com o header(location). Até existe a possibilidade de abrir em uma nova página colocando depois do action do formulário o target blank, porém, ele abre nas duas situações (login e senha válido e também inválido). Alguém sabe me dizer se tem como abrir o header location em uma nova página?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu acho que com PHP não é possível, pra fazer isso seria bacana você utilizar ajax, fazer a validação do login via PHP em formularios.php e voltar uma resposta pro javascript via ajax, se for true você abre a nova aba via js, se for false mantém na mesma página e dispara um alerta por exemplo.

Veja um exemplo básico de Ajax abaixo:

function scriptAjax() {
  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if(this.readyState == 1 || this.readyState == 2 || this.readyState == 3){
		document.getElementById("algumIDcarregando").innerHTML = "carregando";
	}
    if (this.readyState == 4 && this.status == 200) {
      var resposta = this.responseText; // aqui recebe a resposta que obteve de formularios.php
      if(resposta == ""){
      	// dispara alerta e mantém na mesma página ou qualquer outra coisa que quiser
      } else {
      	document.getElementById("algumIDsucesso").innerHTML = "Processo realizado com sucesso";
        // poem o código pra abrir nova aba aqui
      }
    }
  };
  xhttp.open("POST", "formularios.php", true);
  xhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded")
  xhttp.send("param1=ok&param2=lululu&param3=alalaloolooo&paramEtc=");
}

Eu só não te explico detalhadamente pq eu também to aprendendo JS/Ajax, é fundamental e eficiente pra fazer esses tipos de procedimentos assim e vários outros.

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.