vazzoler 0 Denunciar post Postado Dezembro 15, 2017 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
BrunoBit 82 Denunciar post Postado Dezembro 15, 2017 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¶m2=lululu¶m3=alalaloolooo¶mEtc="); } 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