Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #57 da revista programar. Faz já o download aqui!

leticia.muto

redirecinar apartir da valição de uma grupo

Mensagens Recomendadas

leticia.muto    0
leticia.muto

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
elcsat    0
elcsat

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

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).

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
elcsat    0
elcsat

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
elcsat    0
elcsat

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
elcsat    0
elcsat

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

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
The Loser    0
The Loser

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)

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
djthyrax    11
djthyrax

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");

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
scorch    19
scorch

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.

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
leticia.muto    0
leticia.muto

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?

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


×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade