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

pedrotuga

sessoes... duvidas que vao aparecendo

17 mensagens neste tópico

Epa... estou a user sessoes pela primeira vez...

Primeira duvida: cada vez que começo a escrever um script devo incluir o session_start(), ok.. tudo bem... mas há uma coisa que ainda não percebi.

como é que vou buscar a sessao que quero... é com a session_id() ou com a session_name()?

Qual é a diferença entre elas? quero ir buscar uma referencia a sessao ao $_POST... não sei qual hei-de usar...

ajudem... se puderem dar exemplos melhor

obrigado desde já.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não te sei dizer a diferença entre elas, mas não queres explicar melhor qual é o teu problema.

Pode ser que eu possa ajudar a solucionar doutra forma.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu não te sei dizer a diferença entre elas, mas não queres explicar melhor qual é o teu problema.

Pode ser que eu possa ajudar a solucionar doutra forma.

O meu problema é que quero propagar a autenticaca de utilizadores por diversos scripts da mesma aplicacao e, se não usar cookies, nao entendo que vantagens é que as sessoes têm em relacao ao post.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tu podes ter varias variáveis da SESSION, por exemplo:

$_SESSION['nome']="pedrotuga";

e fica guardado na SESSION.

Assim noutras paginas so precisas de usar o $_SESSION['nome'] para saber o nome do user...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ya... tipo isso é a parte facil...

Mas que diferencas tem para o post e o get? eh k assim nao sao muitas..

ps:nao quero usar cookies nem registo de logins em nenhuma base de dados. Só os users e a pass encriptada.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Difreneça com GETS?

Não precisas de passar os parametros por url, escondendo do utilizador.

com POST?

Não precisas de estar sempre a fazer formularios para receber o POST.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpem desenterrar este topico, que k eu tou a fazer 1 site com login area, e so os admins é que têm acesso, já tenho a area pronta e tal,mas para aceder a essa area, qualquer pessoa que ponha o link da area de admins entra e faz que quiser, sem lhe ser pedido login e isso é mau pk pode minar o site mais tarde, á alguma maneira de contornar essa situaçao?

[desculpem se nao fui extremamente claro =)]

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpem desenterrar este topico, que k eu tou a fazer 1 site com login area, e so os admins é que têm acesso, já tenho a area pronta e tal,mas para aceder a essa area, qualquer pessoa que ponha o link da area de admins entra e faz que quiser, sem lhe ser pedido login e isso é mau pk pode minar o site mais tarde, á alguma maneira de contornar essa situaçao?

[desculpem se nao fui extremamente claro =)]

Terás de usar sessions. As sessions não costumam ser difíceis de implementar, no entanto requerem algum estudo e prática. Vou-te dar uns links que acho úteis:

http://pt.php.net/session

http://www.developerfusion.co.uk/show/2301/

http://www.free2code.net/plugins/articles/read.php?id=184

http://codewalkers.com/tutorials/32/1.html

Acho que com isso já ficarás a perceber algo mais de sessões e sobre como as implementar. Qualquer duvida mais específica, já sabes onde recorrer. ;)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pelo pouco que vi é sempre preciso o session_start(); para começar ou resumir ou sessao, mas isto aplico a todos os documentos que quero tipo "limitar" aos admins nao é?

devo no fim de cada script usar session_close(); ? tenho que indicar o nome da sessao tambem? ou de que user é? por exemplo:

<?php
session start();
session_name($nick);
?>
// codigo HTML da pagina e no fim
<?php
session_clocse();
?>

xeira-m que isto em php saiu uma lammice e nao tem nada haver,mas vejam...

obrigado

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ok.... já estive a ler mais sobre isto.

esse código está mal... tambem eu dei muitas cabeçadas a perceber como é que isto funciona...

Ora bem... ao fazeres session_start() inicias ou carregas uma sessão existente... basicamente o $_SESSION é um array, mas só é destruido quando usares o session_destroy ou session_close() (acho eu)

Opcionalmente podes ir ao teu php.ini e definires a sessao a comecar em cada script para nao ter que estar sempre a escrever session_start() no inicio de cada script.

de resto é um array associativo onde metes para lá valores e vais buscar qdo quiseres.

Acho que assim explicado entende-se melhor do que com tutoriais passo a passo que só confundem um gajo.

pedantilva... o $_POST pode ser usado sem forumulários. Parece que a diferença é que vai c os porcos na página a seguir, ou seja... só dá para guardar valores uma vez.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ate mudava,mas nao tenho acesso penso eu... por causa do hsot...

hmm axo que ja estou a perceber melhor.. mas como declaro que quero k akela variavel fique na session? na sesson posso adicionar por exemplo: o nick e a pw e isso? obrigado pela ajuda

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

as variaveis que ficam na session sao as que estao no array $_SESSION

tao simples como

$_SESSION['username']="frankanstein";

bota! já tá na sessao :(

podes ir busca-la sempre que quiseres desde que tenhas feito session_start(); no inicio do script.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao eu posso aramzenar kk variavel?

$_SESSION['username']="frankanstein";

$_SESSION['password']="teste";

$_SESSION['idade']="234";

nao é?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao eu posso aramzenar kk variavel?

$_SESSION['username']="frankanstein";

$_SESSION['password']="teste";

$_SESSION['idade']="234";

nao é?

Outra forma

$_SESSION['Dados']['username'] = "frankanstein";

$_SESSION['Dados']['password'] = "teste";

$_SESSION['Dados']['idade'] = "234";

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

entao eu posso aramzenar kk variavel?

$_SESSION['username']="frankanstein";

$_SESSION['password']="teste";

$_SESSION['idade']="234";

nao é?

Outra forma

$_SESSION['Dados']['username'] = "frankanstein";

$_SESSION['Dados']['password'] = "teste";

$_SESSION['Dados']['idade'] = "234";

hmm obrigado!

so mais uma coisa, como podemos "scriptar" se a pessoa nao tiver logada, ele nao deixa aceder a certas paginas? tipo, zona de users

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
<?php 
session_start();
$volta = 'login.php';
if ( @$_SESSION['useractive'] != "yes" ){
	header("Location: $volta" );
	exit();
}?>

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