Ir para conteúdo
Fórum Script Brasil

Markus Magnus

Membros
  • Total de itens

    352
  • Registro em

  • Última visita

Tudo que Markus Magnus postou

  1. Markus Magnus

    erro cookies

    Na verdade isso não é um erro é um Notice(Aviso). Ele está avisando que dentro da variável $_COOKIE não existe 'login', então o seu código deve ser assim. <?php if(isset($_COOKIE['login'])){ $login_cookie = $_COOKIE['login']; echo"Bem-Vindo, $login_cookie <br>"; echo"Essas informações <font color='red'>PODEM</font> ser acessadas por você"; } else { echo"Bem-Vindo, convidado <br>"; echo"Essas informações <font color='red'>NÃO PODEM</font> ser acessadas por você"; echo"<br><a href='login.html'>Faça Login</a> Para ler o conteúdo"; }
  2. kkkkkkkkkkkk Acontece com todo mundo. Precisando é só chamar. Abraços.
  3. A resposta do que você quer está no próprio código. Você quer "tratar" o valor enviado pelo formulário, você quer acrescentar um texto antes e um texto depois daquele que o usuário enviar, logo o que você quer fazer é uma concatenação. <?PHP $nome = $_POST["nome_arquivo"]; $codigo = '<html>'.$_POST["codigo_do_arquivo"].'</html>'; // Faça outra concatenação com o código HTML $dir_arq = $nome.'.html'; // Isso é uma concatenação if (file_exists($dir_arq)) { echo "O arquivo \"$dir_arq\" já existe."; // Usa a variável que você já criou com o nome do arquivo } else { $arq = fopen("$dir_arq", "x+"); if(fwrite($dir_arq,$codigo)){ // Aqui você tinha usado a variável errada $arq em vez de $dir_arq echo "Arquivo criado com sucesso!"; } else { echo "erro ao criar o arquivo"; } } ?> E eu trocaria o fwrite por file_put_contents: <?php if(file_put_contents($dir_arq,$codigo)){ // Ele cria o arquivo e escreve echo "Arquivo criado com sucesso!"; } else { echo "erro ao criar o arquivo"; }
  4. Acredito que só era necessário o wait_timeout e o interactive_timeout. No retorno do "SHOW VARIABLES" retornam os valores que você configurou mesmo? De repente ele está usando outro arquivo para configurações para um determinado banco ou usuário...
  5. Exatamente. Se fosse você tentaria fazer 12 INNER JOINS, em vez de subselects.
  6. No subselect você precisa colocar uma clausula WHERE que compare VEN_0117 com VEN_0217, ou então tirar o subselect e fazer um INNER JOIN. Provavelmente você pode usar o campo POSTO para comparar as duas.
  7. IE8 não funciona. IE9, 10 e 11 sim. Só atualizar o IE que funciona, ou fazer a alteração que eu te disse.
  8. O internet explorer 8 pra trás não aceitam o alpha do rgba(), ou se conformar em não dar suporte para IE8 ou anterior, ou, uma coisa que eu testei agora, colocar dois colors: color:#c7c1c1; color:rgba(255,255,255,0.7); Aparentemente deu certo.
  9. Sim. Não colocaria no caixa, por que quando for fazer o pagamento de boleto ou qualquer coisa, você não pode usar o bem material. Você tem que vende-lo e colocar no caixa o dinheiro ganho com a venda. Na verdade não vejo a necessidade dessas duas tabelas, porque a entrada de produtos se dá através de compra e a saída através de venda. Além da tabela venda você já tem uma outra tabela venda_item ou venda_produto que lista os produtos e quantidades não tem? Essa tabela já seria o suficiente para registrar a saída.
  10. As funções mysql_* serão descontinuadas troque-as por mysqli_* e provavelmente já vai funcionar e o aviso irá sumir.
  11. O DELETE não é diferente das outras querys (SELECT, INSERT, UPDATE) em todos os casos você pode usar strings precedidos com dois pontos ou números inteiros com "?" na query, vai de gosto de cada um. <?php // Isso $deletarUsuario = $pdo->prepare("DELETE FROM usuarios WHERE id=?"); $deletarUsuario->bindvalue(1, $id); // É igual a isso $deletarUsuario = $pdo->prepare("DELETE FROM usuarios WHERE id=:id"); $deletarUsuario->bindvalue('id', $id);
  12. Posta o HTML também fica mais fácil de reproduzir o problema.
  13. Na verdade o mysql não vai entender que a senha é igual ao hash. O que você vai fazer é criptografar a senha digitada em md5 e comparar os dois hashs.
  14. Hum tah, tem razão. O cartão entra, mesmo se for parcelado, tanto que quanto mais parcelas, mais juros a operadora do cartão cobra. Agora o cheque não. Faz com o cheque o mesmo que for fazer com a promissória.
  15. Bom agora estamos falando de outro cenário, até agora falávamos de algo já pago, agora com relação aos não pagos, serão apenas as notas promissórias, porque cartão ou cheque, só tem sentido cadastrar quando o cliente já "passar" o cartão ou efetivamente entregar o cheque. Eu alteraria o valor dessa parcela em aberto para zero, ou excluiria esse registro e alteraria o status da venda como pago.
  16. Positivo. A partir da versão 5.6.7 do MySQL a função PASSWORD() passa a ser DEPRECATED e será removida futuramente. O aviso já consta na documentação da função. https://dev.mysql.com/doc/refman/5.7/en/set-password.html E o motivo é apresentado nesse Worklog: https://dev.mysql.com/worklog/task/?id=6409
  17. Bom se você vai devolver o cheque é por que não foi descontado, é como se o cliente nunca o tivesse entregue... Nesse caso, acredito que você pode fazer dos dois jeitos, por que acho que nesse caso, não vejo necessidade de manter registro, já que não houve uma movimentação real no caixa. Contadores de plantão me corrijam se estiver errado kkkkkkkkkk.
  18. Agora entendi o seu problema. Acredito que fica mais fácil criar uma outra tabela estornos, descontos, devoluções, ou qualquer nome do tipo, onde você registra essa devolução, que será feita sempre em dinheiro do caixa né? Essa tabela também estaria relacionada ao mesmo id de pagamento. Assim além de não ter mexer no que já está feito, só precisa alterar os relatórios, você fica com a movimentação do caixa correta tipo dia 01 ainda terá a entrada do dinheiro no caixa, dia 03 a entrada do cheque e dia 08 a saída do dinheiro pela devolução.
  19. Abraços precisando é só chamar.
  20. Opa, tenta assim... <?php $subFolderSql = "SELECT nome_sub_folder FROM sub_folder WHERE id_folder = {$folder['id_folder']} ORDER BY nome_sub_folder"; // Faltou esse WHERE $subFolders = mysqli_query($link,$subFolderSql); $subFoldersQtde = mysqli_num_rows($subFolders); ?> <tr> <td style="width: 30%;" rowspan="<?= $subFoldersQtde; ?>"> <a href="?folder=<?= $folder['nome_folder']; ?>"> <?= $folder['nome_folder']; ?> </a> </td> <?php $primeiraSubpasta = true; // Essa variavel para funcionar como flag while ($subFolder = mysqli_fetch_assoc($subFolders)) { // Esse IF para não abrir <tr> na primeira subpasta if ($primeiraSubpasta) $primeiraSubpasta = false; else echo '<tr>'; ?> <td><?= $subFolder['nome_sub_folder']; ?></td> </tr> <?php // E o fechamento da </tr> tem que ficar aqui dentro ?> <?php }
  21. Deixa ver se eu entendi direito a função de cada tabela. Você tem uma tabela com as vendas, na sua empresa/loja, o cliente pode fazer mais de um pagamento para quitar cada venda correto? Cada pagamento pode ser feito de uma forma diferente? Se o pagamento for feito por cheque, você registra as informações do cheque na tabela cheque? O mesmo acontece com cartão, boleto, promissória e bens materiais? O que seria a tabela bem_pagamento? Você precisa manter o registro do produto que foi cancelado? porque imaginando um supermercado o cliente desiste de um produto é só o caixa apagar o produto da venda antes de fecha-la e não há necessidade de se manter esse registro. Digamos que você faça vendas por telefone o cliente só pagaria depois dos produtos já terem sido entregues, ai se for o caso de ter defeito o cliente pode cancelar a compra ou pedir pela troca do produto, no seu caso o cliente pode "devolver" um produto, sem cancelar a venda, mesmo depois de já ter feito algum pagamento?
  22. Sei sim, comi bronha na hora de montar os selects, rsrsrs, Ctrl+C Ctrl+V "SELECT nome_folder FROM folder ORDER BY nome_folder" // Esse é o select das pastas "SELECT nome_sub_folder FROM sub_folder ORDER BY nome_sub_folder" // Esse é o select das subpastas
  23. Entendi sim o que você quer, ou pelo menos parte, não reproduzi o cenário aqui, mas a sua consulta está certa essa consulta: "SELECT f.nome_folder, s.nome_sub_folder FROM folder AS f INNER JOIN sub_folder AS s ON f.id_folder = s.id_folder ORDER BY f.nome_folder, s.nome_sub_folder" tem que retornar: Mas eu reescreveria o seu código assim: <?php session_start(); include "includes/db.php"; ?> <!DOCTYPE html> <html> <head> <title>Sistema de pastas</title> <link rel="stylesheet" href="includes/style.css"> </head> <body> <div id="left"> <?php $folderURL = isset($_GET['folder']) ? $_GET['folder'] : ''; // Condição ternária $folderSql = "SELECT f.nome_folder, s.nome_sub_folder FROM folder ORDER BY nome_folder"; // Seleciono apenas as pastas $folders = mysqli_query($link,$folderSql); $foldersQtde = mysqli_num_rows($folders); ?> <table border="1" width="450" style="text-align: center;"> <?php while ($folder = mysqli_fetch_assoc($folders)) { if ($folderURL == $folder['nome_folder']) { // Filtro pela pasta "selecionada" $subFolderSql = "SELECT f.nome_folder, s.nome_sub_folder FROM folder ORDER BY nome_folder"; // Seleciono apenas as subpastas $subFolders = mysqli_query($link,$subFolderSql); $subFoldersQtde = mysqli_num_rows($subFolders); ?> <tr> <td style="width: 30%;" rowspan="<?= $subFoldersQtde; ?>"> <?php // Rowspan "aumenta" a celula com o nome da pasta ?> <a href="?folder=<?= $folder['nome_folder']; ?>"> <?php // Link para "acessar" a pasta ?> <?= $folder['nome_folder']; ?> </a> </td> <?php while ($subFolder = mysqli_fetch_assoc($subFolders)) { ?> <td><?= $subFolder['nome_sub_folder']; ?></td> <?php } ?> </tr> <?php } else { ?> <tr> <td style="width: 30%;"> <a href="?folder=<?= $folder['nome_folder']; ?>"> <?php // Link para "acessar" a pasta ?> <?= $folder['nome_folder']; ?> </a> </td> <td></td> <?php // Não exibe subpasta de pastas não "acessadas" ?> </tr> <?php } // fechando o else } // fechando o primeiro while ?> </table> </div><!-- left --> </body> </html>
×
×
  • Criar Novo...