Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Luca Albuquerque

Redirecionar pagina por um valor

Recommended Posts

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

header("Location: exemplo.php");

?

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Faça à comparação na hora do login... e utilize a função header(); para redirecionar para página desejada. É muito simples. B)

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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'");
if(mysql_num_rows($sql) == '1'){
	// a "magica"
	$array = mysql_fetch_array($sql);
	$nivel = $array['nivel'];
	if($nivel == 0){
         //usuario
	}else{
         //admin
	}
}else{
	//login ou senha incorretos
}
?>

 

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.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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'");
if(mysql_num_rows($sql) == '1'){
	// a "magica"
	$array = mysql_fetch_array($sql);
	$nivel = $array['nivel'];
	if($nivel == 0){
         //usuario
	}else{
         //admin
	}
}else{
	//login ou senha incorretos
}
?>

 

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!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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!

Compartilhar este post


Link para o post
Compartilhar em outros sites
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:

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.