Ir para conteúdo
Fórum Script Brasil
  • 0

[RESOLVIDO] Percorrer query e guardar valores


ThinkBrunus

Pergunta

Viva!

Estou a tentar aperfeiçoar o sistema autenticação já desenvolvido, e nesta fase pretendo que quando um utilizador se autentique sejam guardados os valores referentes aos níveis de permissão. Para começar utilizei a seguinte query:

$query = "SELECT nome,password,id_nivelacesso
FROM detalhe,nivelacesso_detalhe
WHERE nome='" . $username . "' AND password='" . $password . "'
AND nivelacesso_detalhe.id_detalhe=detalhe.id_detalhe";
$sql = mysql_query($query) or die('Query failed: ' . mysql_error());
E de seguida optei por saber quantas linhas foram retornadas, e num if optar por um procedimento se tiver mais que 1 tipo de permissões, caso contrário efectua o procedimento norma:
$numfields = mysql_num_rows($sql);
while ($result = mysql_fetch_object($sql)) {
        if ($result->nome == true){
                session_start();
                if ($numfields > 1)        {
                        $teste = array($numfields);
                        for($i=0;i<$numfields;$i++){
                                $teste[$i] = $result -> id_nivelacesso;
                        }
                /*
                        $niveis_acesso = array($numfields);
                        while ($result = mysql_fetch_array($sql)){
                                for($i=0;$i<$numfields;$i++){
                                    $teste[$i] = $result->id_nivelacesso;
                                }
                        }
                */              
                $_SESSION['username'] = $result -> nome;
                $_SESSION['dominio'] = false;
                $_SESSION['session_time'] = time();
                $_SESSION['teste'] = $teste;
                session_write_close();
                echo $_SESSION['username'];
        } else {
                $_SESSION['username'] = $result -> nome;
                $_SESSION['dominio'] = false;
                $_SESSION['session_time'] = time();
                $_SESSION['nivel_acesso'] = $result -> id_nivelacesso;
                session_write_close();
                echo $_SESSION['username'];
        }
} else {
        echo "0";
}
}

        } else {
                echo "0";
        }

A minha dificuldade está em perceber como vou percorrer o os valores da query e armazenar numa variável os valores das permissões, para que futuramente possa utilizar de forma a permitir o acesso a determinas áreas do site.

Agradeço uma ajudinha para clarificar o meu raciocínio.

Editado por ThinkBrunus
Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Julgo já ter conseguido, coloquei assim:

while ($result = mysql_fetch_object($sql)) {
            if ($result->nome == true){
                session_start();                
                if ($numfields > 1)    {
                    $teste = array();
                    for($i=-1; $i <= $numfields; $i++){
                        $teste[$i] = mysql_result($sql,$i,"id_nivelacesso");
                    }

                    $_SESSION['username'] = $result -> nome;
                    $_SESSION['dominio'] = false;
                    $_SESSION['session_time'] = time();
                    $_SESSION['teste'] = $teste;
                    session_write_close();
                    echo $_SESSION['username'];

} else {

...

...

Editado por ThinkBrunus
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...