Ir para conteúdo

netocazuza

Members
  • Total de itens

    26
  • Registro em

  • Última visita

Tudo que netocazuza postou

  1. 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()); }
  2. 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?
  3. 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); }
  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

    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']; ?>">
  6. 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.
  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

    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>
  9. 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?
  10. netocazuza

    incluir data e hora nas tabelas

    Exatamente isso que tava precisando Bruno. Valeu.
  11. 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.
  12. 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.
  13. 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>
  14. 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.
  15. netocazuza

    sistema de login não funciona

    Tenho um sistema de Login, que já funciona em outro site e estou tentando transferir pra outro, e não funciona de jeito nenhum. Gostaria que alguém desse uma olhada. Se digito um usuário errado, retorna um erro de usuário inválido, então está checando o banco. Quando insiro um usuário certo, aparece as seguintes mensagens de erro: Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/netosale/public_html/e-educacao/validacao.php:2) in /home/netosale/public_html/e-educacao/validacao.php on line 28 Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/netosale/public_html/e-educacao/validacao.php:2) in /home/netosale/public_html/e-educacao/validacao.php on line 28 Warning: Cannot modify header information - headers already sent by (output started at /home/netosale/public_html/e-educacao/validacao.php:2) in /home/netosale/public_html/e-educacao/validacao.php on line 36 Vou lá nessas duas linhas, e não consigo localizar absolutamente nada de anormal. O que pode estar acontecendo. Já baixei diversos outros sistemas de login, e todos dão erro. Será que é algum problema bom o bootstrap ou coisa parecida? Segue código pra que dêem uma olhada: <?php // Verifica se houve POST e se o usuсrio ou a senha щ(sуo) vazio(s) if (!empty($_POST) AND (empty($_POST['usuario']) OR empty($_POST['senha']))) { header("Location: index.php"); exit; } // Tenta se conectar ao servidor MySQL mysql_connect('localhost', 'xzthyb45', '164544515151561') or trigger_error(mysql_error()); // Tenta se conectar a um banco de dados MySQL mysql_select_db('ljklfdfjkldj') or trigger_error(mysql_error()); $usuario = mysql_real_escape_string($_POST['usuario']); $senha = mysql_real_escape_string($_POST['senha']); // Validaчуo do usuсrio/senha digitados $sql = "SELECT `id`, `nome`, `nivel` FROM `userPerms` WHERE (`usuario` = '".$usuario ."') AND (`senha` = '". sha1($senha) ."') AND (`ativo` = 1) LIMIT 1"; $query = mysql_query($sql); if (mysql_num_rows($query) != 1) { // Mensagem de erro quando os dados sуo invсlidos e/ou o usuсrio nуo foi encontrado echo "Login invсlido!"; exit; } else { // Salva os dados encontados na variсvel $resultado $resultado = mysql_fetch_assoc($query); } // Se a sessуo nуo existir, inicia uma if (!isset($_SESSION)) session_start(); //Salva os dados encontrados na sessуo $_SESSION['UsuarioID'] = $resultado['id']; $_SESSION['UsuarioNome'] = $resultado['nome']; $_SESSION['UsuarioNivel'] = $resultado['nivel']; // Redireciona o visitante header("Location: novaTela.php"); exit; ?>
  16. netocazuza

    BOTÕES EM PHP

    Tenho uma rotina pronta em PHP que grava um número com dois dígitos, num text box, e depois no banco de dados, tudo certinho, funcionando conforme código: <input type="text" name="numero" id="numero" maxlength = "2"> Dessa forma, consigo digitar e salvar números de 00 a 99 (100 números). Tudo vinha dando certo, pois na rotina que usava, não importava se mais de uma pessoa escolhesse o mesmo número. Ocorre que esse procedimento mudou, e agora quero que escolham apenas os 100 números disponíveis, de modo que quando um número for escolhido, ele deverá desaparecer ou ficar inabilitado. Pensei em fazer isso desenhando os botões na tela, e isso já está pronto. Agora não sei como atribuir o valor do botão clicado ao txtbox numero, nem tampouco desabilitar o botão, após ele ser escolhido. Lembrando que essa inabilitação tem que valer para as próximas operações, de modo que cada número só possa ser escolhido uma vez. Queria fazer esse tipo de atribuição usando o txtbox, pra não ter que mexer no sistema de gravação da tabela, que já tá pronto e funcional, inclusive envolvendo uma série de outras variáveis. Queria uma rotina simples. Ao invés de digitar o valor no textbox, apenas clicar no botão correspondente, que o textbox seria preenchido automaticamente. Depois era só clicar no botão gravar, que já tá pronto. Aceito sugestões de uma melhor forma pra fazer isso, desde que não tenha que mexer muito no código. Tenho a rotina de gravação e exibição já pronta, e queria aproveitar.
  17. netocazuza

    erro cookies

    Boa noite a todos. Peguei um exemplo de sistema de login na internet e estou tentando implantar. Está aparecendo um erro, que pela linha mostrada, até sei que é um problema com cookies, porém não sei como resolver. Veja aí, se alguém consegue me ajudar: O erro que aparece fica mostrando a linha 11 do código abaixo: <!DOCTYPE html> <html> <head> <title>Bem-vindo</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body> <?php /* @var $login_cookie type */ $login_cookie = $_COOKIE['login']; if(isset($login_cookie)){ echo"Bem-Vindo, $login_cookie <br>"; echo"Essas informações <font color='red'>PODEM</font> ser acessadas por você"; }else{ echo"Bem-Vindo, convidado <br>"; echo"Essas informações <font color='red'>NÃO PODEM</font> ser acessadas por você"; echo"<br><a href='login.html'>Faça Login</a> Para ler o conteúdo"; } ?> </body> </html>
  18. netocazuza

    ERRO NO CÓDIGO

    Gostaria que alguém tentasse localizar o erro nesse código dessa consulta ao BD. Os dados do html chama essa consulta em php, mas tá dando erro. Já tentei substituir o local host pelo ip do servidor, ou caminho exato do bd, mas sempre retorna erro: <html> <head> <title>Book-O-Rama Catálogo de Busca</title> </head> <body> <h1>Book-O-Rama Catálogo de Busca</h1> <?php // cria nome de variável abreviado $searchtype = $HTTP_POST_VARS['searchtype']; $searchterm = $HTTP_POST_VARS['searchterm']; $searchterm= trim($searchterm); if (!$searchtype || !$searchterm) { echo 'Você não inseriu os detalhes da pesquisa. Por favor, volte e tente novamente.'; exit; } $searchtype = addslashes($searchtype); $searchterm = addslashes($searchterm); @ $db = mysql_pconnect('localhost', 'bookorama','bookorama123'); if (!$db) { echo 'Erro: Não foi possível conectar ao bando de dados. Por favor, tente novamente mais tarde.'; exit; } mysql_select_db('books'); $query = "select * from books where ".$searchtype." like '%".$searchterm."%'"; $result = mysql_query($query); $num_results = mysql_num_rows($result); echo '<p>Número de Livros encontrados: '.$num_results.'</p>'; for ($i=0; $i < $num_results;$i++) { $row = mysql_fetch_array($result); echo '<p><strong>'.($i+1).'. Title: '; echo htmlspecialchars(stripslashes($row['title'])); echo '</strong><br />Author: '; echo stripslashes($row['author']); echo '<br />ISBN: '; echo stripslashes($row['isbn']); echo '<br />Price: '; echo stripslashes($row['price']; echo '</p>'; } ?> </body> </html>
  19. netocazuza

    ERRO NO CÓDIGO

    Verdade, já li bastante sobre isso. Mas o problema é que sou iniciante, e precisava colocar um sistema desses de pé, pra ir aprendendo, mas nunca consigo, pois todos vem com essa bosta. Pra você ter uma idéia, até em cursos pagos, usa essa desgraça de exemplo, e não funciona. Sei que é um problema simples, mas pra quem não tem muito domínio, não consegue superar. Não conecta o banco de dados, e não conectando, nada mais faz sentido. Tirei o arroba, mas continua dando o mesmo erro, e não conecta. Esse problema até desisti, pois é de um livro antigo que baixei na internet, mas comprei um curso, to fazendo as aulas, e quando chega em banco de dados, não funciona, já botei no fórum, mandei a questão pro administador do curso já tem 3 dias, e nenhuma resposta. Ai fica difícil. Veja o outro problema, também o arquivo de conexão. Os bancos tão criados, tudo certinho, usuário e senha... Mas é sempre esse maltido mysql_select que provavelmente não é compatível com a versão que uso agora, mas porque a desgraça do monitor do curso já não prevê isso. Faz a gente perder um tempo da p**** pra preparar a interface gráfica, pra depois a bosta não funcionar. Veja o outro caso, de um outro curso, e tenho pelo menos outros 10 aqui. <?php $server = "localhost"; $user = "root"; $password = ""; $dbName = "sistema"; $conn = mysql_connect($server, $user, $password); $db = mysql_select_db($dbName, $conn); ?>
  20. netocazuza

    CONSULTA EM ARQUIVO TXT

    Boa noite a todos. O meu sistema está gravando os dados num arquivo txt, pois é algo simples e experimental por enquanto. A página que estou postando o código na sequência, lista todos os registros desse arquivo txt, porém eu gostaria de saber se também posso fazer consultas específicas e qual a sintaxe. Vejam o código: Ele está listando todas as apostas feitas. Na tela anterior, a pessoa digita num textbox um número de 0 a 100, e mais algumas informações, clica em gravar, e as informações são gravadas nesse arquivo apostas.txt. Esse arquivo abaixo, lista tudo isso na tela, no formato txt mesmo. Porém lista todas as informações, e eu queria que listasse de acordo com alguns parâmetros. Por exemplo: listar os dados de todos que escolheram o número 88, ou listar todos os prefixos 11, e por aí vai. Cada item desses que citei, são variáveis do sistema. <?php // cria nome de variavel abreviado $DOCUMENT_ROOT = $_SERVER['DOCUMENT_ROOT']; ?> <html> <head> <title>Apostas feitas</title> </head> <body bgcolor="#00C2F7"> <h2>Apostas</h2> <?php @ $fp = @fopen('apostas.txt','r'); if (!$fp) { echo '<p><strong> Número de pedidos.' .'Por favor, tente novamente mais tarde.</strong></p>'; exit; } while (!feof($fp)) { $order= fgets($fp, 999); echo $order.'<br />'; } fclose($fp); ?> </body> </html>
  21. netocazuza

    gravar arquivo txt

    Fiz isso Williams, mas contiua dando o mesmo erro, sem maiores informações.
  22. netocazuza

    gravar arquivo txt

    Estou estudando um sistema php que salva o resultado do processamento num arquivo txt. Estava tudo funcionando até eu implantar a parte do gravar o arquivo txt (orders.txt) numa pasta do meu servidor. Agora aparece o http error 500 e não salva nada. Gostaria que alguém desse uma olhada no arquivo pra ver se encontra o erro. Estou executando o arquivo num navegador google chrome no windows 7, e os asquivos do php estão num servidor linux ubuntu (12.04). Tava funcionando tudo certinho quando eu exibia o resultado na tela apenas. Depois que implementei a rotina de salvar no arquivo txt, que passou a abrir esse erro 500. Vejam o código original: <html> <head> <title>Bob's auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <?php // cria nomes de variaveis abreviados $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; $address = $_POST['address']; $DOCUMENT_ROOT = $_SERVER_VARS['DOCUMENT_ROOT']; ?> <?php echo '<p>Pedido processado.</p>'; $date = date('H:i, jS F'); echo $date; ?> <h2>Resultado pedido</h2> <?php echo '<p>A sua encomenda é a seguinte: </p>'; $totalqty = 0; $totalqty = $tireqty + $oilqty + $sparkqty; if($totalqty == 0) { echo '<font color=red size=5>'; echo 'Você não selecionou nenhum item na página anterior!<br />'; echo '</font>'; } else { if ($tireqty>0) echo $tireqty.' pneus<br />'; if ($oilqty>0) echo $oilqty.' litros de óleo<br />'; if ($sparkqty>0) echo $sparkqty.' velas de ignição<br />'; } if($tireqty<10) $discount = 0; elseif($tireqty >= 10 && $tireqty <= 49) $discount = 5; elseif($tireqty >= 50 && $tireqty <= 99) $discount = 10; elseif($tireqty >= 100) $discount = 15; echo 'Total de itens pedido: '.$totalqty.'<br />'; $totalamount = 0.00; define('TIREPRICE', 100 - $discount); define('OILPRICE', 10); define('SPARKPRICE',4); $totalamount = $tireqty * TIREPRICE + $oilqty * OILPRICE + $sparkqty * SPARKPRICE; echo 'Subtotal: R$'.number_format($totalamount,2).'<br />'; $taxrate = 0.10; // o imposto de vendas local é 10% $totalamount = $totalamount * (1 + $taxrate); echo 'Total incluindo impostos: $'.number_format($totalamount,2).'<br />'; echo 'Entregar em: '.$address. '<br />'; switch($find) { case 'a' : echo '<p>Cliente Regular.</p>'; break; case 'b' : echo '<p>Cliente Obtido por propaganda de TV.</p>'; break; case 'c' : echo '<p>Cliente Lista Telefônica.</p>'; break; case 'd' : echo '<p>Cliente Boca a Boca.</p>'; break; default : echo '<p>Não sabemos como o Cliente nos encontrou.</p>'; break; } $outputstring = $date."\t".$tireqty." pneus \t".$oilqty." Óleo\t" $sparkqty." Velas de Ignição\t\R$".$totalamount ."\t". $address."\n"; // abre o arquivo para anexar fopen("$DOCUMENT_ROOT/../orders/orders.txt", 'ab'); if (!$fp) { echo '<p><strong> Seu pedido não poderá ser processado nesse momento. ' .'Por favor, tente novamente mais tarde.</strong></p></body></html>'; exit; } fwrite($fp, $outputstring, strlen($outputstring)); fclose($fp); echo '<p>Pedido Gravado!</p>'; ?> </body> </html>
  23. netocazuza

    codigo simples não funciona

    Boa noite. Já descobri. O problema todo tá na criação do form, mais especificamente no seu método que tá escrito errado. O certo é method=post e tava methodo. Corrigi aqui e tá funcionando.
  24. netocazuza

    codigo simples não funciona

    Baixei um livro de PHP e estou testando os códigos, porém algumas coisas não estão acontecendo exatamente como no livro, e eu imagino que seja algum erro de sintaxe. O código tá bem simplesinho e vou postar ele pra ver se alguém consegue me ajudar: <html> <head> <title>formulario basico pedido</title> </head> <body> <form action="processorder.php" methodo=post> <table border=0> <tr bgcolor=#cccccc> <td width=150>Item</td> <td width=15>Quantity</td> </tr> <tr> <td>Tires</td> <td allign="center"><input type="text" name="tireqty" size="3" maxlength="3"></td> </tr> <tr> <td>Oil</td> <td allign="center"><input type="text" name="oilqty" size="3" maxlength="3"></td> </tr> <tr> <td>Spark Plugs</td> <td allign="center"><input type="text" name="sparkqty" size="3" maxlength="3"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" valur="Submit Order"></td> </tr> </table> </form> </body> </html> O código acima, simplesmente cria um formulário com 3 campos de texto pra gente informar valores e salvar. Ao clicar no botão enviar é chamado o arquivo processorder.php que vou colar na sequência que em tese teria que apenas mostrar o valor dessas três variáveis na tela, o que não tá ocorrendo. Mostra apenas o texto, sem o valor das variáveis de texto. Tenho certeza que é algum erro de sintaxe,mas não posso avançar, pois certamente não vai salvar no banco de dados também por conta desse erro. Segue código do php: <html> <head> <title>Bob's auto Parts - Order Results</title> </head> <body> <h1>Bob's Auto Parts</h1> <?php // cria nomes de variaveis abreviados $tireqty = $_POST['tireqty']; $oilqty = $_POST['oilqty']; $sparkqty = $_POST['sparkqty']; ?> <?php echo '<p>Order processed.</p>'; echo date('H:i, jS F'); ?> <h2>Order Results</h2> <?php echo '<p>Your order is as follows: </p>'; echo $tireqty.'tires<br />'; echo $oilqty.'bottles of oil<br />'; echo $sparkqty.'spark plugs<br />'; ?> </body> </html> Da forma como está, aparece o texto todo, menos os valores que lanço nos textbox
  25. netocazuza

    impedir gravação de campo em branco.

    Tenho um sistema de login gravando os dados num BD mysql. Ocorre que se clicarmos no botão gravar, com todos os textbox em branco, ele grava um registro em branco no BD,usando o auto increment e queimando um número da sequência. Queria criar uma rotina simples, no formulário mesmo, pra só habilitar o botão gravar, quando todos os textbox (5) estiverem preenchidos. Tem como fazer isso em php?
×

Informação importante

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