Jump to content

redirecinar apartir da valição de uma grupo


leticia.muto
 Share

Recommended Posts

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

Link to comment
Share on other 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.

Link to comment
Share on other 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).

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other 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

Link to comment
Share on other 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. 😛 )

I intend to live forever. So far so good.

Link to comment
Share on other 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");

Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Link to comment
Share on other 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.

PS: Não respondo a perguntas por mensagem que podem ser respondidas no fórum.

Link to comment
Share on other 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?

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.