-
Total de itens
374 -
Registro em
-
Última visita
-
Dias vencidos
11
Tudo que washalbano postou
-
sim! o php só é interpretado no servidor. A requisição deve ser feita pelo protocolo http:// e c:/ é protocolo file:// Uso a mesma extensão aqui e funciona muito bem. Verifique as configurações:
-
Colocar parte de dado de um form em outro (de um input para outro input)
washalbano respondeu ao tópico de GOD em Desenvolvimento frontend
Ôppa! Acho q estou quase entendendo. Na verdade, não há necessidade de duas abas abertas simultaneamente. pode ser até na mesma aba. Assim como o colega sugeriu. -
Certo! Então o sr. já tem o calendário? Já está bem mais fácil programar o clique nos dias onde vai precisar do agendamento.
-
Olá! Comece fazendo um calendário:
-
[Resolvido] Ajuda! Meu campo está exibindo o valor selecionado corretamente mas gravando como 0(zero) no banco de dados.
washalbano respondeu ao tópico de Flaviaac em PHP
Olá! O erro acontece pq o input[name="descarte"] está disabled Esse valor nunca vai ser submetido. Não vai chegar em processa_cadastro.php e vai car no else do if($periodo_doc != '') sempre exibindo a mensagem de erro (mesmo que não exista nenhum erro sql) -
<div style="float: left; margin-right: 20px"> checkbox1<input type="checkbox" id="aprendiz" value="aaa" data-target="item1" /><br /> checkbox2<input type="checkbox" id="aluno" value="bbb" data-target="item2" /><br /> </div> <div style="float: left"> <select multiple size="2"> <option id="item1">item1</option> <option id="item2">item2</option> </select> </div> ... <script> for (const checkBox of document.querySelectorAll('input[type="checkbox"]')) { checkBox.addEventListener('input', (e) => { document.getElementById(e.currentTarget.dataset.target).selected = e.currentTarget.checked }) } </script>
-
Se a id for tipo primary key, não será possível ter duas ids iguais. essa linha vai tentar fazer com que duas ids sejam iguais
-
Olá @Mauricio Molina! Nos ajude a entender melhor o cenário: Esse site foi construído com o framework wordpress, laravel, codeigniter, zend ou outro? Foi codado em php5, php7 ou php8? O front tb usa algum framework ou lib: react, vue, jquery ou outro? Os dados referentes a imagem são gravados em algum database? MySql/MariaDB, Postgresql ou outro?
-
Certifique-se de que os outros inputs neste form tenham o mesmo nome e perceba que o nome da variável é nome_produto, no singular. remova o s do final Para verificar o conteúdo de $_POST: echo '<pre>$_POST: '; print_r($_POST); echo '</pre>'; die(FILE . ' at line: ' . LINE);
-
Veja se consegue se orientar por esse exemplo: https://github.com/w-studies/frequency-table
-
-
<div class="container-fluid mb-5"> <div class="row"> <div class="col-lg-2"></div> <div class="col-lg-8 mb-5"> <div class="caixa-orcamento pb-5"> <form action="" method="POST" onchange="atualizarPreco()" name="formulario"> <h3 class="text-center pt-5 pb-4 labels">Pedido de Orçamento:</h3> <table class="m-auto"> <tr> <td class="fw-bold labels">Tipo de página web:</td> <td> <!-- Três tipos de pãgina Fictícia com os valores de 400, 500 e 600 respetivamente --> <select name="tipopagina" id="tipopagina" required> <option value="0"></option> <option value="400" id="estatica">Estática</option> <option value="500" id="dinamica" >Dinâmica</option> <option value="600" id="loja" >Loja</option> </select> </td> </tr> <tr> <!-- Descontos de Prazo - de 1 Mes- 5%, 2 Meses-10%, 3 Meses- 15$, 4 Meses- 20%, em diante sempre 20% --> <td class="fw-bold labels">Prazo em meses:</td> <td><input type="number" min='0' id="prazo"></td> </tr> </table> <h5 class="text-center pt-5 pb-4 labels">Marque os separadores desejados</h5> <!-- Cada check selecionado soma 400 ao valor total --> <div class="checkbox labels text-center mb-5"> <input type="checkbox" class="checkbox" name="separador-1" value="400">Quem Somos <input type="checkbox" class="checkbox" name="separador-2" value="400">Onde estamos <input type="checkbox" class="checkbox" name="separador-3" value="400">Galeria de fotografias <br> <input type="checkbox" class="checkbox" name="separador-4" value="400">eCommerce <input type="checkbox" class="checkbox" name="separador-5" value="400">Gestão Interna <input type="checkbox" class="checkbox" name="separador-6" value="400">Notícias <input type="checkbox" class="checkbox" name="separador-7" value="400">Redes Sociais </div> <h5 class="text-center labels">Orçamento estimado:</h5> <p class="text-center labels">(É um valor meramente indicativo, pode sofrer alterações)</p> <div class="resultado-orcamento text-center"> <!-- Valor total do orçamento com os botões de resetar e submeter o orçamento --> <input type="text" id="valor-orcamento" name="valor-orcamento" value=""> <br> <button type="reset" class="btn btn-primary mt-4" id="reset" name="reset">Apagar Orçamento</button> <button type="submit" class="btn btn-primary mt-4" id="submeter" name="submeter">Submeter Orçamento</button> </div> </form> </div> </div> <div class="col-lg-2"></div> </div> </div> const eTipoPagina = document.getElementById('tipopagina') const eValorOrcamento = document.getElementById('valor-orcamento') // elementos que, ao serem alterados, devem atualizar o preço const eObserved = document.querySelectorAll('#tipopagina, #prazo, div.checkbox input[type="checkbox"]') for (const element of eObserved) { element.addEventListener('input', atualizarPreco) } function atualizarPreco() { let preco = eTipoPagina.value // Desconto de 5% por cada mês de prazo (sobre valor total do orçamento) (máximo 20% de desconto que equivale a 4 meses máximo. A partir daí é sempre 20%) var prazo = document.getElementById('prazo').value if (prazo == 0) { preco = +preco + 0 } else if (prazo == 1) { preco = +preco - (preco * 0.05) } else if (prazo == 2) { preco = +preco - (preco * 0.10) } else if (prazo == 3) { preco = +preco - (preco * 0.15) } else { preco = +preco - (preco * 0.20) } // percorre cada checkbox marcado e acrescenta o valor ao preço for (const checkBox of document.querySelectorAll('div.checkbox input[type="checkbox"]')) { if (checkBox.checked) { preco = +preco + +checkBox.value } } eValorOrcamento.value = preco }
-
A conexão com localhost foi recusada. Verificar o proxy e o firewall (ERR_CONNECTION_REFUSED)
washalbano respondeu ao tópico de Thiago Az em Javascript
Olá! Aparentemente é erro de conexão com o database. Verifique se os acessos estão corretos e o database existe. O sistema usa algum orm? -
Erro em css não fica uma div a baixo da outra.
washalbano respondeu ao tópico de Marcones Borges em Desenvolvimento frontend
pelo screenshot não entendi o que o sr. quer. Mas veja se isso te ajuda: <!doctype html> <html lang='en'> <head> <meta charset='UTF-8'> <meta name='viewport' content='width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0'> <meta http-equiv='X-UA-Compatible' content='ie=edge'> <title>Document</title> <style> * { box-sizing: border-box; } article { display: flex; flex-direction: column; align-items: center; } .page { display: flex; flex-direction: column; align-items: center; max-width: calc(210mm - 5mm); height: calc(297mm - 5mm); max-height: calc(297mm - 5mm); padding: 10mm 15mm 10mm; font-size: 12px; border: thin solid black; font-family: courier, arial, helvetica; } #texto1 { line-height: 1.5; text-align: justify; display: flex; flex-direction: column; flex-grow: 1; } footer.signature { width: 50%; display: flex; flex-direction: column; } .signature-line { border: none; border-bottom: thin solid #777; width: 100%; } .signature-items { display: flex; justify-content: space-around; } </style> </head> <body> <main> <article> <div class='page'> <div id="texto1"> <h2>What is Lorem Ipsum?</h2> <p> <strong>Lorem Ipsum</strong> is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum. </p> <h2>Why do we use it?</h2> <p>It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters, as opposed to using 'Content here, content here', making it look like readable English. Many desktop publishing packages and web page editors now use Lorem Ipsum as their default model text, and a search for 'lorem ipsum' will uncover many web sites still in their infancy. Various versions have evolved over the years, sometimes by accident, sometimes on purpose (injected humour and the like).</p> <h2>Where does it come from?</h2> <p>Contrary to popular belief, Lorem Ipsum is not simply random text. It has roots in a piece of classical Latin literature from 45 BC, making it over 2000 years old. Richard McClintock, a Latin professor at Hampden-Sydney College in Virginia, looked up one of the more obscure Latin words, consectetur, from a Lorem Ipsum passage, and going through the cites of the word in classical literature, discovered the undoubtable source. Lorem Ipsum comes from sections 1.10.32 and 1.10.33 of "de Finibus Bonorum et Malorum" (The Extremes of Good and Evil) by Cicero, written in 45 BC. This book is a treatise on the theory of ethics, very popular during the Renaissance. The first line of Lorem Ipsum, "Lorem ipsum dolor sit amet..", comes from a line in section 1.10.32.</p> <p>The standard chunk of Lorem Ipsum used since the 1500s is reproduced below for those interested. Sections 1.10.32 and 1.10.33 from "de Finibus Bonorum et Malorum" by Cicero are also reproduced in their exact original form, accompanied by English versions from the 1914 translation by H. Rackham.</p> <h2>Where can I get some?</h2> <p>There are many variations of passages of Lorem Ipsum available, but the majority have suffered alteration in some form, by injected humour, or randomised words which don't look even slightly believable. If you are going to use a passage of Lorem Ipsum, you need to be sure there isn't anything embarrassing hidden in the middle of text. All the Lorem Ipsum generators on the Internet tend to repeat predefined chunks as necessary, making this the first true generator on the Internet.</p> </div> <footer class='signature'> <hr class='signature-line'> <div class='signature-items'> <small>Cliente</small> <small>Convenção</small> <small>SECRETÁRIO(A)</small> </div> </footer> </div> </article> </main> </body> </html> -
Erro em css não fica uma div a baixo da outra.
washalbano respondeu ao tópico de Marcones Borges em Desenvolvimento frontend
Olá! Se puder, mostre-nos um screenshot do que pretendes fazer -
Preview de multiplos arquivos com inputs diferentes
washalbano respondeu ao tópico de Sapinn em Javascript
- 3 respostas
-
- javascript
- preview
-
(e mais 1 )
Tags:
-
Preview de multiplos arquivos com inputs diferentes
washalbano respondeu ao tópico de Sapinn em Javascript
Olá! Da forma como o sr. fez, ids ficaram repetidas. ids devem ser únicas (não podem se repetir) Crie um wrapper, use classes... segue sugestão: <div class="container preview-wrapper"> <label> <input type="file" accept=".png, .jpeg, .jpg, .pdf" multiple> <i class="fas fa-upload"></i> Escolha seus arquivos </label> <p class="num-of-files">Nenhum arquivo escolhido</p> <div class="preview-images"></div> </div> <div class="container preview-wrapper"> <label> <input type="file" accept=".png, .jpeg, .jpg, .pdf" multiple> <i class="fas fa-upload"></i> Escolha seus arquivos </label> <p class="num-of-files">Nenhum arquivo escolhido</p> <div class="preview-images"></div> </div> * { padding: 0; margin: 0; box-sizing: border-box; font-family: "Rubik", sans-serif; } body { background-color: #f5f8ff; } .container { background-color: #ffffff; width: 60%; min-width: 450px; position: relative; margin: 50px auto; padding: 50px 20px; border-radius: 7px; box-shadow: 0 20px 35px rgba(0, 0, 0, 0.05); } input[type="file"] { display: none; } label { display: block; position: relative; background-color: #025bee; color: #ffffff; font-size: 18px; text-align: center; width: 300px; padding: 18px 0; margin: auto; border-radius: 5px; cursor: pointer; } .container p { text-align: center; margin: 20px 0 30px 0; } .preview-images { width: 80%; position: relative; margin: auto; display: flex; justify-content: space-evenly; gap: 20px; flex-wrap: wrap; } figure { width: 45%; } img { width: 100%; } figcaption { text-align: center; font-size: 2.4vmin; margin-top: 0.5vmin; } const handleFileInput = async e => { const fileInput = e.target const wrapper = e.currentTarget const imagesContainer = wrapper.querySelector('.preview-images') const diplayNumOfFiles = wrapper.querySelector('.num-of-files') // limpa imagesContainer imagesContainer.innerHTML = '' // exibe o número de arquivos selecionados diplayNumOfFiles.textContent = `${fileInput.files.length} Arquivos selecionados` // para cada arquivo selecionado for (const file of fileInput.files) { const figure = await fileReader(file) imagesContainer.append(figure) } } const fileReader = async (file) => { const reader = new FileReader() const figure = document.createElement('figure') const figCap = document.createElement('figcaption') figCap.innerText = file.name figure.appendChild(figCap) reader.onload = () => { let img = document.createElement('img') if (figCap.innerText.split('.').pop() == 'pdf') { img.setAttribute('src', 'pdf.png') } else { img.setAttribute('src', reader.result) } figure.insertBefore(img, figCap) } await reader.readAsDataURL(file) return figure; } // encontra todos .preview-wrappers const previewWrappers = document.querySelectorAll('.preview-wrapper') // para cada wrapper encontrado for (const wrapper of previewWrappers) { // escuta o evento input wrapper.addEventListener('input', handleFileInput) }- 3 respostas
-
- javascript
- preview
-
(e mais 1 )
Tags:
-
Não consigo verificar se o checkbox foi marcado
washalbano respondeu ao tópico de Sapinn em Javascript
Olá! Isso acontece pq você precisa "escutar" as alterações no checkbox. Sugestão: <script> const checkedCustomize = document.getElementById("checkbox"); checkedCustomize.addEventListener('input', (e) => { if (e.target.checked) { alert("Checkbox marcado"); } else { console.log("checkbox não marcado"); } }) </script> Dessa forma, cada vez que o checkbox sofrer alteração, será verificado novamente como está o seu atributo checked -
Olá! Segue sugestão: <?php // Excluir um arquivo especificado $file = fopen('pagina2.php', 'w'); echo fwrite($file, 'Hello World. Testing!'); fclose($file); unlink('pagina2.php'); function removeCommentsFromFiles(array $files): void { // para cada arquivo em $files foreach ($files as $file) { // carregue o conteúdo do arquivo, cada linha em uma índice do array $fileContent $fileContent = file($file, FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); // para linha em $fileContent foreach ($fileContent as $index => $row) { // remova os espaços em branco no início e no fim da linha $trimmedRow = trim($row); // se a linha começa com duas barras: // // ou se a linha começa com hash: # // ou se a linha começa com barra asterisco: /* if (preg_match('/^(\/\/|#|\/\*)/', $trimmedRow)) { // remova essa linha de $fileContent unset($fileContent[$index]); } } // junte todas as linhas do array em uma string $fileString = implode("\n", $fileContent); // abre o arquivo $noCommnentsFile = fopen($file, 'w'); // grava a string sem comentários fwrite($noCommnentsFile, $fileString); // fecha o arquivo fclose($noCommnentsFile); } } // executa a função para remover os comentários dos arquivos page3.php e page4.php removeCommentsFromFiles(['page3.php', 'page4.php']);
-
Htaccess apenas em uma subpasta [RESOLVIDO]
washalbano respondeu ao tópico de mateus.andriollo em PHP
Olá! Segue sugestão. index.html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <p><a href="produto/tp0001">tp0001</a></p> <p><a href="produto/tp0002">tp0002</a></p> <p><a href="produto/tp0003">tp0003</a></p> <p><a href="produto/tp0004">tp0004</a></p> <p><a href="produto/tp0005">tp0005</a></p> </body> </html> produtos.php <?php // valide/sanitize a id do produto $productID = $_SERVER['QUERY_STRING']; echo '<pre>Resultado para o produto com id: '; print_r($productID); echo '</pre>'; ?> <a href="../">Voltar</a> .htaccess # Disable directory browsing Options All -Indexes <IfModule mod_rewrite.c> Options +FollowSymlinks RewriteEngine On # pass-through if another rewrite rule has been applied already RewriteCond %{ENV:REDIRECT_STATUS} 200 RewriteRule ^ - [L] # direcione seus assets RewriteRule ^((css|js|imgs|fonts|vendors|maps)/.+\..{2,})$ assets/$1 [L,QSA] # o que começar com produto/algumacoisa, vai ser entregue ao arquivo produtos.php RewriteRule ^produto/(.+)$ produtos.php?$1 [L,QSA] # qualquer coisa que não tenha caído nas regras acima será entregue ao arquivo index.html RewriteRule ^$ index.html [L] RewriteRule ^(.*)$ index.html [L] </IfModule> Monte assim: E teste -
apague esse trecho e teste novamente ou veja se é possível retornar um array de Sales assim: : ?Sales[]
-
Baixe essa sugestão que enviei e adeque em concordância com a sua necessidade.
-
https://we.tl/t-ZukAz9NkXc
-
Olá! Chega vazio de tudo? Ou só não chega o arquivo? Pode enviar um exemplo testável pra eu verificar aqui? Qual é o conteúdo de property.files[0] ?
-
apague o arquivo info.php