Ir ao conteúdo
  • Cadastre-se

GabrielSennaMs

Membro Pleno
  • Posts

    335
  • Cadastrado em

  • Última visita

Tudo que GabrielSennaMs postou

  1. @Wicaro Bom dia!, existe um método no php chamado fopen(), com ele é possível criar gravar e abrir os arquivos no servidor. Aqui tem um ótimo tutorial de como usar o método fopen(): https://www.w3schools.com/php/php_file_open.asp. Aqui tem um código de exemplo. $arquivo = fopen("pagina.php", "w") or die("Unable to open file!"); $txt = "<html><head><title>Nova página</title><head><body>Essa página acabou de ser criada. </body></html>"; fwrite($arquivo, $txt); fclose($arquivo); O Botão que você mencionou pode chamar uma requisição Ajax ou uma mais traiciona usando um form, dentro desse form você pode coloca um textarea e passar o texto do textarea para o arquivo. Um exemplo <?php if ($_SERVER["REQUEST_METHOD"] == "POST") { if (isset($_POST)) { $dados = array( "nome"=>$_POST["nome"], "tipo"=>$_POST["tipo"], "texto"=>$_POST["texto"] ); if (count($dados) == 3) { $arquivo = fopen($dados["nome"].".".$dados["tipo"], "w") or die("Unable to open file!"); $txt = $dados["texto"]; fwrite($arquivo, $txt); fclose($arquivo); echo ("O arquivo '".$dados["nome"].".".$dados["tipo"]."' foi criado com sucesso. <br>"); echo ("Local: ".__DIR__."/".$dados["nome"].".".$dados["tipo"]."<br>"); } } } ?> <!DOCTYPE hmtl> <html> <head> <meta charset="utf-8"> <title>Criador de página</title> </head> <body> <br> <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" enctype="multipart/form-data"> <label>Nome do arquivo</label><br> <input type="text" name="nome" placeholder="Ex: index"><br> <label>Tipo do arquivo</label><br> <input type="text" name="tipo" placeholder="Ex: php"><br> <br> <textarea name="texto"></textarea><br> <button type="submit">Criar Arquivo</button> </form> </body> </html> Obs..: tome muito cuidado a o mexer em métodos para alterar, editar e modificar arquivos no server, isso pode deixar uma brecha muito grande na sua aplicação.
  2. @JenneferBarbosa Isso é por que o SQL não encontrou nenhum resultado possível, o por que? tem outro erro no código do nosso amigo. no if if($edicao !== null){ $edicao_Livro = "edicao LIKE '".addslashes($autor)."%'"; } ele troco o $edicao para $autor a consulta está saindo errado. para corrigir isso basta trocar o $autor para $edicao if($edicao !== null){ $edicao_Livro = "edicao LIKE '".addslashes($edicao)."%'"; }
  3. Achei o erro, quando você utilizou o código do nosso amigo @ArThDsL ele acabo comendo algumas aspa simples no texto que vai para consulta do SQL. Procura esses três if e adiciona uma aspa simples(') do lado do % o código está assim if($nome !== null and $autor === null and $edicao === null){ $nome_Livro = "nome LIKE '".addslashes($nome)."%"; } if($autor !== null and $edicao === null){ $autor_Livro = "autor LIKE '".addslashes($autor)."%"; } if($edicao !== null){ $edicao_Livro = "edicao LIKE '".addslashes($autor)."%"; troca para if($autor !== null and $edicao === null){ $autor_Livro = "autor LIKE '".addslashes($autor)."%'"; } if($edicao !== null){ $edicao_Livro = "edicao LIKE '".addslashes($autor)."%'"; } if($nome !== null and $autor === null and $edicao === null){ $nome_Livro = "nome LIKE '".addslashes($nome)."%'"; }
  4. @JenneferBarbosa O que ocorre é que a consulta utilizando o método mysqli_query, está falhando por algum motivo e ele está retornando o valor false para a função mysqli_num_rows, a função mysqli_num_rows não está esperando um valor falso é sim um mysqli_result objeto.
  5. @JenneferBarbosa Nesse caso é melhor utilizar o AND a o em vez de utilizar o OR. O que ocorre é que o ultimo campo "edicao" está com o valor vazio é como você adiciona um % sem nenhum valor e o sinal de porcentagem representa zero, um ou vários caracteres, ele acaba retornando todos os campos. Utilizando o AND, vai fazer com que ele não ignore os dois campos anteriores Para fazer isso bastar trocar o valor OR para AND; de: $livros = "SELECT * FROM livro WHERE nome LIKE '".addslashes($nome)."%' OR autor LIKE '".addslashes($autor)."%' OR edicao LIKE '%".addslashes($edicao)."%' ORDER BY nome ASC"; para: $livros = "SELECT * FROM `livro` WHERE `nome` LIKE '".addslashes($nome)."%' AND `autor` LIKE '".addslashes($autor)."%' AND `edicao` LIKE '%".addslashes($edicao)."%' ORDER BY `nome` ASC";
  6. @Lerub Na class ".theblogmenu ul > li:hover ul li" você especifica que a propriedade que vai receber o efeito de transition é a propriedade background, porém você só manipula as propriedade font-size e height. Para resolver isso basta modificar a propriedade que vai receber o efeito de transition de: transition: background 0.635s; para: transition: font-size 0.635s; -o-transition: font-size 0.635s; -moz-transition: font-size 0.635s; -webkit-transition: font-size 0.635s; Não é necessário especificar a propriedade de transition, assim todas as propriedade vão receber o efeito de transiiton transition: 0.635s; -o-transition: 0.635s; -moz-transition: 0.635s; -webkit-transition: 0.635s;
  7. @Lipeco Bom, se você tem 24 card e quer dividir eles em 3 linhas, seguindo a matemática 24 / 3 = 8, sendo assim cada linha vai ter 8 card, você faz o alinhamento dos card na linha usando left de acordo com o resto da divisão por 8 do valor do loop, até ai de boa, porém quando você faz o alinhamento da altura de cada linha você só define duas linha e não 3. card.style.top = (i < 8) ? 5 + "px" : 250 + "px"; card.style.top = (i < 24) ? 5 + "px" : 250 + "px"; No seu código você define duas alturas uma contendo 8 cards e a outra 16 cards, para resolver isso bastar você definir uma terceira altura indo de 8 ate 16; card.style.top = (i < 8) ? 5 + "px" : 250 + "px"; card.style.top = (i > 8 || i < 16) ? 250 + "px" : 495 + "px"; card.style.top = (i > 16) ? 495 + "px" : 495 + "px"; Você pode melhorar esse código usando um if, else if, else. if (i < 8) { card.style.top = "5px"; } else if (i > 8 || i < 16) { card.style.top = "250px"; } else { card.style.top = "495px"; } Você também pode usar o css(flex-box ou css-grid) para alinha seus cards Vou deixar um exemplo mais pratico para alinha seus card usando css(flex-box) é jquery(3.4.1) <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Jogo de cartas</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <style> #desktop{ display: flex; flex-direction:row; flex-wrap: wrap; justify-content: center; } [id|=card]{ position: relative; height: 100px; overflow: hidden; } [id|=card] > div{ position: absolute; top: 0; left: 0; bottom: 0; right: 0; padding: 10px; margin: 1px; display: block; background: #000; color: #fff; text-align: center; font-size: 25px; } </style> </head> <body> <div id="desktop"> </div> <script> var desktop, numeroCard, cards, colunas; $(function(){ numeroCard = 24; colunas = 8; // Número de colunas desktop = $("#desktop"); // Elemento com os card for(i = 0; i < numeroCard; i++){ // Adicionando card de acordo com a váriavel numeroCard desktop.append(`<div id="card-${i+1}"><div>${i+1}</div></div>`); } valor = desktop.find("[id|=card]"); // Selecionando os card dentro do elemento pai for (i = 0; i < valor.length; i++) // Iniciando um loop com o número de card dentro do elemento pai { $(valor[i]).css("width", (100 / colunas) + "%"); // Adicionando o tamanho de cada card de acordo com os número de colunas } }); </script> </body> </html>
  8. @guhbrj onde você faz a chamada para o método embaralhar() e como você inseri o array no html? monstra o código completo. Existe uma maneira de fazer essa embaralhar usando o método sort(); var arr = ['01.jpg', '02.jpg', '03.jpg', '04.jpg', '05.jpg', '06.jpg', '07.jpg', '08.jpg', '09.jpg', '10.jpg', '11.jpg']; console.log(arr.sort(function(a, b){return 0.5 - Math.random()})); Assim o embaralhamento fica mais fácil
  9. @laripereira14 Quando você faz o calculo do desconto você salva o valor com desconto no mesmo input que você pega o valor sem o desconto, nesse caso o melhor seria guardar o valor em uma variável global, para fazer isso basta você declarar uma variável fora de um método(function), assim você pode alterar e pegar ele de qualquer método. Um exemplo: var valorOriginal; function enabledPassagem() { var desconto=0; valortot = parseInt(window.document.ftaxi.valortot.value); parseInt(vnormal=window.document.ftaxi.valortot.value); if (document.getElementById('passagem').checked == false) { window.document.ftaxi.valortot.value = valorOriginal; document.getElementById("dataretorno").disabled = true; document.getElementById("horaretorno").disabled = true; } if (document.getElementById('passagem').checked == true) { valorOriginal = window.document.ftaxi.valortot.value; document.getElementById('dataretorno').removeAttribute('disabled'); document.getElementById('horaretorno').removeAttribute('disabled'); desconto=((valortot*2)*0.7); window.document.ftaxi.valortot.value = desconto; } } Cara dá uma olhada no seu código ele tá muito bagunçado, tenta arrumar isso. Esse site tem o melhor curso online de javascript, e é free, dá uma olha depois! https://www.w3schools.com/js/default.asp
  10. @cicerointerior O sistema do Hostgator é muito fechado eu não vi em nenhum layout deles uma barra de pesquisa, e para colocar uma barra de pesquisa somente usando javascript vai ficar muito limitado e muito complicado de mexe, para esses caso recomendo o uso dá barra de pesquisa do google, é possível utilizar a pesquisa do Google dentro do seu site!
  11. @Stifler874 Bom olhando melhor achei o erro. Quando você faz a consunta procurando se existe um usuário, você faz a atribuição do resultado a uma variável e depois você tenta pegar somente aquele valor, porém se o sql não achar nenhum valor ele retorna com o resultado da consulta o valor boleno falso. Pra resolver é fácil, é só fazer uma verificação antes. $usuarioDBif = ($resultUSER != false and is_objetc($resultUSER->usuario) and isset($resultUSER->usuario))? $resultUSER->usuario : false; Agora é só repetir com os outros 2, é modificar um pouco o código
  12. Bom @Stifler874 o erro significa que você está tentando acessar um atributo de algo que não é um objeto. Você passou o código, porém o erro não está nele, o log de erros aponta para as linhas 238, 244 e 250, e esse código só vai ate a linha 138, se possível publica o código inteiro! Olhando para o seu código notei que você não fez a execução da consunta para inserir os dados do usuário no final do código, falto o $stmt->execute(); depois do $stmt->bindParam(8, $foto); Em relação aos erros, espero que esse exemplo possa esclarecer o que está ocorrendo! /* * Nesse exemplo eu vou criar um objeto chamado de usuário e adicionar um abritudo chamado login, * depois eu vou criar esse objeto e atribuir ele a variavel $objeto, logo após isso eu vou acessar * o atributo login dentro do objeto usuairo, localizado na variavel $objeto e vou utilizar o echo para escrever na tela. */ class usuario { public $login = "gabriel"; } $objeto = new usuario(); echo $objeto->login; O retorno serial gabriel Agora se eu não crio o objeto e tendo fazer uma atribuição em uma variável do tipo string $objeto = "login"; $objeto->login; O retorno serial Notice: Trying to get property of "objeto" non-object in C:\Program Files\VertrigoServ\muspe\teste.php on line 5
  13. Bom @Murillo Fagundes Gonçalves, fica difícil poder ajuda com o html e o css limitado que você passo. Tem alguns erros no HTML, o elemento li deve estar dentro do seus pais ul ou ol! O CSS que você colocou está meio estranho, já que você adiciona uma padding-top muito alto, e um justify-content space-between que não vai alinhar o conteúdo, já que o div por padrão é um elemento bloco. Você pode dar uma olhada na W3schools tem um ótimo tutorial de CSS lá! Esse link tem uma demostração de um menu top com botões alinhados a direita e esquerda. https://www.w3schools.com/howto/howto_css_topnav_right.asp Também vou deixar um exemplo de navbar(Barra de navegação) fixo no top com alinhamentos em duas posições. CSS: html, body{ margin: 0; padding: 0; width: 100%; height: 100%; } .navbar{ width: 100%; background: #272727; position: fixed; margin: 0; box-shadow: 0px 3px 8px #272727; height: 53px; font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; } .navbar > nav.navbar-nav{ max-width: 1000px; margin: 0 auto; clear: both; display: block; } .navbar > .navbar-nav > .navbar-align{ display: block; margin: 0; padding: 0; } .navbar > .navbar-nav > .navbar-align > ul{ list-style: none; margin: 0; padding: 8px; } .navbar > .navbar-nav > .navbar-align.left{ float: left; } .navbar > .navbar-nav > .navbar-align.right{ float: right; } .navbar > .navbar-nav > .navbar-align > ul > li.navbar-item{ display: inline-block; margin: 0; padding: 0; } .navbar > .navbar-nav > .navbar-align > ul > li.navbar-item > a.navbar-link{ color: #fff; text-decoration: none; display: block; padding: 8px 16px; text-align: center; font-weight: 500; transition: 0.4s; margin: 0; } .navbar > .navbar-nav > .navbar-align > ul > li.navbar-item > a.navbar-link:hover{ text-decoration: none; background: #fff; color: #272727; transition: 0.4s; } HTML: <div class="navbar"> <nav class="navbar-nav"> <div class="navbar-align left"> <ul> <li class="navbar-item"> <a class="navbar-link" href="#">Home</a> </li> <li class="navbar-item"> <a class="navbar-link" href="#">Notícias</a> </li> <li class="navbar-item"> <a class="navbar-link" href="#">Galeria</a> </li> <li class="navbar-item"> <a class="navbar-link" href="#">Contato</a> </li> </ul> </div> <div class="navbar-align right"> <ul> <li class="navbar-item"> <a class="navbar-link" href="#"><i style="padding-right: 4px;" class="faz fa-shopping-cart"></i></a> </li> <li class="navbar-item"> <a class="navbar-link" href="#">Comprar</a> </li> </ul> </div> </nav> </div> Essa é a biblioteca de icones usado no exemplo <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.6.3/css/all.css" integrity="sha384-UHRtZLI+pbxtHCWp1t77Bi1L4ZtiqrqD80Kn4Z8NTSRyMA2Fd33n5dQ8lWUE00s/" crossorigin="anonymous">
  14. @Wicaro A biblioteca MySQL está obsoleta. Isso significa que você não deve usar funções como mysql_connect, mysql_query e semelhantes. Em vez delas, você deve usar mysqli_connect e mysqli_query. Porém a diferença não está apenas no “i” a mais no nome da função. A lista de parâmetros geralmente também é um pouco diferente, por isso precisamos estar atentos a isso. https://imasters.com.br/back-end/como-atualizar-scripts-php-de-mysql-para-mysqli No php 7 não existe mais suporte para o mysql sem o "i" no final
  15. @iago lima soares Para fazer isso no Wordpress free, você vai ter que utilizar um plugin! Você pode usar esse plugin aqui, "https://br.wordpress.org/plugins/youtube-embed-plus" .
  16. @Irwing Seiji Ato Especifica a tabela que vai usar no WHERE WHERE `tb_movimento`.`id_usuario` = ?
  17. @Irwing Seiji Ato O erro que você recebe indica que a coluna `id_usuario` no seu "WHERE" cláusula é ambígua, o que significa que o sistema tem um problema para identificar a coluna apropriada porque há várias `id_usuario`. Para corrigir esse problema, use o alias para especificar qual coluna você deseja usar para sua WHERE cláusula:
  18. @Irwing Seiji Ato Você pode fazer uma consulta em duas ou trés tabelas usando a mesma solicitação. Um exemplo: SELECT `tb_movimento`.`id_movimento`, `tb_movimento`.`tipo_movimento`, `tb_movimento`.`data_movimento`, `tb_movimento`.`valor_movimento`, `tb_movimento`.`obs_movimento`, `tb_movimento`.`id_categoria`, `tb_movimento`.`id_empresa`, `tb_empresa`.`nome`, `tb_categoria`.`nome` FROM `tb_movimento`, `tb_empresa`, `tb_categoria` WHERE `tb_movimento`.`id_usuario` = ? AND `tb_empresa`.`id` = (SELECT `tb_movimento`.`id_empresa` FROM `tb_movimento` WHERE `tb_movimento`.`id_usuario` = ?) AND `tb_categoria`.`id` = (SELECT `tb_movimento`.`id_categoria` FROM `tb_movimento` WHERE `tb_movimento`.`id_usuario` = ?) LIMIT 1; Esse código vai pegar o nome da empresa e o nome da categoria de duas tabelas distintas com base no id obtido na tabela "tb_movimento", alem de pegar os valores da tabela "tb_movimento". Recomendo você a alterar os comandos SQL para maiúsculo
  19. @Ramon Scheffer Cara, não consegui entender a sua duvida. O que realmente você quer saber?
  20. @Glouk No arquivo php você faz a solicitação da senha atual ao banco de dados, porém você não obtêm o resultado como uma matriz na solicitação. Pra fazer isso basta você utilizar o mysqli_fetch_assoc(), e depois você seleciona o campo da matriz que você quer pegar o valor. O código ficaria assim. $velha = mysqli_query($con, "SELECT senha FROM registro WHERE id=$id") or print mysqli_error(); $velha = mysqli_fetch_assoc($velha); $velha = $velha['senha'];
  21. @MugenShion O React Native é uma estrutura de aplicativo movel, ele permitindo que os desenvolvedores usem o React junto. No caso do React Native ele é front-end do aplicativo o back-end seria o sistema Android e a estrutura por traz do React Native.
  22. @Glouk Cara tenta usar o PSR, isso pode ajudar a você a entender o seu código melhor. Notei um erro no html Isso está errado! <option selected="selected">Status</option> O correto é. <option selected>Status</option> Você também pode passar o id usando um input com o tipo hidden(type="hidden") <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"> <input type="hidden" name="id" value="<?php echo $linha_d[id]; ?>"> <select name="update" onchange="this.form.submit()"> <option selected>Status</option> <option value="3">Admin</option> <option value="2">Ativo</option> <option value="1">Desativado</option> </select> </form> Também recomendo o uso do require em vez do include, já que a aplicação só vai funcionar se os verifyadm.php e conexao.php estiverem incluídos. Uma exemplo do seu código usando o PSR. if(isset($_POST["update"]) and isset($_POST["id"])) { $erro = 0; if($_POST["update"] < 1 and $_POST["update"] > 3 and !is_int($_POST["update"])){ $erro++; } else { $status = $_POST["update"]; } if($_POST["id"] < 0 and !is_int($_POST["id"])){ $erro++; } else { $id = $_POST["id"]; } if ($erro == 0) { $query = "UPDATE `registro` SET `status` = '".$status."' WHERE `id` = ".$id.";"; if (mysqli_query($con, $query)) { echo '<div class="alert alert-success"> <strong>Sucesso!</strong> Usuario alterado com sucesso!. </div>'; } else { $erro++; } } if ($erro > 0) { echo '<div class="alert alert-danger"> <strong>Opa!</strong> Tivemos um problema, contate o administrador!. </div>'; } } Nesse exemplo eu passo o id no método POST
  23. @Wando Oliveira A solução no artigo foi usar o próprio shell do sistema para fazer a verificação e enviar as solicitação de impressão para impressora e utilizar um arquivo e um diretório na web como banco de dados, porém a data da publicação e muito antiga 14 de Dezembro de 2006, não sei se isso realmente vai funcionar.
  24. @MugenShion O React não é uma linguagem, e sim uma biblioteca javascript, ele utiliza html e css para construir uma interface O back-end é a parte de suporte ele executa os programas, ele gerencia a aplicação, no back-end não ha uma necessidade para uma interface gráfica.
  25. @Wando Oliveira Você pode guardar as mensagens em um banco de dados e criar um aplicativo que monitore esse bando de dados para assim ele fazer a solicitação para impressora, não tem como você fazer a solicitação para impressão direto da web, você vai ter que criar esse aplicativo usando uma linguagem para desktop.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!