Ir para conteúdo
jooj oj

Problemas no Nível de acesso no login PHP e Mysql

Recommended Posts

pessoal, estou com problemas para fazer o nivel de acesso de um sistema web, o login já funciona inteiro inclusive o tutorial que vou postar junto com o projeto no meu github, é um sistema de cadastro de usuários do sistema e clientes, mas para cadastrar e editar os usuários queria colocar somente quem tiver permissão de adm (1) e quem não tiver vai somente adicionar e editar os  clientes, mas ele só entra no else, já tentei todos os vídeos e fóruns aqui, não sei mais o que fazer ;-;

 

no meio do código tem a parte que eu tentei de diversas maneiras fazer a verificação, só não sei o que fazer, queria entender ;-;

 

<?php
// Conexão
require_once 'conexao.php';
 
// Sessão
session_start();
// Botão enviar
if(isset($_POST['btn-entrar'])):
    $erros = array();
$login = mysqli_escape_string($conn, $_POST['login']);
$senha = mysqli_escape_string($conn, $_POST['senha']);
 
if(isset($_POST['lembrar-senha'])):
    setcookie('login', $login, time()+3600);
setcookie('senha', $senha, time()+3600);
endif;
 
if(empty($login) or empty($senha)):
    $erros[] = "<li> O campo login/senha precisa ser preenchido </li>";
else:
 
    $sql = "SELECT login FROM usuarios WHERE login = '$login'";
$resultado = mysqli_query($conn, $sql);
 
if(mysqli_num_rows($resultado) > 0):
    $senha = $senha;
$sql = "SELECT * FROM usuarios WHERE login = '$login' AND senha = '$senha'";
 
$resultado = mysqli_query($conn, $sql);
 
 
if(mysqli_num_rows($resultado) == 1):
 
 
    $dados = mysqli_fetch_array($resultado);
mysqli_close($conn);
$_SESSION['logado'] = true;
$_SESSION['id_usuario'] = $dados['id'];
 
 
 //começa aqui

$usuario = mysqli_fetch_assoc($resultado);
$_SESSION['nivel'] = $usuario['nivel'];
 
 if(isset($usuario['nivel']) == 1):
       header('location: home_user.php');
 else:
  header('location: home.php');
endif;
 

 

//até aqui, sem isso o código funciona de boa, mas sem o nível de acesso, até tentei trocar para char e 's' e 'n', inves de 1 e 0 para admin ou user

 


 
else:
    $erros[] = "  <li> Usuário e senha não conferem </li>";
endif;
 
else:
    $erros[] = "<li> Usuário inexistente </li>";
endif;
endif;
endif;
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vou ser sincero com você, isso ai vai dá merd$%&#...

A senha não tem nenhuma encriptação (pelo menos você ta fazendo a limpeza dos caracteres).

Sobre o nível é só criar uma condição.

//Errado:  
if(isset($usuario['nivel']) == 1):

//Correto
if(isset($usuario['nivel']) && $usuario['nivel'] == 1):

Outra coisa, você delega o nível num simples redirecionamento, acho que seria mais viável você colocar na página em questão (home.php), assim ela decide quem é ou não admin.

Compartilhar este post


Link para o post
Compartilhar em outros sites

em relação a criptografia da senha eu tinha feito, mas ficava alterando a senha pelo phpmyadmin para ir testando mais facil e acabei esquecendo de clocar de volta, valeu pelo aviso, mas essa parte eu já consegui fazer,  meu problema é que  a verificação do admin  só cai no else, como se o "nivel" não estivesse sendo reconhecido no index, e a coluna nivel está na tabela usuario mesmo, acho que o if até está certo também mas a variável não reconhece ;-;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por Claudia França
      Pessoal estou com um problema para homologar um pagamento service.
       o resultado do Status deve ser sucessfull.
      Parte do codido do index.
      "

          $('#payButton').one('click', function(){
              var amount = $('input[name=amount]').val();
              var currency = $('[name=currency]').val();
              console.log(amount, currency);
              V.init( {
                  apikey: '<?php echo $visaApiKey ?>',
                  settings: {
                      //logoUrl: 'https://www.novachance.org.br/wp-content/uploads/2018/06/xLogo_INC.jpg.pagespeed.ic.QrM-Azm3n5.jpg',
                      locale: 'en_US',
                      displayName: 'Viva a Musica',
                      websiteUrl: 'https://www.vivaamusica.org.br',
                      customerSupportUrl: 'https://www.vivaamusica.org.br/contato',
                      dataLevel: 'FULL'
                  },
                  paymentRequest: {
                      currencyCode: currency,
                      total: amount,
                      merchantRequestId: 'you can send any value to API ang get it in callback',
                      orderId: 'you can send any value to API ang get it in callback',
                      description: 'any order description if needs'
                  }
              });
                V.on('payment.success', function(payment) {
                  console.log('Visa success:', JSON.stringify(payment));
                  $('#succesOverlay').show();
                  $.ajax({
                      type: 'POST',
                      url: 'mailer.php',
                      data: {json: JSON.stringify(payment)},
                      dataType: 'json',
                      success: function(data){
                        console.log('Ajax success');
                        console.log(data);
                        location = 'thanks.php';
                      },
                      error: function(jqXHR, textStatus, errorThrown) {
                        console.log('Ajax error:');
                        console.log(textStatus, errorThrown);
                      }
                  });
              });
              V.on('payment.cancel', function(payment){
                  console.log('Canceled:', payment);
              });
              V.on('payment.error', function(payment, error){
                  console.log('Visa error:', payment, error);
              });
              $('.v-button').click();
          })
       
      "
       Chamada Json
       
      "
      "Customer": {
              "Name": "[$userFullName]"
          },
          "Payment": {
              "ServiceTaxAmount": 0,
              "Installments": 1,
              "Interest": 0,
              "Capture": false,
              "Authenticate": false,
              "Recurrent": false,
              "CreditCard": {
                  "CardNumber": "453211******1521",
                  "Holder": "Gama Gama",
                  "ExpirationDate": "08/2020",
                  "SaveCard": false,
                  "Brand": "Visa"
              },
              "Tid": "0319040817883",
              "ProofOfSale": "817883",
              "AuthorizationCode": "027795",
              "Wallet": {
                  "Type": "VisaCheckout",
                  "WalletKey": "1140814777695873901",
                  "Eci": 0
                  },
              
              "SoftDescriptor": "123456789ABCD",
              "Amount": 100,
              "ReceivedDate": "2018-03-19 16:08:16",
              "Status": "eventStatus",
              "IsSplitted": false,
              "ReturnMessage": "Operation Successful",
              "ReturnCode": "4",
              "PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
              "Type": "CreditCard",
              "Currency": "BRL","en_US",
              "Country": "BRA","USA",
              
              
          
      "updateInfo":  {
               "payInfo": {
               "reason": "Pagamento","Payment",
               "avsResponseCode": "Y",
               "Amount": 91.00,
               "currencyCode": "USD",
               "eventStatus": "Success",
               "eventType": "Authorize",
               "PaymentId": "e57b09eb-475b-44b6-ac71-01b9b82f2491",
              
               }
      }
           
            }
      }
      {
       
       
      "
       
       
      O pessoal da empresa me fala que tenho que enviar o CallID gerado ( não sei como faço isso) e fazer a chamado do alteração de evento quando a transação for sucesso.
       
      Pensei em criar um aquivo payment.php mas pelo que li no manual necessariamente, não eh necessário.
       
    • Por edison.silva
      Pessoal, alguem tem algum exemplo em php de geração do arquivo .TXT2 da NFe ou MDFe e o envio para API de rotas dele?
    • Por eduuh1524
      Olá.
      Boa noite a todos,eu preciso de uma ajuda.
      Eu tenho um projeto em PHP e MySQL
      Tem uma database chamada easy e a uma tabela chamada usuários
      E dentro da tabela tem usuário,senha, saldo
       
      Bem.
      Eu tenho um random resultados em duas form na (resultados.php)eu queria fazer que quando a pessoa clicasse no botão Gerar usasse o saldo e gerasse o resultado.
      Exemplo,a pessoa já começa com 1000 de saldo e o botão diminui esse saldo em 100 e quando esse saldo chegasse em 0 se tentasse usar dá um erro de saldo insuficiente.
      Como posso fazer isso?
      Dei uma olhada em uns artigos aqui mas estou meio confuso,sou iniciante em PHP mas tenho uma noçãozinha .
      Boa noite a todos.
       
    • Por rd111072
      Olá, moçada!

      Tenho esse gráfico aqui: http://riocir.com.br/renan/chart_barg_g2.php 
      Mas ele exibe só os dias da semana do mês 1. Queria que ele exibisse todos os dias de todos os meses (como é o resultado do echo).

      Segue o código. Alguém pode me ajudar?
       
       
×

Informação importante

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