Ir para conteúdo
Fórum Script Brasil

PhoenixWings

Membros
  • Total de itens

    34
  • Registro em

  • Última visita

Tudo que PhoenixWings postou

  1. PhoenixWings

    Php e arquivo

    andressac boa tarde. Espero que esse trecho de código lhe ajude em algo :) . leitura.php <?php $ponteiro = fopen("teste.txt", "r"); $conteudo = fread($ponteiro, 30); echo $conteudo; fclose($ponteiro); ?> Dito por Juliano Niederauer: "Este programa abre um arquivo chamado teste.txt e lê os seus primeiros 30 primeiros bytes, armazenando-os na variável $conteudo. Em seguida, o valor obtido é exibido na tela com o comando echo e o arquivo é fechado com fclose." não se esqueça que o arquivo .txt deverá estar na mesma pasta onde se encontra o seu arquivo .php . Abraços.
  2. Boa noite vini_loock! A minha meta agora é fazer com que seja mostrada a frase "sua busca não obteve êxito" (ou algo assim) quando eu utilizar na ferramenta de busca, uma palavra-chave que não consta na tabela "livros" do meu BD. Nela tenho um campo pchave que se refere as palavras-chave que servirão para pesquisar os livros. Espero ter esclarecido o problema.
  3. Boa tarde gente. Desculpem-me a demora de uma era para responder. Eu estava enrolado com outras linguagens e algumas disciplinas da faculdade então não tive muito tempo para olhar para esse programa. Eu resolvi quase todos os meus problemas. Consegui realizar a consulta organizando-a: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Sistema de Busca</title> </head> <body> <?php $busca = $_POST["busca"]; include "conexao.inc"; $resultado = mysqli_query($conexao, "SELECT * FROM livros WHERE pchave LIKE '%$busca%'") or die(mysqli_error($conexao)); /* como faço para excetuar, individualmente, palavras-chave que não constam na tabela ? */ if($busca != mysqli_query($conexao, "SELECT pchave FROM livros WHERE pchave LIKE '%$busca%'")) { echo "Desculpe-nos, a sua busca não obteve êxito. Tente efetuá-la com outras palavras-chave."; mysqli_free_result($resultado); mysqli_close($conexao); } else while($linha = mysqli_fetch_array($resultado, MYSQLI_ASSOC)) { printf("Título: %s<br>Autor: %s\nEditora: %s<br>Ano de publicacação: %d<br>Quantidade: %d<br>País: %s<br>Palavras-chave: %s <br>Preço: %.2f<br>Técnico: %s<br>Encarte: %s<br>CDROM: %s<br>Capa dura: %s<br><br>", $linha["titulo"], $linha["autor"], $linha["editora"], $linha["ano_pub"], $linha["quant"],$linha["pais"], $linha["pchave"], $linha["preço"], $linha["tecnico"], $linha["encarte"], $linha["cdrom"], $linha["capadura"]); } ?> </body> </html> Só que agora eu gostaria de filtrar as palavras-chave. Ex.: Gostaria que para a palavra chave "carro", fosse retornada a frase que eu escrevi no echo do if abaixo de $resultado. Gostaria, se possível, de fazer isso de uma forma elegante, sem outra query. É possível? outra coisa: Supondo que eu tenha as palavras-chave "mistério drama simbologia" se eu buscar por "mistério simbologia" eu não terei resultados mas se eu buscar por "mistério drama" terei. Eu vou ter que usar um explode() para avaliar cada palavra-chave individualmente ? :blink: Obrigado pela Ajuda.
  4. Boa tarde Endor! eu vou analisar a proposta passada por você. Por favor, se possível, não tranquem o tópico para que eu possa voltar a escrever aqui se eu não conseguir resolver o problema. Muito obrigado por considerar o meu pedido :)
  5. Como eu faço isso Endor? é a primeira vez que eu organizo os resultados oriundos de uma query.
  6. Obrigado pela atenção Endor. Entendi mais ou menos a sua colocação. O que devo escrever se o resultado for true ? também não tenho resultado algum se eu usar uma palavra que não consta na tabela. Eu esperava que aparecesse a mensagem que escrevi no echo sobre a busca solicitada não ter sido encontrada.
  7. Boa tarde a todos. Implementei um sistema de busca simples mas eu não obtenho retorno ao buscar um livro através de uma palavra-chave. Segue abaixo os códigos inerentes à implementação. E mais uma vez, obrigado. Ferramenta de busca <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title>Sistema de Busca</title> </head> <body> <div style="text-align: center;"> <h1>Sistema de busca de livros I.T Books</h1> <form action="retornabusca.php" method="POST"> <input type="text" name="busca" size="40" /> <input type="submit" value="Buscar Livro" name="ok" /> </form> </div> </body> </html> o Arquivo PHP da busca <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" /> <title> Sistema de Busca</title> </head> <body> <?php $busca = $_POST["busca"]; include "conexao.inc"; $resultado = mysqli_query($conexao, "SELECT * FROM livros WHERE pchave LIKE '%$busca%'") or die(mysqli_error($conexao)); if(!($resultado)) echo "Desculpe-nos, a sua busca não obteve êxito. Tente efetuá-la com outras palavras-chave."; mysqli_close($conexao); ?> </body> </html> Arquivo inc: <?php $conexao = mysqli_connect("localhost", "root", "phoenixwings"); mysqli_select_db($conexao, "livraria"); ?> Um print da tabela:
  8. Boa tarde gente. Há alguns dias criei um blog no Blogger do Google e estou tentando colocar um evento onclick na tag <td> correspondente ao que será o "home" da página. Mas toda vez que eu insiro o código, me é retornado um erro que há algum caractere inválido. Segue abaixo o código: <table class='barramenu'> <tr> <td><span onclick='location.href='http://www.debugai.blogspot.com/''>Home</span></td> </tr> </table> Outra coisa: o a:hover, visited, link, não funcionam no firefox e no Chrome? eu já escrevi corretamente o CSS mas ele só está funcionando no IE. Obrigado pela ajuda.
  9. Boa noite gente. Estou tentando desenhar duas linhas numa imagem porém ao invés disso eu recebo como retorno a seguinte linha como uma imagem: http://127.0.0.1/TesteImagem/linha.php no EasyPHP. Eu inseri o extensions referente à biblioteca GD no php.ini do EasyPHP. o código que copiei de um livro segue abaixo: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Desenhando Linhas</title> </head> <body> <?php header("Content-type: image/jpeg"); $imagem = imagecreate(200, 200); $azul = imagecolorallocate($imagem, 0, 0, 255); $branco = imagecolorallocate($imagem, 255, 255, 255); imagesetthickness($imagem, 10); imageline($imagem, 0, 0, 199, 199, $branco); imageline($imagem, 0, 199, 199, 0, $branco); imagejpeg($imagem); imagedestroy($imagem); ?> </body> </html> Obrigado pela atenção cedida. Consegui resolver o problema (Esse foi rápido). Ao invés de escrever o código com o meta, o doctype do XHTML e o Content-type text e etc eu apenas escrevi: <?php header("Content-type: image/jpeg"); $imagem = imagecreate(200, 200); $azul = imagecolorallocate($imagem, 0, 0, 255); $branco = imagecolorallocate($imagem, 255, 255, 255); imagesetthickness($imagem, 10); imageline($imagem, 0, 0, 199, 199, $branco); imageline($imagem, 0, 199, 199, 0, $branco); imagejpeg($imagem); imagedestroy($imagem); ?> E salvei o arquivo como linha.php . Agora queria saber porque eu não estava conseguindo fazer com que a imagem aparecesse com a inclusão do doctype.
  10. Obrigado por toda a explicação kuroi. Realmente foi muito elucidativa.
  11. Mas o que você quis dizer com "onSubmit ser só para formulários" ? desculpa, eu sou novo em JS. Eu não coloquei o onSubmit dentro de um form?
  12. *FIT* muito obrigado! não conhecia esse comando die(mysqli_error($conexao)); ao usá-lo, o PHPMyAdmin acusou que eu tinha excedido o tamanho dos caracteres inseridos para o telefone (eu tinha colocado esse campo como INT(14) ) porque o telefone tem DDI, DDD e o número propriamente dito :P aí eu modifiquei o tipo para VARCHAR(15) e consegui fazer a inserção. :D E... Feliz Dia do Programador!
  13. Boa tarde gente. Eu criei um form num html mas o onSubmit dele não quer fazer o direcionamento para a outra página: <form> <input type="submit" value="Enviar" onSubmit="parent.location='muito_obrigado.html'"; /> </form> eu li algo sobre "se o submit não funcionar, tente configurar parent.location para location.href" . Como eu faço isso? como direcionar para outra página html simples? obrigado pela ajuda.
  14. Eu estou tentando inserir dados de um formulário numa tabela mas não estou conseguindo (é retornado -1 para linhas afetadas): PHP <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastro</title> </head> <body> <?php $nome = $_POST["nome"]; $endereco = $_POST["endereco"]; $numero = $_POST["numero"]; $complemento = $_POST["complemento"]; $pais = $_POST["pais"]; $cidade = $_POST["cidade"]; $cep = $_POST["cep"]; $ddi = $_POST["ddi"]; $ddd = $_POST["ddd"]; $telefone = $_POST["tel"]; $convidados = $_POST["convidados"]; $comentario = $_POST["comentario"]; $estado = ''; $eventos = ''; $erro = 0; if(empty($nome) or strstr($nome, ' ') == false or is_numeric($nome)) { echo "Por favor, insira o seu nome corretamente.<br>"; $erro = 1; } if(empty($endereco) or is_numeric($endereco)) { echo "Insira o endereço corretamente.<br>"; $erro = 1; } if(empty($numero) or is_numeric($numero) == false) { echo "Insira o número da rua corretamente.<br>"; $erro = 1; } // if para o caso do convidado ter inserido o complemento if(is_numeric($complemento)) { echo "Insira o complemento corretamente.<br>"; $erro = 1; } if($_POST["pais"] == "selecao1") { echo "Selecione o seu país.<br>"; $erro = 1; } if($pais == "brasil") { $estado = $_POST["estado"]; // o estado só será considerado se o país for Brasil if($_POST["estado"] == "selecao2") { echo "Selecione o seu estado.<br>"; $erro = 1; } } if(empty($cidade) or is_numeric($cidade)) { echo "Insira a cidade corretamente.<br>"; $erro = 1; } if(empty($cep) or is_numeric($cep) == false) { echo "Insira o cep corretamente.<br>"; $erro = 1; } if(empty($ddi) or is_numeric($ddi) == false) { echo "Insira o DDI corretamente.<br>"; $erro = 1; } if(empty($ddd) or is_numeric($ddd) == false) { echo "Insira o DDD corretamente.<br>"; $erro = 1; } if(empty($telefone) or is_numeric($telefone) == false) { echo "Insira o número de telefone corretamente.<br>"; $erro = 1; } if(empty($convidados) or is_numeric($convidados) == false) { echo "Insira o número de convidados corretamente.<br>"; $erro = 1; } // verifica se algum evento foi selecionado if(!(isset($_POST["evento"]))) { echo "nenhum evento foi selecionado. Por favor, selecione pelo menos um evento.<br>"; $erro = 1; } else { // o usuário selecionou algum evento foreach($_POST["evento"] as $evento) { $eventos .= "$evento "; } } // se não houve nenhum erro, inicia operação de inserção dos dados if($erro == 0) { include "conectacasamentos.inc"; // juntar DDI, DDD e telefone para comporem um número único de telefone. $tel = $ddi . $ddd . $telefone; $resultado = mysqli_query($conexao, "INSERT INTO amigafrancesa VALUES ('$nome', '$endereco', '$numero', '$complemento', '$pais', '$estado', '$cidade', '$cep', '$tel', '$convidados', '$comentario', '$eventos')"); $linhas = mysqli_affected_rows($conexao); echo "número de linhas afetadas: $linhas<br>"; //echo "É um prazer tê-lo(a) em nossa festa."; } mysqli_close($conexao); ?> </body> </html>
  15. Consegui fazer com que o usuário tenha que selecionar o país e o estado de origem: if($_POST["pais"] == "selecao1") { echo "Selecione o seu país.<br>"; $erro = 1; } if($pais == "brasil") { $estado = $_POST["estado"]; // o estado só será considerado se o país for Brasil if($_POST["estado"] == "selecao2") { echo "Selecione o seu estado.<br>"; $erro = 1; } }
  16. O isset para o estado poderia ser escrito assim? if(!(isset($_POST["estado"]))) { echo "Por favor, selecione um estado<br>"; } no caso o meu select tem um nome - Selecione - antes dos nomes dos países (no caso da pessoa não ter selecionado nenhum país ainda). Como faço para fazer uma verificação baseada num name = "selecao" para este rótulo - Selecione - ? algo do tipo: if($_POST["estado"] == "selecao")
  17. Não seria possível fazer com alguma função do PHP? eu ainda não conheço muito sobre JS. (estou no primeiro capítulo do livro Javascript Goodies) :blush:
  18. Boa noite gente. Eu criei um bloco de código para selecionar uma das opções de estado e gostaria de fazer com que o usuário tivesse que selecionar uma das opções. Se o usuário não selecionar nenhuma delas, seria impressa a mensagem de erro apropriada. Eu já fiz verificações de input com atributo "text" (com is_numeric por exemplo) mas não sei como fazer com <select>. Segue abaixo o trecho correspondente ao <select>. Obrigado pela ajuda. <tr> <td>Estado(Brasil):</td> <td> <select name="estado"> <option> - Selecione - </option> <option value="rj">RJ</option> <option value="sp">SP</option> <option value="rs">RS</option> <option value="rn">RN</option> <option value="sc">SC</option> <option value="ma">MA</option> <option value="pr">PR</option> <option value="es">ES</option> <option value="pe">PE</option> <option value="ba">BA</option> </select> </td> </tr>
  19. Boa noite gente. Eu procurei neste fórum mas não achei uma resposta para este problema em particular. Eu criei um arquivo PHP: <?php $nome = $_POST["nome"]; $email = $_POST["email"]; $email_dest = "edufel1p3@gmail.com"; // destinatário $email_rem = "edufel1p3@gmail.com"; // remetente $comentario = $_POST["comentario"]; $mensagem = "Comentário enviado por um visitante:\n\n"; $mensagem .= "Nome: $nome\n"; $mensagem .= "E-mail: $email\n"; $mensagem .= "Comentário: $comentario\n"; // enviando dados e sugestão de usuário para webmaster mail($email_dest, "Comentário de usuário", $mensagem); echo "Obrigado por enviar o seu comentário!"; ?> e estou tentando enviar os dados inseridos num formulário para o meu e-mail. Só que está dando o seguinte erro: Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\Arquivos de programas\EasyPHP-5.3.2i\www\TesteComentario\comentario.php on line 12 a seção do php.ini correspondente está assim: [mail function] ; For Win32 only. ; http://php.net/smtp ;SMTP = localhost ; http://php.net/smtp-port ;smtp_port = 25 ; For Win32 only. ; http://php.net/sendmail-from ; sendmail_from = edufel1p3@gmail.com ; For Unix only. You may supply arguments as well (default: "sendmail -t -i"). ; http://php.net/sendmail-path ;sendmail_path = E estou querendo mandar para a minha própria máquina mesmo. Obrigado pela ajuda.
  20. O que preciso fazer é o seguinte: ao clicar num botão "apagar lista" chamar os registros que estão no meu BD a fim de que eles apareçam como uma lista de itens clicáveis. Tem como fazer isso apenas com o PHP?
  21. Olá gente. Eu to precisando gerar uma lista que tenha itens "clicáveis" e não faço a mínima idéia de como posso fazer isso com um registro da minha tabela. Eu sei gerar uma lista o problema é atribuir tal interação a ela. Após clicar no item desejado, este seria apagado da tabela contida no BD. O que eu fiz para gerar itens foi: <?php $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; $resultado = mysqli_query($conexao, "SELECT sigla FROM siglas"); $linhas = mysqli_num_rows($resultado); if($operacao == "listar"){ for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } obrigado pela ajuda.
  22. Obrigado a todos pela atenção, eu resolvi o problema. Neste trecho: if($registro[$i] == $regSigla) Eu deveria ter feito na verdade: if($registro[0] == $regSigla) afinal, eu estava tentando acessar as siglas de cada linha e o índice correspondente às siglas era o índice 0. O for só serviu para que eu pudesse obter cada linha para verificação a cada loop.
  23. Eu achei que tinha conseguido, tive que modificar o código, agora tá dando um problema de lógica: <?php $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; $resultado = mysqli_query($conexao, "SELECT sigla FROM siglas"); $linhas = mysqli_num_rows($resultado); if($operacao == "listar"){ for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } else if($operacao == "cadastrar") { $registro = mysqli_fetch_row($resultado); // necessário para saber se a sigla já foi inserida na tabela $regSigla = $_POST["inseresigla"]; $regSenha = $_POST["inseresenha"]; $erro = 0; if(empty($regSigla)) { echo "Por favor, insira a sigla."; $erro = 1; } else if(empty($regSenha)) { echo "Por favor, insira a senha."; $erro = 1; } for($i = 0; $i < $linhas; $i++) { // o problema de lógica está nessa linha! // erro: Notice: Undefined offset: 1 in C:\Arquivos de programas\EasyPHP-5.3.2i\www\PaginaAdministrativaWeb\administra.php on line 36 if($registro[$i] == $regSigla) { echo "Esta sigla já foi inserida."; $erro = 1; } } } // se não houver nenhum erro na inserção de dados, insere estes na tabela else if($erro == 0) { $resultado = mysqli_query($conexao, "INSERT INTO siglas VALUES ('$regSigla', '$regSenha')"); $linhas = mysqli_affected_rows($conexao); echo "Numero de linhas afetadas: $linhas<br>"; } ?>
  24. gente continuando, eu codifiquei esse código de formulário: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Cadastramento</title> </head> <body> <pre> <form action="administra.php" method="POST"> <input type="hidden" name="operacao" value="cadastrar" /> Sigla: <input type="text" name="inseresigla" size="10" maxlength="2"/> Senha: <input type="password" name="inseresenha" size="10" maxlength="10"/> <input type="submit" value="Enviar" name="enviar" /> </form> </pre> </body> </html> e este de PHP: <?php $operacao = $_POST["operacao"]; include "conecta_mysqli_administrativo.inc"; if($operacao == "listar"){ $resultado = mysqli_query($conexao, "SELECT sigla FROM siglas"); $linhas = mysqli_num_rows($resultado); for($i = 0; $i < $linhas; $i++) { $registro = mysqli_fetch_row($resultado); echo "Sigla: $registro[0]<br>"; } } else if($operacao == "cadastrar") { $regSigla = $_POST["inseresigla"]; $regSenha = $_POST["inseresenha"]; $erro = 0; if(empty($regSigla)) { echo "Por favor, insira a sigla."; $erro = 1; } else if(empty($regSenha)) { echo "Por favor, insira a senha."; $erro = 1; } // se não houver nenhum erro na inserção de dados, insere estes na tabela else if($erro == 0) { $resultado = mysqli_query($conexao, "INSERT INTO siglas VALUES ('$regSigla', '$regSenha')"); $linhas = mysqli_affected_rows($conexao); echo "Numero de linhas afetadas: $linhas<br>"; } } ?> Eu gostaria de fazer uma verificação agora: este programa insere siglas e suas respectivas senhas num BD eu gostaria de verificar se certa sigla já foi inserida no BD, ou seja, inserir uma nova sigla apenas se ela já não tiver sido inserida ainda.
  25. Na segunda forma de inserção, devo colocar todo o HTML entre aspas duplas ?
×
×
  • Criar Novo...