last day (21 days later) » 

2:26 PM
1
A: Como definir níveis de acesso

Jorge B.Para começar aconselho-te a alterar o mysql_ para mysqli_ uma vez que a versão mysql_ será descontinuada. Se quiseres manter a versão com o nome do campo $reg["cod_usuario"] em vez de utilizares o $query->fetch_array() podes utilizar $query->fetch_assoc() que te resolve o problema. Ou então s...

 
Obrigado @Jorge. Eu fiz os teste de acordo com a sua orientação e alterei $query->fetch_array() por $query->fetch_assoc() <br> O código ficou da seguinte forma: '$query = $con->query("select * from pv_usuario where login = '$login' and ativo = 1"); while($reg = $query->fetch_assoc()) { if( $reg["cod_cargo"] == 1 ) { header('location:../../mpv/FormEnvioOS/index.php'); } else if($reg["cod_cargo"] == 2) { header('location:../../mpv/index.php'); } }'
 
E funcionou amigo?
 
Não funcionou. :( Pode me ajudar, @jorge?
 
Tens de me explicar porque não funcionou.deveria funcionar.
 
Eu usei o primeiro exemplo, já que vc me informou que o segundo, vai ser descontinuado. '$query = $con->query("select * from pv_usuario where login = '$login' and ativo = 1"); while($reg = $query->fetch_assoc()) { if( $reg["cod_cargo"] == 1 ) { header('location:../../mpv/FormEnvioOS/index.php'); } else if($reg["cod_cargo"] == 2) { header('location:../../mpv/index.php'); } }' O que ocorre é que não esta redirecionando.
 
2:26 PM
Não redireciona nem para um nem para o outro?
 
Isso. Pelo que entendi, não está entrando no while, quando usa o fetch_assoc() <br>'while($reg = $query->fetch_assoc()) '
 
Já experimentaste fazer a query diretamente no mysql para ver o resultado? Faz var_dum($res); dentro do ciclo.
 
No MySQL retornar os valores corretos e os valores do var_dump de dentro do while, são: 'array(9) { ["cod_usuario"]=> string(2) "10" ["cod_tipo_usuario"]=> string(1) "1" ["nome"]=> string(6) "Djalma" ["sobrenome"]=> string(14) "Souza da Silva" ["email"]=> string(22) "djalma@gigaline.com.br" ["senha"]=> string(3) "123" ["cod_cargo"]=> string(1) "1" ["ativo"]=> string(1) "1" ["login"]=> string(6) "djalma" }'
O cod_cargo está retornando 1. A verificação do meu if, era para direcionar a página.
 
Faz um echo dentro do if a ver se entra na condição.
 
Pelo que entendi, entra no while mas não entra no if por algum motivo. Esse if está dentro do while e o teste que eu fiz é o mais básico possível. Coloquei assim: <br> if($reg['cod_cargo'] == 1 ) { echo 1; }
 
2:26 PM
Estás ai?
@fabricio_wm?
 
 
1 hour later…
3:46 PM
Oi
Estou aqui.
 
Então amigo
Ele não entra no if?
 
Não entra.
Como eu te disse, eu fiz um teste bem básico.
 
faz var_dump($reg["cod_usuario"] == 1);
e vê o que dá
 
ok
fora do if?
 
sim antes do if
 
3:56 PM
ok
O resultado foi bool(true)
Obrigado pela ajuda.
 
Então tem de entrar no if
o teu reencaminhamento está certo?
 
O correto é else if ou elseif?
 
Quando tiveres em dúvida de alguma coisa faz sempre var_dump e ficas a saber o que dá.
 
ok
Obrigado, amigo.
 
é igual
dá das duas formas
 
3:59 PM
Mas pq não imprimiu?
 
Porque deves ter mais qualquer coisa a ser chamada.
 
Vou direcionar para www.google.com.br
 
Nem tudo que fazes echo imprime na tela
direciona e ve se dá
qq coisa dá uma apitadela aqui
eu assim que possa venho aqui
 
ok
Estou testando agora.
Estava com aspas simples.
tem haver?
Qual o forum de android que vc me recomendaria?
 
stackoverflow. com :)
nem de funcionar com aspas simples, alias eu uso sempre aspas simples dentro de []
 
4:12 PM
Entendi.
 
4:35 PM
Funcionou.
Muito obrigado, Jorge.
Deus lhe abençoe sempre.
Eu tive que colocar dessa forma:
if($reg['cod_cargo'] == 1 )
{
//header('location:../../../mpv/FormEnvioOS/index.php');
session_start();
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
header('location:../../mpv/FormEnvioOS/index.php');
break;

}
É que se eu não passar a seção, dá a falsa impressão que nada aconteceu pq a pessoa se loga sem a seção e ao chegar na página index.php o sistema verifica pela seção se a pessoa está logada e se não estiver, redireciona para pagina de login destruindo todas seções se existir.
Está ficando bom.
rsrs
 

  last day (21 days later) »