Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Galera, na minha db, tenho um campo chamado nivel, onde o padrão é 0
--------------------
0 = Usuário
1 = Administrador
--------------------
Até ai tudo bem, a pessoa faz o registro, loga-se, e quando ela faz o login, ela é direcionada para uma pagina chamada painel.php
Dele, se o valor do campo nivel na DB for 0, ele vai pra uma pagina, agora se for 1, ele vai pra outra.
Ja tentei 1 códigos, não sei se eles estão errados. Já até esqueci deles, Poderiam me fornecer um que funcione? Meu Projeto já está pronto, só falta isso -X
Faça à comparação na hora do login... e utilize a função header(); para redirecionar para página desejada. É muito simples. B)
Galera, sou um pouco lezado (Iniciante), então pesso q ajudem-me com um código que funcione. Por favor!
>
Ja tentei 1 códigos, não sei se eles estão errados. Já até esqueci deles, Poderiam me fornecer um que funcione? Meu Projeto já está pronto, só falta isso -X
Código pronto ?
Acho difícil alguém fazer isso. <_<
Amigo, pelo oq me lembro esse código nem da 5 linhas, Então...
Cara, na boa mesmo, se você acha que vai ter alguém que faça o código pra você, está no fórum errado.
O povo daqui dá umas dicas, dá a "luz" para o problema, mas o código, o algoritmo 100% nunca!
Desculpe te dizer isso. Você só vai aprender botando muita mão na massa. Fui!
Esse forum ja foi mais unido, o codigo tem 5 linhas e ninguem para ajudar
ta ai:
<?php
//aqui é logo depois de receber as variaeis pelo post
//tente usar alguma expressao regular para boquear o php injection
$login = $_POST['login'];
$senha = $_POST['senha'];
//caso tenha alguma criptografia na senha (recoendo md5 ou sha1) use $senha = md5($_POST['senha']);
$sql = mysql_query("SELECT * FROM usuarios WHERE login='$login' AND senha='senha'"); $array = mysql_fetch_array($sql);
$nivel = $array['nivel'];
if($nivel == 0){
//usuario
}else{
//admin
}Vou explicar o codigo:
mysql_num_rows() conta quantos retornos teve o $sql
O mysql_fetch_array cria um array com todos os retornos de $sql assim você pode consultar o "nivel" do usuario, você tambem pode pegar outras informações do usuario usando $array['NOME_DO_CAMPO'];
Espero ter ajudado.
>
Esse forum ja foi mais unido, o codigo tem 5 linhas e ninguem para ajudar
ta ai:
<?php
//aqui é logo depois de receber as variaeis pelo post
//tente usar alguma expressao regular para boquear o php injection
$login = $_POST['login'];
$senha = $_POST['senha'];
//caso tenha alguma criptografia na senha (recoendo md5 ou sha1) use $senha = md5($_POST['senha']);
$sql = mysql_query("SELECT * FROM usuarios WHERE login='$login' AND senha='senha'"); $array = mysql_fetch_array($sql);
$nivel = $array['nivel'];
if($nivel == 0){
//usuario
}else{
//admin
}Vou explicar o codigo:
mysql_num_rows() conta quantos retornos teve o $sql
O mysql_fetch_array cria um array com todos os retornos de $sql assim você pode consultar o "nivel" do usuario, você tambem pode pegar outras informações do usuario usando $array['NOME_DO_CAMPO'];
Espero ter ajudado.
ALELUIA!!! O fórum do imasters não está perdido!! Não vinha aqui tem um tempo e estava ficando assustado com as respostas.
As pessoas parecem q nunca utilizaram um "código pronto" pra aprender. <_<
Boa brhvitor6!!!
Valeu Leo. Poisé "Tudo" que aprendi foi com codigo pronto e lendo topicos/artigos/apostilas, se todos colaboracem com um pouco que seja teriamos um form melhor
Cara, ele criou outro tópico com a mesma dúvida, e eu o ajudei! E tá praticamente a mesma coisa que você fez.
Esse cara aí tá é com preguiça, isso sim.
Falou!
mysql_num_rows() conta quantos retornos teve o $sql
Pois bem, já que aprendeu com scripts prontos, vou te dar correção:
Isso aqui:
if(mysql_num_rows($sql) == '1'
Está comparando o valor como STRING e não como INTERGER, quando se tratar de números, faça sempre o correto.
if(mysql_num_rows($sql) == 1
Ah ! mais qual a diferença ?!
- Além de estar tratando correto o valor como INT, o processamento para dados INT é mais rápido... quase nada, mais é... imagine mil comparações desse tipo, e verá o resultado, além do que, você pode sofrer consequências por comparar um resultado SQL que virá em INT como STRING. Fique Ligado.
Se possível, ainda utilize:
if(mysql_num_rows($sql) === 1
Te da certeza de que o tipo de dados passado é identico ao que se ta comparando, incluindo TIPO. :graduated:
Bom, eu entendi o código, só que meu deu um branco e não to sabendo aonde coloca, Quando eu consigo coloca, e coloco o
header("Location: painel\teste.php );
,
tanto na parte do usuario qnt do administraddor, da um erro no Else entre os dois, Vou passar o código da página.
<?php
if (!isset($_SESSION)) {
session_start();
}
$MM_authorizedUsers = "0,1";
$MM_donotCheckaccess = "false";
// *** Restrict Access To Page: Grant or deny access to this page
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {
// For security, start by assuming the visitor is NOT authorized.
$isValid = False;
// When a visitor has logged into this site, the Session variable MM_Username set equal to their username.
// Therefore, we know that a user is NOT logged in if that Session variable is blank.
if (!empty($UserName)) {
// Besides being logged in, you may restrict access to only certain users based on an ID established when they login.
// Parse the strings into arrays.
$arrUsers = Explode(",", $strUsers);
$arrGroups = Explode(",", $strGroups);
if (in_array($UserName, $arrUsers)) {
$isValid = true;
}
// Or, you may restrict access to only certain users based on their username.
if (in_array($UserGroup, $arrGroups)) {
$isValid = true;
}
if (($strUsers == "") && false) {
$isValid = true;
}
}
return $isValid;
}
$MM_restrictGoTo = "Erro/area.php";
if (!((isset($_SESSION['MM_Username'])) && (isAuthorized("",$MM_authorizedUsers, $_SESSION['MM_Username'], $_SESSION['MM_UserGroup'])))) {
$MM_qsChar = "?";
$MM_referrer = $_SERVER['PHP_SELF'];
if (strpos($MM_restrictGoTo, "?")) $MM_qsChar = "&";
if (isset($_SERVER['QUERY_STRING']) && strlen($_SERVER['QUERY_STRING']) > 0)
$MM_referrer .= "?" . $_SERVER['QUERY_STRING'];
$MM_restrictGoTo = $MM_restrictGoTo. $MM_qsChar . "accesscheck=" . urlencode($MM_referrer);
header("Location: ". $MM_restrictGoTo);
exit;
}
?>
Vou explicar, até ai tudo bem, a pessoa faz o login, mas dai quando vai pra pagina Painel.php, essa pagina painel.php que é a que ta ai encima, vai identificar se e valor 1 ou 0, e vai liberar pra ir pra tal paginam, Como se fosse um redirecionamento altomatico por nivel.
Só que não to conseguindo sabe aonde coloco isso ai no código. UHSAUSHA , Alqm ajuda DENOVO? - Vamo ver se tem alquem bondoso no forum....
Valeu pelas dicas Alarte Gabriel
Ainda sim não está funcionando.
>
Galera, na minha db, tenho um campo chamado nivel, onde o padrão é 0
--------------------
0 = Usuário
1 = Administrador
--------------------
Até ai tudo bem, a pessoa faz o registro, loga-se, e quando ela faz o login, ela é direcionada para uma pagina chamada painel.php
Dele, se o valor do campo nivel na DB for 0, ele vai pra uma pagina, agora se for 1, ele vai pra outra.
Ja tentei 1 códigos, não sei se eles estão errados. Já até esqueci deles, Poderiam me fornecer um que funcione? Meu Projeto já está pronto, só falta isso -X
tais usando o
lembrando que não podes "mandar" nada para o navegador antes disso... em outras palavras não podes dar um echo ou print de valores.