Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

luan_alves

niveis diferentes em session

Recommended Posts

bom dia a todos, estou desenvolvendo um site que nas paginas internas eu irei utilizar session, porém cada página ira utilizar uma parte da session diferente, o que eu gostaria de saber é se tem como eu utilizar blocos da session?

Por exemplo:

pagina 1 - session 1

pagina 2 - session 2

 

Eu sei que os arquivos da session são acessados como array, e a alternativa é utiliar nomes diferentes. Mas eu gostaria de utilizar o mesmo nome em todas as páginas porém as informações não são a mesmas, por isso a utilização de blocos da session.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Eu sei que os arquivos da session são acessados como array, e a alternativa é utiliar nomes diferentes. Mas eu gostaria de utilizar o mesmo nome em todas as páginas porém as informações não são a mesmas, por isso a utilização de blocos da session.

 

não creio que seja possível.

 

por que não cria uma sessão diferente para cada tipo de usuario?

Compartilhar este post


Link para o post
Compartilhar em outros sites

não creio que seja possível.

 

por que não cria uma sessão diferente para cada tipo de usuario?

 

porque eu não trato usuário, é a parte publica do site.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível sim. Destrua a sessão e instancie-a novamente, com o novo tipo de informação. Mas saiba, desde já, que o antigo conteúdo da SESSION será perdido se você não salvá-lo em algum lugar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

É possível sim. Destrua a sessão e instancie-a novamente, com o novo tipo de informação. Mas saiba, desde já, que o antigo conteúdo da SESSION será perdido se você não salvá-lo em algum lugar.

Eu já tinha pensado nisso, mas eu já estou utilizando a session, para evitar carregamento destes conteúdos toda hora que a pagina sofre refresh.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@luan_alves Algum problema em específico com índices ?

Acho que o seu problema (não tenho certeza) possa ser resolvido através do SessionID.

 

@Guilherme Oderdenge ele quer que quando altere de página, altere o conteúdo da session, só que sem ficar trazendo o mesmo conteúdo de um db ou uma origem qualquer, provocando várias consultas a cada alteração de página.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@luan_alves Algum problema em específico com índices ?

Acho que o seu problema (não tenho certeza) possa ser resolvido através do SessionID.

 

@Guilherme Oderdenge ele quer que quando altere de página, altere o conteúdo da session, só que sem ficar trazendo o mesmo conteúdo de um db ou uma origem qualquer, provocando várias consultas a cada alteração de página.

 

Como eu usaria os índices para resolver o meu problema?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom, na lógica você na página principal iria gerar 2 índices, A e B, quando você tiver na página A, você vai usar o índice de sessão A, quando tiver na B vai usar o índice de sessão B, de acordo com a especificação:

 

:seta: http://br.php.net/manual/pt_BR/function.session-id.php (session_id)

É possível definir o índice que será usado

session_id() é usado para obter ou definir o id de sessão para a sessão atual.

 

Trabalhe em cima dessa lógica, e veja os resultados, não é garantido, mas a ideia é essa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, Andrey. Valeu.

 

Então, Luan. Índices são aqueles valores dentro da SESSION, sabe? $_SESSION['indice']. Por que você não quer usá-los? Algum problema em particular?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Realmente problemas com o uso de índices não é problema, mas como o índice eu iria utilizar padrão para todas as páginas e só a informação eu trocaria, então o uso do índice não seria viavel, já que o indice sempre seria os mesmos.

Mas não to vendo outra alternativa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, se as sessões vão agregar informações diferentes, eu acho muitíssimo mais viável você utilizar índices diferentes para elas. É uma questão semântica e talvez boba, mas eu acho melhor.

 

A cada página carregada, destrua a(s) sessão(ões) existentes e instancie uma nova, com um novo nome.

 

Você está preocupado com a questão das boas práticas, não é?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, se as sessões vão agregar informações diferentes, eu acho muitíssimo mais viável você utilizar índices diferentes para elas. É uma questão semântica e talvez boba, mas eu acho melhor.

 

A cada página carregada, destrua a(s) sessão(ões) existentes e instancie uma nova, com um novo nome.

 

Você está preocupado com a questão das boas práticas, não é?

 

Exatamente, tem um designer muito chato aqui no trampo e ele enche o saco com isso. rsrsrs

Compartilhar este post


Link para o post
Compartilhar em outros sites

Imagino como é. Mas diga-me, você já tentou sobrepôr a sua sessão antes de carregar todo/qualquer conteúdo da sua página? Eu digo, lá encima, antes mesmo do head, você já tentou re-definir a sessão por lá?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Rapaz, se as sessões vão agregar informações diferentes, eu acho muitíssimo mais viável você utilizar índices diferentes para elas. É uma questão semântica e talvez boba, mas eu acho melhor.

 

Eu também ...

 

Agora, luan, veja só:

<?php  
      session_id ( 'A' ) ; // estamos em A
      session_start () ; // inicio com o índice A
      $_SESSION[ 'something' ] = 'someVal' ; // escrevo algo em A
      session_write_close () ; // finalizo

      session_id ( 'B' ) ; // vou pra B
      session_start () ; // inicializo em B
      $_SESSION[ 'something' ] = 'hahaha' ;
      session_write_close ( ) ; // finalizo

      // estou em B
      echo $_SESSION[ 'something' ] ; // hahaha

      session_id ( 'A' ) ;
      session_start ( ) ; // vou pra A
      echo $_SESSION[ 'something' ] ; // someVal


 

Olha a complicação que você tem que fazer ? ao contrário de índices:

<?php

      session_start () ;
      $_SESSION [ 'A' ] = array ( ) ;
      $_SESSION [ 'B' ] = array ( ) ;

      $_SESSION [ 'A' ] [ 'something' ] = 'something' ;
      $_SESSION [ 'B' ] [ 'something' ] = 'something B' ;

      // ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado pela a atenção de todos!

Ficou decidido mesmo utilizar índices de acordo com a página.

E ai evitar o carregamento diretor de todos os índices que serão utilizados em todas as páginas, eu irei verificar a pagina acessada, e preencher a session conforme a página acessada.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.