Ir para conteúdo

netocazuza

Members
  • Total de itens

    29
  • Registro em

  • Última visita

Reputação

1 Comum

Sobre netocazuza

Últimos Visitantes

O bloco dos últimos visitantes está desativado e não está sendo visualizado por outros usuários.

  1. netocazuza

    usuários com permissões

    Tenho um sistema de login funcionando, checando usuário e senha para autenticar. Tá tudo funcional até agora, mas surgiu a necessidade de criar permissões, e estou meio perdido. Já criei o item permissões na tabela, e tentei algumas implementações, mas até agora, nada funcionou. Ou não abre, ou abre permitindo tudo. Atualmente funciona assim: O arquivo abaixo verifica login e senha e dá acesso: <?php session_start(); include 'conexao/conexao.php'; $usuario = $_POST['usuario']; $senha = $_POST['senha']; $sql = "SELECT * FROM usuarioX WHERE usuarioX = '$usuario'"; $busca = mysqli_query($conexao, $sql); #Buscar senha $dados = mysqli_fetch_array($busca); $senhabd = $dados['senhaX']; $senhaVerificada = ($senha); #Verifica niveis de permissoes usuario #QUERO COLOCAR AS PERMISSÕES AQUI #Verifica se existe o usuario $linha = mysqli_affected_rows($conexao); if ($linha == 1) { if ($senhabd == $senhaVerificada) { $_SESSION['usuario'] = $usuario; header('Location: index.php'); } else { header('Location: login.php?id=1'); } } else { header('Location: login.php?id=2'); } ?> No código acima, caso usuário e senha confira, ele direciona para o index, do contrário volta para o login. O que pretendo é acrescentar permissões de professor, aluno e pai. Tipo se 1 nas permissões, abrir o index. Se 2 nas permissões, abrir o aluno.php, e se 3 nas permissões, abrir o pai.php. Logo abaixo vou listar a página index, pois acredito que nela tem alguma ação que tá impedindo essa minha lógica. A idéia seria ter uma página dessa (index) para cada usuário, ou uma idéia melhor, caso alguém tenha. <?php session_start(); if (!isset ($_SESSION['usuario']) == true) { unset($_SESSION['login']); header('Location: login.php'); } $logado = $_SESSION['usuario']; ?> <!DOCTYPE html> <html> <head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title> Dashboard - </title> <!-- Favicon --> <link href="./assets/img/brand/favicon.png" rel="icon" type="image/png"> <!-- Fonts --> <link href="https://fonts.googleapis.com/css?family=Open+Sans:300,400,600,700" rel="stylesheet"> <!-- Icons --> <link href="./assets/js/plugins/nucleo/css/nucleo.css" rel="stylesheet" /> <link href="./assets/js/plugins/@fortawesome/fontawesome-free/css/all.min.css" rel="stylesheet" /> <!-- CSS Files --> <link href="./assets/css/argon-dashboard.css?v=1.1.0" rel="stylesheet" /> </head> <body> <nav class="navbar navbar-vertical fixed-left navbar-expand-md navbar-light bg-white" id="sidenav-main"> <div class="container-fluid"> <!-- Toggler --> <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <!-- Brand --> <a class="navbar-brand pt-0" href="./index.html"> <img src="./assets/img/brand/blue.png" class="navbar-brand-img" alt="..."> </a> <!-- User --> <ul class="nav align-items-center d-md-none"> <li class="nav-item dropdown"> <a class="nav-link nav-link-icon" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <i class="ni ni-bell-55"></i> </a> <div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right" aria-labelledby="navbar-default_dropdown_1"> <a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Another action</a> <div class="dropdown-divider"></div> <a class="dropdown-item" href="#">Something else here</a> </div> </li> <li class="nav-item dropdown"> <a class="nav-link" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <div class="media align-items-center"> <span class="avatar avatar-sm rounded-circle"> <img alt="Image placeholder" src="./assets/img/theme/team-1-800x800.jpg "> </span> </div> </a> <div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right"> <div class=" dropdown-header noti-title"> <h6 class="text-overflow m-0">Welcome!</h6> </div> <div class="dropdown-divider"></div> <a href="#!" class="dropdown-item"> <i class="ni ni-user-run"></i> <span>Logout</span> </a> </div> </li> </ul> <!-- Collapse --> <div class="collapse navbar-collapse" id="sidenav-collapse-main"> <!-- Collapse header --> <div class="navbar-collapse-header d-md-none"> <div class="row"> <div class="col-6 collapse-brand"> <a href="./index.html"> <img src="./assets/img/brand/blue.png"> </a> </div> <div class="col-6 collapse-close"> <button type="button" class="navbar-toggler" data-toggle="collapse" data-target="#sidenav-collapse-main" aria-controls="sidenav-main" aria-expanded="false" aria-label="Toggle sidenav"> <span></span> <span></span> </button> </div> </div> </div> <!-- Form --> <form class="mt-4 mb-3 d-md-none"> <div class="input-group input-group-rounded input-group-merge"> <input type="search" class="form-control form-control-rounded form-control-prepended" placeholder="Search" aria-label="Search"> <div class="input-group-prepend"> <div class="input-group-text"> <span class="fa fa-search"></span> </div> </div> </div> </form> <!-- Navigation --> <ul class="navbar-nav"> <li class="nav-item class=" active" "> <a class=" nav-link active " href=" index.php"> <i class="ni ni-tv-2 text-primary"></i> Dashboard </a> </li> <li class="nav-item"> <a class="nav-link " href="#"> <i class="ni ni-satisfied text-orange"></i> Usuarios </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="tipoUsuario.php"> Cadastrar Tipo Usuario </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="usuario_hpac.php"> Cadastrar Usuario </a> </li> <li class="nav-item"> <a class="nav-link " href="#"> <i class="ni ni-shop text-blue"></i> Empresas </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="ramoAtividade.php"> Cadastrar Ramo de Atividade </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="formularioPJ.php"> Cadastrar Empresa </a> </li> <li class="nav-item"> <a class="nav-link " href="#"> <i class="ni ni-single-02 text-yellow"></i> Cliente </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="formularioCliente.php"> Cadastrar Cliente </a> </li> <li class="nav-item"> <a class="nav-link " href="#"> <i class="ni ni-bullet-list-67 text-red"></i> Listar Tabelas </a> </li> <li class="nav-item" style="margin-left: 10px"> <a class="nav-link " href="listarPJ.php"> Listar Empresas </a> </li> <li class="nav-item"> <a class="nav-link" href="./examples/login.html"> <i class="ni ni-key-25 text-info"></i> Login </a> </li> <li class="nav-item"> <a class="nav-link" href="./examples/register.html"> <i class="ni ni-circle-08 text-pink"></i> Register </a> </li> </ul> <!-- Divider --> <!-- Heading --> <!-- Navigation --> </div> </div> </nav> <div class="main-content"> <!-- Navbar --> <nav class="navbar navbar-top navbar-expand-md navbar-dark" id="navbar-main"> <div class="container-fluid"> <!-- Brand --> <a class="h4 mb-0 text-white text-uppercase d-none d-lg-inline-block" href="./index.html">Dashboard</a> <!-- Form --> <!-- User --> <ul class="navbar-nav align-items-center d-none d-md-flex"> <li class="nav-item dropdown"> <a class="nav-link pr-0" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <div class="media align-items-center"> <span class="avatar avatar-sm rounded-circle"> <img alt="Image placeholder" src="./assets/img/theme/team-4-800x800.jpg"> </span> <div class="media-body ml-2 d-none d-lg-block"> <span class="mb-0 text-sm font-weight-bold"><?php echo $logado ?></span> </div> <div class="media-body ml-2 d-none d-lg-block"> <span class="mb-0 text-sm font-weight-bold"><?php echo $nivel ?></span> </div> </div> </a> <div class="dropdown-menu dropdown-menu-arrow dropdown-menu-right"> <div class=" dropdown-header noti-title"> <h6 class="text-overflow m-0">Bem-vindo</h6> </div> <div class="dropdown-divider"></div> <a href="logout.php" class="dropdown-item"> <i class="ni ni-user-run"></i> <span>Logout</span> </a> </div> </li> </ul> </div> </nav> <!-- End Navbar --> <!-- Header --> <div class="header bg-gradient-primary pb-8 pt-5 pt-md-8"> <div class="container-fluid"> <div class="header-body"> <!-- Card stats --> <div class="row"> <!-- inicio primeiro quadrado --> <div class="col-xl-3 col-lg-6"> <div class="card card-stats mb-4 mb-xl-0"> <div class="card-body"> <div class="row"> <div class="col"> <h5 class="card-title text-uppercase text-muted mb-0">Empresas</h5> <?php include 'conexao/conexao.php'; $sql = "SELECT COUNT(id_empresa) as quantidade FROM empresa"; $busca = mysqli_query($conexao, $sql); $dados = mysqli_fetch_array($busca); $quantidade = $dados['quantidade']; ?> <span class="h2 font-weight-bold mb-0"><?php echo $quantidade ?></span> </div> <div class="col-auto"> <div class="icon icon-shape bg-danger text-white rounded-circle shadow"> <i class="fas fa-chart-bar"></i> </div> </div> </div> <p class="mt-3 mb-0 text-muted text-sm"> <span class="text-nowrap"></span> </p> </div> </div> </div> <!-- fim primeiro quadrado --> <!-- inicio segundo quadrado --> <div class="col-xl-3 col-lg-6"> <div class="card card-stats mb-4 mb-xl-0"> <div class="card-body"> <div class="row"> <div class="col"> <h5 class="card-title text-uppercase text-muted mb-0">Usuarios</h5> <?php include 'conexao/conexao.php'; $sql = "SELECT COUNT(id_usuario) as quantidade FROM usuario_hpac"; $busca = mysqli_query($conexao, $sql); $dados = mysqli_fetch_array($busca); $quantidade = $dados['quantidade']; ?> <span class="h2 font-weight-bold mb-0"><?php echo $quantidade ?></span> </div> <div class="col-auto"> <div class="icon icon-shape bg-danger text-white rounded-circle shadow"> <i class="fas fa-chart-pie"></i> </div> </div> </div> <p class="mt-3 mb-0 text-muted text-sm"> <span class="text-nowrap"></span> </p> </div> </div> </div> <!-- fim segundo quadrado --> <div class="col-xl-3 col-lg-6"> <div class="card card-stats mb-4 mb-xl-0"> <div class="card-body"> <div class="row"> <div class="col"> <h5 class="card-title text-uppercase text-muted mb-0">Alugados</h5> <?php include 'conexao/conexao.php'; $sql = "SELECT COUNT(id_status_imovel) as quantidade FROM status_imovel WHERE status_imovel = 'Aluguel'"; $busca = mysqli_query($conexao, $sql); $dados = mysqli_fetch_array($busca); $qtdaluguel = $dados['quantidade']; ?> <span class="h2 font-weight-bold mb-0"><?php echo $qtdaluguel ?></span> </div> <div class="col-auto"> <div class="icon icon-shape bg-yellow text-white rounded-circle shadow"> <i class="fas fa-users"></i> </div> </div> </div> <p class="mt-3 mb-0 text-muted text-sm"> <?php $sql3 = "SELECT SUM(valor_negocio)as valortotal FROM status_imovel WHERE status_imovel = 'Aluguel'"; $query = mysqli_query($conexao, $sql3); $dados3 = mysqli_fetch_array($query); $totalAluguel = $dados3['valortotal']; $totalAluguel; $porcento = $totalAluguel * 0.10; ?> <span class="text-success mr-2"><i class="fas fa-arrow-up"></i><?php echo number_format($porcento, 2, ',', '.') ?></span> <span class="text-nowrap">Lucro Alugueis</span> </p> </div> </div> </div> <div class="col-xl-3 col-lg-6"> <div class="card card-stats mb-4 mb-xl-0"> <div class="card-body"> <div class="row"> <div class="col"> <h5 class="card-title text-uppercase text-muted mb-0">Lucro Bruto</h5> <?php $totalbruto = $porcento + $total; ?> <span class="h2 font-weight-bold mb-0"><?php echo number_format($totalbruto, 2, ',', '.') ?></span> </div> <div class="col-auto"> <div class="icon icon-shape bg-info text-white rounded-circle shadow"> <i class="fas fa-percent"></i> </div> </div> </div> <p class="mt-3 mb-0 text-muted text-sm"> <?php if($totalbruto > 0) {?> <span class="text-success mr-2"><i class="fas fa-arrow-up"></i>Saldo Positivo</span> <?php } else {?> <span class="text-danger mr-2"><i class="fas fa-arrow-down"></i>Saldo Negativo</span> <?php }?> </p> </div> </div> </div> </div> </div> </div> </div> </body> </html> Diante disso, quero que alguém poste aqui uma sugestão contemplando os dois códigos, pois acredito que na primeira verificação usando AND ou WHERE eu estou acertando, mas o grande problema está na abertura da próxima página, que não estou conseguindo fazer. Acho que até checo a tabela, mas não estou conseguindo direcionar para a página certa.
  2. netocazuza

    gravar dados php com mysql

    Tenho um sistema em php que grava os dados da seguinte forma: Existe um formulário em html, que captura os dados, e um arquivo de inserção em php que recebe os dados do formulário, e grava no banco. Tudo isso está funcional, e vai sendo ampliado, de acordo com a necessidade, então vou tentar ilustrar o código aqui: $numero1 = $_POST['numero1']; . . . $numero100 = $POST['numero100']; Esses dados vem do formulário, e até esse número 100, está funcional. Após receber esses números, é preparado um SQL para inserção no banco, que fica mais ou menos assim: $sql = "insert into tabela(numero1, ...,numero100) values ('$numero1', ..., 'numero100')"; $con->exec($sql); Tudo isso está funcionando, e deu tudo certo, até aproximadamente o registro 100 (não sei o número exato) pois é uma necessidade do sistema que ele seja assim, e as variáveis sejam criadas, quando a ocasião se apresenta.Ocorre, que de uns dias pra cá, não consigo mais criar nenhuma variável, e o sistema travou. Depois de muitos testes, descobri que essa linha de inserção no $sql, fica como uma linha inteira e única, e é exatamente essa a limitação, que é 3.000 caracteres, espaços ou colunas, aparentemente. O travamento decorre disso. Tudo que for feito à partir da linha 3.000, é simplesmente ignorado, e gera um erro no sistema.Normalmente escrevo o código diretamente do terminal linux, usando o comando vim, salvo e já testo no navegador, e a minha dúvida é se essa limitação é do comando vim, do mysql, ou do PHP, e como fazer para contornar isso?Uso Linux Ubuntu 16.04 LTS, PHP 7 e mysql com phpmyadmin. Uma outra particularidade, é que para ser mais produtivo, escrevo o código diretamente no servidor em produção, via terminal com o comando vim.Gostaria apenas de uma forma de quebrar essa linha, de modo que essa inserção continue sendo feita da mesma maneira.
×

Informação importante

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