• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

gucapi

login e ficar na mesma pagina...

13 mensagens neste tópico

olá!

não sei se isto já foi questionado aqui, mas como não sabia como pesquisar sobre isto...

echo '<form id="form1" name="form1" method="post" action="?op=login"><br />
			<table width="200" border="0" align="right" cellpadding="1" cellspacing="5">
			  <tr>
				<td valign="top"><div align="right"><strong>Login:</strong></div></td>
				<td><input name="login" type="text" id="login" size="20"/></td>
			  </tr>
			  <tr>
				<td valign="top"><div align="right"><strong>Password:</strong></div></td>
				<td><input name="pass" type="password" id="pass" size="20"/></td>
			  </tr>
			  <tr>
				<td valign="top"> </td>
				<td><input type="submit" name="Submit" value="Entrar" /></td>
			  </tr>
			</table>
			</form>';

a cima está o meu formulário de login, o meu problema é o seguinte é que se eu tiver no index.php tudo bem eu faço login e ele fica na pagina inicial (index.php) e se eu tiver tipo na pagina index.php?ver=xpto quando faz o login ele vai voltar a pagina inicial index.php

eu sei que há uma forma de resolver isto só que não encontro e também não sei bem como procurar penso que tenha de ser uma variavel que leia o endereço em que estamos e faça o login nessa pagina

não sei se me fiz entender mas aguardo ajuda

abraços e cumprimentos

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa o post do form em vez de estares a redireccionar para depois fazeres get à url.

Em vez de usares o $_GET['op'] da url para fazeres o trigger, usa o $_POST['Submit'] do botão de submissão.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tens que por:


$location = $_SERVER['HTTP_REFERER']
Header ("Location: '$location'");

acho que e isso que queres

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Usa o post do form em vez de estares a redireccionar para depois fazeres get à url.

Em vez de usares o $_GET['op'] da url para fazeres o trigger, usa o $_POST['Submit'] do botão de submissão.

Não percebi o que queres dizer :S desculpa podes dar um exemplo na minha form tenho method="post" não é isto?

tens que por:


$location = $_SERVER['HTTP_REFERER']
Header ("Location: '$location'");

acho que e isso que queres

eu meti isto na pagina e axo k n funciona lá mt bem

pk kuando entro na pagina o endereço fica assim

http://localhost/pagina/'http://localhost/pagina/index.php?op=login'

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Tens o script que vai correr quando alguém submeter o formulário. Nesse script tens um "trigger" qualquer, que te vai dizer quando executar o código. Deves ter algo como if(isset($_GET['op'])){  SCRIPT , VALIDAR O LOGIN  }. O $_GET vai-te buscar as variáveis da url, se tiveres "op" na url e esse "op" pedir um valor (op=xxx), o if retorna verdadeiro e executa o resto do script. Ora, em vez de fazeres o tal trigger pela url ($_GET), fazes o trigger pelo formulário. Se o teu formulário é post (e é) os valores são enviados por post, $_POST['campo']. Cada input (campo) assume uma chave (variável pronto) no array que é o formulário. Por isso se tiveres input name="telefone", vai ser enviado ao submeteres o formulário, um $_POST['telefone'].

O que eu te aconselhei a fazer, é que em vez de usares o $_GET (ou $_REQUEST talvez) que uses o $_POST. Porque quando alguém clicar no botão de submeter o formulário ( input name="Submit") vai ser enviado um valor $_POST['Submit'].

Se fizeres assim if(isset($_POST['Submit'])){  SCRIPT , VALIDAR O LOGIN  }, a condicional vai retornar sempre verdadeira desde que alguém tenha clicado no botão de submeter o formulário, e assim correr o script respectivo sem sair da mesma página.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

bem na verdade n usava nada disso

echo '<form id="form1" name="form1" method="post" action="?op=login"><br /> etc etc


e dpois tinha 

if($op=="login"){ script de validação }


agora testei

if(isset($_POST['login'])){
			script de validação

o que é k meto na action da form ??? pk ele neste momento n faz nd

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ah... então não metas nada, tira só o que tiver no action, deixa ficar assim-> action=""

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao n funciona n faz nd, já agra

confirma se falta alto

echo '<form id="form1" name="form1" method="post" action=""><br />
etc
<input type="submit" name="login" value="Entrar" />etcetc



if(isset($_POST['login'])){
			script validação

mas c esta n funciona :S n aparece nd apenas vai para o index.php em kualker k seja a pagina k eu esteja

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

correcção afinal ele funciona parcialmente

kuando meto submit ele fica na pagina em k esta

mas n faz login

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

fechei bem axo

echo '<form id="form1" name="form1" method="post" action=""><br />
			<table width="200" border="0" align="right" cellpadding="1" cellspacing="5">
			  <tr>
				<td valign="top"><div align="right"><strong>Login:</strong></div></td>
				<td><input name="login" type="text" id="login" size="20"/></td>
			  </tr>
			  <tr>
				<td valign="top"><div align="right"><strong>Password:</strong></div></td>
				<td><input name="pass" type="password" id="pass" size="20"/></td>
			  </tr>
			  <tr>
				<td valign="top"> </td>
				<td><input type="submit" name="login" value="Entrar" /></td>
			  </tr>
			</table>
			</form>';

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

olha obrigado, já vi o erro tinha o name do botoa igual a uma caixa de texto obrigado mais uma vez ta a funcionar :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora