Jump to content


Photo

Sistema De Login E Área Privada


  • Faça o login para participar
7 replies to this topic

#1 dashe

dashe

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 20/12/2009, 17:06

olá pessoal eu criei um sisteminha em PHP/Mysql com (registrar, login, busca e área privada) até ai tudo certo, o problema é que quando alguém faz login com seu nome de usuário e senha, e depois faz alguma busca por outros usuários no sistema o usuário que fez a busca fica logado como o usuário que ele pesquisou.

Exemplo: Eu entro no sistema como "Ciclano" e faço uma busca no sistema por um usuário qualquer chamado "Beltrano" o sistema ao mostrar o resultado altera meu login e eu fico logado como "Beltrano".

Alguém poderia me ajudar?

Muito obrigado

Edição feita por: dashe, 20/12/2009, 17:08.


#2 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 20/12/2009, 17:24

Certamente na listagem dos resultados você está gravando o login do usuário buscado na sessão de login do usuário que logou no sistema. Deve ser isso...

Veja com calma essa parte da busca... ;)
att,
Muller Dias
ex-administrador Fórum WMO

#3 Willian Gustavo Veiga

Willian Gustavo Veiga

    12 Horas

  • Usuários
  • 175 posts
  • Sexo:Masculino

Posted 20/12/2009, 18:55

Boa noite, tudo bem?

Sempre poste o código para que possamos analisar melhor o problema.
Siga as orientações do nosso amigo sem.Ponto, qualquer coisa volte com o código :)

Um abraço, tudo de bom.
Posted Image

#4 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 21/12/2009, 10:26

Amigo, possivelmente esse conflito é dado devido à igualdade dos nomes das variáveis às quais vc atribui à seleção do banco de dados, e com as sessões definidas.
Geralmente esse conflito se da por que no servidor está definido ON para registers globals... que por exemplo permite utilizar o nome dos campos dos formulários como nome das variáveis, dexando de lado a necessidade de utilizar $_GET[] e $_POST[]...

Quando está ON também pode causar problemas com $_SESSION[]...

Digamos que por exemplo ao logar, a session para usuário seja gravada dessa forma:

$_SESSION['usuario'] = $array['usuario']; // onde $array['usuario] é o resultado da verificação de usuario na hora do login

Bom agora o user logado está logado e a sessão para usuário é esta acima.

Mas aí vc quer listar um usuário para visualização, edição ou exclusão ou ainda para seja lá o que for.

Se vc puxar do bd e atribuir o resultado para uma variável de nome igual ao campo... dará problema com a session que registrou no exemplo acima.

Ex.:

$array = mysql_fetch_array();

$usuario = $array['usuario'];

Esse nome da variável $usuario se conflitará com $_SESSION['usuario']

Já passei por isso a muito tempo atrás e pode ser o mesmo problema que esteja passando... OU NÃO hehehehye

Veja aí ... tente manter os nomes de variáveis diferentes dos nomes usados na sessão ou vice-versa.

(y)Até mais

#5 '' sem.Ponto

'' sem.Ponto

    Super Veterano

  • Ex-Admins
  • 2098 posts
  • Sexo:Masculino
  • Localidade:Belo Horizonte

Posted 21/12/2009, 10:49

Disso aí eu não sabia... :ponder:

Mas nesse caso, a única superglobal modificada não seria a $GLOBALS? Depois vou fazer uns testes, talvez era algum bug da versão que você utilizou. Você lembra qual era?
att,
Muller Dias
ex-administrador Fórum WMO

#6 dashe

dashe

    Novato no fórum

  • Usuários
  • 7 posts
  • Sexo:Não informado

Posted 21/12/2009, 11:07

Meu amigo Crab, "EU TE AMO" rsrsrsrs

Deu certo, eu devo ter faltado nessa aula ^^

Abraços.




Quando está ON também pode causar problemas com $_SESSION[]...

Digamos que por exemplo ao logar, a session para usuário seja gravada dessa forma:

$_SESSION['usuario'] = $array['usuario']; // onde $array['usuario] é o resultado da verificação de usuario na hora do login



#7 Crab

Crab

    Da paz, mas preparado para Guerra

  • Ex-Admins
  • 2521 posts
  • Sexo:Masculino
  • Localidade:Florianópolis - SC
  • Interesses:Desenvolvimento Gráfico e Web.

Posted 21/12/2009, 11:29

Ok dashe, que bom que minha dica resolveu.

s/. passei por isso tempos atrás, não me lembro da versão que estava usando do php na época.

Quando passei por isso, não entendia o porque da sessão estar sendo sobrescrita
Quem deu a dica foi PA na época que nem era PA ainda hehehe.

Isso só acontece quando REGISTERS GLOBALS está ON

(y) Até mais

#8 anderson farias

anderson farias

    Normal

  • Usuários
  • 62 posts
  • Sexo:Masculino
  • Localidade:Bahia
  • Interesses:Ajudar, trabalhar e viver...

Posted 31/12/2009, 12:06

Já aconteceu isso comigo, nomes de variáveis iguais em sessões ai dava conflito, verifica ai o código e observe se não existe nomes de variáveis iguais, observe variáveis nos includes(se estiver utilizando).

abraços.



Amigo, possivelmente esse conflito é dado devido à igualdade dos nomes das variáveis às quais vc atribui à seleção do banco de dados, e com as sessões definidas.
Geralmente esse conflito se da por que no servidor está definido ON para registers globals... que por exemplo permite utilizar o nome dos campos dos formulários como nome das variáveis, dexando de lado a necessidade de utilizar $_GET[] e $_POST[]...

Quando está ON também pode causar problemas com $_SESSION[]...

Digamos que por exemplo ao logar, a session para usuário seja gravada dessa forma:

$_SESSION['usuario'] = $array['usuario']; // onde $array['usuario] é o resultado da verificação de usuario na hora do login

Bom agora o user logado está logado e a sessão para usuário é esta acima.

Mas aí vc quer listar um usuário para visualização, edição ou exclusão ou ainda para seja lá o que for.

Se vc puxar do bd e atribuir o resultado para uma variável de nome igual ao campo... dará problema com a session que registrou no exemplo acima.

Ex.:

$array = mysql_fetch_array();

$usuario = $array['usuario'];

Esse nome da variável $usuario se conflitará com $_SESSION['usuario']

Já passei por isso a muito tempo atrás e pode ser o mesmo problema que esteja passando... OU NÃO hehehehye

Veja aí ... tente manter os nomes de variáveis diferentes dos nomes usados na sessão ou vice-versa.

(y)






1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq