thinkbrunus Posted June 12, 2009 at 09:58 AM Report #271635 Posted June 12, 2009 at 09:58 AM 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.
thinkbrunus Posted June 12, 2009 at 10:35 AM Author Report #271643 Posted June 12, 2009 at 10:35 AM 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 { ... ...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now