• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

leticia.muto

redirecinar apartir da valição de uma grupo

17 mensagens neste tópico

Olá..pessoal.. estou começando a programar em php agora.. Preciso de ajuda no seguinte caso... Tenho um login, senha e codigo de segurança.. Tenho uma tabela no mysql de grupo que tem admistrador.. programador.. ect. de acordo com o grupo que o usuario estiver preciso redirecionar ele para pagina que cabe a autoridade do seu grupo..

Não sei como faço isso !!!!!!!! Alguem pode me ajudar..

      Agradeço antecipadamente.... :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boas,

Mais informação era bem vinda, como estrutura da base de dados.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

switch($grupo){

case 'a':

            header('location: grupoa.php');

          break;

case 'b':

            header('location: grupob.php');

          break;

.

.

.

case 'z':

            header('location: grupoz.php');

          break;

default:

    header('location: index.php');

break;

}

fazes um switch e usas o header pra mudares pra a pagina que pretendes, atençao que este header para redecionar para a pagina que  pretendes deve estar antes da pagina.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Está correcto, elcsat, mas também há outra maneira.

if ($grupo == "admin"){
//mostra o que é dos admins
} elseif ($grupo == moderador){
//mostra o que é dos moderadores
} else {
//mostra o que é de todos.
}

A vantagem da utilização deste método é poder ser tudo na mesma página. Embora com switchs também desse, acho que ficava mais confuso e não dava para fazer mais do que uma verificação ao mesmo tempo (and).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

os if susbtituir o switch, mas o switch tambem substituir o if, neste caso

eu preferia switch, porque se for mts opçoes torna-se chato ta a escrever isso tdo a comparar... e em menos codigo e mais legivel é um switch

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende do uso que lhes dás. Se queres algo mais complexo, usas os if, se queres algo mais simples, usas os switchs. :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

desculpa o if nao e sinal de complexidade, neste caso e sinal de confusao

se tiveres mts opçoes

e um bom programador neste caso usa um switch nao faz if's penso eu, so se nao tiver nada pra fazer

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Depende, e se tu quiseres verificar mais do que um argumento, por exemplo, o grupo e se o user está banido, com um if é mais simples, na minha opinião.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

tas enganado

imagina $a pode ir de 1 a 100

o if por exemplo compara $a==1, senao se $a==2, senao se $a==3

num simples switch fazes

switch($a){

case 1:

faze isto

case 2:

faz isto

default:

se nao for nenhuma das opçoes apresentadas faz isto

}

mas se fosse 100 opçoes, eu certamente nao ia usar if nem switch, ia tentar fazer um codigo mais inteligente que me poupasse o trabalho de escrever isso tdo

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Leiam sobre jump tables, façam testes, e no fim vão chegar à conclusão que um switch é cerca de 2x mais rápido que um conjunto de ifs/if-elses.

Um switch é melhor que um conjunto de ifs para avaliar valores definidos e previsíveis, já os ifs/if-elses são melhores para operações mais complexas não suportadas por um switch.

(Though, jump tables não se aplicam a PHP, nem à maior parte dos compiladores de hoje em dia, it's a good read. :P)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ou então simplesmente:

$pages = array('a' => 'a.php',
                      'b' => 'b.php');

if(array_key_exists($pagina, $pages)) header("Location: ".$pages[$pagina]);
else header("Location: default.php");

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Um switch é melhor que um conjunto de ifs para avaliar valores definidos e previsíveis, já os ifs/if-elses são melhores para operações mais complexas não suportadas por um switch.

Foi o que eu disse, que os ifs eram para operações mais complexas, embora eles sejam simples de usar.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Olá..a todos.. obrigada pela ajuda...

Ma agora mudou a situação so que a duvida é a mesma

bom.. tenho tabela grupo com os grupos criados..

tabela permissão com per_cod, per_descricao e per_grupo

e tabela usuario com seus dados...

preciso validar de acordo com o grupo de cada usuario

quais partes do meu site o usuario vai ter acesso..

pensei em pegar a url e validar pois na tabela permissao no

campo per_decricao tem a pagina permitida..

apartir dai começa meu problema.. com ofazer isso?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Quando falas em permissões falas em quê? 2 tipos de permissões ou mais?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

nao era melhor estruturares a tua ideia e ganhares um pouco de conhecimento acerca de cada assunto para te facilitar as coisas

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora