Jump to content

ShadowDLL

Members
  • Content count

    371
  • Joined

  • Last visited

Community Reputation

2 Comum

5 Followers

About ShadowDLL

  • Birthday 11/02/1998

Informações Pessoais

  • Sexo
    Masculino
  • Interesses
    PHP, JavaScript, OOP, Padrões de Arquiteturas e de Projeto, Engenharia de Software, S.E.O, Design Gráfico, Marketing de Conteúdo.

Contato

Recent Profile Visitors

2311 profile views
  1. ShadowDLL

    Pegando valor de API

    Provavelmente o mesmo está ocorrendo porque você está tentando usar variáveis que só serão criadas caso o arquivo cointrade exista... Tente fazer algo assim então: CÓDIGO: <?php $cache_cointrade = 'cointrade'; if (file_exists($cache_cointrade)) { if (time() - filemtime($cache_cointrade) > $cachetime) { $cache = file_get_contents("https://api.cointradecx.com/public/ticker?market=BTC_BRL"); file_put_contents($cache_cointrade, $cache); $json_cointrade = file_get_contents($cache_cointrade); } else { $json_cointrade = file_get_contents($cache_cointrade); } $data_coin_trade = json_decode($json_cointrade, true); $cointrade_price = $data_coin_trade['result'][0]['last']; $cointrade_volume = $data_coin_trade['result'][0]['vol24h']; $varcointrade = $cointrade_price * $cointrade_volume; echo "<pre>"; var_dump($data_coin_trade); var_dump($cointrade_price); var_dump($cointrade_volume); var_dump($varcointrade); } else { echo "O arquivo não existe!"; }
  2. ShadowDLL

    Pegando valor de API

    Vamos lá! Segue exemplo de retorno da API utilizada: array(3) { ["success"]=> bool(true) ["message"]=> string(0) "" ["result"]=> array(1) { [0]=> array(11) { ["timestamp"]=> int(1585171832) ["market"]=> string(7) "BTC_BRL" ["ask"]=> string(10) "35449.9999" ["bid"]=> string(10) "34450.0001" ["last"]=> string(10) "34004.0000" ["spread"]=> string(6) "2.9028" ["low24h"]=> string(10) "33000.0000" ["high24h"]=> string(10) "35799.9999" ["vol24h"]=> string(10) "2.11694748" ["quoteVolume"]=> string(14) "73242.52739178" ["isFrozen"]=> int(0) } } } Repare que os dados que você deseja obter estão dentro de um array, então para você obter o mesmo deveria fazer algo como no exemplo abaixo: CÓDIGO: $cointrade_price = $data_coin_trade['result'][0]['last']; $cointrade_volume = $data_coin_trade['result'][0]['vol24h'];
  3. ShadowDLL

    Resolvido - Calcular Diferença entre horas

    Segue exemplo, abaixo: TABELAS E DADOS A SER UTILIZADOS: CREATE TABLE cursos ( idCurso INT NOT NULL AUTO_INCREMENT, nomeCurso VARCHAR(50) NOT NULL, PRIMARY KEY(idCurso) ); INSERT INTO cursos (nomeCurso) VALUES ('Sociologia'); CREATE TABLE curso_escolhido ( idEscolhido INT NOT NULL AUTO_INCREMENT, idCursoPretendidoEscolhido INT NOT NULL, idCursoAlunoEscolhido INT NOT NULL, checkedCursoEscolhido INT NOT NULL, PRIMARY KEY(idEscolhido), FOREIGN KEY (idCursoPretendidoEscolhido) REFERENCES cursos (idCurso) ); INSERT INTO curso_escolhido (idCursoPretendidoEscolhido, idCursoAlunoEscolhido, checkedCursoEscolhido) VALUES (1, 1, 1); CREATE TABLE carga_horaria ( idCarga INT NOT NULL AUTO_INCREMENT, idAlunoCargaHoraria INT NOT NULL, idCursoCargaHoraria INT NOT NULL, horaPraticaCargaHoraria TIME NOT NULL, PRIMARY KEY(idCarga), FOREIGN KEY (idCursoCargaHoraria) REFERENCES cursos (idCurso) ); INSERT INTO carga_horaria (idAlunoCargaHoraria, idCursoCargaHoraria, horaPraticaCargaHoraria) VALUES (1, 1, '02:00:00'), (1, 1, '02:00:00'), (1, 1, '02:00:00'), (1, 1, '02:00:00'), (1, 1, '02:00:00'); PHP: <?php // PARA EXEMPLO $idAluno = 1; $conecta = new mysqli('localhost', 'root', '', 'seu_db'); // PARA EXEMPLO $consultCursoAluno = " select * from cursos inner join curso_escolhido ON (cursos.idCurso = curso_escolhido.idCursoPretendidoEscolhido) where idCursoAlunoEscolhido = '$idAluno' and checkedCursoEscolhido = '1' " ; $conectaCursoAluno = $conecta->query($consultCursoAluno); while($resultCursoAluno = $conectaCursoAluno->fetch_object()){?> <!-- //Consigo pegar os cursos que o aluno está fazendo --> NomeCurso: <?php echo $resultCursoAluno->nomeCurso?> <br> <?php $sqlCurso = " select * from carga_horaria where idAlunoCargaHoraria = '$idAluno' and idCursoCargaHoraria = '".$resultCursoAluno->idCurso."' " ; $conectaCurso = $conecta->query($sqlCurso); $soma = 0; // $paraSubtrair = new DateTime('@0'); $totalHoras = new DateTime('@0'); // while($result = $conectaCurso->fetch_object()){ // OBTEM O TEMPO E ARMAZENA $horaPra = $result->horaPraticaCargaHoraria; // SEPARA EM PARTES A STRING $partes = explode(':', $horaPra); // CRIA INTERVALO $intervalo = new DateInterval( 'PT' . (int)$partes[0] . 'H' . $partes[1] . 'M' . $partes[2] . 'S' ); // ADICIONA O INTERVALO NO TOTAL $totalHoras->add($intervalo); ?> <?php }?> <?php $diferenca = $paraSubtrair->diff($totalHoras); echo "========[ TOTAL ]========<br/>"; echo $diferenca->format('%d Dia(s), %H Hora(s), %i Minuto(s) e %s Segundo(s)'); echo "<br/>"; echo "Dias: " . $diferenca->d; echo "<br/>"; echo "Horas: " . $diferenca->h; echo "<br/>"; echo "Minutos: " . $diferenca->i; echo "<br/>"; echo "Segundos: " . $diferenca->s; ?> <br> <?php }?> RESULTADO: NomeCurso: Sociologia ========[ TOTAL ]======== 0 Dia(s), 10 Hora(s), 0 Minuto(s) e 0 Segundo(s) Dias: 0 Horas: 10 Minutos: 0 Segundos: 0
  4. ShadowDLL

    Apagar foto do bd e da pasta

    Vamos lá! 1º - Faça um SELECT para obter o caminho até o arquivo; 2º - Utilize a função unlink para deletar a imagem; 3º - Delete o registro no banco de dados. LINK ÚTIL: https://forum.imasters.com.br/topic/383844-resolvido deletar-imagens-de-uma-pasta-referente-ao-id/
  5. ShadowDLL

    Resolvido - Calcular Diferença entre horas

    Segue exemplo: CÓDIGO: <?php // CONVERTE SEGUNDOS EM H:I:S function converteSegundos($segundos) { $data1 = new DateTime("@0"); $data2 = new DateTime("@$segundos"); return $data1->diff($data2)->format('%H:%i:%s'); } $horasTeoricas = 23400; // 06:30:00 $horasTeoricasVIsualizadas = 18000; // 05:00:00; // OBTEM DIFERENCA $diferenca = $horasTeoricas - $horasTeoricasVIsualizadas; // MOSTRA DIFERENCA echo converteSegundos($diferenca); // 01:30:0
  6. ShadowDLL

    Problema com Requisição Ajax e Atualização de dados (Update).

    Disponível ;)
  7. ShadowDLL

    Problema com Requisição Ajax e Atualização de dados (Update).

    CÓDIGO: <?php require "../init.php"; include "../config.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); $sql->execute(); foreach($sql->fetchAll() as $res); if(isset($_POST['atualizar'])){ $name=addslashes(trim($_POST['name'])); $ur=addslashes(trim($_POST['ur'])); $email=addslashes(trim($_POST['email'])); $password=addslashes(trim($_POST['password'])); $celular=addslashes(trim($_POST['celular'])); $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'"); $update->bindValue(':name', $name); $update->bindValue(':ur', $ur); $update->bindValue(':email', $email); $update->bindValue(':password', $password); $update->bindValue(':celular', $celular); $update->execute(); if($update == ''){ echo "<script language='javascript'> window.alert('Erro ao alterar dados!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Dados atualizados com sucesso!'); </script>"; }} ?> <!-- ////// Formlário dados pessoais do Usuário \\\\\\ --> <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;"> <form action="arquivos/update_usuario.php?id=<?php echo $res['id']; ?>" method="post" enctype="multipart/form-data"> <label for="name"><span>Nome: </span></label> <input type="text" name="name" value="<?php echo $res['name']; ?>"> <br /> <label for="ur"><span>Estado: </span></label> <input type="text" name="ur" value="<?php echo $res['ur']; ?>"> <br /> <label for="celular"> <span>E-mail: </span> <?php echo $res['email']; ?> </label> <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>"> <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>"> <br /> <label for="celular"><span>Celular: </span></label> <input type="text" name="celular" value="<?php echo $res['celular']; ?>"> <br /> <input type="submit" name="atualizar" value="Atualizar"> </form> </div> <?php # UPDATE da Foto if(isset($_POST['enviar'])){ $id = $_GET['id']; $foto = $_FILES['foto']; $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?"; $dados = array($foto, $id); $pasta = '../upload/'; if (isset($_POST['enviar'])){ $check = @$_POST['apagar']; foreach($check as $foto){ $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); unlink($pasta.'/'.$foto); if ($delcheck >= '1'){ echo 'Imagem deletada com sucesso!'; }else{ echo 'Erro ao deletar imagem, tente novamente!'; }}}} ?> <?php include "Upload.class.php"; if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){ $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/"); echo $upload->salvar(); } ?> <div> <form action="arquivos/update_usuario.php?id=<?php echo $res['id']; ?>" method="POST" enctype="multipart/form-data"> <?php $id = $_GET['id']; $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'"); $sql->execute(); foreach($sql->fetchAll() as $res){ ?> <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly> <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly> <?php } ?> <img src="../upload/<?php echo $res['foto'];?>"/><br /> <label>Selecione uma nova imagem:</label><br /> <input type="file" name="foto" accept="image/*" ><br /> <input type="submit" name="enviar" value="Atualizar"> </form> </div> </div> </body> </html>
  8. ShadowDLL

    Problema com Requisição Ajax e Atualização de dados (Update).

    Acredito que o mesmo esteja ocorrendo porque o action do formulário presente no arquivo update_usuario.php está apontando para o local errado... Tente assim: update_usuario.php <?php require "../init.php"; include "../config.php"; ?> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Liga RE$ENHÃO 2020</title> </head> <body> <div> <?php $id = $_GET['id']; $sql = $db->query("SELECT * FROM cadastro WHERE id = '$id'"); $sql->execute(); foreach($sql->fetchAll() as $res); if(isset($_POST['atualizar'])){ $name=addslashes(trim($_POST['name'])); $ur=addslashes(trim($_POST['ur'])); $email=addslashes(trim($_POST['email'])); $password=addslashes(trim($_POST['password'])); $celular=addslashes(trim($_POST['celular'])); $update = $db->prepare("UPDATE cadastro SET name=:name, ur=:ur, email=:email, password=:password, celular=:celular WHERE id = '$id'"); $update->bindValue(':name', $name); $update->bindValue(':ur', $ur); $update->bindValue(':email', $email); $update->bindValue(':password', $password); $update->bindValue(':celular', $celular); $update->execute(); if($update == ''){ echo "<script language='javascript'> window.alert('Erro ao alterar dados!'); </script>"; }else{ echo "<meta http-equiv='refresh' content='0; URL= ../index.php'> <script language='javascript'> window.alert('Dados atualizados com sucesso!'); </script>"; }} ?> <!-- ////// Formlário dados pessoais do Usuário \\\\\\ --> <div style="background-color:#fff;height:auto;width:33%;color:#000;float:left;"> <form action="arquivos/update_usuario.php?id=<?=$_GET['id']?>" method="post" enctype="multipart/form-data"> <label for="name"><span>Nome: </span></label> <input type="text" name="name" value="<?php echo $res['name']; ?>"> <br /> <label for="ur"><span>Estado: </span></label> <input type="text" name="ur" value="<?php echo $res['ur']; ?>"> <br /> <label for="celular"> <span>E-mail: </span> <?php echo $res['email']; ?> </label> <input hidden="" type="text" name="email" value="<?php echo $res['email']; ?>"> <input hidden="" type="text" name="password" value="<?php echo $res['password']; ?>"> <br /> <label for="celular"><span>Celular: </span></label> <input type="text" name="celular" value="<?php echo $res['celular']; ?>"> <br /> <input type="submit" name="atualizar" value="Atualizar"> </form> </div> <?php # UPDATE da Foto if(isset($_POST['enviar'])){ $id = $_GET['id']; $foto = $_FILES['foto']; $sqlUpdate = "UPDATE cadastro SET foto = ? WHERE id = ?"; $dados = array($foto, $id); $pasta = '../upload/'; if (isset($_POST['enviar'])){ $check = @$_POST['apagar']; foreach($check as $foto){ $delcheck = $sqlUpdate = ("UPDATE cadastro SET foto = ? WHERE id = ?"); unlink($pasta.'/'.$foto); if ($delcheck >= '1'){ echo 'Imagem deletada com sucesso!'; }else{ echo 'Erro ao deletar imagem, tente novamente!'; }}}} ?> <?php include "Upload.class.php"; if ((isset($_POST["enviar"])) && (! empty($_FILES['foto']))){ $upload = new Upload($_FILES['foto'], 1000, 800, "../upload/"); echo $upload->salvar(); } ?> <div> <form action="arquivos/update_usuario.php?id=<?=$_GET['id']?>" method="POST" enctype="multipart/form-data"> <?php $id = $_GET['id']; $sql = $db->prepare("SELECT * FROM cadastro WHERE id='$id'"); $sql->execute(); foreach($sql->fetchAll() as $res){ ?> <input size="1" type="hidden" name="id" value="<?php echo $res['id'];?>" readonly> <input type="hidden" type="checkbox" name="apagar[]" value="<?php echo $res['foto'];?>" checked readonly> <?php } ?> <img src="../upload/<?php echo $res['foto'];?>"/><br /> <label>Selecione uma nova imagem:</label><br /> <input type="file" name="foto" accept="image/*" ><br /> <input type="submit" name="enviar" value="Atualizar"> </form> </div> </div> </body> </html>
  9. ShadowDLL

    PHP - Estou tentando fazer um envio de comentários ao bd

    Vamos lá! 1º - Uma alternativa seria passar parâmetros via GET e depois verificar o mesmo, contudo, o alerta sempre será exibido enquanto o parâmetro estiver na URL. Segue exemplo: CÓDIGO: <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sistema de comentários</title> </head> <body> <?php // VERIFICA PARÂMETRO "MSG" VIA GET, // E RETORNA O "ALERTA". if(isset($_GET['msg'])){ if ($_GET['msg']==="success"){ $msg = "Enviado com sucesso!!!"; }else{ $msg = "Preencha todos os campos!!!"; } echo " <style> .msg { padding: 10px 20px; text-align: center; border: 2px solid #999; margin-bottom: 20px; font-weight: 700; background: #000; color: #fff; } </style> <div class='msg'> <span>".$msg."</span> </div> "; } ?> <form action="" method="post"> <span>Nome: </span><input type="text" name="nome"><br> <span>Email: </span><input type="text" name="email"><br> <span>Mensagem: </span><input type="text" name="mensagem"><br> <input type="submit" name="enviar" value="Enviar"><br> </form> <?php if(isset($_POST['enviar'])){ $nome = $_POST['nome']; $email = $_POST['email']; $mensagem = $_POST['mensagem']; // NECESSARIO PREENCHER TODOS OS CAMPOS if($nome == '' or $email == '' or $mensagem == ''){ header('Location:index.php?msg=error'); } else{ // PASSAMOS PARÂMETRO MSG VIA GET header('Location:index.php?msg=success'); } } ?> </body> </html> 2º - Você pode usar "Flash Message", que exibirá o alerta uma única vez. Exemplo: CÓDIGO: <?php // OBRIGATÒRIO session_start(); ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Sistema de comentários</title> </head> <body> <?php if (isset($_SESSION["flash"])){ echo " <style> .msg { padding: 10px 20px; text-align: center; border: 2px solid #999; margin-bottom: 20px; font-weight: 700; background: #000; color: #fff; } </style> <div class='msg'> <span>".$_SESSION["flash"]["texto"]."</span> </div> "; unset($_SESSION["flash"]); } ?> <form action="" method="post"> <span>Nome: </span><input type="text" name="nome"><br> <span>Email: </span><input type="text" name="email"><br> <span>Mensagem: </span><input type="text" name="mensagem"><br> <input type="submit" name="enviar" value="Enviar"><br> </form> <?php if(isset($_POST['enviar'])){ $nome = $_POST['nome']; $email = $_POST['email']; $mensagem = $_POST['mensagem']; // NECESSARIO PREENCHER TODOS OS CAMPOS if($nome == '' or $email == '' or $mensagem == ''){ $_SESSION["flash"] = array ( "tipo" => "success", "texto" => "Preencha todos os campos!!!" ); }else{ $_SESSION["flash"] = array ( "tipo" => "success", "texto" => "Enviado com sucesso!!!" ); } header('Location:index.php'); } ?> </body> </html>
  10. ShadowDLL

    Como posso criar uma query de requisição no php

    Tente novamente, perdoe-me pelo deslize.
  11. ShadowDLL

    Como posso criar uma query de requisição no php

    Segue link, abaixo: LINK: SELECT DISTINCT
  12. ShadowDLL

    Conexao Banco de dados PDO dentro de outra conexao

    Disponível ;)
  13. ShadowDLL

    Conexao Banco de dados PDO dentro de outra conexao

    Segue solução: CÓDIGO: <?php include "conexao.php"; $user = $_POST['user']; $senha_tec = $_POST['senha']; $codigo = $_POST['codigo']; $senha1 = hash('sha256', $senha_tec); $sql = "SELECT * FROM codigos WHERE codigo = :CODIGO"; $stmt = $PDO->prepare($sql); $stmt->bindParam(':CODIGO', $codigo); $stmt->execute(); if($stmt->rowCount() > 0) { $dados = $stmt->fetch(PDO::FETCH_ASSOC); $id_emp = $dados['id_emp']; $sql_login = "SELECT * FROM empresas WHERE id = :EMP"; $stmt_login = $PDO->prepare($sql_login); $stmt_login->bindParam(':EMP', $id_emp); $stmt_login->execute(); if($stmt_login->rowCount() > 0) { $dados_login = $stmt_login->fetch(PDO::FETCH_ASSOC); $hostname = $dados_login['host_db']; $usuario = $dados_login['user_db']; $senha = $dados_login['password_db']; $bancodedados = $dados_login['banco_db']; $dsn = "mysql:host=" . $hostname . ";dbname=" . $bancodedados . ";charset=utf8"; $PDO = new PDO($dsn, $usuario, $senha); $sql_tec = "SELECT * FROM sis_acesso WHERE login = :USER && sha = :SENHA LIMIT 1"; $stmt_tec = $PDO->prepare($sql_tec); $stmt_tec->bindParam(':USER', $user); $stmt_tec->bindParam(':SENHA', $senha1); $stmt_tec->execute(); if($stmt_tec->rowCount() > 0) { $dados_tec = $stmt_tec->fetch(PDO::FETCH_ASSOC); $retornoApp = array("LOGIN"=>"SUCESSO", "HOST DB"=>$dados_login['empresa'], "PERMISSOES"=>$dados_tec['cli_grupos']); } else { $retornoApp = array("LOGIN"=>"ERRO"); } } } else { $retornoApp = array("LOGIN"=>"ERRO"); } echo json_encode($retornoApp); ?>
  14. ShadowDLL

    Exclusão sem refresh

    Segue exemplo, abaixo: INDEX.PHP: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title> EXAMPLE </title> <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script> </head> <body> Imagem 1:<input type="checkbox" class="exc1" name="exc1" value="imagem1.png" /> <br /> Imagem 5:<input type="checkbox" class="exc1" name="exc1" value="imagem5.png" /> <br /> <button class="deletar">Deletar</button> <script type="text/javascript"> $(function() { $('.deletar').click (function() { var selected = new Array(); // Coloca os valores em um array $('.exc1:checked').each(function(){ selected.push($(this).val()); }); // Deleta via AJAX $.ajax({ url: "http://localhost/deleta.php", type: "POST", data: { imagens: selected }, success: function (msg){ alert(msg); } }); }); }); </script> </body> </html> DELETA.PHP <?php if(isset($_POST['imagens'])){ $relatorio = ""; foreach ($_POST['imagens'] as $img){ $path = "caminho/arquivo/" . $img; if(@unlink($path)){ $relatorio.= "O arquivo '{$img}' foi deletado!\n"; }else{ $relatorio.= "Falha ao deletar o arquivo '{$img}'!\n"; } } echo $relatorio; }else{ echo "Selecione uma imagem!"; }
  15. ShadowDLL

    Incluir senha em pdf com PHP

    Segue: https://stackoverflow.com/questions/12706061/how-to-password-protect-pdf-in-php https://webdamn.com/create-password-protected-pdf-with-php-mysql/
×

Important Information

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