Problema Ao Passar Variáveis!
#1
Posted 13/04/2005, 23:09
Como passo dados de uma janela para a outra ??
A página que verifica se o login está certo é a login_vai.php e está para abrir como padrão na nova janela.
Yeah I do have some stories, and it's true I want all the glory ...
#2
Posted 14/04/2005, 00:09
Olhe o exemplo:
<html><head><title>Teste</title> <script language=JavaScript> function envia(f) { var url='login_vai.php?usu='+f.u.value+'&sen='+f.s.value+'&area='+f.a.value; window.open(url,'',''); } </script> </head> <body> <form onSubmit="envia(this);return false;"> Usuário: <input type=text name=u> Senha: <input type=text name=s> Área:<br> <input type=radio name=a value=1 CHECKED> Área 1 <input type=radio name=a value=2> Área 1 <input type=radio name=a value=3> Área 1 </form> </body></html>
Acho que deu pra entender... Qquer dúvida, é só perguntar!
Um abraço,
Thales Medeiros.
#3
Posted 14/04/2005, 00:31
Função abrir página
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
action do form com target para nova janela
<form method="POST" action="login_vai.php" target="entrar">
botão de enviar com ação de abrir
<input name="Submit" type="submit" onClick="MM_openBrWindow('','entrar','status=yes,scrollbars=yes,width=520,height=450')" value="Login">
Só consegui olhando alguma coisa do seu script, já é a segunda que você me ajuda hoje Thales, fico te devendo mais essa ....
Yeah I do have some stories, and it's true I want all the glory ...
#4
Posted 14/04/2005, 00:53
Não tá devendo nada, não. Afinal, não o fiz entender minha resposta. Que bom q vc foi sincero! Quem ganha é você.. : )
Eu realmente não entendi se seu script funciona ou não. Pq ele pode funcionar e pode não funcionar. Vou te explicar o q vc fez...
Em primeiro lugar, criou um espaço na sua página só para colocar propaganda dos M&Ms (já comeu esse chocolate? É como eu chamo quem criou essas funções medíocres distribuídas na internet). Vc pode ou não conhecer alguma linguagem de programação. Se conhecer, vai entender o q vou falar.
Existe uma função interna em todos os navegadores que se chama OPEN e faz parte do objeto WINDOW. Chamando esta função vc abre uma nova janela. Esta função recebe 3 parâmetros: a URL, o nome da janela a ser aberta e os parâmetros da janela (tamanho, se vai ou não ter menus, etc). Esta função já existe!!! Pra vc usá-la, basta fazer o seguinte:
window.open(url,nome,parametros)
Pois bem... Algum engraçadinho criou uma função com o seu nome (e ainda teve a cara de pau de falar que ainda atualizou para a versão 2.0 só pra vc usar o nome dele em sua página. Pode ficar confuso se eu descrever a sua função aqui, então eu vou usar uma função comum a todos. Repare o próximo exemplo...
Existe uma função COSSENO, que retorna o cosseno do ângulo dado, ok? Pra vc usá-la em sua página, basta fazer isto:
Math.cos(angulo)
Aí, eu que sou um cara muito esperto, vou colocar na minha página que é muito acessada o seguinte texto:
Faça a sua página calcular cossenos!!! Basta usar a minha função! Para usá-la, é só escrever THALES(angulo). Simples, não? É só colocar este código em sua página: function THALES(angulo) { return Math.cos(angulo); }
Ou seja, eu fiz vc colocar meu nome na sua página para fazer algo q vc já poderia fazer.
Talvez eu esteja complicando, então esqueça meu desabafo. Quem tem q entender, vai entender meu protesto.
Simplesmente faça o que vou te sugerir... Retire isto da sua página:
<script language="JavaScript" type="text/JavaScript"> <!-- function MM_openBrWindow(theURL,winName,features) { //v2.0 window.open(theURL,winName,features); } //--> </script>
Pode tirar, mesmo!!
Depois faça o seguinte:
<form method="POST" action="login_vai.php" target="entrar">
<input name="Submit" type="submit" onClick="window.open('','entrar','status=yes,scrollbars=yes,width=520,height=450')" value="Login">
É muito simples!
Agora entenda o que acontece neste código... Assim q vc aperta o botão "Login", dois eventos são disparados ao mesmo tempo: o evento onClick do botão e a ação SUBMIT do formulário. A ação SUBMIT do formulário espera que exista uma janela aberta com o nome "entrar", e o botão SUBMIT abre uma janela chamada "entrar". O que quero saber é se qdo o formulário procura por uma janela "entrar" o botão já abriu ela. Se vc testou em sua máquina e funcionou, ótimo! Problema resolvido. Desta forma vc consegue enviar os dados do formulário segundo o método POST. Se vc sabe programar em PHP ou ASP, saberá do q estou falando. A solução que eu tinha apresentado anteriormente era a seguinte:
Ao invés de fazer o formulário se enviar para uma janela possivelmente aberta, ele chama uma função chamada envia(). O que esta função fará é simplesmente abrir uma janela em um endereço já especificado. O endereço é:
login_vai.php?usuario=USUARIO&senha=SENHA&area=AREA
Onde USUARIO, SENHA e AREA será exatamente aquilo que foi digitado no formulário. Funciona exatamente como vc queria, no entanto aqui estou enviando os dados do formulário pelo método GET, e não pelo método POST. Se vc sabe programação, saberá do q estou falando. Só quis te explicar isto pra falar q ambos os métodos funcionam!
Qualquer dúvida q vc tiver sobre minha explicação, pergunte! É assim q vc vai aprender..
Um abraço,
Thales Medeiros.
#5
Posted 14/04/2005, 09:28
Entendi o que você me falou agora,e sobre o MM não é uma pessoa que inventou, é um Behavior do MacroMedia Dreamweaver, é só clicar no botão submit e preencher que tá pronto, abrir janela eu sei fazer, não tinha entendido a parte que você passa as variáveis achei que era outra maneira de abrir janela. Bom, vamos para as dúvidas:
Você cria a função envia(f), mas na tag <form> não é preciso dar o name para o formulário como f também ?? Afinal na hora de deginir a url tem o +f.u.etc ??
Esse +f.u.etc, no caso o + tem a mesma função do . no PHP ?? Concatenar dados ??
E pra pegar esses dados como vêm por GET é assim ?
$form = "$_GET['url']";
$dados = explode ('&','$form');
$user = $dados['0'];
$senha = $dados['1'];
$area = $dados['2'];
acho que to sacando o que você quis me passar....
Yeah I do have some stories, and it's true I want all the glory ...
#6
Posted 14/04/2005, 10:23
Tô mais revoltado com o fato de isto vir do MacroMedia DreamWeaver! Eles não tem mais o q fazer ao invés d acrescentar código, não? Hunf!
Hehehehe...
Anyway... Vamos ao que interessa!
Vc está quase captando q estou querendo te passar. Se os dados vêm via método GET, então vc vai pegá-los desta forma:
URL:
login_vai.php?usuario=USUARIO&senha=SENHA&area=AREA
Código:
<? $user = $_GET['usuario']; $senha = $_GET['senha']; $area = $_GET['area']; ?>
Outra coisa... Gostei de ver as dúvidas do JavaScript. O q te confundir, pode perguntar!
Se eu crio uma função envia(f), eu não preciso dar o nome do formulário de f! Eu tenho duas possibilidades: criar uma função envia(f) e chamá-la DE DENTRO DO FORMULÁRIO pelo comando envia(this) - desta forma estou passando o próprio formulário como parâmetro para a função - ou então eu crio uma função envia(), dou o nome ao formulário de "f" e dentro da função, toda vez que eu for acessar o formulário, terei que escrever "document.f". Olhe os exemplos:
1ª forma:
<html><head><title>Teste</title> <script language=JavaScript> function envia(f) { var url='...'+f.u.value+'...'+f.s.value+'...'; } </script> </head> <body> <form name=f onSubmit="envia(this);return false;"> Usuário: <input type=text name=u> Senha: <input type=text name=s> Área: <input type=text name=a> </form> </body></html>
2ª forma:
<html><head><title>Teste</title> <script language=JavaScript> function envia() { var url='...'+document.f.u.value+'...'+document.f.s.value+'...'; } </script> </head> <body> <form name=f onSubmit="envia();return false;"> Usuário: <input type=text name=u> Senha: <input type=text name=s> Área: <input type=text name=a> </form> </body></html>
Na primeira forma (que é como eu havia mostrado antes), eu passo para a variável "f" que a função espera como parâmetro o próprio formulário. Para fazer isto eu faço o formulário passar para o parâmetro da função a palavra "this", que significa: o parâmetro da função será EU (this).
E para a última dúvida a resposta é sim, o + no JS tem a função do . no PHP = concatenação.
Qualquer dúvida, é só perguntar!
Um abraço,
Thales Medeiros.
#7
Posted 14/04/2005, 10:28
não precisa explodir pra resgatar o valor ??? Ele já vem como array no caso e é só colocar em variáveis separadas ??
E eu entendi o parte do this, to aprendendo PHP POO e esse comando tá ficando familiar, aliás, você não tem por acaso nenhuma apostilinha ae tipo, o básico do JS ??
Yeah I do have some stories, and it's true I want all the glory ...
#8
Posted 14/04/2005, 10:34
Com relação ao explode(), ele é desnecessário, pois todas as variáveis passadas pelo método GET vêm dentro do array $_GET, exatamente como eu exemplifiquei.
Um abraço,
Thales Medeiros.
#9
Posted 16/09/2017, 07:33
direct isotretinoin next day delivery discount
Levitra Professional 20 Mg <a href=http://cialtobuy.com>cialis</a> Finasteride Tab Internet Pharmacy
Doxycycline 10mg Where To Buy cialis buy online Non Perscription Amoxicillin
discount generic accutane Cherche Viagra Ou Cialis
Review Best Place To Buy Viagra Online <a href=http://cialtobuy.com>online pharmacy</a> Amoxicillin Side Effects Ears Ringing
Viagra 25mg Dosierung cialis Online Amoxil No Prescription
Baclofene Injectable
Cialis Kaufen Hamburg <a href=http://cialtobuy.com>online pharmacy</a> On Line Viagra
#10
Posted 04/10/2017, 19:32
Propecia Bayer viagra Buy Brand Cialis Online Ireland
Real Acticin Price No Prior Script Amex Next Day Levitra 20mg Generique Prix viagra Viagra Eiaculazione Precoce Nexium Online Australia Cheap Meltabs Viagra
#11
Posted 20/10/2017, 18:40
Ez Pharmacy Online levitra 20mg tablets mfg gsk accutane discount card Avana (Stendra) 50mg
#12
Posted 01/11/2017, 13:47
Valor Del Cialis Kamagra Aus Uk cialis online Cialis Generique Site Fiable Propecia Effects Hair Loss
Puedo Tomar Cialis Si Soy Hipertenso buying levitra in mexico Cialis Mode D'Action
#13
Posted 22/11/2017, 19:33
Isotretinoin Cheap Cafergot Bestellen cialis buy online Propecia Esta Medicina Cialis Online Bologna
Viagra Cialis Opiniones Levitra Non Prescription How Is Amoxicillin Supplied cialis Propecia Fecundacion In Vitro Propecia 5mg Propecia Directions
0 user(s) are reading this topic
0 membro(s), 0 visitante(s) e 0 membros anônimo(s)