Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

10-06-2010 16:48

Há como um mesmo arquivo ser usado em duas sessões diferentes? Por exemplo, um mesmo arquivo de cadastro ser utilizado numa sessão de usuário e numa sessão de administração?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

10-06-2010 16:57

Não entendi muito bem. Mas, geralmente, se verifica se determinada seção foi criada, e se tem determinado valor, tipo, se a seção foi criada com o valor x, que é igual do bd. A página que está não tem valor ai.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

10-06-2010 17:12

Eu até consegui fazer um código, mas que funciona se uma das sessões está aberta. Por exemplo, eu me logo na administração do site e uso o arquivo normalmente. Porém, se faço o login do usuário, o arquivo que usava normalmente é chamado pela sessão de usuário, mesmo eu estando na sessão do administrador. Criei a seguinte tabela:

CREATE TABLE ztab_tipossessoes ( TipoSessaoID int(10) NOT NULL auto_increment, TipoSessaoNome varchar(255) NOT NULL default '', PRIMARY KEY (TipoSessaoID), UNIQUE KEY TipoSessaoNome (TipoSessaoNome) ) TYPE=MyISAM; # # Extraindo dados da tabela `ztab_tipossessoes` # INSERT INTO ztab_tipossessoes VALUES (1, 'ADMINISTRAÇÃO DO SITE'); INSERT INTO ztab_tipossessoes VALUES (2, 'CONTA DE ANUNCIANTE');

E altero cores e dados conforme o tipo de sessão:

if($TipoSessaoID == '1'){$PaginaBlank = '../../cadastro_admin/Blank.php'; $codigo_clienteID = $_GET[codigo_clienteID];} if($TipoSessaoID == '2'){$PaginaBlank = '../../cadastro_cliente/anunciobanner/Blank.php'; $codigo_clienteID = $_SESSION[codigo_clienteID];}

É que o código do site está muito grande e queria reduzi-lo. Mas o funcionamento não dá certo com as duas sessões abertas.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

10-06-2010 17:20

Deixa ver se entendi, quando você cadastra uma pessoa, admin ou usuário você já define o tipo de valor de seção, 1 ou 2

Quando fizer o login correto, deveria pegar esse valor da seção desse usuário logado, e armazenar em uma session

Ai, você deveria verificar se o valor da session é 1 ou 2, e redirecionar de acordo.

Qual o problema está tendo?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

10-06-2010 17:30

Estranho, mas parou de ocorrer (mas deve ter algum erro por haver parado). Mas ocorria o seguinte: eu esta logado como admin, apenas. E usava determinado arquivo comum (à sessão de admin e à sessão de usuário). Se fazia o login de usuário (mantendo o login como admin), aquele arquivo que usava normalmente na sessão de admin, passava a ser requisitado pela sessão de usuário.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

10-06-2010 17:51

Você deve fazer uma verificação ai no caminho a partir do conectar para ver se seguiu uma lógica, porque a session tem que ser a do login, porque é com base nos dados do usuário logado.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

10-06-2010 22:52

Vou verificar. Na verdade, se estou com as duas sessões abertas, o arquivo utilizado numa é requisitado na outra. Acho que não sei trabalhar com sessões. Vou dar mais uma estudada. Eu posso dar nome às sessões? E colocar algo dentro dos parêntesis de session_start();? Vou dar uma estudada.
0
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

10-06-2010 23:06

Estou estudando. Em todos os arquivos dentro de uma sessão eu devo utilizar session_start();?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

11-06-2010 07:47

Isso mesmo, em todo arquivo que vai utilizar determinada session criada, deve ter o session_start().
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

11-06-2010 09:29

Estou fazendo as alterações, colocando o session_start(); em todos os arquivos. Deixe eu te dizer como está a estrutura. Criei as tabelas acima com os tipos de sessão. Quando cadastro o usuário ou o administrador, nas tabelas correspondentes são preenchidos os campos referentes ao tipo de sessão (id e nome). Nos arquivos, faço o seguinte: CadastroAdmin.php e CadastroCliente.php, cada qual em sua respectiva pasta. E AuxiliarCadastro.php, numa pasta chamada adm_cli. No arquivo CadastroAdmin.php e no arquivo CadastroCliente.php, faço apenas os links para o arquivo AuxiliarCadastro.php, que contém o código do formulário:

CadastroAdmin.php:

<? session_start("admin"); echo session_id(); echo "<br>"; //session_start(); echo session_id(); echo "<br>"; include('../adm_cli/AuxiliarCadastro.php'); ?>

CadastroCliente.php:
<? session_start("cliente"); echo session_id(); echo "<br>"; //session_start(); echo session_id(); echo "<br>"; include('../adm_cli/AuxiliarCadastro.php'); ?>

AuxiliarCadastro.php:
<? require_once("../../configuracao_mysql.php"); require_once("../../doctype.php"); require_once("../../arquivo_estilos/arquivo_estilos.php"); require_once("../../javascript/javascript.php"); require_once("../../ArquivoLinksGreybox.php"); //require_once("../../ArquivoTabelasAnunciosEstatisticasDiretoriosFotosCategorias.php"); $TipoSessaoID = $_SESSION[TipoSessaoID]; $TipoSessaoNome = $_SESSION[TipoSessaoNome]; echo $TipoSessaoID; echo "<br>"; echo $TipoSessaoNome; echo "<br>"; if($TipoSessaoID == '1'){$PaginaBlank = '../../cadastro_admin/Blank.php'; $codigo_clienteID = $_GET[codigo_clienteID];} if($TipoSessaoID == '2'){$PaginaBlank = '../../cadastro_cliente/anunciobanner/Blank.php'; $codigo_clienteID = $_SESSION[codigo_clienteID];} (...) ?>

Eu abri a sessão de usuário num navegador (Firefox) e a sessão de administração noutro (Opera) e parou tal ocorrência, de o arquivo numa sessão requisitar a outra sessão. Isso está ocorrendo se abro as sessões em guias diferentes de uma mesma janela de um mesmo navegador. Percebi que num mesmo navegador as sessões não mudam conforme seja de administração ou de usuário, mas em navegadores diferentes mudam (o session_id(); mostra sessões distintas, neste caso, de navegadores diferentes, e no outro, de um mesmo navegador, mostra uma sessão só para as duas áreas restritas). Isso tem a ver? O que você acha da estrutura dos arquivos? Existe a possibilidade de aquela ocorrência ser por causa da estrutura ou pode ser pelo fato de as sessões serem abertas no mesmo navegador na mesma máquina? Como coloquei, session_start("admin"); e session_start("cliente"); está correto?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

11-06-2010 09:42

A lógica está certa, porque se você abre uma session em um navegador, ela fica criada, até que o navegador seja fechado, ou seja, se quer usar as 2 sessions no mesmo navegador, tem que encerrar ou deletar o valor relacionado a session para criar outra. Em navegadores diferentes, você sempre terá sessions diferente também.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

11-06-2010 09:54

Então o problema não se repetiria com o site no servidor remoto, pois não se abririam, em tese, as sessões concomitantemente num mesmo navegador? O administrador abriria sua sessão em sua máquina, em seu navegador, e o usuário na sua máquina e seu navegador.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

11-06-2010 13:16

As seções são criadas em cada navegador, se A está em uma seção em um computador, B pode estar em outra seção em outro navegador, sem uma interferir em outra.

Tanto funciona que posso logar no fórum com meu login no Firefox, e logar novamente no Internet Explorer. Geralmente, se verifica se a session é criada no navegador e computador que a pessoa está.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 1000 postagens
Mais de 1000 postagens
Tópico Autor
Mensagens: 1308
Sexo: Masculino

arquivo utilizado em duas sessões

12-06-2010 14:33

Não me recordo se no Orkut, ou se em outro software on line, há um aviso de que há dois logins simultâneos do mesmo usuário. Parece-me que na sessão que você está haveria o aviso de que o mesmo usuário está logado através de outra sessão.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17722
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

arquivo utilizado em duas sessões

12-06-2010 16:01

Creio que seja tipo um script de usuários online, que grava dados da seção atual, e se outra pessoa entrar e o primeiro ainda estiver logado, dá essa mensagem.

Ai no bd do sistema pode ser gravado o IP, quando outro IP tenta logar enquanto um já está naquela conta, dá esse erro.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado