Jump to content
pedrotuga

sessoes... duvidas que vao aparecendo

Recommended Posts

pedrotuga

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á.

Share this post


Link to post
Share on other sites
Ped@ntilva

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.

Share this post


Link to post
Share on other sites
pedrotuga

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.

Share this post


Link to post
Share on other sites
Ped@ntilva

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...

Share this post


Link to post
Share on other sites
pedrotuga

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.

Share this post


Link to post
Share on other sites
Ped@ntilva

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.

Share this post


Link to post
Share on other sites
psiico

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 =)]

Share this post


Link to post
Share on other sites
deathseeker25

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. ;)

Share this post


Link to post
Share on other sites
psiico

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

Share this post


Link to post
Share on other sites
pedrotuga

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.

Share this post


Link to post
Share on other sites
psiico

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

Share this post


Link to post
Share on other sites
pedrotuga

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.

Share this post


Link to post
Share on other sites
psiico

entao eu posso aramzenar kk variavel?

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

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

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

nao é?

Share this post


Link to post
Share on other sites
perdido_e_sozinho

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";


ser.gifsartim.gif

Share this post


Link to post
Share on other sites
psiico

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

Share this post


Link to post
Share on other sites
Ped@ntilva
<?php 
session_start();
$volta = 'login.php';
if ( @$_SESSION['useractive'] != "yes" ){
	header("Location: $volta" );
	exit();
}?>

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.