Leonardo Al. Posted October 12, 2011 Report Share Posted October 12, 2011 Olá Pessoal, estou começando a programar agora em PHP e estou tendo um problema de redirecionamento de paginas de login, para usuários normais e para usuários vips!<?session_start();include "configuracao.php";$db = mysql_connect ($host, $login_db, $senha_db);$basedados = mysql_select_db($database);$resultado = mysql_query("SELECT login, senha FROM usuarios WHERE login='$login' AND senha='$senha'") or print (mysql_error());while($linha = mysql_fetch_array($resultado)){ $loginbanco = $linha["login"]; $senhabanco = $linha["senha"];}if($loginbanco == $login AND $senhabanco == $senha){ session_register(login); session_register(senha); if($_SESSION['nivel'] == 1){ header("Location: areauser.php"); }else if($_SESSION['nivel'] == 2){ header("Location: areavip.php"); }}else{ echo " <META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'> <script type=\"text/javascript\"> alert(\"Erro: Usuário ou senha inválidos!\"); </script> ";}?>a tela fica branca de não segue para as paginas destinadasalguém pode me ajudar?Desde já, obrigado! Quote Link to comment Share on other sites More sharing options...
0 Carlos CC Posted October 12, 2011 Report Share Posted October 12, 2011 Não entendi de onde saiu esse $_SESSION['nivel'], e tente registrar as variáveis login e senha assim:$login = $_METODO(GET OU POST)['login'];$senha = $_METODO(GET OU POST)['senha'];tente rever essa parte do nível.Qualquer coisa posta aê Quote Link to comment Share on other sites More sharing options...
0 Massaki Posted October 12, 2011 Report Share Posted October 12, 2011 Você não deve fazer uma busca ao banco de dados dessa forma. Normalmente, se faz algo assim: "SELECT senha FROM usuarios WHERE login = '$login'"Aí é feito o teste se a senha do banco é igual a senha do seu formulário.Outra coisa: a definição do nível de usuário também deverá estar em um campo do banco de dados.Aí você altera a busca: "SELECT senha, nivel_acesso FROM usuarios WHERE login = '$login'...$senhabanco = $linha["senha"];$nivelacesso = $linha["nivel_acesso"];$_SESSION["nivel"] = $nivelacesso;if ($nivelacesso == 1) header("Location: areauser.php");elseif($nivelacesso == 2) header("Location: areavip.php");....Entendeu? E aquilo de session_register(login) e session_register(senha) não te serve para nada.Seria bom se também, em cada página que precise verificar o nível de acesso seja colocado um script de verificação.Ex:verificavip.php<?phpsession_start();if ($_SESSION["nivel"] != 2) header('location: telainicial.php')?>Em cada página VIP, colocar logo no início:include "verificavip.php" Quote Link to comment Share on other sites More sharing options...
Question
Leonardo Al.
Olá Pessoal, estou começando a programar agora em PHP e estou tendo um problema de redirecionamento de paginas de login, para usuários normais e para usuários vips!
<?
session_start();
include "configuracao.php";
$db = mysql_connect ($host, $login_db, $senha_db);
$basedados = mysql_select_db($database);
$resultado = mysql_query("SELECT login, senha FROM usuarios WHERE login='$login' AND senha='$senha'") or print (mysql_error());
while($linha = mysql_fetch_array($resultado)){
$loginbanco = $linha["login"];
$senhabanco = $linha["senha"];
}
if($loginbanco == $login AND $senhabanco == $senha){
session_register(login);
session_register(senha);
if($_SESSION['nivel'] == 1){
header("Location: areauser.php");
}else if($_SESSION['nivel'] == 2){
header("Location: areavip.php");
}
}
else{
echo
"
<META HTTP-EQUIV=REFRESH CONTENT='0; URL=login.php'>
<script type=\"text/javascript\">
alert(\"Erro: Usuário ou senha inválidos!\");
</script>
";
}
?>
a tela fica branca de não segue para as paginas destinadas
alguém pode me ajudar?
Desde já, obrigado!
Link to comment
Share on other sites
2 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.