Jump to content


Photo

Problema Ao Passar Variáveis!


  • Faça o login para participar
12 replies to this topic

#1 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 13/04/2005, 23:09

Tenho uma página de login com nome de usuário / senha e 2 radios que definem a área do site que será acessada. Clicando no botão login abrirá uma nova janela com a página definida pelo radio. Meu problema é que não consigo pegar os dados enviados pelo form (nome e senha) para verificar na janela que abriu.

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.
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#2 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados<br><br>Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 14/04/2005, 00:09

Ôpa.. Tudo bem?

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.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#3 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 14/04/2005, 00:31

Sinceramente eu não entendi o seu código, não manjo de javascript, mas olhando alguma coisa dele consegui isso:

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 .... (y)
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#4 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados&lt;br&gt;&lt;br&gt;Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 14/04/2005, 00:53

Oi, bimonti! Ó nóis aqui ôtra vêiz...

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.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#5 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 14/04/2005, 09:28

Manoo que chinelada já cedo ... hahahah

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....
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#6 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados&lt;br&gt;&lt;br&gt;Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 14/04/2005, 10:23

Qui chinelada, rapaz! Chinelada neles!!!

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.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#7 bimonti

bimonti

    Super Veterano

  • Usuários
  • 2654 posts
  • Sexo:Masculino

Posted 14/04/2005, 10:28

qdo vc passa a URL login_vai.php?user=eu&senha=123&area=2

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 ??
WebFórum - Equipe de Desenvolvimento - Monitor
Posted Image
Yeah I do have some stories, and it's true I want all the glory ...

#8 Thales Medeiros

Thales Medeiros

    24 Horas

  • Usuários
  • 426 posts
  • Sexo:Não informado
  • Localidade:Juiz de Fora/MG
  • Interesses:Programação em geral. Programo em PHP, ASP, PERL, VB, Delphi, C/C++, Java e com banco d dados&lt;br&gt;&lt;br&gt;Gosto tb d ajudar. Se precisar d mim, basta postar uma msg no Forum! Se eu souber, te responderei...

Posted 14/04/2005, 10:34

No site da WMOnline tem vários tutoriais. Dê uma conferida!

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.
Sucesso é ganhar dinheiro fazendo o que você faria de graça.

#9 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 16/09/2017, 07:33

Le Cialis Prise cialis online Use Of Keflex In Cats
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 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 04/10/2017, 19:32

Buy Generic Tamoxifen No Prescription Clomid Avec Internet viagra Vente Cialis En Suisse Viagra Generic Levitra Tadalis Sx Cialis Viagra En France
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 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 20/10/2017, 18:40

Comment Se Procurer Du Baclofene Dapoxetina Generico viagra online Kamagra Oral Jelly Pour Femme
Ez Pharmacy Online levitra 20mg tablets mfg gsk accutane discount card Avana (Stendra) 50mg

#12 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 01/11/2017, 13:47

Chewable Kamagra Buy Lasix In Canada cialis online Vendo Kamagra Barcelona Work Forum Priligy
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 Miguceamma

Miguceamma

    MiguPenjisse

  • Usuários
  • 13201 posts

Posted 22/11/2017, 19:33

Amoxicillin Claw Viagra Sale No Prescription Comprar Levitra Generico Contrareembolso online pharmacy Propecia Drug Interactions
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)

IPB Skin By Virteq