Boa tarde,
A função autenticaUsuario em admin/php/login.php retorna um array em "formato" diferente para o "admin" e para outros usuários. Mais precisamente o $r['usuario'].
Para o admin, é uma string (valor fixo = master).
Para um usuário comum é um array ($dados[0]) em que uma das chaves é "id_usuario".
Acontece que, quando o usuário é "admin", durante o processo de LOGIN em admin/php/usuario.php, é atribuído para $_SESSION["id_usuario"] o valor de $teste["usuario"]["id_usuario"].
Como a chave ["id_usuario"] não existe, o php, ao invés de mostrar um erro, pode estar convertendo a string para o inteiro 0 e pegando o primeiro caracter da string master ('m'), gerando erro nos processos de manipulação de usuário.
Creio que o objetivo seja verificar em algum momento se o usuário é master. Sugiro, SMJ, acresentar uma outra chave para aquele array e manter a chave [usuario][id_usuario] para que o retorno mantenha compatibilidade com de usuários comuns e o admin.
Respeitosamente,
Daniel.
Autor: Daniel Rodrigo Fleck
1Um comentário