Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''PHP''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

  • Q&A Desenvolvimento
    • Perguntas e respostas rápidas
  • Desenvolvimento Web
    • Desenvolvimento frontend
    • Javascript
    • PHP
    • Ruby
    • Python
    • Java
    • .NET
    • Docker, Kubernets e outros ambientes
    • Desenvolvimento com Wordpress
    • Desenvolvimento de apps
    • Desenvolvimento ágil
    • Desenvolvimento de Games
    • Banco de Dados
    • Design e UX
    • Algoritmos & Outras Tecnologias
  • Entretenimento e uso pessoal
    • Segurança & Malwares
    • Geral
    • Boteco iMasters

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 1885 registros

  1. ILR master

    Data igual do facebook

    Fala galera, tudo bem? Tenho o seguinte codigo: class Data { public static function ExibirTempoDecorrido($date) { if(empty($date)) { return "Informe a data"; } $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década"); $duracao = array("60","60","24","7","4.35","12","10"); $agora = time(); $unix_data = strtotime($date); // check validity of date if(empty($unix_data)) { return "Bad date"; } // is it future date or past date if($agora > $unix_data) { $diferenca = $agora - $unix_data; $tempo = "atrás"; } else { $diferenca = $unix_data - $agora; $tempo = "agora"; } for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) { $diferenca /= $duracao[$j]; } $diferenca = round($diferenca); if($diferenca != 1) { $periodos[$j].= "s"; } return "$diferenca $periodos[$j] {$tempo}"; } } Funciona redondinho se o valor retornado for de algumas horas, mas... Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha if($diferenca != 1) { $periodos[$j].= "s"; } Quero que modre: 2 meses atrás e não 2 mess atrás. Espero que tenham entendido. Valeu
  2. Carlos Web Soluções Web

    Listagem por ID em ordem crescente !!

    Olá... Estou tentando fazer o seguinte !! Listando dados em tabela !! Gostaria que....se na listagem houver 4 linhas...indepedente de seu número de ID, faça a listagem em ID ser em ordem 1 2 3 4 !! Exemplo...se tiver uma listagem de dados que está em ID 1 3 3...faça ficar 1 2 3 !! echo "<table class='tabela_dados' border='1'> <tr> <td>ID</td> <td>Nome Empresa</td> <td>Responsável</td> <td>Telefone 1</td> <td>Telefone 2</td> <td>E-mail 1</td> <td>E-mail 2</td> <td>Endereço</td> <td>CEP</td> <td>Bairro</td> <td>AÇÃO 1</td> <td>AÇÃO 2</td> </tr> "; $sql = "SELECT ID FROM usuarios_dados WHERE Usuario='$usuario'"; $result = $conn->query($sql); $num_rows = $result->num_rows; $Novo_ID = 1; for ($i = 0; $i < $num_rows; $i++) { $registro = $result -> fetch_row(); $sql2 = "UPDATE usuarios_dados SET ID='$Novo_ID' WHERE ID='$Novo_ID'"; $result2 = $conn->query($sql2); $Novo_ID++; } $sql = "SELECT * FROM usuarios_dados"; $result = $conn->query($sql); if ($result->num_rows > 0) { // output data of each row while($row = $result->fetch_assoc()) { echo "<tr> <td>$row[ID]</td> <td>$row[Nome_Empresa]</td> <td>$row[Responsavel]</td> <td>$row[Telefone_1]</td> <td>$row[Telefone_2]</td> <td>$row[Email_1]</td> <td>$row[Email_2]</td> <td>$row[Endereço]</td> <td>$row[CEP]</td> <td>$row[Bairro]</td> <td> <form method='post' action='Editar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='EDITAR'> </form> </td> <td> <form method='post' action='Deletar_Dados.php'> <input type='hidden' name='usuario' value='$usuario'> <input type='hidden' name='senha' value='$senha'> <input type='hidden' name='ID' value='$row[ID]'> <input type='submit' style='padding: 10px;' value='DELETAR'> </form> </td> </tr> "; } } else { echo "0 results"; } $conn->close();
  3. ILR master

    Remover formatação ao colar um texto em uma textarea

    Boa tarde pessoal, tudo bem ? Eu uso o tinymce para cadastro de textos no meu siite, porém, quero fazer um sistema para que os colunistas possam fazer o próprio post. O problema do tinymce, é que ele mantém a formatação do texto copiado, como tamanho de fonts, negritos, etc... Quero que o usuário cole o texto e a própria textarea limpe a formatação para que ele formate como quiser. A pergunta é: O tinymce tem uma opção para desabilitar a formatação quando um texto é colocado? Tem alguma função via java ou php para retirar a formatação assim que o texto é colado? Ou é melhor usar um outro editor? Agradeço deste já.
  4. Giovanird

    Atualizar pagina PHP que esta dentro de uma div

    Olá a todos! Tenho uma pagina que possui uma DIV onde coloquei uma pagina PHP. Uso a função setInterval para atualizar a pagina inclusa dentro da DIV. O problema é que ao acessar o site , a DIV só me mostra a pagina inclusa somente quando completo o primeiro minuto. Preciso que a pagina inclusa já inicie carregada Meu código JavaScript e a DIV com a pagina PHP <script> function atualiza(){ var url = 'direita.php'; $.get(url, function(dataReturn) { $('#direita').html(dataReturn); }); } setInterval("atualiza()",60000); </script> <div> <span id="direita"></span> </div>
  5. ILR master

    Consulta em duas tabelas

    Fala pessoal. Seguinte: Quero selecionar duas tabelas e mostrar com resultados intercalados. Abaixo segue um código explicando para vcs terem uma ideia. $consulta = "SELECT A.*, B.* FROM tabela1 A, tabela2 B'"; $resultado = mysqli_query($conexao, $consulta) or die ("erro"); while($busca = mysqli_fetch_array($resultado)){ print $busca['cod_evento']; --> traz o código da tabela1 print $busca['titulo_evento']; --> traz o titulo da tabela1 print $busca['cod_noticia']; --> traz o código da tabela2 print $busca['titulo_noticia']; --> traz o tituloda tabela2 } Espero que entendam. Grato
  6. ILR master

    Colocar resultado do msql em um array

    Boa tarde, pessoal. Espero que todos estejam bem. Seguinte: Tenho a seguinte consulta: $usuarios= "SELECT * FROM usuarios"; $query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado"); $usuario = mysqli_fetch_array($query); Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma: $nomes = array("Rafael", "João", "Maria", "Pedro", "Patricia", "Camila"); Agradeço desde já. Abs
  7. gersonab

    destruir uma session ao fechar modal

    Como faço para destruir uma session quando a modal for fechada, esta foi criada na mesma. Favor desconsiderar esta, estava com problema de cache
  8. ThalissonChagas1407

    Agrupar Array dimensional

    Boa tarde. Eu tenho o seguinte objeto em arrray Array ( [0] => stdClass Object ( [produto] => 000001 [var1] => LR [var2] => G [var3] => [codproduto] => 000001LRG [estoque] => 4.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [1] => stdClass Object ( [produto] => 000001 [var1] => AZ [var2] => G [var3] => [codproduto] => 000001AZG [estoque] => -4.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [2] => stdClass Object ( [produto] => 000001 [var1] => VD [var2] => G [var3] => [codproduto] => 000001VDG [estoque] => 0.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [3] => stdClass Object ( [produto] => 000001 [var1] => BR [var2] => G [var3] => [codproduto] => 000001BRG [estoque] => 17.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [4] => stdClass Object ( [produto] => 000001 [var1] => VR [var2] => G [var3] => [codproduto] => 000001VRG [estoque] => 0.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [5] => stdClass Object ( [produto] => 000001 [var1] => PT [var2] => G [var3] => [codproduto] => 000001PTG [estoque] => 5.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [6] => stdClass Object ( [produto] => 000001 [var1] => AM [var2] => G [var3] => [codproduto] => 000001AMG [estoque] => 1077.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [7] => stdClass Object ( [produto] => 000001 [var1] => BR [var2] => M [var3] => [codproduto] => 000001BRM [estoque] => 17.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [8] => stdClass Object ( [produto] => 000001 [var1] => AZ [var2] => M [var3] => [codproduto] => 000001AZM [estoque] => 15.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [9] => stdClass Object ( [produto] => 000001 [var1] => PT [var2] => M [var3] => [codproduto] => 000001PTM [estoque] => 5.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) [10] => stdClass Object ( [produto] => 000001 [var1] => AM [var2] => M [var3] => [codproduto] => 000001AMM [estoque] => 22.0000 [codigo] => 000001 [descricao] => Produto de teste [categoria] => [unidade] => UN [custo] => 0.5400 [fornecedor] => 4 [sigla] => [catdesc] => ) ) Gostaria de agrupar o produto e a var1; o Resultado dessa forma. Array ( [000001] => Array ( [LR] => Array ( [P] => 4 [M] => 3 [G] => 2 ) [PT] => Array ( [P] => 4 [M] => 3 [G] => 2 ) ) ) seria possivel agrupar?
  9. gersonab

    diferença entre horas para aplicar uma classe

    Boa tarde a todos, gostaria de aplicar uma classe a uma determinada informação, não estou conseguindo, busco no BD a hora do cadastro, faço a diferença com a hora atual, até aí trq, só não consigo aplicar a classe. <?php $horapf = $linha['horapf']; $horaatual = date("H:i:s"); $entrada = DateTime::createFromFormat('H:i:s', $horapf); $saida = DateTime::createFromFormat('H:i:s', $horaatual); $maisq = '00:30:00'; $menosq = '00:40:00'; $intervalo = $entrada->diff($saida); $intervalo->format('%H:%I:%S'); if($maisq <= $intervalo && $intervalo < $menosq){ $clss = 'class="btn btn-xs btn-outline-warning"'; } elseif ($intervalo >= $menosq){ $clss = 'class="btn btn-xs btn-outline-danger"'; } else { $clss = 'class="btn btn-xs btn-outline-info"'; } mesmo se retirar esta linha -----> $intervalo->format('%H:%I:%S'); para sempre no primeiro, independente do tempo btn-outline-warning
  10. belann

    Insert em PHP com muitos campos

    Olá! Estou tentando fazer um insert com muitos campos como segue $sql = "INSERT INTO conteudo (Publi, nome_p, Seq, Tit, Sub, p1, p2, p3, p4, p5, codigoc, codigoj, codigoh, pa6, p7, p8, p9, p10, imagem, video, data, autor) VALUES ('$publi', '$nomepubli', '$seq', '$titulo', '$subtitulo', '$textp1','$textp2', '$textp3', '$textp4', '$textp5', '$textc', '$textj', '$texth', '$textp6','$textp7', '$textp8', '$textp9', '$textp10', '$nomearquivo',$nomearquivod','$datacur','$autor')"; Como faço para que não dê erro sendo que tem muitos campos e não cabe tudo numa única linha de comando.
  11. oi pessoal se eu entrar no link dos desenvolvedores php pesquisasar quem é programador e enviar uma mesma mensagem para uns 6 ou 8 membros do forum serei advertido ou é spam ??????? procuro um programador php para me fazer algo mas não tem como postar aqui nessa sessão
  12. JoaoSilva75

    preciso de um parceiro legal para um site

    Pessoal considerando que quando eu usava alguns foruns para eu fazer uns sites a mais de 15 anos atras o pessoal dava um auxilio total hoje eu encontro por aqui alguem que me faça um site muito simples por um valor extremamente acessivel ??? ou um valor intermediario com uma pequena entrada e prestações mensais minha situação financeira está com um problema dificil de explicar antigamente eu usava o dreamweaver e fazia alguma coisa em asp e acesses era só o que eu sabia depois foi hospitalizado e passei 10 anos no hospital e voltei pra casa faz quase 2 anos , estou usando o computador do meu irmão vou explicar como é o site que preciso, quero que seja em php com um banco de dados mysql 5 links ( Inicio - Vender imóvel - Quero investir - Cadastro de parceiros - Contato ) +ou- isso vender imovel = haveria um formulario com umas 12 perguntas e uma opção para anexar fotos do imovel e enviaria para meu banco de dados quero investir = pequeno formulario para identificar a pessoa e ver o que a pessoa deseja cadastro de parceiros = só um cadastro basico para arquivar contados , de preferencia uns corretores trata-se de um teste referente a uma idéia para ver se funciona, se der certo depois vou querer negociar outro totalmente diferente com login senha campo de busca e muitas outras coisas e irei ver com alguem que conheço o dinheiro necessário para o investimento eu venho estudando sobre o mercado de imoveis todo esse tempo que voltei pra casa e a tempo comento com os conhecidos sobre uma proposta diferente sobre aquisição do imovel e as pessoas se interessaram e tenho um grupo de "amigos" que tem a grana disponivel para compra imediata desde que seja nas condições que mencionei que poderia arranjar considerando que não tenho imobiliaria nem sou corretor o mínimo que preciso é um site se a pessoa fizer algo legal e eu obter resultado na conta , poderemos fazer uma grande parceria eu sei que você vai pensar que não vai dar certo pois você sabe que existe bilhões de imobiliarias e corretores anunciando no google em uma guerra de faca pra ver quem fica em primeiro lugar na primeira página do google mas haverá um diferencial na minha proposta Se alguém se habilita me envie mensagem meu email j o a o s i l va 7 5 @ m a i l . c o m
  13. Frank K Hosaka

    O autoload do Omar só funciona no projeto dele

    O projeto do Omar é outra coisa! O autoload dele funciona como mágica. Eu copiei a função autoload no meu projeto, e o máximo que eu consegui foi a mensagem "Erro interno no servidor ao encontrar dados cruciais de funcionamento!". Ou seja, o problema não é o meu notebook e sim o meu projeto. Acho que o autoload quis dizer que o meu projeto é uma grande porcaria: arquivo /mvc/controles/controle.php <?php session_start(); require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/usuários.php'; class controle { private $usuários; public function __construct(){ $this->usuários=new usuários();} public function login() { $mensagem=""; require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/login.php';} public function menu($email,$senha){ $validaEmail=$this->usuários->validaEmail($email); $validaSenha=$this->usuários->validaSenha($email,$senha); if(!$validaEmail || !$validaSenha){ $mensagem="Dados inválidos!"; require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/login.php';exit;} $_SESSION['id']=$this->usuários->id; $_SESSION['nome']=$this->usuários->nome; $_SESSION['email']=$this->usuários->email; require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/menu.php';} public function alterarSenha(){ $mensagem=""; $email=$_SESSION['email']; require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/alterarSenha.php';} public function senhaAlterada($senhaAlterada){ $this->usuários->atualizarSenha($_SESSION['email'],$senhaAlterada); return $this->login();}} $controle=new controle(); if(isset($_POST['email'])){$controle->menu($_POST['email'],$_POST['senha']);} if(isset($_POST['senhaAlterada'])){$controle->senhaAlterada($_POST['senhaAlterada']);} if(isset($_GET['sair'])){$controle->login();} if(isset($_GET['senha'])){$controle->alterarSenha();} arquivo /mvc/controles/controleDiário.php <?php session_start(); require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/diário.php'; require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/funções.php'; class controleDiário { private $diário; public function __construct(){ $this->diário=new diário();} public function início($dia){ $consultas=$this->diário->consulta($dia); $lçtos=$consultas[0]; $somaDébito=$consultas[1]; $somaCrédito=$consultas[2]; require $_SERVER['DOCUMENT_ROOT']."/mvc/visões/diário.php";exit;}} $diário=new controleDiário(); if(isset($_POST['novaData'])){$diário->início($_POST['novaData']);} if(isset($_GET)){$dia=date('Y-m-d');$diário->início($dia);} arquivo /mvc/index.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/funções.php'; $controle=new controle(); $controle->login(); arquivo /mvc/modelos/conexão.php <?php class conexão { private static $pdo; public function __construct(){} public static function instância(){ $dbname="mvc"; $user="root"; $password=""; if($_SERVER['SERVER_NAME']=="exemplo.net"){ $dbname="u123_Hostinger"; $user="u123_Hostinger"; $password="JamesBond";} if(!self::$pdo){ self::$pdo=new PDO("mysql:host=localhost;dbname=$dbname",$user,$password);} return self::$pdo;}} arquivo /mvc/modelos/diário.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/conexão.php'; class diário extends conexão { private $pdo; public function __construct(){ $this->pdo=conexão::instância();} public function consulta($dia){ $stmt=$this->pdo->query("select sum(valor) as somaDébito from diário where contaD>0 and dia='$dia'"); $somaDébito=$stmt->fetchAll(PDO::FETCH_ASSOC)[0]['somaDébito']; $stmt=$this->pdo->query("select sum(valor) as somaCrédito from diário where contaC>0 and dia='$dia'"); $somaCrédito=$stmt->fetchAll(PDO::FETCH_ASSOC)[0]['somaCrédito']; $stmt=$this->pdo->query("select * from diário where dia='$dia'"); return [$stmt->fetchAll(PDO::FETCH_OBJ),$somaDébito,$somaCrédito];}} arquivo /mvc/modelos/funções.php <?php spl_autoload_register(function ($Class) { $includeDir = false; $findDir = ['controles','modelos','visões']; foreach ($findDir as $DirName) { if (!$includeDir && file_exists(__DIR__ . FindClass($DirName, $Class)) && !is_dir(__DIR__ . FindClass($DirName, $Class))) { include_once (__DIR__ . FindClass($DirName, $Class)); $includeDir = true;}} if (!$includeDir) { die("Erro interno no servidor ao encontrar dados cruciais de funcionamento!");}}); function FindClass($dir, $class) { return ( DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'class' . DIRECTORY_SEPARATOR . $dir . DIRECTORY_SEPARATOR . $class . '.php');} function dec($value){ if($value!==null){ return number_format($value,2,',','.');}} arquivo /mvc/modelos/usuários.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/modelos/conexão.php'; class usuários extends conexão { public $id, $nome, $email; public function validaEmail($email){ $stmt=conexão::instância()->query("select email from usuários where email='$email'"); return $stmt->fetch(PDO::FETCH_ASSOC);} public function validaSenha($email,$senha){ $stmt=conexão::instância()->query("select * from usuários where email='$email'"); $linha=$stmt->fetch(PDO::FETCH_ASSOC); $verSenha=$linha['senha']; $this->id=$linha['id']; $this->nome=$linha['nome']; $this->email=$linha['email']; return password_verify($senha,$verSenha);} public function atualizarSenha($email,$novaSenha){ $hash=password_hash($novaSenha,PASSWORD_BCRYPT,['cost'=>12]); return conexão::instância()->query("update usuários set senha='$hash' where email='$email'");}} arquivo /mvc/visões/alterarSenha.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/básico.html'; ?> <style> html,body {height: 100%} body {display: flex;align-items: center;padding-top: 40px;padding-bottom: 40px;background-color: #f5f5f5;} .form-signin {max-width: 330px;padding: 15px;} .form-signin .form-floating:focus-within {z-index: 2;} </style> <body class="text-center"> <main class="form-signin w-100 m-auto"> <?php if($mensagem!==""): ?> <div class="alert alert-success"> <?=$mensagem?> </div> <?php endif; ?> <form method=post action=/mvc/controles/controle.php> <h1 class="h3 mb-3 fw-normal">alterar senha</h1> <div class="form-floating"> <input type="email" class="form-control" value=<?=$email?>> <label for="floatingInput">Email</label> </div> <div class="form-floating"> <input type="password" class="form-control" id="floatingPassword" name="senhaAlterada" autofocus required> <label for="floatingPassword">Senha</label> </div> <button class="w-100 btn btn-lg btn-primary" type="submit">Entrar</button> </form> </main> arquivo /mvc/visões/básico.html <!DOCTYPE html> <html lang="en"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous"> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script> <title>projeto mvc</title> arquivo /mvc/visões/diário.php <?php include $_SERVER['DOCUMENT_ROOT']."/mvc/visões/menu.php"; ?> <table class='table table-striped'> Lançamentos do dia <form method=post action='../controles/controleDiário.php'> <input type=date name=novaData value=<?=$dia?> onchange=submit()> </form> <th>lçto<th>contad<th>contac<th>valor<th>hist <?php foreach($lçtos as $lçto): ?> <tr> <td><?=$lçto->lçto?> <td><?=$lçto->contad?> <td><?=$lçto->contac?> <td class=text-end><?=dec($lçto->valor)?> <td><?=$lçto->hist?> <?php endforeach; ?> <tr><td><td><td><td><?=dec($somaDébito)?><td>Soma dos Débitos <tr><td><td><td><td class=text-danger><?=dec($somaCrédito)?> <td class=text-danger>Soma dos Créditos arquivo /mvc/visões/login.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/básico.html'; ?> <style> html,body {height: 100%} body {display: flex;align-items: center;padding-top: 40px;padding-bottom: 40px;background-color: #f5f5f5;} .form-signin {max-width: 330px;padding: 15px;} .form-signin .form-floating:focus-within {z-index: 2;} </style> <body class="text-center"> <main class="form-signin w-100 m-auto"> <?php if($mensagem!==""): ?> <div class="alert alert-success"> <?=$mensagem?> </div> <?php endif; ?> <form method=post action=/mvc/controles/controle.php> <h1 class="h3 mb-3 fw-normal">projeto mvc</h1> <div class="form-floating"> <input type="email" class="form-control" name=email placeholder="name@example.com" autofocus required> <label for="floatingInput">Email</label> </div> <div class="form-floating"> <input type="password" class="form-control" id="floatingPassword" placeholder="Senha" name="senha" required> <label for="floatingPassword">Senha</label> </div> <button class="w-100 btn btn-lg btn-primary" type="submit">Entrar</button> </form> </main> arquivo /mvc/visões/menu.php <?php require $_SERVER['DOCUMENT_ROOT'].'/mvc/visões/básico.html'; date_default_timezone_set('America/Sao_Paulo'); ?> <body style="max-width:500px;margin:0 auto"> <header class="navbar navbar-light sticky-top bg-light flex-md-nowrap p-0"> projeto mvc <div class=dropdown> <button type=button class="btn btn-outline-primary dropdown-toggle" data-bs-toggle=dropdown id=btmenu> Menu </button> <ul class="dropdown-menu"> <?php if($_SESSION['id']==1){ ?> <li><a class=dropdown-item href=controleDiário.php>Diário</a></li> <?php } ?> </ul> </div> <div class="dropdown"> <button class="btn btn-outline-primary dropdown-toggle" type="button" data-bs-toggle="dropdown" aria-expanded="false"> <?=$_SESSION['nome']?> </button> <ul class="dropdown-menu"> <li><a class="dropdown-item" href="../controles/controle.php?sair">Sair</a></li> <li><a class="dropdown-item" href="../controles/controle.php?senha">Mudar a senha</a></li> </ul> </div> </header> Essa listagem é enorme e o projeto não funciona, mas se você quiser testar, você pode copiar tudo e salvar como c:\wamp64\www\script.txt, e nesse mesmo diretório executar "localhost/scriptin.php" (ele vai criar a pasta mvc e todas pastas e todos os arquivos) arquio ScriptIn.php <?php if (!is_dir("mvc")){ mkdir("mvc"); mkdir("mvc/controles"); mkdir("mvc/modelos"); mkdir("mvc/visões");} $script=file_get_contents("script.txt"); $ocorrencias=substr_count($script,"arquivo /mvc/"); $substring = "arquivo /mvc/"; $posicao = []; $posicao[0]=strpos($script,$substring); for($i=1;$i<=$ocorrencias-1;$i++){ $posicao[$i]=strpos($script,$substring,$posicao[$i-1]+1);} $codigo=[]; for($i=0;$i<=$ocorrencias-2;$i++){ $codigo[]=substr($script,$posicao[$i],$posicao[$i+1]-$posicao[$i]);} $codigo[]=substr($script,$posicao[$ocorrencias-1],strlen($script)-$posicao[$ocorrencias-1]); for($i=0;$i<=$ocorrencias-1;$i++){ $lines=explode("\n",$codigo[$i]); $arquivo=trim(substr($lines[0],9)); $criar=fopen($arquivo,"w"); $tamanhoNome=strlen($arquivo)+9; $conteudo=trim(substr($codigo[$i],$tamanhoNome)); file_put_contents($arquivo,$conteudo); fclose($criar);} echo "Trabalho encerrado";
  14. arquivo /omar2/controles/controle.php <?php class controle { public function consultar(){ $select=new Select; $select->query('usuários'); $teste=$select->result(); var_dump($teste); $this->voltar();} public function filtrar(){ $select=new Select; $select->genérico("select * from usuários where nome like 'frank%'"); $teste=$select->result(); var_dump($teste); $this->voltar();} public function adicionar(){ $insert=new Insert(); $insert->query("usuários",["id"=>3,"nome"=>"teste","email"=>"teste@uol.com.br","senha"=>"JamesBond"]); $teste=$insert->error(); var_dump($teste); $this->voltar();} public function atualizar(){ $update=new Update(); $update->genérico('update usuários set nome="outro teste" where id=3'); $teste=$update->error(); var_dump($teste); $this->voltar();} public function excluir(){ $delete=new Delete(); $delete->genérico('delete from usuários where id=3'); $teste=$delete->error(); var_dump($teste); $this->voltar();} public function voltar(){ echo "<input type=submit value=Voltar onclick=location.replace('index.php')>"; exit;}} $controle=new controle(); if(isset($_GET)){ $get=$_GET; if(empty($get)){return;} if($get['url']=="consultar"){$controle->consultar();} if($get['url']=="filtrar"){$controle->filtrar();}} if($get['url']=="adicionar"){$controle->adicionar();} if($get['url']=="atualizar"){$controle->atualizar();} if($get['url']=="excluir"){$controle->excluir();} arquivo /omar2/index.php <?php require 'visões/index.php'; arquivo /omar2/modelos/Connect.php <?php class Connect { private static $host = DB_HOST; private static $user = DB_USER; private static $pass = DB_PASS; private static $data = DB_DATA; private static $isConnect = null; private static $isError = null; private static function makeConnect() { try { if (self::$isConnect == null) { $dsn = 'mysql:host=' . self::$host . '; dbname=' . self::$data; $options = [PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8']; self::$isConnect = new PDO($dsn, self::$user, self::$pass, $options); } } catch (PDOException $e) { self::$isError = '<br>Não foi possível conectar com o banco de dados!<br> Descrição:' . $e->getMessage() . '<br>'; //die('Erro interno no servidor. Código de referência 500'); die($e->getMessage()); } self::$isConnect->SetAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); return (self::$isConnect); } protected static function callConnect() { return (self::makeConnect()); } protected static function getError() { if (self::$isError) { return (self::$isError);}}} arquivo /omar2/modelos/Delete.php <?php class Delete extends Connect { private $deleteTable; private $deleteFields; private $deleteValues; private $deleteSyntax; private $deleteConn; private $deleteData; private $deleteError; public function genérico($deletar){ $this->deleteSyntax=$deletar; $this->deleteExecute();} public function query($table, $fields, $statements) { $this->deleteTable = (string) $table; $this->deleteFields = (string) $fields; parse_str($statements, $this->deleteValues); $this->deleteConstruct(); $this->deleteExecute(); } public function count() { if ($this->deleteData) { return ($this->deleteSyntax->rowCount());} else { return (0);}} public function result() { if ($this->deleteData) { return ($this->deleteData);}} public function error() { if (!$this->deleteData) { return ($this->deleteError);}} private function deleteConstruct() { $this->deleteSyntax = "DELETE FROM {$this->deleteTable} WHERE {$this->deleteFields}";} private function deleteConnect() { $this->deleteConn = parent::callConnect(); $this->deleteSyntax = $this->deleteConn->prepare($this->deleteSyntax);} private function deleteExecute() { $this->deleteConnect(); try { $this->deleteSyntax->execute($this->deleteValues); $this->deleteData = true; } catch (PDOException $error) { $this->deleteData = null; $this->deleteError = "Erro ao ler dados: {$error->getMessage()} {$error->getCode()}";}}} arquivo /omar2/modelos/GlobalFilter.php <?php class GlobalFilter { public static function StdArray($array) { $object = new stdClass(); if (is_array($array)) { foreach ($array as $name => $value) { $object->$name = $value;}} return $object;} public static function ObjArray($array) { if (is_array($array)) { //return (object) array_map(__FUNCTION__, $array); return (object) array_map(__METHOD__, $array);} else { return $array;}} public static function filterGet() { $filterGet = filter_input_array(INPUT_GET, FILTER_DEFAULT); $filter = isset($filterGet) ? self::StdArray($filterGet) : false; return ($filter);} public static function filterPost() { $filterPost = filter_input_array(INPUT_POST, FILTER_DEFAULT); $filter = isset($filterPost) ? self::StdArray($filterPost) : false; return ($filter);} public static function filterSession() { $filterSession = filter_input_array(INPUT_SESSION, FILTER_DEFAULT); $filter = isset($filterSession) ? self::StdArray($filterSession) : false; return ($filter);} public static function filterCookie() { $filterCookie = filter_input_array(INPUT_COOKIE, FILTER_DEFAULT); $filter = isset($filterCookie) ? self::StdArray($filterCookie) : false; return ($filter);} public static function filterServe() { $filterServe = filter_input_array(INPUT_SERVER, FILTER_DEFAULT); $filter = isset($filterServe) ? self::StdArray($filterServe) : false; return ($filter);} public static function filterEven() { $filterEven = filter_input_array(INPUT_ENV, FILTER_DEFAULT); $filter = isset($filterEven) ? self::StdArray($filterEven) : false; return ($filter);} public static function filterRequest() { $filterRequest = filter_input_array(INPUT_REQUEST, FILTER_DEFAULT); $filter = isset($filterRequest) ? self::StdArray($filterRequest) : false; return ($filter);}} arquivo /omar2/modelos/Insert.php <?php class Insert extends Connect { private $insertTable; private $insertFilds; private $insertSyntax; private $insertConn; private $insertData; private $insertError; public function query($table, array $fields) { $this->insertTable = (string) $table; $this->insertFilds = $fields; $this->insertConstruct(); $this->insertExecute(); } public function count() { if ($this->insertData) { return ($this->insertSyntax->rowCount());} else { return (0);}} public function result() { if ($this->insertData) { return ($this->insertData);}} public function error() { if (!empty($this->insertError)) { return ($this->insertError);}} private function insertConstruct() { $Column = implode(', ', array_keys($this->insertFilds)); $values = ':' . implode(', :', array_keys($this->insertFilds)); $this->insertSyntax = "INSERT INTO {$this->insertTable} ({$Column}) VALUES ({$values})";} private function insertConnect() { $this->insertConn = parent::callConnect(); $this->insertSyntax = $this->insertConn->prepare($this->insertSyntax);} private function insertExecute() { $this->insertConnect(); try { $this->insertSyntax->execute($this->insertFilds); $this->insertData = $this->insertConn->lastInsertId(); } catch (PDOException $error) { $this->insertData = null; $this->insertError = "Erro ao inserir dados: {$error->getMessage()} {$error->getCode()}";}}} arquivo /omar2/modelos/LogRegister.php <?php class LogRegister { private static $file; private static $message; private static $comment; public static function dataError($file, $message, $comment = null) { self::$file = (string) $file; self::$message = (string) $message; self::$comment = (string) $comment; if (!empty($file) && !empty($message)) { self::registerError();}} private static function registerError() { $lgErr = new Select(); $lgErr->query('log_error', [ 'lg_date' => date('Y-m-d'), 'lg_hour' => date('H:i:s'), 'lg_file' => self::$file, 'lg_message' => htmlentities(self::$message), 'lg_comment' => htmlentities(self::$comment)]); if ($lgErr->error()) { self::sqlError();}} private static function sqlError() { $txt = "== [ ERROR ] ===========================\n" . "- Data: " . date('Y-m-d') . "\n" . "- Horário: " . date('H:i:s') . "\n" . "- Arquivo: " . self::$file . "\n" . (!empty(self::$message) ? "- Mensagem:\n" . strip_tags(self::$message) . "\n" : "") . (!empty(self::$comment) ? "\n- Comentários:\n" . strip_tags(self::$comment) : "") . "\n"; $reg = fopen(MODELO_DIR . 'error.log', 'a'); fwrite($reg, $txt); fclose($reg);}} arquivo /omar2/modelos/Select.php <?php class Select extends Connect { private $selectTable; private $selectFields; private $selectSyntax; private $selectConn; private $selectData; private $selectError; public function genérico($consulta){ $this->selectTable=$consulta; $this->selectExecute();} public function query($table, $fields = null, $statements = null) { if (!empty($statements)) { parse_str($statements, $this->selectFields);} $this->selectTable = 'SELECT * FROM ' . $table . (isset($fields) ? ' WHERE ' . $fields : null); $this->selectExecute();} public function setQuery($Query, $statements = null) { if (!empty($statements)) { parse_str($statements, $this->selectFields); } $this->selectTable = (string) $Query; $this->selectExecute(); } public function count() { return ($this->selectSyntax->rowCount());} public function result() { if ($this->selectData) { return ($this->selectData);}} public function error() { if (!empty($this->selectError)) { return ($this->selectError);}} private function selectConstruct() { if ($this->selectFields) { foreach ($this->selectFields as $type => $value) { if ($type == 'limit' || $type == 'offset') { $value = (int) $value;} $this->selectSyntax->bindValue(":{$type}", $value, (is_int($value) ? PDO::PARAM_INT : PDO::PARAM_STR));}}} private function selectConnect() { $this->selectConn = parent::callConnect(); $this->selectSyntax = $this->selectConn->prepare($this->selectTable); $this->selectSyntax->setFetchMode(PDO::FETCH_OBJ);} private function selectExecute() { $this->selectConnect(); try { $this->selectConstruct(); $this->selectSyntax->execute(); $this->selectData = $this->selectSyntax->fetchAll(); } catch (PDOException $error) { $this->selectData = null; $this->selectError = "Erro ao ler dados: {$error->getMessage()} {$error->getCode()}";}}} arquivo /omar2/modelos/Session.php <?php class Session { private static $status; private static $globalName; private static $session; public static function startSession($prefix = null) { self::$globalName = (empty($prefix) ? null : '_' . $prefix); if (!self::$status) { self::$session = new self; } self::$status = session_start(); return (self::$session);} public static function getSession() { return (self::$status);} public static function destroy() { self::$session = session_destroy(); unset($_SESSION);} public function __set($name, $value) { $_SESSION[$name . self::$globalName] = $value;} public function __get($name) { if (isset($_SESSION[$name . self::$globalName])) { return ($_SESSION[$name . self::$globalName]);}} public function __isset($name) { return (isset($_SESSION[$name . self::$globalName]));} public function __unset($name) { unset($_SESSION[$name . self::$globalName]);}} arquivo /omar2/modelos/Update.php <?php class Update extends Connect { private $updateTable; private $updateColumn = []; private $updateFields; private $updateValues = []; private $updateSyntax; private $updateConn; private $updateError; private $updateData; public function genérico($atualização){ $this->updateSyntax=$atualização; $this->updateExecute($atualização);} public function query($table, array $change, $target, $statements) { $this->updateTable = (string) $table; $this->updateColumn = $change; $this->updateFields = (string) $target; parse_str($statements, $this->updateValues); $this->updateConstruct(); $this->updateExecute();} public function setQuery($query, $statements = null) { if (!empty($statements)) { parse_str($statements, $this->updateValues); } $this->updateSyntax = $query; $this->updateExecute();} public function count() { if ($this->updateData) { return ($this->updateSyntax->rowCount());} else { return (0);}} public function error() { if (!empty($this->updateError)) { return ($this->updateError);}} private function updateConstruct() { foreach ($this->updateColumn as $Key => $Value) { $setKey[] = $Key . ' = :' . $Key;} $Value = array(); $setKey = implode(', ', $setKey); $this->updateSyntax = "UPDATE {$this->updateTable} SET {$setKey} WHERE {$this->updateFields}";} private function updateConnect() { $this->updateConn = parent::callConnect(); $this->updateSyntax = $this->updateConn->prepare($this->updateSyntax);} private function updateExecute() { $this->updateConnect(); try { $this->updateSyntax->execute(array_merge($this->updateColumn, $this->updateValues)); $this->updateData = true; } catch (PDOException $error) { $this->updateData = false; $this->updateError = "Erro ao alterar dados: {$error->getMessage()} {$error->getCode()}";}}} arquivo /omar2/modelos/config.php <?php error_reporting(E_ALL); ini_set('ignore_repeated_errors', TRUE); ini_set('display_errors', TRUE); ini_set('log_errors', TRUE); ini_set('error_log', __DIR__ . '/error.log'); ob_start(); defined('MODELO_DIR') || define('MODELO_DIR',$_SERVER['DOCUMENT_ROOT'] .'/omar2/modelos/'); defined('CONTROLE_DIR') || define('CONTROLE_DIR',$_SERVER['DOCUMENT_ROOT'].'/omar2/controles/'); $con = [ 'ready' => true, 'dbHost' => 'localhost', 'dbUser' => 'root', 'dbPass' => '', 'dbName' => 'mvc']; $setting = [ 'ready' => true, 'siteName' => 'Meu website', 'charset' => 'UTF-8']; try { if (!isset($con['ready'])) { throw new Exception('Dados de configurações para conexão não definidos', E_ERROR); } else if (!isset($setting['ready'])) { throw new Exception('Dados de configurações de comportamento não definidos', E_ERROR); } else { defined('DB_HOST') || define('DB_HOST', $con['dbHost']); defined('DB_USER') || define('DB_USER', $con['dbUser']); defined('DB_PASS') || define('DB_PASS', $con['dbPass']); defined('DB_DATA') || define('DB_DATA', $con['dbName']); defined('SITE_NAME') || define('SITE_NAME', $setting['siteName']); date_default_timezone_set('America/Sao_Paulo'); spl_autoload_register(function ($class) { $includeDir = false; $findDir = ['controles','modelos','visões']; foreach ($findDir as $DirName) { if (!$includeDir && file_exists(FindClass($DirName, $class)) && !is_dir(FindClass($DirName, $class))) { include_once (FindClass($DirName, $class)); $includeDir = true;}} if (!$includeDir) { die("Erro interno no servidor ao encontrar dados cruciais de funcionamento!");}}); function FindClass($dir, $class) { return ( $_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'omar2' . DIRECTORY_SEPARATOR . $dir . DIRECTORY_SEPARATOR . $class . '.php');} $session = Session::startSession(SITE_NAME); $config = GlobalFilter::ObjArray($setting);}} catch (Exception $e) {header('location : http500/');} arquivo /omar2/visões/index.php <!DOCTYPE html> <html> <head> <?php require $_SERVER['DOCUMENT_ROOT']."/omar2/modelos/config.php"; $serve = filter_input_array(INPUT_SERVER, FILTER_DEFAULT); $rootUrl = strlen($serve['DOCUMENT_ROOT']); $fileUrl = substr($serve['SCRIPT_FILENAME'], $rootUrl, -9); if ($fileUrl[0] == '/') {$baseUri = $fileUrl;} else { $baseUri = '/' . $fileUrl;} ?> <base href="<?= $baseUri ?>" /> <meta charset="<?=$setting['charset']?>" /> <title><?= SITE_NAME ?></title> </head> <body> <?php $filter = filter_input(INPUT_GET, 'url', FILTER_DEFAULT); $setUrl = empty($filter) ? 'consultar' : $filter; $explode = explode('/', $setUrl); $url = array_filter($explode); $request=$url[0]; $map = ['consultar','filtrar','adicionar','atualizar','excluir']; $file = false; foreach ($map as $value) { if (($request == $value) || (is_array($value) && in_array($request, $value))) { $opção = $value; break; }} if ($opção) {require CONTROLE_DIR."controle.php";}?> <table style="width:500;margin:0 auto;margin-top:100px"> <tr><th>Trabalhando com a tabela usuários <tr><td><a href="?url=consultar">consultar</a> <tr><td><a href="?url=filtrar">filtrar</a> <tr><td><a href="?url=adicionar">adicionar</a> <tr><td><a href="?url=atualizar">atualizar</a> <tr><td><a href="?url=excluir">excluir</a> </body> </html> O seu autoload é excelente, mas eu não tenho coragem de usar a constante __DIR__.
  15. Frank K Hosaka

    Mensagem publicada com erro, favor me deletar

    Mensagem errada.
  16. Frank K Hosaka

    Mensagem publicada com erro, favor me deletar

    Mensagem errada.
  17. terra

    Como identificar um nome assim: urKNPIjafGeLWsnT

    Olá, Como posso identificar um nome assim: urKNPIjafGeLWsnT e recusar cadastro? Agradeço qualquer ajuda.
  18. ILR master

    Cronômetro regressivo php

    Salve galera. Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:. Faltam 5 dias, 12:30:00 para inauguração. Qdo chegar no dia, quero que apenas apareça uma mensagem. Alguém pode me ajudar?
  19. rogerblower

    Consulta php+mysql dentro do javascript

    Pessoal tenho o seguinte código para duplicar linha do formulário, tudo funciona perfeitamente. var controleCampo = 1; function adicionarCampo() { controleCampo++; //console.log(controleCampo); document.getElementById('formulario').insertAdjacentHTML('beforeend', '<div class="form-group" id="campo' + controleCampo + '"><label></label><input type="hidden" name="agenda_id" id="num_dente" value="<?php echo $id_agenda ?> required "/><label class="form-label">&nbsp;Dente:&nbsp;</label><input type="text" class="formcodac-text-input-dente" name="num_dente[]" id="num_dente" placeholder="Nº Dente" /><label class="form-label">&nbsp;Obs:&nbsp;</label><input type="text" class="formcodac-text-input-obs" name="obs[]" id="obs" placeholder="Observações required "/><label class="form-label">&nbsp;Valor:&nbsp;</label><input type="text" class="formcodac-text-input-valor" name="valor[]" id="valor" placeholder="Valor required "/>&nbsp;<button class="btn btn-danger" type="button" id="' + controleCampo + '" onclick="removerCampo(' + controleCampo + ')"> X </button></div>'); } function removerCampo(idCampo){ //console.log("Campo remover: " + idCampo); document.getElementById('campo' + idCampo).remove(); } Porem eu preciso incluir um select no formulário com uma consulta php, não entendo do Java script, alguém poderia me ajudar, o select é esse: <label class="form-label">Proce</label> <select name="proce_id[]" class="formcodac-text-input-dente" id="proce_id" required> <option selected >Selecione</option> <?php $proce = $pdo->prepare("SELECT * FROM procedimentos"); $proce->execute(); if($proce->rowCount() > 0){ while($row=$proce->fetch(PDO::FETCH_ASSOC)){ echo'<option value="'.$row['id_proce'].'">'.$row['nome_proce'].'</option>'; }} ?> </select>
  20. gersonab

    função de comparação com multiplos de 5

    boa tarde tem como simplificar criando uma função e ou outra forma para se fazer uma comparação dos múltiplos de 5 de 5 a 200 por exemplo ? assim até funciona mas fica algo ....... ////$a = 5, $b = 10 e assim por diante até 200 if ($metros > 5 && $metros <= 10){ $mtr = bcsub($b, $metros, 3); $va01 = $mtr*$valorm; } else if ($metros > 10 && $metros <= 15){ $mtr = bcsub($c, $metros, 3); $va01 = $mtr*$valorm; +++++++++++++++ } else if ($metros > 195 && $metros <= 200){ $mtr = bcsub($d, $metros, 3); $va01 = $mtr*$valorm;
  21. ILR master

    Consulta mysql_query

    Bom dia. Tenho o seguinte dódigo para while: //logos $logos = "SELECT * FROM logos ORDER BY cod_logo DESC LIMIT 3"; $logos = mysqli_query($con, $logos) or die ("Filmes não encontrados"); while($logo= mysqli_fetch_array($logos){ print $logo['empresa']; } funciona perfeitamente, o porém é o seguinte. Eu quero pegar os 4 resultados, mas colocar em locais diferetes no site, então, teria que pegar a posição de cada um e não estou conseguindo fazer, mas pra você´s entenderem, seria mais ou menos assim: /logos $logos = "SELECT * FROM logos ORDER BY cod_logo DESC LIMIT 3"; $logos = mysqli_query($con, $logos) or die ("Filmes não encontrados"); print mysqli_query($logos,0,'empresa'); print mysqli_query($logos,1,'empresa'); print mysqli_query($logos,2,'empresa'); print mysqli_query($logos,3,'empresa'); } Alguém pode me ajudar? Obrigado.
  22. gersonab

    [Resolvido] dompdf visualizar sem salvar

    bom dia, fiz uma planilha e exporto ela para pdf ( dompdf ) sem problema, porém gostaria de ter a opção de visualizar sem salvar a mesma, no momento ela faz o download para depois abrir no navegador, teria como abrir para depois ter a opção de salvar ou não ?
  23. gersonab

    [Resolvido] update combobox php mysql

    bom dia a todos. tenho um combobox com dados vindo do BD, funciona perfeitamente, porém não consigo fazer com que no update o mesmo não apareça selecionado e tb este não funciona. cadastro funcionando ( janela modal ) <div class="row"> <div class="col-md-12"> <label for="inputAddress">Categoria</label> <select class="form-control" name="tip" id="idm"> <option value="">-- Selecionar --</option> <?php $query55 = $pdo->query("SELECT idm, material FROM mat ORDER BY material ASC"); $registros = $query55->fetchAll(PDO::FETCH_ASSOC); foreach($registros as $option) { ?> <option value="<?php echo $option['idm']?>"><?php echo $option['material']?></option> <?php } ?> </select> </div> <div class="col-md-12"> <label for="inputAddress">Material</label> <select class="form-control" name="idma" id="idma"> <option value="">-- Selecionar --</option> </select> </div> </div> a função do cadastro funcionando let selectCategoria = document.getElementById('idm'); let montaSelect = function () { let selectSubcategoria = document.getElementById('idma'); let valor = selectCategoria.value; let selected = selectSubcategoria.dataset.tip; fetch("select_subcategoria.php?idm=" + valor + "&selected=" + selected) .then(response => { return response.text(); }) .then(texto => { selectSubcategoria.innerHTML = texto; }); } selectCategoria.onchange = () => { montaSelect(); } montaSelect(); o select do cadastro funcionando $tip = $_GET['idm']; $selected = isset($_GET['selected']) ? $_GET['selected'] : null; $query = $pdo->prepare("SELECT * FROM tipomat WHERE tip=:tip ORDER BY tipom ASC"); $datax = ['tip' => $tip]; $query->execute($datax); $registros = $query->fetchAll(PDO::FETCH_ASSOC); echo '<option value="">Selecione um material</option>'; foreach($registros as $option) { $check = ''; if($selected == $option['idma']) { $check = 'selected'; } ?> <option value="<?php echo $option['idma']?>" <?php echo $check; ?>><?php echo $option['tipom']?></option> <?php } como podemos observar estes estão enviando os dados através do id , logo esta sendo usado getElementById , ja passei tudo para class e getElementsByClassName , porém não funciona o update, já modifiquei os ids idm para idm2 e idma para idma2 , modifiquei a função e o select conforme estes , porém não aparece os combos selecionados e não deixa selecionar a subcategoria. <div class="row"> <div class="col-md-12"> <label for="inputAddress">Categoria</label> <select class="form-control" name="idm" id="idm2"> <option value="">-- Selecionar --</option> <?php $query55 = $pdo->query("SELECT idm, material FROM mat ORDER BY material ASC"); $registros = $query55->fetchAll(PDO::FETCH_ASSOC); $check = ''; if($idm == $option['idm']) { $check = 'selected'; } foreach($registros as $option) { ?> <option value="<?php echo $option['idm']?>" <?php echo $check; ?>><?php echo $option['material']?></option> <?php } ?> </select> </div> <div class="col-md-12"> <label for="inputAddress">Material</label> <select class="form-control" name="idma" id="idma2" data-subcategoria_id="<?php echo $idma?>" required> <option value="">-- Selecionar --</option> </select> </div> </div> função 2 let selectCategoria2 = document.getElementById('idm2'); let montaSelect2 = function () { let selectSubcategoria2 = document.getElementById('idma2'); let valor2 = selectCategoria2.value; let selected2 = selectSubcategoria2.dataset.tip; fetch("select_subcategoria2.php?idm2=" + valor2 + "&selected=" + selected2) .then(response => { return response.text(); }) .then(texto => { selectSubcategoria2.innerHTML = texto; }); } selectCategoria2.onchange = () => { montaSelect2(); } montaSelect2(); select $tip = $_GET['idm2']; $selected = isset($_GET['selected']) ? $_GET['selected'] : null; $query = $pdo->prepare("SELECT * FROM tipomat WHERE tip=:tip ORDER BY tipom ASC"); $datax = ['tip' => $tip]; $query->execute($datax); $registros = $query->fetchAll(PDO::FETCH_ASSOC); echo '<option value="">Selecione um material</option>'; foreach($registros as $option) { $check = ''; if($selected == $option['idma']) { $check = 'selected'; } ?> <option value="<?php echo $option['idma']?>" <?php echo $check; ?>><?php echo $option['tipom']?></option> <?php } só lembrando q são janelas modais e estão na mesma página, não aparece erro no console.
  24. merlinus

    [Resolvido] Framework php Restful

    Saudações, pretendo fazer um projeto full restful, qual framework vcs recomendam? tava pensando e usar o Codignite 4
  25. rogerblower

    Variável dentro do Header(refresh

    Preciso retornar a página usando o header refresh e não estou conseguindo segue o código completo. A linha é essa; '.header('refresh: 3; atend_avat.php?pacie_id='.$pacie_id'.&agen_id='.$agen_id.'').''; $pacie_id = (isset($_GET['pacie_id'])); $agen_id = (isset($_GET['agen_id'])); $id_orca = $_GET['id_orca']; $observ = $_POST['observ']; $valor = $_POST['valor']; $status = $_POST['status']; $update = $pdo->prepare("UPDATE orcamento SET observ=:observ, valor=:valor, status=:status WHERE id_orca=:id_orca"); $update->bindValue(':observ', $observ); $update->bindValue(':valor', $valor); $update->bindValue(':status', $status); $update->bindValue(':id_orca', $id_orca); $result = $update->execute(); if($result){ echo'<div class="alert alert-success"> <strong><span class="glyphicon glyphicon-info-sign"></span> Dados editado com sucesso!</strong> </div>'.header('refresh: 3; atend_avat.php?pacie_id='.$pacie_id'.&agen_id='.$agen_id.'').''; }else{
×

Informação importante

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