Ir para conteúdo
Fórum Script Brasil

Pesquisar na Comunidade

Mostrando resultados para as tags ''mysql''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Fóruns

  • Programação & Desenvolvimento
    • ASP
    • PHP
    • .NET
    • Java
    • C, C++
    • Delphi, Kylix
    • Lógica de Programação
    • Mobile
    • Visual Basic
    • Outras Linguagens de Programação
  • WEB
    • HTML, XHTML, CSS
    • Ajax, JavaScript, XML, DOM
    • Editores
  • Arte & Design
    • Corel Draw
    • Fireworks
    • Flash & ActionScript
    • Photoshop
    • Outros Programas de Arte e Design
  • Sistemas Operacionais
    • Microsoft Windows
    • GNU/Linux
    • Outros Sistemas Operacionais
  • Softwares, Hardwares e Redes
    • Microsoft Office
    • Softwares Livres
    • Outros Softwares
    • Hardware
    • Redes
  • Banco de Dados
    • Access
    • MySQL
    • PostgreSQL
    • SQL Server
    • Demais Bancos
  • Segurança e Malwares
    • Segurança
    • Remoção De Malwares
  • Empregos
    • Vagas Efetivas
    • Vagas para Estágios
    • Oportunidades para Freelances
  • Negócios & Oportunidades
    • Classificados & Serviços
    • Eventos
  • Geral
    • Avaliações de Trabalhos
    • Links
    • Outros Assuntos
    • Entretenimento
  • Script Brasil
    • Novidades e Anúncios Script Brasil
    • Mercado Livre / Mercado Sócios
    • Sugestões e Críticas
    • Apresentações

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


AIM


MSN


Website URL


ICQ


Yahoo


Jabber


Skype


Location


Interests

  1. Olá. Estou desenvolvendo um sistema de login para fins de estudo em php. Estou com dificuldade para fazer a validação se o usuario esta logado, para dar acesso a ele as paginas ou não. Achei na internet um tutorial disso, mas no arquivo de validação usado tinha a seguinte linha de comando: if (!isLoggedIn){ header('Location: login.php'); } Era somente isso no arquivo de validação, ai dizia que era só fazer require nas paginas. Resolvi tentar isso, mas quando executo o código, ele me faz o login e me retorna: NOTICE: Use of undefined constant isLoggedIn - assumed 'isLoggedIn' in C:\wamp64\www\ProjetoALPHA\core\check.php on line 6 Não faz exatamente login, porque se na pagina de login eu ir na URL e tocar de login.php para index.php ele entra na index como se eu estivesse logado no sistema. Alguém poderia me auxiliar com isso?
  2. Boa tarde. Eu preciso usar oi MySQL para 2 bases iguais para clientes diferentes. Estou usando a porta 3307 e Tentei criar uma nova instancia para a porta 3308. Fiz todo o procedimento e quando vou subir o serviço, não sobre, fica como iniciando e trava com a mensagem. Preciso muito trabalhar com 2 instancias numa mesma maquina. Se puderem me ajudar ficarei muito grato. obrigado
  3. Galera, esta dando esse erro abaixo, já tentei de várias formas e não consegui resolver , alguém poderias me ajudar? Error Number: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '.`CPFCNPJMATRIZ)` as `TOTAL_GERAL from operacao op INNER JOIN agente ag ON ag`.`' at line 1 SELECT `cadsup`.`NOME` as `NOME_SUPER`, `cadmat`.`CPFCNPJ` as `CPF_MATRIZ`, `cadmat`.`NOME` as `NOME_MATRIZ`, `cadmat`.`DTHRINSERT` as `DATA_CADASTRO`, SUM(op.TOT_FAC) as VALOR_TOTAL, COUNT(*) as TOTAL_MES, Year(op.DATAACEITE), (SELECT COUNT(*) FROM operacao op_in2 WHERE Year(op_in2.DATAACEITE) = 2016 AND op_in2.CODSTATUS IN (5, `7) AND op_in2`.`CPFCNPJMATRIZ = op`.`CPFCNPJMATRIZ GROUP BY op_in2`.`CPFCNPJMATRIZ)` as `TOTAL_GERAL from operacao op INNER JOIN agente ag ON ag`.`CPFCNPJ = op`.`CPFCNPJAGENTE INNER JOIN rup cadsup ON cadsup`.`CPFCNPJ = ag`.`CPFCNPJSUPERVISOR INNER JOIN rup cadmat ON cadmat`.`CPFCNPJ = ag`.`CPFCNPJMATRIZ` WHERE op.DATAACEITE BETWEEN 2016-11-01 AND 2016-12-19 AND `op`.`CODSTATUS` IN (5,7) AND `op`.`CODPRODUTO` in (1,2) GROUP BY `ag`.`CPFCNPJMATRIZ` ORDER BY `TOTAL_GERAL` DESC O SQL CORRETO NÃO TENS ESSA ASPAS SIMPLES: $this->db->select('cadsup.NOME as NOME_SUPER ,cadmat.CPFCNPJ as CPF_MATRIZ ,cadmat.NOME as NOME_MATRIZ ,cadmat.DTHRINSERT as DATA_CADASTRO ,SUM(op.TOT_FAC) as VALOR_TOTAL ,COUNT(*) as TOTAL_MES ,Year(op.DATAACEITE) ,(SELECT COUNT(*) FROM operacao op_in2 WHERE Year(op_in2.DATAACEITE) = 2016 AND op_in2.CODSTATUS IN (5,7) AND op_in2.CPFCNPJMATRIZ = op.CPFCNPJMATRIZ GROUP BY op_in2.CPFCNPJMATRIZ) as TOTAL_GERAL from operacao op INNER JOIN agente ag ON ag.CPFCNPJ = op.CPFCNPJAGENTE INNER JOIN rup cadsup ON cadsup.CPFCNPJ = ag.CPFCNPJSUPERVISOR INNER JOIN rup cadmat ON cadmat.CPFCNPJ = ag.CPFCNPJMATRIZ');
  4. Olá. Estou criando um sistema de login para fins de estudo. Identifiquei no me arquivo que não esta populando o array com as informações do banco de dados... e sim, já me certifiquei que o email e senha informados já existe na base de dados. Segue arquivo de login.php: <?php require_once 'init.php'; // resgata dados digitados no formulario $email = isset($_POST['email']) ? $_POST['email']: ''; $senha = isset($_POST['senha']) ? $_POST['senha']: ''; // Cria o hash da senha $seg_senha = password_hash($senha, PASSWORD_DEFAULT); // Verifica se os campos do form não estao vazios if(empty($email) || empty($senha)){ echo 'Informe Email e Senha'; exit; } // Comando no banco de dados $pdo = db_connect(); // Abre conexão com o banco $sql = "SELECT id, nome FROM usuarios WHERE email = :email AND senha = :senha"; // Cria query $stmt = $pdo->prepare($sql); // Prepare da query $stmt->bindParam(':email', $email); // Atribui valor do campo email no valor email da query $stmt->bindParam(':senha', $seg_senha); // Atribui valor do campo senha no valor senha da query $stmt->execute(); // Execute na query $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); // Cria array associativo if(count($arr) <= 0){ // Verifica se existe elemento no array echo "<script language='javascript' type='text/javascript'>alert('Login e/ou senha incorretos');window.location.href='../login.php';</script>"; exit; } // Pega o primeiro usuario $user = $arr[0]; // Inicia a sessão session_start(); $_SESSION['logged_in'] = true; $_SESSION['user_id'] = $user['id']; $_SESSION['user_name'] = $user['nome']; header('Location: ../index1.php'); Se eu comento da linha if(count($arr) <= 0){ para baixo, e coloco um var_dump($arr); abaixo de $arr = $stmt->fetchAll(PDO::FETCH_ASSOC); me retorna um array vazio C:\wamp64\www\ProjetoALPHA\core\login.php:33: array (size=0) empty Alguém poderia me ajudar? Grato!
  5. Olá. Estou tendo problemas quando tento executar um UPDATE no meu sistema em php. Uso o MySQL. Tenho o código do arquivo editar: <?php require_once 'init.php'; // resgata os valores do formulario $nome = isset($_POST['nome']) ? $_POST['nome']: null; $nascimento = isset($_POST['nascimento']) ? $_POST['nascimento']: null; $email = isset($_POST['email']) ? $_POST['email']: null; $senha = isset($_POST['senha']) ? $_POST['senha']: null; $seg_senha = password_hash($senha, PASSWORD_DEFAULT); // Validação para evitar dados vazios if (empty($nome) || empty($nascimento) || empty($email) || empty($senha)) { echo 'Volte e preencha todos os campos.'; exit; } // Atualiza o banco $pdo = db_connect(); $sql = "UPDATE usuarios SET nome = :nome, nasc = :nasc, email = :email, senha = :senha WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':nome', $nome); $stmt->bindParam(':nasc', $nascimento); $stmt->bindParam(':email', $email); $stmt->bindParam(':senha', $seg_senha); $stmt->bindParam(':id', $id); if ($stmt->execute()){ header('Location: ../index1.php'); }else{ echo 'Erro ao atualizar usuario.'; print_r($stmt->errorInfo()); } Agora o arquivo com formulario para edição de usuario: <?php require_once 'core/init.php'; // Pega o id da URL $id = isset($_GET['id']) ? (int)$_GET['id']: null; // Valida o id if (empty($id)) { echo 'ID para alteração não definido'; exit; } // Busca os dados do usuario a ser editado $pdo = db_connect(); $sql = "SELECT nome, nasc, email, senha FROM usuarios WHERE id = :id"; $stmt = $pdo->prepare($sql); $stmt->bindParam(':id', $id, PDO::PARAM_INT); $stmt->execute(); $user = $stmt->fetch(PDO::FETCH_ASSOC); // Se o método fetch() não retornar um array, significa que o ID não corresponde a um usuário válido if(!is_array($user)){ echo 'Nenhum usuario encontrado.'; exit; } ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Edição de usuario</title> <script> src="http://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"> </script> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <!-- ==================== NAVBAR INICIO - BOOTSTRAP ==================== --> <nav class="navbar navbar-inverse"> <div id="inicio" class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#inicio"><b>Hoo</b></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="index1.php"><u>Home</u></a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Perfil <span class="caret"></span></a> <ul class="dropdown-menu"> <li role="separator" class="divider"></li> <li><a href="">Sair</a></li> </ul> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <!-- ==================== NAVBAR FIM - BOOTSTRAP ==================== --> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> <div class="panel panel-success " style="width: 60%; margin: 0 auto; padding: 20px"> <div class="panel-heading"> <center> <b>EDITAR USUARIO</b> </center> </div> <div class="panel-body"> <form method="POST" action="core/editar.php"> <div class="form-group"> <input type="hidden" value="" name="id" class="form-control" id="exampleInputId1"></a> </div> <div class="form-group"> <label for="nome">Nome</label> <input type="text" value="<?php echo $user['nome'] ?>" name="nome" class="form-control" id="nome" placeholder="Nome"></a> </div> <div class="form-group"> <span class="label label-default">Data de nascimento</span> <input type="date" value="<?php echo $user['nasc'] ?>" data-date="" data-date-format="DD MMMM YYYY" class="form-control" for="nasc" name="nascimento"> </div> <div class="form-group"> <label for="email">E-MAIL</label> <input type="email" value="<?php echo $user['email'] ?>" name="email" class="form-control" id="email" placeholder="E-MAIL"> </div> <div class="form-group"> <label for="senha">Senha</label> <input type="password" value="<?php echo $user['senha'] ?>" name="senha" class="form-control" id="senha" placeholder="Senha"> </div> <input type="hidden" name="id" value="<?php echo $id ?>"> <button type="submit" class="btn btn-default">Finalizar edição</button> </form> </div> </div> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> </body> </html> Quando altero os campos e clico no botão ele não retorna erro algum, somente retorna para a página index1.php, como mandei no header. Mas no banco o campo "alterado" continua do mesmo jeito, como se não tivesse feito alteração algumA. Alguém poderia me auxiliar? Grato!
  6. Boa Tarde Amigos, estou com um pequeno problema e não consegui resolver até o momento, já pesquisei em vários locais porém não achei a solução, portando recorri ao post, então segue o problema: Preciso fazer uma consulta na tabela que me retorne registros duplicados, porém os registro que preciso procurar não está apenas em uma das colunas da tabela por ex: na referida tabela eu tenho os campos re1, re2, re3, re4, re5, preciso fazer uma consulta por linhas e entre eles, algo mais ou menos assim id | re1 | re2 | re3 | re4 | re5 1 | 123 | 122 | 121 | 111 | 132 id | re1 | re2 | re3 | re4 | re5 2 | 122 | 22 | 221 | 211 | 232 id | re1 | re2 | re3 | re4 | re5 3 | 12 | 13 | 132 | 11 | 15 id | re1 | re2 | re3 | re4 | re5 4 | 123 | 32 | 33| 36| 123 A Consulta retornaria algo mais ou menos assim O RE 123, 122, 132 está repetido É possível ? como ? sou meio iniciante na área, achei e tentei algo como está a baixo, mas não deu muito certo SELECT * FROM tabela WHERE re1 IN (SELECT B.re1 FROM tabela B GROUP BY B.re1 HAVING COUNT(*) > 1 )
  7. Olá amigos, Estou criando um sistema de CRUD para práticas, e meu código está dando erro no meu PREPARE. Não consegui resolver o erro sozinho, alguém poderia me auxiliar? Código index.php: <?php require_once 'core/init.php'; // Abre a conexao com o banco de dados $pdo = db_connect(); // SQL para contar o total de registros. $sql_count = "SELECT COUNT(*) AS nome FROM usuarios ORDER BY name ASC"; // SQL para selecionar os registros $sql = "SELECT id, nome, email, nasc FROM usuarios ORDER BY nome ASC"; // Conta o total de registros $stmt_count = $pdo->prepare($sql_count); $stmt_count->execute(); $total = $stmt_count->fetchColumn(); // Seleciona os registros $stmt = $pdo->prepare($sql); $stmt->execute(); ?> <html> <head> <title>Bem Vindo</title> <script src="http://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"> </script> <!-- Latest compiled and minified CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous"> <!-- Optional theme --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous"> <!-- Latest compiled and minified JavaScript --> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script> </head> <body> <!-- ==================== NAVBAR INICIO - BOOTSTRAP ==================== --> <nav class="navbar navbar-inverse"> <div id="inicio" class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false"> <span class="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#inicio"><b>Hoo</b></a> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1"> <ul class="nav navbar-nav"> <li><a href="cadastro.php"> <u>Cadastrar novo usuario</u></a></li> </ul> <ul class="nav navbar-nav navbar-right"> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false">Perfil <span class="caret"></span></a> <ul class="dropdown-menu"> <li role="separator" class="divider"></li> <li><a href="">Sair</a></li> </ul> </li> </ul> </div><!-- /.navbar-collapse --> </div><!-- /.container-fluid --> </nav> <!-- ==================== NAVBAR FIM - BOOTSTRAP ==================== --> <!-- ==================== TABLE INICIO - BOOTSTRAP ==================== --> <p>Total de usuarios: <?php echo $total; ?></p> <?php if($total > 0): ?> <table class="table table-hover"> <thead> <th>ID</th> <th>Nome</th> <th>E-MAIL</th> <th>Idade</th> <th>Ações</th> </thead> <tbody> <?php while ($user = $stmt->fetch(PDO::FETCH_ASSOC)): ?> <tr> <td><?php echo $user['nome'] ?></td> <td><?php echo $user['email'] ?></td> <td><?php echo calcIdade($user['nasc']) ?> anos</td> <td> <a href="editar.php?id=<?php echo $user['id'] ?>" class="btn btn-primary btn-sm">Editar</a> <a href="deletar.php?id=<?php $user['id'] ?>" onclick="return confirm('Tem certeza que deseja excluir este usuario?'); class="btn btn-danger btn-sm">Excluir</a> </td> </tr> <?php endwhile; ?> </tbody> </table> <?php endif; ?> <!-- ==================== TABLE FIM - BOOTSTRAP ==================== --> </body> </html> Arquivo do banco de dados init.php; <?php // Constantes com as credenciais para conexão com o banco de dados MySQL define('MYSQL_HOST', 'localhost'); define('MYSQL_USER', 'root'); define('MYSQL_PASS', ''); define('MYSQL_DB_NAME', 'alpha'); // Função que chama a classe PDO function db_connect(){ $pdo = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASS); } // Tentativa de conexão com o banco com tratativa de erro try { $pdo = new PDO('mysql:host=' . MYSQL_HOST . ';dbname=' . MYSQL_DB_NAME, MYSQL_USER, MYSQL_PASS); } catch (PDOException $e) { echo 'Erro ao conectar com a base de dados: '.$e->getMessage(); } Quando executo o código ele apresenta o seguinte erro: Fatal error: Call to a member function prepare() on null in C:\wamp64\www\ProjetoALPHA\index1.php on line 18 Alguém poderia me ajuda? Desde já agradeço!
  8. sacjamm

    Filtro em 2 tabelas

    Olá pessoal, Venho aqui pedi mais uma vez a colaboração de vocês se puderem. Estou com um filtro semelhante a do opencart da area de pedidos. Estou tentando fazer a busca e não estou tendo sucesso, segue o HTML e o PHP: Eu não consigo selecionar os dados com esta instrução SQL, porém se eu colocar na SQL direto do phpmyadmin, ela me retorna todos os resultados corretamente. Alguma solução? O erro que me retorna é este: Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 1267169544 bytes) in sys.fit-turbo.com/views/pedidos/index.php on line 362 <form class="form-inline" action="" method="post"> <div> <div class="span4"> <div class="control-group"> <label class="control-label" for="pedido"><b>N° Pedido</b></label> <div class="controls"> <input type="text" id="pedido" class="span12" name="pedido_id"> </div> </div> </div> <div class="span4"> <div class="control-group"> <label class="control-label" for="selectError3"><b>Situação do pedido</b></label> <div class="controls"> <select id="selectError3" name="status_pedido" class="span12"> <option value="" disabled="" selected="">Selecione a situação do pedido</option> <option value="0">Novo</option> <option value="3">Pago</option> <option value="1">Aguardando</option> <option value="2">Em análise</option> <option value="4">Disponível</option> <option value="5">Em disputa</option> <option value="6">Devolvido</option> <option value="7">Cancelado</option> </select> </div> </div> </div> <div class="span4"> <div class="control-group"> <label class="control-label" for="ini"><b>Cadastro</b></label> <div class="controls"> <input type="date" id="ini" name="data_pedido" class="span12" value="<?= $value ?>"> <?= $text; ?> </div> </div> </div> </div> <div> <div class="span4"> <div class="control-group"> <label class="control-label" for="cliente"><b>Cliente</b></label> <div class="controls"> <input type="text" id="cliente" name="nome" class="span12"> </div> </div> </div> <div class="span4"> <div class="control-group"> <label class="control-label" for="email"><b>E-mail</b></label> <div class="controls"> <input type="email" id="email" name="email" class="span12"> </div> </div> </div> <div class="span4"> <div class="control-group"> <label class="control-label" for="mod"><b>Forma de pagamento</b></label> <div class="controls"> <select id="selectError3" name="pedido_pagamento" class="span12"> <option value="" disabled="" selected="">Selecione a forma de pagamento</option> <option value="Depósito">Depósito</option> <option value="PagSeguro">PagSeguro</option> </select> </div> </div> </div> </div> <input type="hidden" name="pesquisar" value="ok"/> <button type="submit" class="btn btn-primary pull-right"><i class="fa fa-search"></i> Filtrar</button> </form> <?php ini_set("display_errors", true); error_reporting(E_ALL); $search = filter_input_array(INPUT_POST, FILTER_DEFAULT); if (isset($search['pesquisar']) AND $search['pesquisar'] == 'ok'): unset($search['pesquisar']); $data_pedido = $search['data_pedido']; $idpedido = $search['pedido_id']; $statusPedido = $search['status_pedido']; $pagamento = $search['pedido_pagamento']; $nome = $search['nome']; $email = $search['email']; $whereIdPedido = ""; $whereData = ""; $wherePagamento = ""; $whereStatus = ""; $whereNome = ""; $whereEmail = ""; if (isset($idpedido)): $whereIdPedido = "AND p.pedido_id = '$idpedido'"; endif; if (isset($data_pedido)): $whereData = "OR p.data_pedido = '$data_pedido'"; endif; if (isset($pagamento)): $wherePagamento = "OR p.pedido_pagamento = '$pagamento'"; endif; if (isset($statusPedido)): $whereStatus = "OR p.status_pedido = '$statusPedido'"; endif; if (isset($nome)): $whereNome = "OR u.nome LIKE '$nome'"; endif; if (isset($email)): $whereEmail = "OR u.email LIKE '$email'"; endif; $sql = mysql_query("select p.*,u.* FROM ws_pedidos p, uni_usuario u WHERE p.pedido_id != 0 $whereIdPedido $whereData $wherePagamento $whereStatus $whereNome $whereEmail") or die(mysql_error()); $conta = @mysql_num_rows($sql); ?>
  9. Caros,Estou sofrendo há dois dias tentando identificar o erro acima que acontece quando tento gravar o cadastro e seleciono alguma opção vinda do banco no selectonemenu. Consigo salvar sem erro quando simulo o selectonemenu sendo preenchido com um item inserido no próprio corpo do código (Que Não Vem Do Banco). Estou enviando abaixo algumas classes que utilizo no meu projeto. Agradeço os interessados em ajudar. Segue parte do Código em XHTML e a classe Programa: <div class="form-group"> <h:outputLabel value="Qual o Programa?" for="atdPrograma" styleClass="control-label col-sm-2"/> <div class="col-sm-5"> <h:selectOneMenu value="#{atendimentoController.selected.atdPrograma}"> <f:selectItem itemLabel="-Selecione-" itemValue=""/> <f:selectItems value="#{programaController.items}" var="e" itemValue="#{e}" itemLabel="#{e.pgrNome}" /> </h:selectOneMenu> </div> </div> CLASSE PROGRAMA: //CLASSE Programa /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pacote_jangadeiro; import java.io.Serializable; import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; import javax.persistence.NamedQueries; import javax.persistence.NamedQuery; import javax.persistence.Table; import javax.validation.constraints.Size; import javax.xml.bind.annotation.XmlRootElement; /** * * @author vai */ @Entity @Table(name = "programa") @XmlRootElement @NamedQueries({ @NamedQuery(name = "Programa.findAll", query = "SELECT p FROM Programa p")}) public class Programa implements Serializable { private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Basic(optional = false) @Column(name = "pgr_id") private Integer pgrId; @Size(max = 30) @Column(name = "pgr_nome") private String pgrNome; public Programa() { } public Programa(Integer pgrId) { this.pgrId = pgrId; } public Integer getPgrId() { return pgrId; } public void setPgrId(Integer pgrId) { this.pgrId = pgrId; } public String getPgrNome() { return pgrNome; } public void setPgrNome(String pgrNome) { this.pgrNome = pgrNome; } @Override public int hashCode() { int hash = 0; hash += (pgrId != null ? pgrId.hashCode() : 0); return hash; } @Override public boolean equals(Object object) { // TODO: Warning - this method won't work in the case the id fields are not set if (!(object instanceof Programa)) { return false; } Programa other = (Programa) object; if ((this.pgrId == null && other.pgrId != null) || (this.pgrId != null && !this.pgrId.equals(other.pgrId))) { return false; } return true; } @Override public String toString() { return "pacote_jangadeiro.Programa[ pgrId=" + pgrId + " ]"; } }
  10. Olá! Estou montando um script que faça uma busca randômica no banco de dados, até ai esta funcionando tranquilo. A questão é que, quando rodo o script na página, o número de produtos oscila entre 2 e 4 registros. Preciso que a lista que ele carregue, fique sempre com 4 registros. Segue o código que estou usando: $script = "SELECT * FROM plugin_produto WHERE cds LIKE '$cds' order by rand() limit 4,4"; $busca = mysql_query($script); $produto = ""; if (mysql_num_rows($busca)>0){ while($dados = mysql_fetch_array($busca)){ $produto .= $dados['prod']."<br/>"; } } else { $produto = "Não existem produtos." } echo $produto;
  11. Isso vai parecer estranho. Vamos lá! Meu PC Windows 10 está ligando sozinho todo dia à meia-noite. Se o PC já está ligado aparece muito rapidamente um janela do console com algum texto e some. No entanto consegui notar a string "MySQL" nessa janela. Já dei uma olhada no agendador de tarefas do Windows, nos aplicativos inicializados durante o boot, nos serviços do MySQL mas não consegui localizar alguma coisa que indique uma razão para isso estar acontecendo. Minhas dúvidas são: Será que existe alguma configuração pro MySQL iniciar automaticamente fazendo boot da máquina? E como desativar isso?
  12. Gabrielvt14

    Ajuda com PDO

    Olá pessoal, Estou com problemas para conectar o banco de dados utilizando PDO, uso o MySQL. quando executo a conexao com o banco aparecem as seguintes mensagens de erro: ( ! ) Fatal error: Uncaught exception 'PDOException' with message ' in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 ( ! ) PDOException: in C:\wamp64\www\phpCRUD\config\Conecta.php on line 11 Call Stack # Time Memory Function Location 1 0.0003 235888 {main}( ) ...\login.php:0 2 0.0006 240904 include_once( 'C:\wamp64\www\phpCRUD\core\Login.php' ) ...\login.php:3 3 0.0013 253496 Conecta->__construct( ) ...\Login.php:5 4 0.0013 253984 __construct ( ) ...\Conecta.php:11 Não sei onde estou errando, alguém poderia me ajudar? Segue o código da configuração do banco: http://pastebin.com/24qAiFTr E abaixo arquivo conf.php: http://pastebin.com/986P4hiD
  13. Boa tarde pessoal! Estou com dificuldade em responder um select de um trabalho da faculdade. É sobre transporte de ônibus da cidade e eu preciso responder a seguinte pergunta: Qual é a linha, de cada região, que possui maior número de horário nos dias úteis? Para isso criei essa view: create view tg as select r.nome as 'nome_regiao', l.numero_linha as 'numero_linha', l.nome as 'nome_linha', v.hora_viagem as 'hora_viagem', v.data_viagem as 'data_viagem' from linhas l inner join viagens v on l.id_linha = v.id_linha inner join trajetos t on l.id_linha = t.id_linha inner join bairros b on t.id_bairro = b.id_bairro inner join regioes r on b.id_regiao = r.id_regiao; E montei esse select: select nome_regiao, numero_linha, count(distinct hora_viagem) as 'qtd_horario' from tg where weekday(data_viagem) < 5 group by nome_regiao, numero_linha order by qtd_horario desc, numero_linha; Com esse select eu consigo trazer todas as linhas de todas as regiões e a quantidade de horários que cada uma tem cadastrada. Mas eu preciso mostrar apenas a linha que contem mais horários cadastrado de cada região. Eu consigo fazer isso utilizando apenas um select? vou anexar o resultado do select para ficar mais fácil.
  14. Arquivo de conexão sem o site está hospedado: <?php // constantes com as credenciais de acesso ao banco MySQL define('SITE_DB_HOST', 'localhost'); define('SITE_DB_USER', 'feira'); define('SITE_DB_PASS', 'comida56'); define('SITE_DB_NAME', 'frutas'); // habilita todas as exibições de erros ini_set('display_errors', true); error_reporting(E_ALL); date_default_timezone_set('America/Sao_Paulo'); Suponha que a url do meu site é www.feiradefrutas.com.br como ficaria o arquivo de conexão? Poderia ser assim: <?php // constantes com as credenciais de acesso ao banco MySQL define('SITE_DB_HOST', 'www.feiradefrutas.com.br'); define('SITE_DB_USER', 'feira'); define('SITE_DB_PASS', 'comida56''); define('SITE_DB_NAME', 'frutas'); // habilita todas as exibições de erros ini_set('display_errors', true); error_reporting(E_ALL); date_default_timezone_set('America/Sao_Paulo');
  15. Olá pessoal, Estou desenvolvendo uma sistema de CRUD, e estou com problemas para atualizar usuários cadastrados. O ruim é que meu navegador não mostra nenhum erro. O problema é que quando faço edição em algum campo, por exemplo, email, onde estava escrito joao@j.com. Digito joao@joao12.com. Quando clico no botão o campo email volta a ficar joao@j.com, e não aparece nenhuma mensagem de erro e nem volta para a pagina home.php. O correto seria deixar o campo email preenchido com joao@joao12.com e voltar para pagina home.php. Segue abaixo o código com a pagina de edição de usuário. Desde já agradeço a ajuda de vocês! ps: Pra melhor visualização do código, coloquei no PasteBin http://pastebin.com/7MbueQdE <?php require_once 'db/conexa.php'; ini_set('display_errors', true); error_reporting(E_ALL); # INICIO - ATUALIZAR USUARIO if(isset($_POST['atualizar'])){ $id = (int)$_GET['id']; $nome = (string)$_POST['nome']; $senha = (string)$_POST['senha']; $email = (string)$_POST['email']; $sqlUpdate = 'SELECT usuarios SET nome = :nome, senha = :senha, email = :email where id = :id'; try { $update = $db->prepare($sqlUpdate); $update->bindValue('id', $id, PDO::PARAM_INT); $update->bindValue('nome', $nome, PDO::PARAM_STR); $update->bindValue('senha', $senha, PDO::PARAM_STR); $update->bindValue('email', $email, PDO::PARAM_STR); if($update->execute()){ header('Location: http://localhost:8080/PHP/Wood/home.php'); } } catch (Exception $e) { echo 'Erro ao atualizar'. $e->getMessage();; } } #FIM - ATUALIZAR USUARIO # INICIO - PEGAR USUARIO $id = (int)$_GET['id']; $sql = 'SELECT * FROM usuarios where id = :id'; try { $select = $db->prepare($sql); $select->bindValue(':id', $id, PDO::PARAM_INT); $select->execute(); } catch (Exception $e) { echo $e->getMessage(); } $result = $select->fetch(PDO::FETCH_OBJ); # FIM - PEGAR USUARIO ?> <!DOCTYPE html> <html> <head> <title>Hoo</title> <!-- Compiled and minified CSS --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/css/materialize.min.css"> <!-- Compiled and minified JavaScript --> <script src="https://cdnjs.cloudflare.com/ajax/libs/materialize/0.97.8/js/materialize.min.js"></script> </head> <body> <div class="row"> <form class="col s12" method="POST"> <div class="row"> <div class="input-field col s6"> <input type="text" name="nome" class="validate" value="<?php echo $result->nome; ?>"> <label></label> </div> </div> </div> <div class="row"> <div class="input-field col s6"> <input name="senha" type="password" class="validate" value="<?php echo $result->senha ?>"> <label></label> </div> </div> <div class="row"> <div class="input-field col s6"> <input name="email" type="email" class="validate" value="<?php echo $result->email ?>"> <label></label> <center><button class="btn waves-effect waves-light" type="submit" name="'atualizar'">Atualizar <i class="material-icons right"></i></center> </button> </div> </div> </div> </div> </form> </div> </body> </html>
  16. Boa noite, não tenho muito conhecimento em PHP, e estou com algumas dúvidas. Estou tentando fazer um formulário que cadastra várias informações e algumas imagens no banco de dados. Os campos da tabela são (valor_terreno, telefone, localizacao, contato_pessoa, cidade,imagem1, imagem2, imagem3, imagem4, imagem5, imagem6, observacao), no caso preciso que o codigo salve 6 imagens nas respectivas colunas. Já fiz com apenas 1 imagem e salva normalmente na pasta do servidor e no banco, mas com várias nunca tinha feito tentei realizando o código abaixo, salva as informações e nos campos das imagens salva 1 mesma imagem em todos os campos assim como na pasta do servidor fica somente uma. Alguém pode me ajudar? Segue codigos: index.html <form class="" action="recebe_terreno_1.php" method="POST" enctype="multipart/form-data"> <div class="row" > <div class="col-md-6"> <div class="form-group"> <input type="text" class="form-control" placeholder="Digite o Valor do Terreno *" name="valor_terreno" id="valor_terreno" required data-validation-required-message="Você não digitou o valor!"> <p class="help-block text-danger"></p> </div> <div class="form-group"> <input type="tel" class="form-control" placeholder="Digite o Telefone *" name="telefone" id="telefone" required data-validation-required-message="Você não digitou o telefone."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <input type="text" class="form-control" placeholder="Digite a Localização *" name="localizacao" id="localizacao" required data-validation-required-message="Você não digitou a localização do Terreno."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <input type="text" class="form-control" placeholder="Digite o Contato *" name="contato_pessoa" id="contato_pessoa" required data-validation-required-message="Você não digitou o contato."> <p class="help-block text-danger"></p> </div> <div class="form-group"> <textarea class="form-control" placeholder="Observação" name="observacao" id="observacao"></textarea> <p class="help-block text-danger"></p> </div> </div> <div class="col-md-6"> <div class="form-group"> <select class="form-control" name="cidade" id="cidade" > <option value="Bauru" selected>Bauru</option> <option value="Agudos" >Agudos</option> <option value="Lencoes" >Lenções Paulista</option> </select> </div> <div class="form-group"> <input type="file" class="form-control" name="arquivo[]"> <input type="file" class="form-control" name="arquivo[]"> <input type="file" class="form-control" name="arquivo[]"> <input type="file" class="form-control" name="arquivo[]"> <input type="file" class="form-control" name="arquivo[]"> <input type="file" class="form-control" name="arquivo[]"> </div> </div> <div class="row form-group"> <div class="col-sm-offset-5 col-sm-7"> <button type="submit" class="btn btn-success" value="Salvar"> <span class="glyphicon glyphicon-floppy-disk"></span> Salvar </button> <button type="submit" class="btn btn-danger" value="Limpar"> <span class="glyphicon glyphicon-refresh"></span> Limpar </button> </div> </div> </form> recebe_terreno_1.php <?php include("./config.php"); /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ //CRIAR UMA LISTA COM TODOS OS MIME-TYPES PERMITIDOS //Lista de tipos de arquivos permitidos $tipoPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png'); //TAMANHO MÁXIMO (EM BYTES) $tamanhoPermitido = 1024 * 3000; //700KB /* @var $descricao type */ $valor_terreno = $_POST['valor_terreno']; $telefone = $_POST['telefone']; $localizacao = $_POST['localizacao']; $contato_pessoa = $_POST['contato_pessoa']; $cidade = $_POST['cidade']; $observacao = $_POST['observacao']; //O NOME ORIGINAL DO ARQUIVO NO COMPUTADOR DO USUÁRIO $arqName1 = $_FILES['arquivo']['name'][0]; $arqName2 = $_FILES['arquivo']['name'][1]; $arqName3 = $_FILES['arquivo']['name'][2]; $arqName4 = $_FILES['arquivo']['name'][3]; $arqName5 = $_FILES['arquivo']['name'][4]; $arqName6 = $_FILES['arquivo']['name'][5]; //O TIPO MIME DO ARQUIVO. UM EXEMPLO PODE SER "foto/gif $arqType1 = $_FILES['arquivo']['type'][0]; $arqType2 = $_FILES['arquivo']['type'][1]; $arqType3 = $_FILES['arquivo']['type'][2]; $arqType4 = $_FILES['arquivo']['type'][3]; $arqType5 = $_FILES['arquivo']['type'][4]; $arqType6 = $_FILES['arquivo']['type'][5]; //TAMANHO, EM BYTES, DO ARQUIVO $arqSize1 = $_FILES['arquivo']['size'][0]; $arqSize2 = $_FILES['arquivo']['size'][1]; $arqSize3 = $_FILES['arquivo']['size'][2]; $arqSize4 = $_FILES['arquivo']['size'][3]; $arqSize5 = $_FILES['arquivo']['size'][4]; $arqSize6 = $_FILES['arquivo']['size'][5]; //NOME TEMPORARIO DO ARQUIVO, COMO FOI GUARDADO NO SERVIDOR $arqTemp1 = $_FILES['arquivo']['tmp_name'][0]; $arqTemp2 = $_FILES['arquivo']['tmp_name'][1]; $arqTemp3 = $_FILES['arquivo']['tmp_name'][2]; $arqTemp4 = $_FILES['arquivo']['tmp_name'][3]; $arqTemp5 = $_FILES['arquivo']['tmp_name'][4]; $arqTemp6 = $_FILES['arquivo']['tmp_name'][5]; //O CÓDIGO DE ERRO ASSOCIADO A ESTE UPLOAD DE ARQUIVO $arqError1 = $_FILES['arquivo']['error'][0]; $arqError2 = $_FILES['arquivo']['error'][1]; $arqError3 = $_FILES['arquivo']['error'][2]; $arqError4 = $_FILES['arquivo']['error'][3]; $arqError5 = $_FILES['arquivo']['error'][4]; $arqError6 = $_FILES['arquivo']['error'][5]; /* * MOVENDO O ARQUIVO PARA A PASTA CERTA */ if (($arqError1 == 0)&&($arqError2 == 0) && ($arqError3 == 0) && ($arqError4 == 0) && ($arqError5 == 0) && ($arqError6 == 0)) { //VERIFICA O TIPO DE ARQUIVO ENVIADO if (array_search($arqType1, $tipoPermitidos) === false && array_search($arqType2, $tipoPermitidos) === false && array_search($arqType3, $tipoPermitidos) === false && array_search($arqType4, $tipoPermitidos) === false && array_search($arqType5, $tipoPermitidos) === false && array_search($arqType6, $tipoPermitidos) === false) { echo 'O tipo de arquivo enviado é inválido!'; //VERIFICA O TAMANHO DO ARQUIVO ENVIADO } elseif (($arqSize1 > $tamanhoPermitido) && ($arqSize2 > $tamanhoPermitido) && ($arqSize3 > $tamanhoPermitido) && ($arqSize4 > $tamanhoPermitido) && ($arqSize5 > $tamanhoPermitido) && ($arqSize6 > $tamanhoPermitido)) { echo 'O tamnho do arquivo enviado é maior que o limite'; //NÃO HOUVE ERRO, MOVE O ARQUIVO } else { $pasta = 'imagem_terreno/'; //PEGA A EXTESÃO DO ARQUIVO ENVIADO $tipo1 = strtolower(end(explode('.', $arqName1))); $tipo2 = strtolower(end(explode('.', $arqName2))); $tipo3 = strtolower(end(explode('.', $arqName3))); $tipo4 = strtolower(end(explode('.', $arqName4))); $tipo5 = strtolower(end(explode('.', $arqName5))); $tipo6 = strtolower(end(explode('.', $arqName6))); //DEFINE O NOME DO ARQUIVO USANDO UM UNIX TIMESTAMP $nomea1 = time() . '.' . $tipo1; $nomea2 = time() . '.' . $tipo2; $nomea3 = time() . '.' . $tipo3; $nomea4 = time() . '.' . $tipo4; $nomea5 = time() . '.' . $tipo5; $nomea6 = time() . '.' . $tipo6; //ESCAPA OS CARACTERES DO ARQUIVO USANDO UM UNIX TIMESTAMP $nomeMySQL = mysql_real_escape_string($_POST['valor_terreno']); $nomeMySQL1 = mysql_real_escape_string($_POST['telefone']); $nomeMySQL2 = mysql_real_escape_string($_POST['localizacao']); $nomeMySQL3 = mysql_real_escape_string($_POST['contato_pessoa']); $nomeMySQL4 = mysql_real_escape_string($_POST['cidade']); $nomeMySQL5 = mysql_real_escape_string($_POST['observacao']); $upload1 = move_uploaded_file($arqTemp1, $pasta . $nomea1); $upload2 = move_uploaded_file($arqTemp2, $pasta . $nomea2); $upload3 = move_uploaded_file($arqTemp3, $pasta . $nomea3); $upload4 = move_uploaded_file($arqTemp4, $pasta . $nomea4); $upload5 = move_uploaded_file($arqTemp5, $pasta . $nomea5); $upload6 = move_uploaded_file($arqTemp6, $pasta . $nomea6); //VERIFICA SE O ARQUIVO FOI MOVIDO COM SUCESSO if (($upload1 == true) && ($upload2 == true) && ($upload3 == true) && ($upload4 == true) && ($upload5 == true) && ($upload6 == true)) { //CRIA UMA QUERY MYSQL $sql = "insert into pre_cadastro (valor_terreno, telefone, localizacao, contato_pessoa, cidade, imagem1, imagem2, imagem3, imagem4, imagem5, imagem6, observacao) values('$valor_terreno', '$telefone', '$localizacao', '$contato_pessoa', '$cidade', " . "'$nomea1', '$nomea2', '$nomea3', '$nomea4', '$nomea5','$nomea6', '$observacao')"; $query = mysql_query($sql); if ($query == true) { echo "PRÉ CADASTRO DE TERRENO REALIZADO COM SUCESSO!"; header("Location: index.php"); } } } } else { echo"Ocorreu um erro com o upload, por favor tente novamente"; }
  17. <?php error_reporting (E_ALL & ~ E_NOTICE & ~ E_DEPRECATED); $hostname_conecta = "localhost"; $database_conecta = "agrinology"; $username_conecta = "root"; $password_conecta = ""; $conecta = mysql_pconnect($hostname_conecta, $username_conecta, $password_conecta) or trigger_error(mysql_error(),E_USER_ERROR); $database = mysql_select_db($database_conecta); if(isset($_POST['cad_users']) && $_POST['cad_users'] == 'cad'){ $primeiro_nome = $_POST["primeiro_nome"]; $sobrenome = $_POST["sobrenome"]; $pais = $_POST["pais"]; $cidade = $_POST["cidade"]; $email = $_POST["email"]; $usuario = $_POST["usuario"]; $senha = $_POST["senha"]; $usuario_cad = mysql_query("SELECT usuario FROM usuario WHERE usuario = '$usuario'") or die(mysql_error()); if(@mysql_num_rows($usuario_cad) >= '1'){ $erro = "Usuário já cadastrado no sistema, escolha outro."; }else{ $cadastra_users = mysql_query("INSERT INTO usuario(primeiro_nome, sobrenome, pais, cidade, email, usuario, senha) VALUES('$primeiro_nome', '$sobrenome', '$pais', '$cidade', '$email', '$usuario', '$senha')") or die(mysql_error()); $resposta = ("$cadastra_users"); if($resposta){ $erro = "Usuário cadastrado com sucesso!"; }else{ $erro = "Erro ao cadstrar usuário!"; } } @header ("location:cadastra.php?&sim=$erro"); } ?> <!DOCTYPE html> <html > <head> <meta charset="UTF-8"> <title>Agrinology | Account</title> <link href='http://fonts.googleapis.com/css?family=Titillium+Web:400,300,600' rel='stylesheet' type='text/css'> <link rel="stylesheet" href="css/normalize.css"> <link rel="stylesheet" href="css/style.css"> <script type="text/javascript" src="jquery/jquery.js"></script> <script type="text/javascript" src="jquery/jquery.validate.js"></script> <script type="text/javascript" src="jquery/funcao.js"></script> </head> <body> <div class="cadastro"> <div class="form"> <div> <div id="signup"> <h1>Preencha os Dados abaixo atentamente:</h1> <form name="logar" action="login.php" method="post"> <div class="top-row"> <div class="field-wrap"> <label> Primeiro Nome<span class="req" name="primeiro_nome">*</span> </label> <input type="text" required autocomplete="off" /> </div> <div class="field-wrap"> <label> Sobrenome<span class="req">*</span> </label> <input type="text"required autocomplete="off" name="sobrenome"/> </div> </div> <div class="field-wrap"> <label> País<span class="req">*</span> </label> <input type="text"required autocomplete="off" name="pais"/> </div> <div class="field-wrap"> <label> Cidade<span class="req">*</span> </label> <input type="text"required autocomplete="off" name="cidade"/> </div> <div class="field-wrap"> <label> Email<span class="req">*</span> </label> <input type="email"required autocomplete="off" name="email"/> </div> <div class="field-wrap"> <label> Usuário (Nickname)<span class="req">*</span> </label> <input type="text"required autocomplete="off" name="usuario"/> </div> <div class="field-wrap"> <label> Senha<span class="req">*</span> </label> <input type="password"required autocomplete="off" name="senha"/> </div> <p class="forgot"><a href="index.php">Já está cadatrado? Entre em sua conta.</a></p> <input type="hidden" name="cad_users" value="cad" /> <button type="submit" class="button button-block" name="cadastrar" />Registrar-se</button><br /> <button type="reset" class="button button-block"/>Limpar Campos</button> </form> </div> </div> </div><!-- tab-content --> </div> <!-- /form --> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src="js/index.js"></script> </body> </html> Acima está o meu código, é muito simples, usuário digita seus dados e é efetuado o cadastro. Porém este código não está enviando os dados para o MySQL!!! Porém se eu vou no MySQL, e inserir manualmente os dados, na página login reconhece o cadastro.
  18. Olá pessoal, estou tendo problemas para usar o PDO do MySQL no PHP. Quando tento fazer a conexão por código com o MySQL ele apresenta o seguinte erro: could not find driver Creio que o driver PDO do MySQL não esteja instalado. Não tenho muito conhecimento em configuração de Apache, php e tudo mais... Quando vou em phpinfo() ele apresenta as seguintes informações no campo Configure Command: cscript /nologo configure.js "--enable-snapshot-build" "--disable-isapi" "--enable-debug-pack" "--without-mssql" "--without-pdo-mssql" "--without-pi3web" "--with-pdo-oci=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--with-oci8-12c=c:\php-sdk\oracle\x64\instantclient_12_1\sdk,shared" "--enable-object-out-dir=../obj/" "--enable-com-dotnet=shared" "--with-mcrypt=static" "--without-analyzer" "--with-pgo" Não sei se ta haver, como disse, não tenho muito conhecimento nessas configurações. Alguém poderia me ajudar? Uso Windows 10 e o programa Wamp64. Agradeço desde já!
  19. Boa Tarde a todos, estou fazendo um trabalho para faculdade e empaquei.... Se alguém puder me ajudar agradeço desde já. É o seguinte, tenho uma tabela usuário e uma tabela ocorrência e em ocorrência tenho duas FKs que referenciam usuário ( campo de usuário que criou a ocorrência e o campo do usuário que é responsável por ela), eu queria fazer um select para trazer a a categoria , o usuário responsável e o que criou. Fiz o seguinte select : Select ocorrencia.categoria,usuario.nome,usuario.nome as responsavel from ocorrencia inner join usuario on usuario.id_usuario_pk=ocorrencia.id_usuario_ocorrencia_fk and ocorrencia.id_responsavel_ocorrencia_fk=usuario.id_usuario_pk where ocorrencia.numero='OS20166317'; Até tentei dar um "as" no segundo nome pois achei que o problema era trazer o campo nome duas vezes mas continua voltando em branco obrigado a todos
  20. Tenho uma página com 4 divs, dentro de cada DIV quero imprimir os valores referentes a uma query diferente para cada DIV porém todas as queries são de uma tabela só do banco. Se eu tenho 2 resultados em alguma query ele repete o último resultado em todas as divs. Parte do código: <?php $sql="SELECT * FROM socs WHERE status = 1 ORDER BY data_aber"; $resultado = mysql_query($sql); if ($resultado){ $i=0; while($socs = mysql_fetch_array($resultado)){ ?> <div class="row center-align" id="aguard"> <div class="col l2 valign-wrapper"> <input class="with-gap" name="group1" type="radio" id=<?php echo "radio-".$socs['status']."-".$i;?> /><label for=<?php echo "radio-".$socs['status']."-".$i;?>></label> <a href="detalhes.php"><small><?php echo $socs['num_soc']?></small></a> </div> <div class="col l2"> <small><?php echo $socs['data_agen']; ?></small> </div> <div class="col l2"> <small><?php echo $socs['cliente']?></small> </div> <div class="col l2"> <small><?php echo $socs['data_aber']?></small> </div> <div class="col l2"> <small><?php echo $socs['cidade']?></small> </div> <div class="col l2"> <small><?php echo $socs['responsavel']; ?></small> </div> </div> <?php $i++; } }else{ echo "Erro na execução da consulta."; } ?> <?php $sql="SELECT * FROM socs WHERE status = 3 ORDER BY data_aber"; $resultado = mysql_query($sql); if ($resultado){ $i=0; while($socs = mysql_fetch_array($resultado)){ ?> <div class="row center-align" id="agend"> <div class="col l2 valign-wrapper"> <input class="with-gap" name="group1" type="radio" id=<?php echo "radio-".$socs['status']."-".$i;?> /><label for=<?php echo "radio-".$socs['status']."-".$i;?>></label> <a href="detalhes.php"><small><?php echo $socs['num_soc']?></small></a> </div> <div class="col l2"> <small><?php echo $socs['data_agen']; ?></small> </div> <div class="col l2"> <small><?php echo $socs['cliente']?></small> </div> <div class="col l2"> <small><?php echo $socs['data_aber']?></small> </div> <div class="col l2"> <small><?php echo $socs['cidade']?></small> </div> <div class="col l2"> <small><?php echo $socs['responsavel']; ?></small> </div> </div> <?php $i++; } }else{ echo "Erro na execução da consulta."; } ?> <?php $sql="SELECT * FROM socs WHERE status = 2 ORDER BY data_aber"; $resultado = mysql_query($sql); if ($resultado){ $i=0; while($socs = mysql_fetch_array($resultado)){ ?> <div class="row center-align" id="exec"> <div class="col l2 valign-wrapper"> <input class="with-gap" name="group1" type="radio" id=<?php echo "radio-".$socs['status']."-".$i;?> /><label for=<?php echo "radio-".$socs['status']."-".$i;?>></label> <a href="detalhes.php"><small><?php echo $socs['num_soc']?></small></a> </div> <div class="col l2"> <small><?php echo $socs['data_agen']; ?></small> </div> <div class="col l2"> <small><?php echo $socs['cliente']?></small> </div> <div class="col l2"> <small><?php echo $socs['data_aber']?></small> </div> <div class="col l2"> <small><?php echo $socs['cidade']?></small> </div> <div class="col l2"> <small><?php echo $socs['responsavel']; ?></small> </div> </div> <?php $i++; } }else{ echo "Erro na execução da consulta."; } ?> <?php $sql="SELECT * FROM socs WHERE status = 4 ORDER BY data_aber"; $resultado = mysql_query($sql); if ($resultado){ $i=0; while($socs = mysql_fetch_array($resultado)){ ?> <div class="row center-align" id="pend"> <div class="col l2 valign-wrapper"> <input class="with-gap" name="group1" type="radio" id=<?php echo "radio-".$socs['status']."-".$i;?> /><label for=<?php echo "radio-".$socs['status']."-".$i;?>></label> <a href="detalhes.php"><small><?php echo $socs['num_soc']?></small></a> </div> <div class="col l2"> <small><?php echo $socs['data_agen']; ?></small> </div> <div class="col l2"> <small><?php echo $socs['cliente']?></small> </div> <div class="col l2"> <small><?php echo $socs['data_aber']?></small> </div> <div class="col l2"> <small><?php echo $socs['cidade']?></small> </div> <div class="col l2"> <small><?php echo $socs['responsavel']; ?></small> </div> </div> <?php $i++; } }else{ echo "Erro na execução da consulta."; } ?> Código completo: http://paste.ofcode.org/3benXnX5Wr2yZty3CtN2nqi
  21. Bom dia, galera. Que a força esteja com vocês. Tudo bem? Estou com um problema em desenvolver um script de login com uso de PHP, Mysql, Javascript, jquey (baixei esse aqui compressed, production jQuery 3.1.1 ) e Html. Sou iniciante nessas linguagens e estou fazendo cursos on lines para melhorar meus conhecimentos, quem poder ajudar eu agradeço. Recentemente iniciei um curso pelo youtube do canal Desenvolvendo PHP e estou empacado num procedimento no qual não consigo proceder com o script de login, ele simplesmente não conclui a ação de click (feito em javascript) com o qual deveria gerar: "Acesso Negado" ou "Informar email" ou "Senha Inválida" ou "Email Inválido". Abaixo segue as linhas de código: Obs: foi utilizado na linguagem php requisição de Class para formulação do script. Bem vamos, lá !!!!!!! Primeiro a ConDB.class.php <?php function __autoload ($class){require_once"{$class}.class.php";} abstract class ConDB { private $cnx; private function setConn() { return is_null($this->cnx)? $this->cnx=new PDO('mysql:host=localhost;dbname=cadastro','usuario-mysql ','senha-mysql '): $this->cnx; } public function getConn() {return $this->setConn();} } ?> Segundo CRUD.class.php <?php class CRUD extends ConDB { private $query; private function prepExec($prep,$exec) { $this->query=$this->getConn()->prepare($prep); $this->query->execute($exec); } public function insert($table,$cond,$exec) { $this->prepExec('INSERT INTO '.$table.' SET '.$cond.'',$exec); return $this->getConn()->lastInsertId(); } public function select($fields,$table,$cond,$exec) { $this->prepExec('SELECT '.$fields.' FROM '.$table.' '.$cond.'',$exec); return $this->query; } public function update($table,$cond,$exec) { $this->prepExec('UPDATE '.$table.' SET '.$cond.'',$exec); return $this->query; } public function delete($table,$cond,$exec) { $this->prepExec('DElETE FROM '.$table.' '.$cond.'',$exec); } } ?> Segue de mais três class (ValidaEmail.class.php - ValidaSenha.class.php e Cripto.class.php) - Que não irei colocar o código para encurtar.... Class Login.class.php <?php class Login { private $vem,$vsh,$cpt,$crud,$email,$senha,$log,$dds; public function setLogin($email,$senha) { $this->vem=new ValidaEmail; $this->vsh=new ValidaSenha; $this->cpt=new Cripto; $this->crud=new CRUD; $this->email=$this->vem->setValidaEmail($email); $this->senha=$this->vsh->setValidaSenha($senha); $this->log=$this->senha==$senha? $this->crud->select('idUsuario','usuario','WHERE email=? AND senha=?', array($this->email,$this->cpt->setCripto($this->senha))):FALSE; if($this->email<>$email) { return $this->email; }else if($this->senha<>$senha) { return $this->senha; }else { if($this->log AND $this->log->rowCount()>0) { foreach($this->log as $this->dds) {$_SESSION['logado']=$this->dds;} }else {return 'Acesso Negado.';} } } } ?> Em html tem a requisição do script de jquery e login.js <!DOCTYPE html> <html lang="PT-br"> <head> <meta charset="UTF-8"/> <title>Login site Chances de Ouro</title> <link type="text/css" rel="stylesheet" href="../_css/login.css"/> <script type="text/javascript" src="require/js/jquery.js"></script> <script type="text/javascript" src="require/js/login.js"></script> </head> ... <main> <form action="javascript:void(0);"> <p>Login - Chances de Ouro</p> <div><label for="eLogin">E-mail:</label><input type="text" id="eLogin"></div> <div><label for="sLogin">Senha:</label><input type="password" id="sLogin"></div> <div><button onclick="fctlogin()">Entrar</button></div> <span> </span> </form> </main> Script de login.js function fctlogin() //{alert('testando');} { $.post('require/jp/jpLogin.php', { email:$('#eLogin').val(), senha:$('#sLogin').val },function(res) { if(res) $('main form span').html(res).css({color:'#f00'}); else location.href='../../admin/Admin.php'; //$('main form span').html('Logado com sucesso!!!'); //alert(res); }); } e finalmente o script elo que iria juntar o javascript com o php jpLogin.php <?php require_once"../class/ConDB.class.php"; $lgn=new Login; print $lgn->setLogin($_POST['email'],$_POST['senha']); //var_dump($lgn->setLogin('','')); ?> Alguma alma caridosa poderia me orientar em qual parte "errei". Obs: Dentro da Pasta Require estão as pastas Class, JP e JS; Em outra pasta de nome Admin encontra-se o script admin.php para o location. O script login.php assim como os arquivos em html estão fora das pastas Require e Admin. Desde já agradeço. Abraço a todos
  22. Pessoal, como faço para configurar onde só pode ter acesso a subpastas com usuário autenticado. Tenho um web server rodando Apache onde o index é a página de login, até tudo bem. Porém se for digitado www.dominio.com/arquivos os usuários tem acesso a página "Index of/arquivos" que lista todo o conteúdo. Essa pasta é pra ser mostrada e acessada, mas apenas pelos usuários autenticados...como posso configurar isso ?!
  23. Meu problema é o seguinte, vi que quando edito um registro , funciona, o cadastro é alterado, mas quando eu quero cadastrar um novo usuário, ele cai na condição de edição, ele edita as informações do cadastro que eu estava alterando anteriormente, não deixando cadastrar um novo usuário, porque isso acontece? Variável responsável por validar se está editando ou não private int codigoEditar = 0; Método responsável por buscar o código do usuário na tabela JButton button_3 = new JButton("Editar"); button_3.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { tabbedPane.setSelectedIndex(0); // Variável responsável por capturar a linha selecionada int linhaSelecionada = -1; // Busca a linha selecionada e armazena na variável // linhaSelecionada(tr) // linhaSelecionada = tabela.getSelectedRow(); // Validar se uma linha foi selecionada if (linhaSelecionada >= 0) { // Armazena a informação da primeira coluna da linha // selecionada(td) //coluna 0 código do funcionário int codigoFuncionario = (int) tabela.getValueAt(linhaSelecionada, 0); buscarFuncionario(codigoFuncionario); } else { JOptionPane.showMessageDialog(null, "Selecione uma " + "linha para alterar o Funcionário!"); } } }); Método que recebe como parâmetro o código do funcionário, colocando as informações do usuário na tela de cadastro para alteração //recebe como parâmetro o código do funcionário protected void buscarFuncionario(int codigoFuncionario) { control.Funcionarios func = new control.Funcionarios(); //laço foreach que percorre o arraylist referenciando o código do funcionário for (Funcionarios funcio : func.listarFuncionarios(codigoFuncionario + "", 1)) { /*Funcionarios funcio é o Dao, para setar(set) e pegar(get) * func.listarFuncionarios(codigoFuncionario + "", 1)) códigoFuncionário + "" concatena o código com o parametro texto da pesquisa da * classe control * 1 é a pesquisa por código do funcionário referenciando o parametro do código do funcionário */ // Setar informações na tela de cadastro nome.setText(funcio.getNome()); email.setText(funcio.getEmail()); endereco.setText(funcio.getEndereco()); telefone.setText(funcio.getTelefone()); cpf.setText(funcio.getCpf_funcionario()); //Variável que recebe o valor do codigo do usuário //importante para a alteração codigoEditar = funcio.getCodigo_funcionario(); } cadastro.setVisible(true); listagem.setVisible(false); } Método responsável por salvar ou alterar o funcionário protected void salvar() { // Capturar informações que o usuário digitou String nome_funcionario = nome.getText(); String cpf_funcionario = cpf.getText(); String endereco_funcionario = endereco.getText(); String email_funcionario = email.getText(); String fone_funcionario = telefone.getText(); String senha_funcionario = senha.getText(); String rep_senha_funcionario= repsenha.getText(); if(email_funcionario.equals("")&& cpf_funcionario.equals("")&&fone_funcionario.equals("")&&nome_funcionario.equals("")){ JOptionPane.showMessageDialog(null, "Preencha os campos"); }else if(!rep_senha_funcionario.equals(senha_funcionario)){ JOptionPane.showMessageDialog(null, "As senhas são diferentes"); //validar se as senhas são iguais }else if(endereco_funcionario.equals("")){ JOptionPane.showMessageDialog(null, "O campo Endereço é Obrigatório!"); } // Criando o objeto Funcionarios func = new Funcionarios(); func.setNome(nome_funcionario); func.setEmail(email_funcionario); func.setTelefone(fone_funcionario); func.setSenha(senha_funcionario); func.setEndereco(endereco_funcionario); func.setCpf_funcionario(cpf_funcionario); func.setCodigo_funcionario(codigoEditar); control.Funcionarios manutencao = new control.Funcionarios(); //validar se estamos cadastrando ou editando os registros if(codigoEditar == 0){ manutencao.inserir(func); }else{ manutencao.alterar(func); } limparInformacoes(); tabbedPane.setSelectedIndex(1); } } Método de salvar do pacote control da classe funcionários public void inserir(dao.Funcionarios func) { if (func != null) { // Variável de conexão de DB java.sql.Connection conn = null; try { conn = ConnectDB.conexaoDB(); java.sql.PreparedStatement pstm; pstm = conn.prepareStatement(INSERT); pstm.setString(1, func.getCpf_funcionario()); pstm.setString(2, func.getEmail()); pstm.setString(3, func.getSenha()); pstm.setString(4, func.getNome()); pstm.setString(5, func.getEndereco()); pstm.setString(6, func.getTelefone()); // Envia para o banco de dados Boolean teste; teste = pstm.execute(); // Validar inserção no banco de dados if (!teste) { JOptionPane.showMessageDialog(null, "Funcionario cadastrado com sucesso!"); } else { JOptionPane.showMessageDialog(null, "Erro ao cadastrar o Funcionario!"); } // Fecha a conexão com o banco de dados ConnectDB.fecharConexao(conn); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Erro ao cadastrar o Funcionario!"); } } } Método de alterar do pacote control da classe funcionários //parametro objeto dao.funcionarios public void alterar(dao.Funcionarios func) { java.sql.Connection conn = null; try { conn = ConnectDB.conexaoDB(); //prepara a query java.sql.PreparedStatement pstm; pstm = conn.prepareStatement(UPDATE); pstm.setString(1, func.getCpf_funcionario()); pstm.setString(2, func.getEmail()); pstm.setString(3, func.getNome()); pstm.setString(4, func.getEndereco()); pstm.setString(5, func.getTelefone()); pstm.setString(6, func.getSenha()); pstm.setInt(7, func.getCodigo_funcionario()); // Envia para o banco de dados Boolean teste; teste = pstm.execute(); // Validar inserção no banco de dados if (!teste) { JOptionPane.showMessageDialog(null, "Funcionario alterado com sucesso!"); } else { JOptionPane.showMessageDialog(null, "Erro ao alterar o funcionario!"); } // Fecha a conexão com o banco de dados ConnectDB.fecharConexao(conn); } catch (SQLException e) { JOptionPane.showMessageDialog(null, "Erro ao alterar o funcionario!"+e.getMessage()); } } Peço ajuda de vocês para corrigir o problema.
  24. Boa Tarde, Estou com uma dúvida sobre como fazer esse Select. Nesse momento está assim: SELECT conteudo,remetente,doador_id,d.nome, instituicoes_codigo,i.nome FROM instituicoes i JOIN doador d RIGHT JOIN mensagem m ON m.instituicoes_codigo=i.codigo AND m.doador_id=d.id; O código da instituição não é obrigatório, o resto é obrigatório. Nesse comando se uma instituição tem o valor nulo o ID do doador aparece mas o nome do doador fica como nulo. Como poderia resolver esse problema?
  25. Olá sou novo no fórum, comecei a programar faz pouco tempo, mas ás vezes tenho dúvidas, e problemas que não consigo resolver, por isso peço a ajuda de vocês para resolver esse problema. Tenho a função inserir e nela tem uma validação de entrada e saída, primeiro ela faz um select com a função count com um where referenciando o código do produto, depois ela cai na condição if($quantidade_db >= $quantidade || mysqli_num_rows($result) == 0) se a quantidade do banco for maior ou igual quantidade inserida pelo usuário ou se mysqli_num_rows == 0 ela vai para a inserção, se a condição for falsa, mostra uma mensagem na tela "valor ultrapassa a quantidade em estoque". A validação funciona para a saída, mas para entrada, por exemplo, o usuário cadastra o produto com a flag de entrada duas vezes com a quantidade de 50, mas novamente ele cadastra o mesmo produto com a flag de entrada mas com a quantidade de 101, a vai aparecer a mensagem "valor ultrapassa a quantidade em estoque". Na entrada o usuário deve digitar a quantidade que ele quiser, e não cair no else para exibir a mensagem. O código: <?php require_once('./base_de_dados/connect_bd.php'); function inserir(){ //Conectando com o banco de dados $dbc = conexao(); $retorno = array(); $erros = array(); $admin; $produto; $registro; $quantidade; //função empty verifica se não tem registro inserido if($_POST['produto'] == ""){ $erros[] = 'O campo codigo administrador é obrigatório!'; }else{ $produto = $_POST['produto']; } if($_POST['admin'] == ""){ $erros[] = 'O campo codigo produto é obrigatório $teste!'; }else{ $admin = $_POST['admin']; } if($_POST['registro'] == ""){ $erros[] = 'O campo Registro é obrigatório!'; }else{ $registro = $_POST['registro']; } if(empty($_POST['quantidade'])){ $erros[] = 'O campo quantidade é obrigatório!'; }else{ $quantidade = $_POST['quantidade']; } if(empty($erros)){ $query = "select SUM(ret.quantidade) AS quantidade, ret.nome_produto, ret.id_produto from(SELECT SUM(p.quantidade) AS QUANTIDADE, p.tipo_registro, p.id_produto, c.nome AS nome_produto, c.imagem FROM estoque p JOIN administrador u ON u.id_admin = p.id_admin JOIN cadastro_produtos c ON c.id_produto = p.id_produto WHERE p.tipo_registro = 'entrada' GROUP BY p.tipo_registro, p.id_produto, c.nome, c.imagem UNION SELECT -SUM(p.quantidade) AS QUANTIDADE, p.tipo_registro, p.id_produto, c.nome AS nome_produto, c.imagem FROM estoque p JOIN administrador u ON u.id_admin = p.id_admin JOIN cadastro_produtos c ON c.id_produto = p.id_produto WHERE p.tipo_registro = 'saida' GROUP BY p.tipo_registro, p.id_produto, c.nome, c.imagem)ret WHERE ret.id_produto = $produto group by ret.nome_produto, ret.id_produto"; echo $query; $result = @mysqli_query($dbc, $query); $row = mysqli_fetch_array($result); $quantidade_db = $row['quantidade']; if($quantidade_db >= $quantidade || mysqli_num_rows($result) == 0){ //inserir no banco de dados $query = "INSERT INTO estoque(id_estoque, quantidade, tipo_registro, id_admin, id_produto, dt_movimentacao) VALUES (NULL, $quantidade,'$registro', '$admin' ,'$produto',CURRENT_TIMESTAMP)"; $result = @mysqli_query($dbc, $query); echo "$query"; if($result){ $retorno[] = 'Cadastro realizado com sucesso!'; }else{ $erros[] = 'Ocorreu algum erro ao cadastrar o estoque!'; } /** if($quantidade_db <= $quantidade || mysqli_num_rows($result) <= 0){ //inserir no banco de dados $query = "INSERT INTO estoque(id_estoque, quantidade, tipo_registro, id_admin, id_produto, dt_movimentacao) VALUES (NULL, $quantidade,'$registro', '$admin' ,'$produto',CURRENT_TIMESTAMP)"; $result = @mysqli_query($dbc, $query); echo "$query"; if($result){ $retorno[] = 'Cadastro realizado com sucesso!'; }else{ $erros[] = 'Ocorreu algum erro ao cadastrar o estoque!'; } }else{ //erro estoque echo"<script>alert('Primeiro Digite a entrada'); history.go(-1)</script>"; } **/ }else{ //erro estoque echo"<script>alert('Valor Ultrapassa a quantidade em estoque'); history.go(-1)</script>"; } }else{ $retorno = $erros; } return $retorno; } ?> Como eu poderia resolver esse problema, ou melhorar a validação?
×
×
  • Criar Novo...