Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Criei um checar.php
onde:
<?php
session_start();
include("conexao.php");
$login = $_POST['login'];
$senha = $_POST['senha'];
$consulta = mysql_query("SELECT login, senha FROM cad_usuario WHERE login='$login' AND senha='$senha'") or print (mysql_error());
$verifica = mysql_num_rows($consulta);
if($verifica==1){
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
if($permissao==1){
header("Location: /vendedor/index.php");
}
if($permissao==2){
header("Location: menu_acesso.php");
}
if($permissao==3){
header("location: /adm/index.php");
}
else{
echo "Você não faz parte de nossa base de Funcionários!";
}
}
else {
echo "<script>alert('Seu Login/Senha está incorreto!');top.location.href='index.php';</script>";
//echo "O usuário e/ou senha está incorreto!";
}
?>
Na minha tabela há o campo 'permissao'. Só que só está dando a mensagem: "Você não faz parte de nossa base de Funcionários!"
O que tem de errado?
eu fiz a alteração:
if($verifica==1){
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
if($permissao==1){
header("Location: vendedor/index.php");
}else{
if($permissao==2){
header("Location: menu_acesso.php");
}else{
if($permissao==3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
}else{
echo "<script>alert('Seu Login/Senha está incorreto!');top.location.href='index.php';</script>";
//echo "O usuário e/ou senha está incorreto!";
}
?>
Só que no último '}else{' está dando erro.
Erro: PHP Parse error: syntax error, unexpected T_ELSE in .........sistemas\checar.php on line 31
if($permissao==1){
header("Location: vendedor/index.php");
}else if($permissao==2){
header("Location: menu_acesso.php");
}else if($permissao==3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}>
eu fiz a alteração:
if($verifica==1){
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
if($permissao==1){
header("Location: vendedor/index.php");
}else{
if($permissao==2){
header("Location: menu_acesso.php");
}else{
if($permissao==3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
}else{
echo "<script>alert('Seu Login/Senha está incorreto!');top.location.href='index.php';</script>";
//echo "O usuário e/ou senha está incorreto!";
}
?>
Só que no último '}else{' está dando erro.
Erro: PHP Parse error: syntax error, unexpected T_ELSE in .........sistemas\checar.php on line 31
Você fechou o "IF" duas vezes, por isso deu erro
if($verifica==1){
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
if($permissao==1){
header("Location: vendedor/index.php");
}else{
if($permissao==2){
header("Location: menu_acesso.php");
}else{
if($permissao==3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
else{
echo "<script>alert('Seu Login/Senha está incorreto!');top.location.href='index.php';</script>";
//echo "O usuário e/ou senha está incorreto!";
}
?>>
eu fiz a alteração:
if($verifica==1){
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
if($permissao==1){
header("Location: vendedor/index.php");
}else{
if($permissao==2){
header("Location: menu_acesso.php");
}else{
if($permissao==3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
}else{
echo "<script>alert('Seu Login/Senha está incorreto!');top.location.href='index.php';</script>";
//echo "O usuário e/ou senha está incorreto!";
}
?>
Só que no último '}else{' está dando erro.
Erro: PHP Parse error: syntax error, unexpected T_ELSE in .........sistemas\checar.php on line 31
Mano.. uma sugestão.. tenta fazer da seguinte maneira
if($permissao == 1){
header("Location: vendedor/index.php");
}else{
}
if($permissao == 2){
header("Location: menu_acesso.php");
}else{
}
if($permissao == 3){
header("location: adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
é o seguinte..
Se a permissão for igual a 1, roda o header para redirecionar, se não (else) ele nas faz nada.. isso tbm vale para as outras permissões.. tenta fazer isso ae..
boa sorte..
Corrigi o erro, é verdade verifiquei e eu fechei duas vezes mesmo.
Só que agora não sei o que há de errado, só que não está sendo direcionado quando a Condição é verificada.
Só da a mensagem que eu programei para aparecer.
if não é função, é estrutura da linguagem.
Ainda não sei como resolver
Vou explicar o o que o código realiza:
Quando o usuário no INDEX no caso o formulário de 'login', coloca seu "usuário" e "login" e clica em Enviar, o checar.php consulta a tabela cad_usuarios, e verica se o mesmo está cadastrado e se está correto. Na tabela cad_usuarios tem o campo 'permissao', sendo 1 para vendedor, 2 colaborador e 3 adm.
Quero que quando o checar.php consulte a tabela cad_usuarios ele consulte também a permissão e direcione para a tela que corresponde a função. Igual por exemplo 1 para vendedor onde será direciona para vendedor/menu.php
Eu constatei que o código:
if($permissao==1){
header("Location: /vendedor/index.php");
}else
if($permissao==2){
header("Location: menu_acesso.php");
}else
if($permissao==3){
header("location: /adm/index.php");
}else{
echo "<script>alert('Não há classificação pra seu usuário!');top.location.href='index.php';</script>";
}
Não está errado.
Agora eu preciso que a consulta retorne o valor do campo "permissao" que está na tabela cad_usuario.
Como eu puxo esse valor localizando o login?
posso colocar nesta linha? "$consulta = mysql_query("SELECT login, senha FROM cad_usuario WHERE login='$login' AND senha='$senha'") or print (mysql_error());". Se eu posso como eu faço?
Seus if estão um dentro do outro então o PHP esta lendo da seguinte maneira
se a permissao for igual a 1 e se for igual a 2 ou se for igual a 3
você tem que fazer
if($permissao == 1){]
assim sucessivamente.