Boa tarde pessoal, consegui fazer um sistema de autenticação de usuarios muito bom através de um video tutorial que peguei na internet que alem de validar se o usuario é cadastrado ou não, ainda valida quais páginas ele tem acesso, porém gostaria de mudar uma função, que tentei a tarde inteira e num deu nenhum resultado
[code]
public function autenticate(){
$SQLFunctions = new SQLFunctions();
$sql = "SELECT * FROM usuarios WHERE usr_login = '" . $this->getLogin() . "' AND usr_senha = '". $this->getPassword() . "'";
$SQLFunctions->setSql($sql);
$usuario = $SQLFunctions->listAll(true);
if(!empty($usuario)){
$_SESSION['autenticacao'] = $usuario;
//aqui gostaria de criar um if tipo:
// if($_POST[‘usr_tipo’] == ‘limitado’)
// header(“Location: limitado.php”);
// }else if($_POST[‘usr_tipo’] == ‘total’)
// header(“Location: total.php”);
// }
header(“Location: index.php”);
}else{
header("Location: login.php");
}
}[/code]
Na minha tabela usuarios, criei um campo usr_tipo que serviria para dizer para qual pagina o usuario é redirecionado, ao efetuar o login, mas tentei de todas maneiras possiveis fazer o redirecionamento de acordo com o tipo de acesso que o usuario tem e num deu certo alguem pode me dar uma idéia?
to tentando fazer deste jeito aqui mas também num ta dando certo:
$SQLFunctions = new SQLFunctions();
$sql = "SELECT * FROM usuarios WHERE usr_login = '" . $this->getLogin() . "' AND usr_senha = '". $this->getPassword() . "'";
$SQLFunctions->setSql($sql);
$usuario = $SQLFunctions->listAll(true);
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$tipo = $ln['usr_login'];
if(!empty($usuario) && $tipo == 'total' ){
$_SESSION['autenticacao'] = $usuario;
header("Location: index.php");
}else{
header("Location: login.php");
}
}
Mesmo eu colocando um usuario que existe e que o tipo é total, ele volta para a pagina login.php alguém pode me dar uma opinião onde estou errando?
Pra redirecionar, você tem que colocar a URL completa.
Na verdade, se eu coloco desta forma funciona:
$SQLFunctions = new SQLFunctions();
$sql = "SELECT * FROM usuarios WHERE usr_login = '" . $this->getLogin() . "' AND usr_senha = '". $this->getPassword() . "'";
$SQLFunctions->setSql($sql);
$usuario = $SQLFunctions->listAll(true);
$qr = mysql_query($sql) or die(mysql_error());
$ln = mysql_fetch_assoc($qr);
$tipo = $ln['usr_login'];
if(!empty($usuario)){ // ou seja, o problema esta que ele não esta reconhecendo que o acesso é 'total'
$_SESSION['autenticacao'] = $usuario;
header("Location: index.php");
}else{
header("Location: login.php");
}
}
Deste jeito ele entra na index, o problema é que precisava que ele também reconhecesse que o tipo do usuário é ‘total’ antes de entrar
O que tem no seguinte var_dump ?
$ln = mysql_fetch_assoc($qr);
var_dump($ln);
exit();
$tipo = $ln['usr_login'];
Você tem certeza que este dado está no banco? Que o nome do campo é ‘usr_login’? PHP é isso ae jovem.