Ir para conteúdo

POWERED BY:

Arquivado

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

lipfliper

Resgatando Valores da Página Principal

Recommended Posts

Olá pessoal, estou montando uma página onde o usuário poderá digitar o seu nome de usuário e senha para entrar em uma área de intranet, digamos assim...

 

Necessito de uma implementação quando o usuário intentar se logar no site. Eu ja implementei um código em javascript, que verifique se os campos estão vazios, aquela validação do lado do cliente sabe...

 

Bom, quando o usuário aperta o botão "entrar", abre-se então uma janela pop-up, ao lado dos campos de identificação, uma página em branco, onde irá validar ali, se o usuário está cadastrado no banco de dados (Estou utilizando o Banco MySQL) ou não.

 

O PROBLEMA é que, quando a janela é aberta, eu não consigo resgatar os valores dos campos do form login e senha, impossibilitando fazer a validação no banco, pois como de costume, é necessário comparar os valores dos campos login e senha com os cadastrados no banco de Dados.

 

abaixo segue o código javascript para saber qual(is) o(s) possível(is) erro(s) que pode(m) estar ocorrendo na passagem dos valores para a janela pop-up:

 

<script language="JavaScript">

 

function valida_campos(frm)

{

if (frm.uid.value == "" && frm.pwd.value == "")

{

alert("Preencha o campo Login com o seu Login de Acesso e em seguida com a sua Senha.");

return false;

}

 

else if (frm.uid.value == "")

{

alert("Preencha o campo Login com o seu Login de Acesso.");

frm.uid.focus();

return false;

}

 

else if (frm.pwd.value == "")

{

alert("Preencha o campo Senha com a sua Senha de Acesso.");

frm.pwd.focus();

return false;

}

 

else

{

janela('autenticar.asp','5','200','330','500');

//?uid='+frm.uid.value+'&pwd='+frm.pwd.value

return true;

}

}

 

</script>

 

Detalhe: O Method do Form utilizado é o Method POST, sendo assim, eu tento recuperar os dados na janela pop-up utilizando o objeto Request.Form

 

Eu tentei utilizar o metodo GET, porém, quando ocorre o submit dos dados da página que chamou a janela pop-up, os dados digitados nos campos login e senha aparecem na URL. Eu gostaria de saber, se tem como eu fazer essa valiação, sem que eu tenha que fazer um submit, no caso, fazer o reload na página principal, a que chamou a janela pop-up...já vi em alguns sites essa implementação e gostaria de colocar meu site...

 

Abraços...

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que a janela que é aberta não é a acão do form, então as variaveis realmente não são passadas para "autenticar.asp", que está somente sendo aberto em uma nova janela.

 

Mude sua função do JavaScript para essa.

<script language="JavaScript">function valida_campos(frm){ if (frm.uid.value == "" && frm.pwd.value == ""){alert("Preencha o campo Login com o seu Login de Acesso e em seguida com a sua Senha.");return false;}else if (frm.uid.value == ""){alert("Preencha o campo Login com o seu Login de Acesso.");frm.uid.focus();return false;}else if (frm.pwd.value == ""){alert("Preencha o campo Senha com a sua Senha de Acesso.");frm.pwd.focus();return false;}else{janela('autenticar.asp?pwd='+frm.pwd.value+'&uid='+frm.uid.value,'5','200','330','500');return false;}}</script>

Mais uma dúvida de JavaScript a ser movida ;}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Compartilhar este post


Link para o post
Compartilhar em outros sites

O que o Faru falou tá certo. Tipo.. no momento que você dá o submit no forum ele não itá passar os valores do campo para a janela POPUP. O Que você pode fazer é no codigo Javascript capturar os valores desses campos (pode ser pelo document.form1.login.value) e passar via url, ou seja:X = document.form1.login.valueURL = 'pagina.asp' + Xentendeu?

Compartilhar este post


Link para o post
Compartilhar em outros sites

já tentou com sessions?

Sim amigo, eu ja tentei usar variáveis do tipo session, mas o problema é que: quando eu passava as varáveis para a outra página, era necessário que eu desse um reload na página principal( a que chamou o pop-up) para que pudesse ser atualizado novamente, para que eu pudesse entrar com novos valores, pq assim, a primeira vez funcionava perfeitamente, mas, se eu digitasse outros valores nos campos do form, ele não resgatava os valores atuais e sim os antigos. Era necessário, como eu disse anteriormente, dar um outro refresh na página, para que os valores pudessem ser atualizados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é que a janela que é aberta não é a acão do form, então as variaveis realmente não são passadas para "autenticar.asp", que está somente sendo aberto em uma nova janela.Mude sua função do JavaScript para essa.

<script language="JavaScript">function valida_campos(frm){ if (frm.uid.value == "" && frm.pwd.value == ""){alert("Preencha o campo Login com o seu Login de Acesso e em seguida com a sua Senha.");return false;}else if (frm.uid.value == ""){alert("Preencha o campo Login com o seu Login de Acesso.");frm.uid.focus();return false;}else if (frm.pwd.value == ""){alert("Preencha o campo Senha com a sua Senha de Acesso.");frm.pwd.focus();return false;}else{janela('autenticar.asp?pwd='+frm.pwd.value+'&uid='+frm.uid.value,'5','200','330','500');return false;}}</script>
Mais uma dúvida de JavaScript a ser movida ;}
Amigo, creio ja ter tentado utilizar esta implementação, porém, depois que eu testo pela primeira vez até funciona corretamente, o problema é gerado pela segunda vez que eu testo. É gerado um erro em JavaScript relatando um problema no servidor.O erro é o seguinte:"O chamado (servidor [não o aplicativo servidor]) não está disponível e desapareceu; todas as conexões são inválidas. A chamada não foi completada."Para esta sugestão acima, eu teria que mudar o método de envio do form de POST para GET, correto? e da mesma forma como mudei o método, tbm mudei a forma de recuperar os dados na janela pop-up aberta, que antes era Request.Form, e agora eu mudei para Request.QueryString. Gostaria de saber se não teria como fazer utilizando o Request.Form pois ao dar um submit na janela pai(principal), se eu estiver utilizando o métogo GET, os valores digitados no campos dos forms serão passados na URL da página principal, o que comprometeria a segurança do Login, pois qualquer um poderia ver o nome de usuário e a senha digitados no Form. Teria alguma forma que eu pudesse implementar, para que eu pudesse passar os valores para a janela pop-up chamada, e recuperá-los la sem que eu tenha que passá-los via URL? Pq quando há o Submit na página, automaticamente é feito um RELOAD na página principal e os valores são passados na URL da mesma. Se eu pudesse implementar de alguma forma, que não houvesse um REFRESH na página principal, o que ocasionaria a passagem via URL dos campos do form.

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.