Jump to content

netocazuza

Members
  • Content count

    27
  • Joined

  • Last visited

Community Reputation

1 Comum

About netocazuza

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. netocazuza

    PHP NÃO FUNCIONA NO SERVIDOR

    Tenho um servidor linux instalado em casa, com ubuntu 16.04, apache 2 e php 7.0; e uso ele apenas para testar sites. Faço todo o código no servidor (pastas e páginas), e depois, para testar, acesso de outro pc, pelo navegador, e ip do servidor (http://192.168.0.20/pasta_do_site) e dá tudo certo quando uso html, css, e até java, porém, quando uso php, sempre aparece um erro 500 e nada funciona. Já aconteceu até de eu pegar a pasta inteira com problema, subir numa hospedagem, e tudo funcionar normalmente, então o problema com o código está descartado. É alguma configuração do servidor. Sei que pode estar faltando alguma coisa, mas já fiz vários testes (htaccess, sites-availables, etc), e nada deu retorno até agora. Alguém tem uma dica do que pode estar ocorrendo?
  2. netocazuza

    fazer dois testes antes de gravar

    Tenho uma rotina em php que está funcionando, gravando os dados numa tabela. Agora surgiu a necessidade de fazer dois testes antes da gravação, e eu não estou conseguindo ter idéia de como fazer, por isso vou postar no próprio código pra ver se entendem. O primeiro teste, é ver se o número escolhido, já foi selecionado (variável numero), e caso isso ocorra, não gravar. O outro teste é impedir que o mesmo usuário (usuário apostador)faça mais de uma aposta. Segue código: <?php require_once 'init.php'; // pega os dados do formuário $data_hora = isset($_POST['data_hora']) ? $_POST['data_hora'] : null; $apostador = isset($_POST['apostador']) ? $_POST['apostador'] : null; // quero que esse apostador não se repita. Se já estiver na tabela, avisar e sair. $telefone = isset($_POST['telefone']) ? $_POST['telefone'] : null; $numero = isset($_POST['numero']) ? $_POST['numero'] : null; // quero que cheque esse número na tabela existente, e caso exista, retornar para inserir outro. // validação (bem simples, só pra evitar dados vazios) if (empty($data_hora) || empty($apostador) || empty($telefone) || empty($numero)) { echo "Volte e preencha todos os campos"; exit; } $hoje = date("d-m-Y H:i"); $limite = ('08-03-2019 16:35'); if (strtotime($hoje) >= strtotime($limite)){ echo "Esgotado o horario limite. Aguarde para o próximo sorteio!"; exit; } // a data vem no formato dd/mm/YYYY // então precisamos converter para YYYY-mm-dd // insere no banco $PDO = db_connect(); // Acredito que esse teste deva ser feito aqui, antes de gravar, mas é só um palpite, pois tô mais perdido do que padre (alguns) em boate //verificar se apostador e numero já existem na tabela, e caso exista, retornar o fluxo $sql = "INSERT INTO palpites(data_hora, apostador, telefone, numero) VALUES(:data_hora, :apostador, :telefone, :numero)"; $stmt = $PDO->prepare($sql); $stmt->bindParam(':data_hora', $data_hora); $stmt->bindParam(':apostador', $apostador); $stmt->bindParam(':telefone', $telefone); $stmt->bindParam(':numero', $numero); if ($stmt->execute()) { header('Location: index.php'); } else { echo "Erro ao cadastrar"; print_r($stmt->errorInfo()); }
  3. netocazuza

    gerar fpdf numa nova aba ou janela

    Olá, bom dia a todos. Estou criando um sisteminha simples para geração de um documento em pdf. Para isso, estou juntando partes de vários projetos em um só, e o meu problema no momento é bem simples. O sistema tá funcionando, porém gera o pdf na mesma janela, sobre a tela de cadastramento, e eu gostaria que abrisse numa nova aba ou janela, pra que a tela de cadastramento permanecesse sempre ativa. Atualmente está assim: O arquivo que grava os registros termina com a instrução header('Location: tela_cadastramento.php'); Isso é uma rotina pronta, que faz com que ao cadastrar um registro, já volte nesse tela, com os inputs limpos, aguardando novos registros. Fiz essa rotina primeiro, e tá funcional. Depois disso, peguei uma rotina pronta para gerar o PDF com fpdf, e criei uma function com essa rotina, que termina com: $pdf->Output(); e até aí, tá tudo normal, pois é exatamente isso que quero, apenas abrir o pdf na tela, e o usuário decide o que vai fazer. Salvar, imprimir, ou os dois. Está funcionando, pois abre o pdf, tudo certinho. O único problema é que abre a janela do pdf "sobre" a janela ativa do sistema, e com isso gera um warning pois impede que a instrução do header seja cumprida. Já tentei mudar o local da chamada da função do fpdf, mas não resolveu, então gostaria de passar uma instrução para abrir o fpdf em outra aba ou janela, mas não sei como devo fazer, uma vez que na ordem do sistema, é feita uma gravação no banco, e a geração do pdf é feita de forma automática, pegando carona nessa gravação. Estou falando isso, pois se fosse uma botão específico gerar pdf, sei que teria como fazer usando target, ou onclick. Quero fazer algo equivalente, dentro da função, ou do comando de output. Será que me fiz entender, e alguém pode me ajudar?
  4. netocazuza

    somar dois input text

    Obrigado pela ajuda Matheus. Era exatamente esse o problema e foi resolvido. Com relação à postagem, vou procurar observar melhor a relação entre os temas, e tentar postar no local apropriado. Me desculpe por ora, e releve, pois, "qualquer caminho é caminho pra quem se encontra perdido".
  5. netocazuza

    somar dois input text

    Tenho um input text no meu form, que recebe um valor do banco de dados. Isso já está funcionando perfeitamente. Criei uma função para somar o valor de um outro campo, com esse que trás da tabela, e está apenas concatenando. O que posso estar errando? Se como exemplo, eu trago do banco o valor 50, e depois digito 50 nesse outro campo que faz a soma, ela passa a mostrar 5050, acrescentando sempre o último valor digitado à esquerda do valor que veio da tabela, quando o normal seria exibir o resultado da soma. Vejam a função que deveria somar: function onSomaTotal(){ var valorAbastecimento = document.getElementById("valorAbastecimento").value; var totalValor = document.getElementById("totalValor").value; document.getElementById("totalValor").value = (valorAbastecimento + totalValor); }
  6. netocazuza

    listar ultimo registro da tabela

    Arrumei um jeito aqui Michell. De qualquer forma obrigado pela ajuda. Só ainda não tá completo, pois estou usando PDO, e tendo que listar os dados da minha conexão ao BANCO, dentro do próprio código, mas tá funcionando. Depois vejo um jeito de fazer isso usando um arquivo de conexão. Por enquanto, resolvi o meu problema, e vou deixar a solução aqui, caso mais alguém precise. Primeiro fiz uma consulta específica no banco: <?php $pdo = new PDO('mysql:dbname=nomeBanco;host=localhost', 'usuario_banco', 'senha_banco'); $lastKmAbastecimento = $pdo->query("SELECT * FROM combustivel ORDER BY kmAbastecimento DESC LIMIT 1", PDO::FETCH_ASSOC)->fetch(); ?> Feita essa consulta, chamei os dados do $lastKmAbastecimento lá no input, e retorna sempre o último registro salvo: <input type="text" name = "kmAbastecimento" id = "kmAbastecimento" placeholder = "KM Anterior" value = "<?php echo $lastKmAbastecimento['kmAbastecimento']; ?>">
  7. netocazuza

    listar ultimo registro da tabela

    Não Michell. A dificuldade está sendo em preencher esse input com os valores da tabela que já existe. Com o while, e estou listando os valores, já. Gostaria de lançar o último valor da tabela dentro desse input box, e essa pesquisa que não tô conseguindo. Listo os valores na tela, com o while, agora como pegar o último valor inserido e lançar no input, que não consigo.
  8. netocazuza

    listar ultimo registro da tabela

    Tenho um tabela que guarda os abastecimentos de um veículo e gostaria de fazer o seguinte código funcionar. Preciso pegar o último registro com a quilometragem do odômetro e já trazer pro input text específico, chamado kmAnterior. Tem que ser o último campo, pra eu descobrir o caminho percorrido. Exemplo: kmAnterior 115, kmAtual 215. Cálculo (kmAtual - kmAnterior) = 100 km. Então o atual eu vou digitar, e gostaria que o anterior buscasse automaticamente na tabela (último registro gravado). Estou fazendo de uma forma que não está funcionando: <input type="text" name = "kmAnterior" placeholder = "KM Anterior" value = "<?php echo $linha['kmAbastecimento']; ?>"> Onde esse $linha é a forma que estou usando pra preencher uma tabela (usando while). Quero conseguir pegar sempre o último valor da tabela e lançar diretamente nesse campo, de uma forma mais limpa e simples possível, pois a tabela tem uma série de outros cálculos.
  9. netocazuza

    codigo adaptado não funciona

    Gostaria que alguém me ajudasse a encontrar erro num código. Estou fazendo um curto na net, e tentando adaptar o código que funciona para ir aprimorando a aprendizagem. Então vou colocar dois códigos aqui, onde um funciona o outro não. O que funciona é o do curso com mais campos. O que fiz foi apenas adaptar esse código que funciona para uma quantidade bem menor, e ver se funciona. Os dois códigos abre o formulário, aparentemente consultam o banco com sucesso, porém só o original está alterando, certamente por algum erro meu. Mas já olhei trocentas vezes, postei dúvida lá no curso, e o cara não responde, então tô parado na aprendizagem por conta disso. Basicamente é um formulário de cadastro de transportadoras onde o usuário altera os dados de uma transportadora através desse formulário. Esse tá funcionando tudo certinho. Tentei reproduzir esse mesmo formulário, porém apenas com dois campos (cidade e estado), e mesmo assim não funciona. Lista certinho, mas não altera, por isso acho que é um erro simples. Segue os dois códigos pra que comparem: CÓDIGO QUE FUNCIONA: <?php require_once("conexao/conexao.php"); ?> <?php if (isset($_POST["nometransportadora"])){ $nome = utf8_decode($_POST["nometransportadora"]); $endereco = utf8_decode($_POST["endereco"]); $cidade = utf8_decode($_POST["cidade"]); $estado = $_POST["estados"]; $cep = $_POST["cep"]; $cnpj = $_POST["cnpj"]; $telefone = $_POST["telefone"]; $tID = $_POST["transportadoraID"]; // CRIAR O OBJETO PARA ALTERAR $alterar = "UPDATE transportadoras "; $alterar .= "SET "; $alterar .= "nometransportadora = '{$nome}', "; $alterar .= "endereco = '{$endereco}', "; $alterar .= "cidade = '{$cidade}', "; $alterar .= "estadoID = {$estado}, "; $alterar .= "cep = '{$cep}', "; $alterar .= "cnpj = '{$cnpj}', "; $alterar .= "telefone = '{$telefone}' "; $alterar .= "WHERE transportadoraID = {$tID}"; $operacao_alterar = mysqli_query($conecta, $alterar); if (!$operacao_alterar){ die("Erro na alteração!"); }else { header("location: listagem2.php"); } } // Consulta a tabela de transportadoras. $tr = "SELECT * "; $tr .= "FROM transportadoras "; if (isset($_GET["codigo"])){ $id = $_GET["codigo"]; $tr .= "WHERE transportadoraID = {$id} "; }else { $tr .= "WHERE transportadoraID = 1 "; } $con_transportadora = mysqli_query($conecta, $tr); if (!$con_transportadora){ die("Erro na consulta"); } $info_transportadora = mysqli_fetch_assoc($con_transportadora); // Consulta aos estados $estados = "SELECT * "; $estados .= "FROM estados "; $lista_estados = mysqli_query($conecta, $estados); if (!$lista_estados){ die("erro no banco"); } ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Curso PHP INTEGRACAO</title> <!-- estilo --> <link href="_css/estilo.css" rel="stylesheet"> <link href="_css/alteracao.css" rel="stylesheet"> </head> <body> <?php include_once("_incluir/topo.php"); ?> <main> <div id="janela_formulario"> <form action="alteracao.php" method = "post"> <h2>Alteração de Transportadoras</h2> <label for="nometransportadora">Nome da Transportadora</label> <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["nometransportadora"]) ?>" name = "nometransportadora" id = "nometransportadora"> <label for="endereco">Endereço</label> <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["endereco"]) ?>" name = "endereco" id = "endereco"> <label for="cidade">Cidade</label> <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cidade"]) ?>" name = "cidade" id = "cidade"> <label for="estados">Estados</label> <select id = "estados" name = "estados"> <?php $meuestado = $info_transportadora["estadoID"]; while ($linha = mysqli_fetch_assoc($lista_estados)){ $estado_principal = $linha["estadoID"]; if ($meuestado == $estado_principal){ ?> <option value="<?php echo $linha["estadoID"] ?>" selected> <?php echo utf8_encode($linha ["nome"]) ?> </option> <?php } else { ?> <option value="<?php echo $linha["estadoID"] ?>"> <?php echo utf8_encode($linha ["nome"]) ?> </option> <?php } } ?> </select> <label for="cep">CEP</label> <input type = "text" value = "<?php echo ( $info_transportadora["cep"]) ?>" name = "cep" id = "cep"> <label for="telefone">Telefone</label> <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["telefone"]) ?>" name = "telefone" id = "telefone"> <label for="cnpj">CNPJ</label> <input type = "text" value = "<?php echo utf8_encode( $info_transportadora["cnpj"]) ?>" name = "cnpj" id = "cnpj"> <input type = "hidden" name = "transportadoraID" value = "<?php echo $info_transportadora["transportadoraID"] ?>"> <input type = "submit" value="Confirmar Alteração"> </form> </div> </main> <?php include_once("_incluir/rodape.php"); ?> </body> </html> CÓDIGO QUE NÃO FUNCIONA. (Lista tudo certinho, mas não altera, nem traz o estádo pré-checado). <?php require_once("conexao/conexao.php"); ?> <?php if( isset($_POST["nomeCidade"]) ) { $nomeCidade = utf8_decode($_POST["nomeCidade"]); $estado = $_POST["estados"]; $cID = $_POST["cidadeID"]; // Objeto para alterar $alterar = "UPDATE cidades "; $alterar .= "SET "; $alterar .= "nomeCidade = '{$nomeCidade}', "; $alterar .= "estadoID = {$estado} "; $alterar .= "WHERE cidadeID = {$cID} "; $operacao_alterar = mysqli_query($conecta, $alterar); if(!$operacao_alterar) { die("Erro na alteracao"); } else { header("location:alterarCidades.php"); } } // Consulta a tabela de cidades $tr = "SELECT * "; $tr .= "FROM cidades "; if(isset($_GET["codigo"]) ) { $id = $_GET["codigo"]; $tr .= "WHERE cidadeID = {$id} "; } else { $tr .= "WHERE cidadeID = 1 "; } $con_cidade = mysqli_query($conecta,$tr); if(!$con_cidade) { die("Erro na consulta"); } $info_cidade = mysqli_fetch_assoc($con_cidade); // consulta aos estados $estados = "SELECT * "; $estados .= "FROM estados "; $lista_estados = mysqli_query($conecta, $estados); if(!$lista_estados) { die("erro no banco"); } ?> <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Alteração Cidades</title> <!-- estilo --> <link href="_css/estilo.css" rel="stylesheet"> <link href="_css/alteracao.css" rel="stylesheet"> </head> <body> <?php include_once("_incluir/topo.php"); ?> <main> <div id="janela_formulario"> <form action="alteracaoCidades.php" method="post"> <h2>Alteração de Cidades</h2> <label for="nomeCidade">Nome da Cidade</label> <input type="text" value="<?php echo utf8_encode($info_cidade["nomeCidade"]) ?>" name="nomeCidade" id="nomeCidade"> <label for="estados">Estados</label> <select id="estados" name="estados"> <?php $meuestado = $info_cidade["estadoID"]; while($linha = mysqli_fetch_assoc($lista_estados)) { $estado_principal = $linha["estadoID"]; if($meuestado == $estado_principal) { ?> <option value="<?php echo $linha["estadoID"] ?>" selected> <?php echo utf8_encode($linha["nome"]) ?> </option> <?php } else { ?> <option value="<?php echo $linha["estadoID"] ?>" > <?php echo utf8_encode($linha["nome"]) ?> </option> <?php } } ?> </select> <input type="hidden" name="cidadeID" value="<?php echo $info_cidade["cidadeID"] ?>"> <input type="submit" value="Confirmar alteração"> </form> </div> </main> <?php include_once("_incluir/rodape.php"); ?> </body> </html>
  10. netocazuza

    mostrar ou não campo de texto

    Estou trabalhando num formulário de cadastro onde aparece o número da certidão de nascimento. Como já devem saber, existe o antigo formato de certidões, com nome do cartório, termo, livro e folha (4 campos), e um formato novo de campo único, com 32 dígitos, onde estão implícitas todas essas informações. Coloquei no meu formulário apenas um campo de texto para colocar esses 32 dígitos da nova certidão, e apenas um checkbox chamado certidão antiga, que quando clicado (checado) irá fazer aparecer os quatro campos para preenchimento com os dados das certidões antigas. Pensei em colocar hidden no campo, e através de um if, mudar para text quando checado. Mesmo pra essa idéia simples, não consigo achar a sintaxe. Alguém tem uma solução pra esse problema?
  11. netocazuza

    incluir data e hora nas tabelas

    Exatamente isso que tava precisando Bruno. Valeu.
  12. netocazuza

    incluir data e hora nas tabelas

    Tenho um projeto, já funcionando, com vários bancos de dados e várias tabelas. No momento, surgiu a necessidade de registar data e hora da gravação de dados em algumas tabelas. Só preciso que fique registrado na tabela a data e hora das gravações. Fui em cada uma delas e criei um campo do tipo datetime e estou tentando inserir um NOW() na gravação, mas não estou acertando com a sintaxe. Alguém tem uma sugestão? Basta registrar a data e hora na tabela, sem a necessidade de acrescentar textbox no formulário. Exemplo, eu tenho um formulário onde se registra os turnos (manhã, tarde e noite). Tenho apenas um textbox no formulário chamado turno, e um código que guarda esse valor (varchar) numa tabela chamada junho, que só tinha originalmente um campo chamado turno, funcionando. Criei mais um campo chamado cadastramento, do tipo datetime, pra guardar data e hora da gravação desse novo turno, e não estou acertando com a sintaxe.
  13. netocazuza

    [Resolvido] listar dados numa combobox

    Verdade Gabriel. Obrigado pela dica. Como eu só precisava mostrar os dados em um, ou outro, exclui o list, e começou a listar na combobox. Tá ok agora.
  14. netocazuza

    [Resolvido] listar dados numa combobox

    Estou seguindo uma video aula de php com mysql e estou conseguindo listar os dados de uma tabela em uma lista (list), só pra que saibam que o problema de conexão com o banco já está superado. Tentei aproveitar o mesmo código para listar a mesma tabela numa combobox, e não tá preenchendo. Aparece a combo, mas não preenche com os dados. Alguém sabe onde estou errando? Segue código: <body> <ul> <?php // Passo 4 - Listagem dos dados while($registro = mysqli_fetch_assoc($categorias)){ ?> <li><?php echo $registro ["nomecategoria"]?></li> <?php } ?> </ul> <form name="produto" method="post" action=""> <label for="">Selecione um produto</label> <select> <option>Selecione...</option> <?php while($registro = mysqli_fetch_assoc($categorias)) { ?> <option = "<?php echo $registro['categoriaID'] ?>"><?php echo $registro["nomecategoria"] ?></option> <?php } ?> </select> </form> <?php //Passo 5 - Liberar dados da memória mysqli_free_result($categorias); ?> </body>
  15. netocazuza

    sistema de login não funciona

    Era exatamente isso Gabriel. Obrigado pela força. Tava pra ficar maluco pois não achava. O erro tava no início do arquivo, onde deixei uma linha em branco. E também na session, que não estava exatamente no começo. Provavelmente eu acertava uma coisa e deixava a outra.
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.