Pesquisar na Comunidade
Mostrando resultados para as tags ''Resolvido''.
Encontrado 41 registros
-
select * from notificacao nt, tipo tp, autuacao_endereco ae where nt.noti_orgao = ae.av_orgao and ae.av_autonumero = nt.noti_documento and ae.av_tipo = tp.tipo_id and nt.noti_dtinfr between to_date('2019', 'yyyy') and to_date('2022', 'yyyy') and tp.tipo_id IN ('3') and nt.noti_tipomov IN ('NOT') group by to_char(nt.noti_dtinfr, 'yyyy') as ano, nt.noti_infrcod as Código da Inf, nt.noti_infrresumo as Descricao Alguém sabe me informar o erro , não roda no oracle
-
Estou com um problema no relatório. Está saindo o caracter ''/'' a mais no relatório. O correto é gerar o resultado: ''07/2022'' e não ''07/2022/'' Como faço para resolver isso no iReport? Print When Expression: ($F != null) && (!$F.equals( "" )) Text Field Expression: $F + "/"
-
Bom dia pessoal! Se for 'noti_autogerador' faça aparecer no boleto, o Label: "Tipificação da Infração" caso contrário apareça "Tipificação da Infração Originária" Só que isso abaixo não está dando certo, acusa 'Field not found' field' - alguém sabe como posso resolver isso. $F{noti_autogerador} == "" ? "Tipificação da Infração" : "Tipificação da Infração Originária" Grato
- 4 respostas
-
- relatorios php
- php
- (e %d mais)
-
Como faço para verificar na tela a linha sql deste bloco: if ($_SESSION ['tipoAutuacao'] == 'T') { $sql = $modelBoleto->GeradorBoleto ( $_SESSION ['orgaoCod'], $autos, $_SESSION ['tipoAutuacao'], 'PEN', 'S', '6291' ); echo $sql; $rel = "boletoPenTN"; } else { $sql = $modelBoleto->GeradorBoleto ( $_SESSION ['orgaoCod'], $autos, $_SESSION ['tipoAutuacao'], 'PEN', 'S', '6291' ); $rel = "boletoPenPN"; Tenho que fazer um echo, mas como eu faço?
-
Ontem, eu tentei improvisar um código no controlador, e o VS Code disparou um monte de erro. Eu desfiz a minha besteira, mas o VS Code continuou apontando o erro. Então, eu decidi jogar todo o projeto no lixo, e começar do zero. Dessa vez, eu comecei pelo login através desse tutorial: Laravel 9 Auth Login and Registration with Username or Email (codeanddeploy.com), esse tutorial é enorme. Mas o VS Code reclamou dessa linha: <?php $data = Session::get('success'); ?> Pelo Google, eu vi a dica para instalar mais um componente: GitHub - barryvdh/laravel-ide-helper: Laravel IDE Helper, mas não consegui resolver o problema. Eu também eu vi outra dica no Google, o de desconsiderar o alerta do VS Code. Essa dica funciona, mas não vou conseguir dormir sabendo que existe um código que pode desmoronar toda a arquitetura do Laravel. Assim, a minha única saída foi usar o pouco que eu sei de inglês e pedir ajuda no portal do Laracasts Undefined type 'Session' Intelephense (1009) (laracasts.com) Acho que o melhor jeito de estudar o Laravel é valorizando as mensagens de erro. Pelo menos foi assim que eu aprendi a usar o PHP. Mas nessa nova aventura, eu finalmente consegui instalar o Bootstrap no Laravel, o tutorial não diz como fazer isso, mas usei a minha intuição bem como corrigi o código do tutorial com a ajuda das mensagens de erro da ferramenta de inspeção do navegador. Esse Bootstrap é muito bom, no começo eu não conseguia nada, mas hoje eu até decorei <table class='table table-sm table-striped'> de tanto digitar a mesma coisa.
-
A minha ideia era colocar uma caixa para localizar produtos, usando o JavaScript para fazer uma lista dos dez produtos seguintes ao produto que o usuário está procurando. Usei o famoso loop for(i=j;i<=j+9;i++), mas ele funcionou só uma vez. Nas outras vezes, o JavaScript listou todos os produtos a partir do produto selecionado. Para evitar esse transtorno, olha só a gambiarra que eu fiz: resources > views > produto.blade.php @include('menu') <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function show(j){ divshow.innerHTML="" divshow.innerHTML+=produtos.options[j].value+"<br>";j++ divshow.innerHTML+=produtos.options[j].value+"<br>" divshow.innerHTML+=produtos.options[j+1].value+"<br>" divshow.innerHTML+=produtos.options[j+2].value+"<br>" divshow.innerHTML+=produtos.options[j+3].value+"<br>" divshow.innerHTML+=produtos.options[j+4].value+"<br>" divshow.innerHTML+=produtos.options[j+5].value+"<br>" divshow.innerHTML+=produtos.options[j+6].value+"<br>" divshow.innerHTML+=produtos.options[j+7].value+"<br>" divshow.innerHTML+=produtos.options[j+8].value+"<br>"} function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id')}} show(j)} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> @foreach($prod as $key => $pr) <option data-id={{$key}} value='{{$pr['prod']}}'> @endforeach </datalist></form></div> <div id=divshow></div> <script>show(0)</script> O código que funciona apenas uma vez é esse daqui, eu não sei o que eu fiz de errado: @include('menu') <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function show(j){ divshow.innerHTML=""; for(i=j;i<j+9;i++){divshow.innerHTML+=produtos.options[i].value+"<br>";}} function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} show(j);} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> @foreach($prod as $key => $pr) <option data-id={{$key}} value='{{$pr['prod']}}'> @endforeach </datalist></form></div> <div id=divshow></div> <script>show(0)</script> Fiz o teste no PHP, mas o problema persiste: <?php $mysqli=new mysqli("localhost","root","","astudy"); $query=$mysqli->query("select * from tbprod order by prod"); $prod=$query->fetch_all(MYSQLI_ASSOC);?> <script> document.title='Produto';btmenu.innerHTML='Procurar produto por nome' function procurar(valor){ for(i=0;i<produtos.options.length;i++){ if(produtos.options[i].value==valor){ j=produtos.options[i].getAttribute('data-id');}} divshow.innerHTML=""; for(i=j;i<j+9;++i){divshow.innerHTML+=produtos.options[i].value+"<br>";}} function show(j){ divshow.innerHTML=""; for(i=j;i<j+9;++i){divshow.innerHTML+=produtos.options[i].value+"<br>";}} </script> <div><p><p> <form> <input list=produtos autofocus id=produto onchange=procurar(value) autofocus> <datalist id=produtos> <?php foreach($prod as $key=>$pr){echo "<option data-id=$key value='".$pr['prod']."'>";} ?> </datalist></form></div> <div id=divshow></div> <script>show(0)</script>
-
Como faço para incluir o $dtSelect no select. Tentei isso, mas não está tendo a separação por vírgula.
-
Eu encontrei no Google uma dica para instalar o NPM no Windows para ajudar o Laravel a carregar o código JavaScript no projeto, mas não deu certo. Continuando a pesquisa, encontrei esse texto: Frontend - Laravel - The PHP Framework For Web Artisans. O meu inglês não é lá grande coisa, mas o que eu consegui entender é que eu não devo mais usar o JavaScript, e estudar um pouco mais o PHP e Blade. O que eu preciso é de um modal, uma janela para eu escolher uma conta do plano e a conta escolhida vai direto na tela de lançamento. Se eu não conseguir com o PHP e o Blade, nesse caso, o texto me recomenda a estudar o Laravel Livewire. Agora eu sei porque não tem forum para o Laravel, é muito complicado.
-
Encontrei na internet uma lista com todas as cidades do Brasil nesse endereço: https://gist.githubusercontent.com/zerobugs-oficial/53d692e5bec98d4b805dc5501dd5b157/raw/b9c4d0f538a83d5abf2d07d901055059fd20f442/cidades_estados_brasil.sql Mas ao invés de Maranhão, encontrei Maranhão. Tentei usar o editor de texto para tentar salvar como UTF-8 ou ANSI, mas nada mudou. Tentei usar o comando PHP htmlspecialchars_decode("Maranhão"); mas nada mudou. Alguém tem algum truque legal que transforme texto estranho em menos estranho?
-
Eu estou criando um balancete no Laravel, mas eu percebi que o Controller iria ficar bem grande e difícil de manusear. Assim decidi montar o balancete no MySQL para o Laravel já pegar quase tudo mastigado. Aqui as principais tabelas e views que eu criei: CREATE TABLE `tbsupervariavel` ( `codsuper` int NOT NULL, `docto` int DEFAULT NULL, `dia` date DEFAULT NULL, `codprod` int DEFAULT NULL, `anoapurado` int DEFAULT NULL, `mesapurado` int DEFAULT NULL, `mesextenso` varchar(10) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `primeirodia` date DEFAULT NULL, `end` varchar(45) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `senha` varchar(20) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `ped` mediumint DEFAULT NULL, `codp` mediumint DEFAULT NULL, `pessoa` varchar(100) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `criterio` varchar(100) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT 'null', `updated_at` datetime DEFAULT NULL, PRIMARY KEY (`codsuper`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_swedish_ci CREATE TABLE `tbdiario` ( `docto` mediumint NOT NULL AUTO_INCREMENT, `dia` date DEFAULT NULL, `conta` mediumint DEFAULT NULL, `debito` decimal(13,2) DEFAULT NULL, `credito` decimal(13,2) DEFAULT NULL, `hist` varchar(100) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, PRIMARY KEY (`docto`), KEY `Conta_idx` (`conta`), CONSTRAINT `Conta` FOREIGN KEY (`conta`) REFERENCES `tbconta` (`conta`) ) ENGINE=InnoDB AUTO_INCREMENT=14489 DEFAULT CHARSET=utf8mb3 COLLATE=utf8_swedish_ci CREATE TABLE `tbconta` ( `conta` mediumint NOT NULL, `descricao` varchar(50) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `tipoconta` varchar(10) CHARACTER SET utf8 COLLATE utf8_swedish_ci DEFAULT NULL, `ordemconta` int DEFAULT NULL, PRIMARY KEY (`conta`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb3 COLLATE=utf8_swedish_ci CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY DEFINER VIEW `diario`.`vw_movimento` AS SELECT `diario`.`tbdiario`.`conta` AS `conta`, SUM(`diario`.`tbdiario`.`debito`) AS `debito`, SUM(`diario`.`tbdiario`.`credito`) AS `credito` FROM ((`diario`.`tbconta` JOIN `diario`.`tbdiario`) JOIN `diario`.`tbsupervariavel`) WHERE ((YEAR(`diario`.`tbdiario`.`dia`) = `diario`.`tbsupervariavel`.`anoapurado`) AND (MONTH(`diario`.`tbdiario`.`dia`) = `diario`.`tbsupervariavel`.`mesapurado`)) GROUP BY `diario`.`tbdiario`.`conta` ORDER BY `diario`.`tbdiario`.`conta` CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY DEFINER VIEW `diario`.`vw_anterior` AS SELECT `diario`.`tbdiario`.`conta` AS `conta`, `diario`.`tbconta`.`descricao` AS `descricao`, (SUM(COALESCE(`diario`.`tbdiario`.`debito`, 0)) - SUM(COALESCE(`diario`.`tbdiario`.`credito`, 0))) AS `saldo` FROM ((`diario`.`tbdiario` JOIN `diario`.`tbsupervariavel`) JOIN `diario`.`tbconta` ON ((`diario`.`tbdiario`.`conta` = `diario`.`tbconta`.`conta`))) WHERE (`diario`.`tbdiario`.`dia` < `diario`.`tbsupervariavel`.`primeirodia`) GROUP BY `diario`.`tbdiario`.`conta` ORDER BY `diario`.`tbdiario`.`conta` CREATE ALGORITHM = UNDEFINED DEFINER = `root`@`localhost` SQL SECURITY DEFINER VIEW `diario`.`vw_balanco` AS SELECT `diario`.`vw_anterior`.`conta` AS `conta`, `diario`.`vw_anterior`.`descricao` AS `descricao`, `diario`.`vw_anterior`.`saldo` AS `saldo`, `diario`.`vw_movimento`.`debito` AS `debito`, `diario`.`vw_movimento`.`credito` AS `credito` FROM (`diario`.`vw_anterior` LEFT JOIN `diario`.`vw_movimento` ON ((`diario`.`vw_anterior`.`conta` = `diario`.`vw_movimento`.`conta`)))
-
Eu encontrei na internet alguns exemplos de como usar o Eloquent para trabalhar com a soma de dois campos, mas o que eu precisava mesmo era somar a soma dos dois campos. Eu consegui fazer isso no PHP, mas não consegui adaptar no Eloquent. Usando o método da tentativa e erro, a minha saída foi montar o balancete no MySQL, coisa que eu não consegui no tempo do PHP. Ontem eu escrevi nesse fórum "o balancete" no tópico do MySQL, e hoje pedi para o Laravel usar o Eloquent e botar o balancete na apresentação. A apresentação deu certo, o problema são os valores, muitos deles são bem estranhos. Ou seja, vou ter que rastrear os valores desde o MySQL até chegar no Eloquent. Mesmo assim, aqui está o meu rascunho do Controller e do balancete.blade.php, dessa vez tudo parcial, apenas os trechos "operacionais": trecho do balancete.blade.php <div class=divteste> <table class='table table-striped linha'><tr><th><th align=left> <a >{{$mesextenso}} de {{$ano}}</a> </th><th align=right>Anterior<th align=right>Débito <th align=right>Crédito<th align=right>Saldo Atual @foreach($contas as $conta) <tr><td>{{{$conta->conta}}}<td nowrap>{{{$conta->descricao}}} <td align=right>{{{dec($conta->saldo)}}} <td align=right>{{{dec($conta->debito)}}} <td align=right>{{{dec($conta->credito)}}} <td align=right>{{{dec($conta->saldo + $conta->debito - $conta->credito)}}} @endforeach trecho do diarioController public function balancete(){ $apuracoes=vw_apuracao::all()->toArray(); $tudo=tbsupervariavel::all(); $mesextenso=$tudo->value('mesextenso'); $ano=$tudo->value('anoapurado'); $contas=vw_balanco::all(); return view('balancete',['menu'=>'Balancete','mesextenso'=>$mesextenso,'ano'=>$ano],compact('apuracoes','contas'));}
-
Eu tentei fazer uma cópia da pasta example-app no OneDrive, mas eu recebi o alerta de que são 9.000 arquivos. Isso levou quase dois minutos. Mas não sei quanto tempo o OneDrive vai levar para sincronizar tudo aquilo, entre o notebook e a nuvem. Eu decidi não fazer nenhuma cópia de segurança. Só vale a pena fazer esse serviço se eu ganhasse algum dinheiro com isso.
-
Depois que eu aprendi a instalar o Laravel básico pelo Composer, eu pensei em levar todo o meu projeto PHP para o novo ambiente de trabalho. Como eu ainda não sei como usar o Visual Studio Code, eu usei o Windows Explorer, copiei o arquivo index.php e colei na pasta views, e renomeiei o arquivo de index.blade.php, e alterei a rota no arquivo web.php assim: routes > web.php ------------------------------------------------------------ <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\DiarioController; Route::get('/', function () {return view('index');}); Ativei o servidor pelo comando "php artisan serve", fui no navegador e digitei "localhost:8000", e a experiência deu certo! Fiquei tão contente que fui logo copiando o arquivo menu.php na pasta views. Digitei a senha, mas a resposta foi "404 not found". Mudei o nome do arquivo para "menu.blade.php", mas não deu certo. Mudei o código do index.php, onde estava <form action=menu.php>, eu mudei para <form action=menu>, mas não deu certo. Então, acrescentei mais uma rota no web.php, assim: <?php use Illuminate\Support\Facades\Route; use App\Http\Controllers\DiarioController; Route::get('/', function () {return view('index');}); Route::get('/menu',function () {return view('menu');}); Finalmente, o index conseguiu abrir o menu, o problema é a nova mensagem do Laravel The POST method is not supported for this route. Foi no Google, e a tradução correta é essa: o Laravel não suporta gambiarra.
-
Olá, amigos. Pergunta de principiante, mas to quebrando a cabeça. Preciso listar todas os registros cuja idade hoje seja menor que 9 anos. Fiz assim: <?php $dataatual = date('Y-m-d'); $menos9anos= date('Y-m-d',strtotime('-3286 days')); $criancas = "SELECT * FROM CadPessoas WHERE DtNasc BETWEEN $menos9anos AND $dataatual"; ?> <html> <head></head> <body> <table> <thead> <tr bgcolor=#0404b8> <td align=center ><b>ID </b></td> <td align=center ><b>NOME</b></td> <td align=center ><b>CELULAR</b></td> <td align=center ><b>DT.NASC.</b></td> <td align=center ><b>STATUS</b></td> <td align=center ><b>AÇÃO</b></td> </tr> </thead> <tbody bgcolor=#3232e3> <?php $dsn = ("mysql:host=localhost;dbname=meubanco;charset=utf8"); $user = "meuusuario"; $pass = "minhasenha"; $pdo = new PDO($dsn,$user,$pass); $stm = $pdo->query($criancas); $rows = $stm->fetchAll(); $count = count($rows); ?> <div style="color:#ffffff; font-size:20px;" align="right" text-color="red"><b>Total de registros encontrados: <?php echo $count;?> </b></div> <?php foreach($rows as $row){ echo "<tr>"; echo ("<td align=center>{$row['Cod']}</td>"); echo ("<td>{$row['Nome']}</td>"); echo ("<td>{$row['Cel']}</td>"); ?> <td align=center><?php echo ( date('d/m/Y', strtotime($row['DtNasc'])) ); ?></td> <td align=center><?php echo $row['Status']; ?></td> <td align=center><a href="pessoa_completo.php?<?php echo $row['Cod']?>"><img src="../img/more.png" alt="Imagem" height="39" width="100" /> </td> <?php } ?> </tbody> </table><br> </body> </html> Mas ele está retornando pessoas com idade maior, por exemplo, nascidas em 1986. Deveria retornar só de 2013 pra cá. Detalhe: todas as datas do campo DtNasc do banco de dados estão salvas no formato 1998-12-04 00:00:00. Abraços
-
Preview de imagem selecionada num input file com src já carregado
uma questão postou Edilson Santiago PHP
No meu formulário de editar usuario, tenho um campo onde aparece a logomarca do usuário. A url da imagem está salva no banco de dados. Ao abrir a página, a imagem é preenchida automaticamente assim: <div class="logo" id="foto_logo" name="foto_logo"><img id="imgPhoto" src="<?php echo $logo_usuario ?>"</img> Pois bem, quero que o usuário, ao clicar no "input type file", possa selecionar uma nova imagem, para trocar essa. E quero que, antes de subir a imagem e gravar a url no banco de dados, essa nova imagem apareça no lugar do <?php echo $logo_usuario?>. O script ficou assim: <script type="text/javascript"> var foto_logo = document.getElementById('foto_logo'); foto_logo.addEventListener('change', function(e) { showThumbnail(this.files); }); function showThumbnail(files) { if (files && files[0]) { var reader = new FileReader(); reader.onload = function (e) { foto_logo.src = e.target.result; } reader.readAsDataURL(files[0]); } } Mas só que nada acontece. Quando seleciono a imagem, continua mostrando a que está gravada no BD. O que pode estar errado? -
Faz 63 anos que a minha mãe vem me ensinando que o mais importante é o que as pessoas tem por dentro. Graças à pandemia de 2020, eu percebi que a minha mãe estava bem errada. É cientificamente impossível saber o que as pessoas tem por dentro. Alguém que está tossindo e precisa de um pulmão artificial para respirar, isso não significa que ele é um hospedeiro do Covid-19. Para saber se uma pessoa tem o vírus ou se está fingindo que está doente, você precisa de um microscópio eletrônico, e lamentavelmente o Brasil não tem sequer um microscópio analógico. Logo, tudo o que temos são apena aparências. Quando um jornal afirma que morreram mais de 600.000 pessoas por causa do vírus, eu finjo que acredito, eu finjo que acredito que os jornalistas sabem o que estão escrevendo. Para melhorar a minha audiência aqui no fórum, só hoje é que comecei a valorizar de verdade a aparência. E eu me dei mal. Primeiro, eu fui nessa página: Signin Template · Bootstrap v5.2 (getbootstrap.com) - ele é belo exemplo de como fazer a tela de login. Salvei uma cópia dessa página na minha área de trabalho. E quando tentei abrir a página da minha área de trabalho, eu recebi dezenas de mensagens de erro. Eu não tenho a menor ideia de como consertar.
-
Eu estou bem enrolado com o projeto portaria2, mas hoje apareceu outro cliente pedindo para aperfeiçoar a gambiarra que eu fiz no MySQL. O cliente tem uma camisa que custa R$ 6,00, ele queria vender os botões. Cada camisa tem 6 botões, logo, cada botão custa R$ 1,00. Para resolver isso, eu abri um novo registro chamado botão, e no campo código do fornecedor eu coloquei {"cod":886,"conv":6}, onde 886 é o código da camisa e 6 é o número de botões que cada camisa tem. Eu pedi para o PHP calcular o custo do botão assim: $custooriginal= // resultado da consulta do produto original $obj=json_decode($codfornecedor); $conv=$obj->conv; $custo=round($custooriginal/$conv,2); // cálculo do custo para um produto vinculado em outro. Agora, o cliente disse que tem uma camisa que custa R$ 6,00, uma calça que custa R$ 6,00 e um par de chinelo que custa R$ 6,00. Logo o Conjunto Para a Praia custa R$ 18,00. Para resolver esse problema, eu pensei nessa anotação {"cod":886,"conv":1,"cod":666,"cod":999} e o código PHP ficaria mais ou menos assim: if (!$conv==1){ $custo=round($custooriginal/$conv,2);} else { // ver quantos cod tem na anotação json // consultar o custo de cada um deles $custo=$somacusto;} A primeira dificuldade que eu vejo é que o PHP não vai conseguir distinguir os códigos, a menos que chame de cod1, cod2 e assim vai, mas enfim, isso é apenas um esboço de uma ideia. Na hora de digitar, tudo sai diferente.
-
Eu queria executar esse código pelo menos uma vez: <script>function funcaojava(nome) {alert(nome)}</script> <?php $mysqli=new mysqli("localhost","root","","porteiro"); $query=$mysqli->query("select * from tbcadastro limit 1"); echo "<table>"; while ($row=$query->fetch_assoc()){ $nome=$row['nome']; echo "<tr><td>$nome "; echo "<input type=submit value='Liberar a Saída' onclick=funcaojava('$nome')>";} Ele mostra o nome do colaborador e o botão liberar a saída. Mas na hora de usar o botão, nada acontece. Com a ajuda da ferramenta de inspeção do navegador, eu consigo ver essa mensagem: Uncaught SyntaxError: Invalid or unexpected token (at astudy.php:2:140) e a linha 2 é essa daqui, mas não consegui copiar o x vermelho que aparece no final da mensagem <table><tr><td>Adriana de Jesus Elidio <input type=submit value='Liberar a Saída' onclick=funcaojava('Adriana de Jesus Elidio')> Eu presumi que eu estava sendo punido por não fechar as tags do tipo <td></td>. Mas fiz a correção, mas o problema persiste. Alguém pode me ajudar?
-
Olá, amigos, estou tentando uma "redefinição de senha", onde a página gera uma nova senha, envia essa senha por e-mail e em seguida faz update no banco de dados. Tá gerando a senha e enviando o email, mas não faz o update. Alguém pode ajudar? Segue meu código: <?php require_once '../conecta.php'; if(isset($_POST[ok])){ $email = ($_POST['email']); $sql = "SELECT * FROM usuarios WHERE email='$email'"; $result = mysqli_query($conn, $sql); $row = $result->fetch_assoc(); $total = count($row); if($total == 0){ echo '<script> alert ("Erro! E-mail não cadastrado.")</script>'; }else{ $novasenha = substr(sha1(time()), 0, 8); $nscriptografada = sha1(sha1($novasenha)); $to = $email; $subject = 'Nova Senha'; $message = "A nova senha é: $novasenha"; $headers = "MIME-Version: 1.1\r\n"; $headers .= "Content-type: text/plain; charset=UTF-8\r\n"; $headers .= "From: meuemail@dominio.com\r\n"; $headers .= "Return-Path: meuemail@dominio.com\r\n"; $envio = mail($to, $subject, $message, $headers); $sql = "UPDATE usuarios SET senha = $nscriptografada WHERE email = $email"; if ($conn->query($sql) === TRUE) { echo '<script> alert ("Sucesso")</script>'; } else { echo '<script> alert ("Erro. ")</script>'; } } } ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>SGI - PAINEL DE CONTROLE - ALTERAR SENHA</title> <link type="text/css" rel="stylesheet" media="screen" href="estilos.css" /> <script type="text/javascript" language="javascript"> function valida_form(){ if(document.getElementById("email").value == ""){ alert('Por favor, digite o E-mail do usuário!'); document.getElementById("email").focus(); return false } } </script> </head> <body> <div style="text-align:center"><h2><font color="#ffffff">ESQUECI MINHA SENHA...</h2></font><br><br></div> <div id="form"> <form method="POST" action="" onsubmit="return valida_form(this)"> <label>Informe seu e-mail:</label><input value="<?php echo $_POST[email]; ?>" type="email" id="email" name="email" placeholder="Seu E-mail" maxlength="520"><br> <input type="submit" name="ok" value="SOLICITAR NOVA SENHA"><br> </form> </div> </body> </html>
-
Eu sempre trabalhei com os marcadores <?php e ?>, mas fiquei intrigado quando eu vi <?= Com a ajuda do Google, descobri que se trata de uma abreviação, e o PHP intrepreta como se fosse o comando "echo". <?php // html dentro do php $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select pessoa from tbpessoa limit 10"); $clientes=$query->fetch_all(MYSQLI_ASSOC); echo "<table>"; foreach($clientes as $cliente): echo "<tr><td>".$cliente['pessoa']."</td>"; endforeach; echo "<tr><td>---------------"; ?> <!--- php dentro do html ---> <?php foreach($clientes as $cliente): ?> <tr><td><?=$cliente['pessoa']?></td> <!--- <?= // é abreviatura para <?php echo ----> <?php endforeach;?>
-
Ontem, eu fiz o seguinte comando insert into tbentrada set codpessoa=1, entrada='2022-23-07 19:38:01'; e não apareceu nenhum problema. Mas hoje, apareceu esse erro 1265. Pesquisei no Google para ver que besteira eu fiz para merecer isso, mas tudo indica que eu derramei um pouco de café no notebook e isso acabou encolhendo o campo entrada. Eu não sei como alargar um campo do tipo Datetime. Mas o Google apresentou outra alternativa que funcionou: insert into tbentrada set codpessoa=1, entrada=now(); mas eu queria voltar a usar o valor que eu pego da função Date do PHP. Se eu botar o notebook na varanda para secar resolve?
-
O meu calendário HTML só funciona até 21 horas
uma questão postou Frank K Hosaka Tutoriais & Dicas - PHP
Estou bastante feliz, eu imaginava que iria conseguir mexer na função assíncrona só em 2030, mas com a ajuda do Wash e Iows aqui do fórum, consegui ganhar 8 anos. Também aprendi um pouco de HTML, comecei a usar o <input type=date>. O único problema desse calendário é que ele só funciona até 21 horas, depois desse horário, o calendário avança um dia. Pesquisei no Google, e um rapaz expicou que o único jeito de consertar esse problema é instalando uma biblioteca chamada moment.js, e isso não vou fazer porque eu joguei fora a biblioteca do JQuery.js. Mesmo assim, o meu extrato contábil funciona, pelo menos até 21 horas. astudy.html <meta charset="UTF-8"> Extrato do dia: <input type=date id=inpdia><input type=submit value=Confirmar onclick=procurar(inpdia.value)> <div id=recdiv></div> <script> // rotina inicial, define o calendário com a data atual // problema: o calendário está de acordo com a Africa e não com a América data=new Date() dia=data.getUTCDate() mes=data.getUTCMonth()+1 if (mes<10) {mes="0"+mes} ano=data.getUTCFullYear() inpdia.value=ano+"-"+mes+"-"+dia kControle=0 jTamanho=0 obExtrato={} async function procurar(dia) { //solicita ao PHP o extrato do dia selecionado form = new FormData() form.append("procurar",dia); response=await fetch("astudy.php", {method: "POST", body: form}) body=await response.json() //mostra o extrato, se o PHP responder jTamanho=body.length obExtrato=body listadiario()} function listadiario() { //lista 15 registros de cada vez, indefinidamente, até o usuário se cansar if (kControle<jTamanho) { exibe="<table><tr><th>Docto<th>Conta<th>Valor<th>Historico" for (iNdicador=kControle;iNdicador<kControle+15;iNdicador++){ if (iNdicador==jTamanho){break} if (obExtrato[iNdicador].debito!=null){valor=obExtrato[iNdicador].debito} if (obExtrato[iNdicador].credito!=null){valor="<font color=red>"+obExtrato[iNdicador].credito+"</font>"} valor=valor.replace(".",",") exibe+="<tr><td>"+obExtrato[iNdicador].docto+"<td>"+obExtrato[iNdicador].conta exibe+="<td align=right>"+valor+"<td>"+obExtrato[iNdicador].hist} exibe+="<tr><td><td><td><td><input type=submit value=Continua onclick=listadiario()></table>" recdiv.innerHTML=exibe kControle=iNdicador if (kControle>=jTamanho){kControle=0}}} </script> --------------------------------------------------------------------- astudy.php <?php $dia=$_POST['procurar']; $mysqli=new mysqli("localhost","root","","diario"); $query=$mysqli->query("select * from tbdiario where dia='$dia'"); $rows=$query->fetch_all(MYSQLI_ASSOC); $json=json_encode($rows); echo $json; -
Como faço para o study.php chamar o study2.php?
uma questão postou Frank K Hosaka Tutoriais & Dicas - PHP
Eu publiquei nesse fórum um código assim: astudy.php -------------------------- <form method post action=astudy2.php><input type=submit name=teste></form> astudy2.php -------------------------- <?php if (isset($_POST['teste'])) {echo "o meu programa funciona!";} echo "<br><input type=submit value=Voltar onclick=location.replace('astudy.php')>"; Ele funciona no meu notebook. Só que alguém copiou esses códigos numa pasta chamada form_test, e assim o astudy.php não consegue chamar astudy2.php, apesar de estarem na mesma pasta. Tem jeito de consertar o meu código para enfrentar esse tipo de situação? -
Olá amigos, tenho uma página "usuarios.php" que me retorna todos os registros da tabela do BD. No fim de cada linha, tenho dois links, um para "editar" e outro para "excluir". O "Excluir" chama a página "usu_excluir.php" acrescida da "id" do usuário daquela linha. O link do "excluir" é esse: <a href="usu_excluir.php?<?php echo $row['id']?>">Excluir</a> Aí, se eu estiver tentando excluir o regsitro de id 10, por exemplo, ele abre a página usu_excluir com o link: https://meu_site/paginas/usu_excluir.php?10 Só que a página não abre. Retorna "essa página não está funcionando. Erro 500". No arquivo "classes/usuarios.php" fiz o seguinte: public function excluir($id){ if($this->existeID($id)){ $sql = "DELETE FROM usuarios WHERE id = :id"; $sql = $this->pdo->prepare($sql); $sql->bindValue(':id', $id); $sql->execute(); return true; } else { return false; } } E minha página "usu_excluir.php, fiz assim: <?php session_start(); if(!isset($_SESSION['id'])) { header("location: ../login.php"); exit; } require_once '../classes/usuarios.php'; $u = new Usuario; $id = $_SERVER['QUERY_STRING']; $u->conectar("Meu banco de dados","localhost","usuário","senha"); if($u->msgErro == "") { if(confirm("Atenção. O Usuário será deletado.Tem certeza?")) { $u->excluir($id); } else { header("location ../paginas/painel.php"); } } ?> Onde está o erro?
-
Problema para visualizar consulta PHP PDO
uma questão postou Edilson Santiago Tutoriais & Dicas - PHP
Amigos, estou tentando exibir os dados de um bando de dados separados em uma tabela na minha pagina html. A conexão funciona, o php lê o banco de dados normalmente, mas não consigo gerar as linhas com os dados. O que pode está errado? <?php session_start(); if(!isset($_SESSION['id'])) { header("location: index.php"); exit; } include("conexao.php"); $sql = "SELECT * FROM usuarios"; $result = $PDO->query( $sql ); ?> <html lang="pt-br"> <head> <meta charset="utf-8"> <title>REGISTRO DE USUÁRIOS</title> <link rel="stylesheet" href="css/stilo.css"> </head> <body> <div class="logo2"></div> <div id="corpo-form"> <h2>REGISTRO DE USUÁRIOS</h2> <table border="1"> <tr> <td>Código</td> <td>Nome</td> <td>E-mail</td> <td>Data de Cadastro</td> <td>Última Modificação</td> <td>Ação</td> </tr> <?php $rows = $result->fetchAll(); { ?> <tr> <td><?php print_r ( $rows['id'] ); ?></td> <td><?php print_r ( $rows['nome'] ); ?></td> <td><?php print_r ( $rows['email'] ); ?></td> <td><?php print_r ( date('d/m/Y', strtotime($rows['created'])) ); ?></td> <td><?php print_r ( date('d/m/Y', strtotime($rows['modified'])) ); ?></td> <td> <a href="usu_editar.php?codigo=<?php print_r ( $rows['codigo'] ); ?>">Editar</a> <a href="usu_excluir.php?codigo=<?php print_r ( $rows['codigo'] ); ?> ">Excluir</a> </td> </tr> <?php } ?> </table> </div> </body> </html> Esta parte: print_r ( $rows['id'] ) tetei fazer também com "echo", mas também não funcionou.