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 1842 registros

  1. Caio Vargas

    Marca D'agua

    Fala pessoa tudo tranquilo ? estou com um problema eu fiz um sistema de upload onde tem a marca dagua o problema e que quando o cadastro da capa e pequena a imagem da marca dagua fica grande e qauando a capa e grande a imagem da marca dagua fica pequena alguem poderia me ajudar
  2. Olá, na parte de enviar eu conseguir, mas manter até terminar o cadastro eu não conseguir. Eu vou contar toda a história para ficar mais claro possível. Eu precisei implementar um Upload de qualquer imagem ou PDF na página de solicitar compras. O site utiliza AngularJS, a primeira versão do Angular. Eu tentei fazer sem depender de PHP, mas na internet achava só a parte de Front-End e ninguém sabia fazer no Back-End. Então eu resolvi fazer com PHP mesmo. Nó código PHP, ele aceita todos as extensões de imagens mais o PDF e é possível envia-los todos de uma vez na quantidade que quiser. Todos os arquivos serão renomeados, contendo no nome o ID do usuário logado pego pela função javascript, o dia do mês, o mês, o ano, o dia da semana, a hora, o minuto, o segundo, se é AM ou PM e uma numeração aleatório. O arquivo PDF vai continuar sendo PDF e todas as imagens serão JPG. No final, todos serão enviados para uma pasta chamada upload. Só que agora eu preciso jogar de volta para página para salvar os novos nomes dos arquivos para continuar o cadastro da solicitação de compras. Como AngularJS utiliza Javascript, eu tentei usa-lo dentro do PHP utilizando EOF, mas não tive resultado. Eu só consigo com HTML com as diretivas do AngularJS. Na parte do API, nos atributos, eu declarei "nomeArquivo: []," , para salvar os nomes dos arquivos. Seguem o código. <div class="row"> <div class="col-sm-12 col-md-6 "> <div class="upload_form_cont"> <form id="upload_form" enctype="multipart/form-data" method="post" action="/profile-upload"> <div> <div><label for="image_file">Selecione o arquivo de imagem</label></div> <div><input type="file" name="image_file" id="image_file" accept="image/*" onchange="fileSelected();" /></div> </div> <div> <input type="button" value="Upload" onclick="startUploading()" /> </div> <div id="fileinfo"> <div id="filename"></div> <div id="filesize"></div> <div id="filetype"></div> <div id="filedim"></div> </div> <div id="error">Você deve selecionar apenas arquivos de imagem válidos!</div> <div id="error2">Ocorreu um erro ao enviar o arquivo</div> <div id="abort">O upload foi cancelado pelo usuário ou o navegador interrompeu a conexão</div> <div id="warnsize">Seu arquivo é muito grande. Não podemos aceitar isso. Selecione arquivos pequenos</div> <div id="progress_info"> <div id="progress"></div> <div id="progress_percent">&nbsp;</div> <div class="clear_both"></div> <div> <div id="speed">&nbsp;</div> <div id="remaining">&nbsp;</div> <div id="b_transfered">&nbsp;</div> <div class="clear_both"></div> </div> <div id="upload_response"></div> </div> </form> </div> </div> </div> upload.php <?php function bytesToSize1024($bytes, $precision = 2) { $unit = array('B','KB','MB'); return @round($bytes / pow(1024, ($i = floor(log($bytes, 1024)))), $precision).' '.$unit[$i]; } //Pega o id do usuário logado $id_url = $_GET['id']; // Numero de campos de upload $numeroCampos = count($_FILES['image_file']['name']); // Tamanho máximo do arquivo (em bytes) $tamanhoMaximo = 1024*1024*2; // Extensões aceitas $extensoes = array(".jpg", "jpeg", ".gif", ".png", ".pdf", ".bmp", ".pdf", ".tiff"); //Local da pasta $_UP['pasta'] = '../upload/'; $substituir = false; for ($i = 0; $i < $numeroCampos; $i++) { // Informações do arquivo enviado $sFileName = $_FILES['image_file']['name'][$i]; $sSize = $_FILES['image_file']['size'][$i]; $sFileSize = bytesToSize1024($sSize, 1); $nomeTemporario = $_FILES['image_file']['tmp_name'][$i]; // Verifica se o arquivo foi colocado no campo if (!empty($sFileName)) { $erro = false; // Verifica se o tamanho do arquivo é maior que o permitido if ($sSize > $tamanhoMaximo) { $erro = "O arquivo " . $sFileName . " não deve ultrapassar " . $tamanhoMaximo. " bytes"; } // Verifica se a extensão está entre as aceitas elseif (!in_array(strrchr($sFileName, "."), $extensoes)) { $erro = "A extensão do arquivo <b>" . $sFileName . "</b> não é válida"; } // Verifica se o arquivo existe e se é para substituir elseif (file_exists($_UP['pasta'] . $sFileName) and !$substituir) { $erro = "O arquivo <b>" . $sFileName . "</b> já existe"; } else{ //Pega a extensão do arquivo $TipoExtensao = pathinfo($sFileName, PATHINFO_EXTENSION); // O arquivo passou em todas as verificações, hora de tentar movê-lo para a pasta // Primeiro verifica se deve trocar o nome do arquivo $unixTime = time(); $timeZone = new \DateTimeZone('America/Sao_Paulo'); $time = new \DateTime(); $time->setTimestamp($unixTime)->setTimezone($timeZone); $formattedTime = $time->format('d-m-Y_l_h-i-s-a'); $aleatorio = rand(); if($TipoExtensao == 'pdf'){ $nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.pdf'; }else{ $nome_final = $id_url .'_'. $formattedTime .'_'. $aleatorio .'.jpg'; } // Depois verifica se é possível mover o arquivo para a pasta escolhida if (move_uploaded_file($nomeTemporario, $_UP['pasta'] . $nome_final)) { // Upload efetuado com sucesso, exibe uma mensagem e um link para o arquivo echo "Upload do arquivo ".$sFileName." foi efetuado com sucesso!"; echo "</br>"; echo<<<EOF <p>Eu tentei implementar o retorno da página aqui!</p> <p></br></p> <p></br></p> EOF; } else { // Não foi possível fazer o upload, provavelmente a pasta está incorreta echo "Não foi possível enviar o arquivo, tente novamente"; echo "</br>"; } } } else { echo "Selecione algum arquivo de imagem ou PDF para fazero upload."; } } ?>
  3. Quando preencho o cadastro e clico em cadastrar, a informação não é salva no banco de dados, e também, como pode ver na imagem action2, as informações digitadas permanecem nos campos imput e o nome vai para o alerta de erro de mensagem em baixo do campo.... <?php require_once "config.php"; $idclient = $fullname = $cpfclient = $gender = $phone = $email = $dayagend = $houragend = ""; $idclient_err = $fullname_err = $cpfclient_err = $gender_err = $phone_err = $email_err = $dayagend_err = $houragend_err = ""; if($_SERVER["REQUEST_METHOD"] == "POST"){ // $input_idclient = trim($_POST["idclient"]); if(empty($input_idclient)){ $idclient_err = "ID de identificação do cliente."; } else{ $idclient = $input_idclient; } $input_fullname = trim($_POST["fullname"]); if(empty($input_fullname)){ $fullname_err = "Por favor, insira o nome completo do cliente."; /*} elseif(!filter_var($input_fullname, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>"/^[a-zA-Z\s]+$/")))){ $fullname_err = "Por favor, insira um nome válido de cliente.";*/ } else{ $fullname = $input_fullname; } $input_cpfclient = trim($_POST["cpfclient"]); if(empty($input_cpfclient)){ $cpfclient_err = "Por favor, insira o CPF do cliente."; } elseif(!ctype_digit($input_cpfclient)){ $cpfclient_err = "Por favor, coloque apenas números do CPF."; } else{ $cpfclient = $input_cpfclient; } $input_gender = trim($_POST["gender"]); if(empty($input_gender)){ $gender_err = "Por favor, escolha o gênero do cliente."; } else{ $gender = $input_gender; } $input_phone = trim($_POST["phone"]); if(empty($input_phone)){ $phone_err = "Por favor, insira o telefone do cliente."; } elseif(!ctype_digit($input_phone)){ $phone_err = "Por favor, é necessário inserir o telefone de contato do cliente."; } else{ $phone = $input_phone; } $input_email = trim($_POST["email"]); if(empty($input_email)){ $email_err = "Por favor, insira o e-mail do cliente."; } else{ $email = $input_email; } $input_dayagend = trim($_POST["dayagend"]); if(empty($input_dayagend)){ $dayagend_err = "Por favor, coloque a data do atendimento do cliente."; } elseif(!ctype_digit($input_dayagend)){ $dayagend_err = "Por favor, é necessário uma data de atendimento para o cliente."; } else{ $dayagend = $input_dayagend; } $input_houragend = trim($_POST["houragend"]); if(empty($input_houragend)){ $houragend_err = "Por favor, coloque a data do atendimento do cliente."; } elseif(!ctype_digit($input_houragend)){ $houragend_err = "Por favor, é necessário uma data de atendimento para o cliente."; } else{ $houragend = $input_houragend; } if(empty($idclient) && empty($fullname_err) && empty($cpfclient_err)&& empty($gender_err)&& empty($phone_err)&& empty($email_err)&& empty($dayagend_err)&& empty($houragend_err)){ $sql = "INSERT INTO schedule (idclient, fullname, cpfclient, gender, phone, email, dayagend, houragend) VALUES (?, ?, ?)"; if($stmt = mysqli_prepare($link, $sql)){ mysqli_stmt_bind_param($stmt, "sss", $param_idclient, $param_fullname, $param_cpfclient, $param_gender, $param_phone, $param_email, $param_dayagend, $param_houragend); $param_idclient = $idclient; $param_fullname = $fullname; $param_cpfclient = $cpfclient; $param_gender = $gender; $param_phone = $phone; $param_email = $email; $param_dayagend = $dayagend; $param_houragend = $houragend; if(mysqli_stmt_execute($stmt)){ header("location: index.php"); exit(); } else{ echo "Ops! Algo deu errado. Por favor, tente novamente mais tarde."; } } if($stmt = mysqli_prepare($link, $sql)){ // [...] mysqli_stmt_close($stmt); } } mysqli_close($link); } ?> <!DOCTYPE html> <html lang="pt-br"> <head> <meta charset="UTF-8"> <title>Agenda dos Clientes</title> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css"> <style> .wrapper{ width: 600px; margin: 0 auto; } </style> </head> <body> <div class="wrapper"> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <h2 class="mt-5">Cadastro do Cliente</h2> <p>Por favor, preencha os campos abaixos para agendar o cliente.</p> <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post"> <div class="form-group"> <label>ID DO CLIENTE</label> <input type="text" name="idclient" class="form-control <?php echo (!empty($idclient_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $idclient; ?>"> <span class="invalid-feedback"><?php echo $idclient_err;?></span> </div> <div class="form-group"> <label>NOME COMPLETO</label> <input type="text" name="fullname" class="form-control <?php echo (!empty($fullname_err)) ? 'is-invalid' : ''; ?>"><?php echo $fullname; ?> <span class="invalid-feedback"><?php echo $fullname_err;?></span> </div> <div class="form-group"> <label>CPF</label> <input type="text" name="cpfclient" class="form-control <?php echo (!empty($cpfclient_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $cpfclient; ?>"> <span class="invalid-feedback"><?php echo $cpfclient_err;?></span> </div> <div class="form-group"> <label>GÊNERO</label> <input type="text" name="gender" class="form-control <?php echo (!empty($gender_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $gender; ?>"> <span class="invalid-feedback"><?php echo $gender_err;?></span> </div> <div class="form-group"> <label>Telefone</label> <input type="text" name="phone" class="form-control <?php echo (!empty($phone_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $phone; ?>"> <span class="invalid-feedback"><?php echo $phone_err;?></span> </div> <div class="form-group"> <label>E-mail</label> <input type="text" name="email" class="form-control <?php echo (!empty($email_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $email; ?>"> <span class="invalid-feedback"><?php echo $email_err;?></span> </div> <div class="form-group"> <label>Agendar Dia</label> <input type="text" name="dayagend" class="form-control <?php echo (!empty($dayagend_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $dayagend; ?>"> <span class="invalid-feedback"><?php echo $dayagend_err;?></span> </div> <div class="form-group"> <label>Agendar Horário</label> <input type="text" name="houragend" class="form-control <?php echo (!empty($houragend_err)) ? 'is-invalid' : ''; ?>" value="<?php echo $houragend; ?>"> <span class="invalid-feedback"><?php echo $houragend_err;?></span> </div> <input type="submit" class="btn btn-primary" value="Submit"> <a href="index.php" class="btn btn-secondary ml-2">Cancel</a> </form> </div> </div> </div> </div> </body> </html>
  4. klasss

    Página de Folha de Ponto

    Olá a todos, Gostaria de saber se alguem conhece um layout para efetuar o registo de folha de ponto. Algo do género : Mês - Dias do mês em questão - Possibilidade de colocar as horas trabalhadas. Deixo uma imagem de exemplo. Obrigado!
  5. quantic2016

    editar foto para php

    pessoal , preciso de uma ajuda , preciso saber como faço um script que faça o seguinte : html tera um form com action que manda para o php e o php mande para o banco de dados , isso com o input file ok , ate aqui eu ja tenho tudo funcionando porem e aqui que nao sei fazer , quando eu selecionar a foto no input , preciso que mostre um campo para editar o tamanho da imagem , aqui presiso que o usuario sempre poste uma foto quadrada , nao importa se é 200x200 , 400x400 mas tem que ser quadrada , eu vi esse script na net mas n manjo muito de javascript e estou começando agora , ele corta a imagem perfeitamente como quero porem , como faço para guardar a variavei imageData que e jafa script no campo input ou passar ela para a variavei $foto = $_FILE['']; no php ? <!DOCTYPE html> <html> <head> <title>cropit</title> <script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script> <script src="jquery.cropit.js"></script> <style> .cropit-preview { background-color: #f8f8f8; background-size: cover; border: 1px solid #ccc; border-radius: 3px; margin-top: 7px; width: 250px; height: 250px; } .cropit-preview-image-container { cursor: move; } .image-size-label { margin-top: 10px; } input, .export { display: block; } button { margin-top: 10px; } </style> </head> <body> <form class='form-horizontal' method='post' action='atualizaDados.php?acao=ativa&email=$recebeEmail' id='validaAcesso' enctype='multipart/form-data'> <div class="image-editor"> <input type="file" name='fotouser' class="cropit-image-input"> <div class="cropit-preview"></div> <div class="image-size-label"> Resize image </div> <input type="range" class="cropit-image-zoom-input"> <button class="rotate-ccw">Rotate counterclockwise</button> <button class="rotate-cw">Rotate clockwise</button> <button type='submit' class="export btn btn-default">Export</button> </div> </form> <script> $(function() { $('.image-editor').cropit({ imageState: { src: '', }, }); $('.rotate-cw').click(function() { $('.image-editor').cropit('rotateCW'); }); $('.rotate-ccw').click(function() { $('.image-editor').cropit('rotateCCW'); }); $('.export').click(function() { var imageData = $('.image-editor').cropit('export'); }); $imageCropper.find('.cropit-preview') }); </script> </body> </html>
  6. belann

    Problemas com variáveis PHP

    Olá! Estou tentando fazer upload de arquivo e estou tendo problemas com as variáveis dá o erro: Notice: Undefined index: fileimg Notice: Undefined index: uploadfile : O código segue abaixo html <input type="file" accept="image/*" name="fileimg" id="lerarq" class="jump"> php <?php $uploaddir = "imagem/"; if (isset($_POST)) { $uploadfile = $uploaddir . basename($_FILES["fileimg"]["name"]); $imgFileType = strtolower(pathinfo($uploadfile,PATHINFO_EXTENSION)); $checkimg = getimagesize($_FILES["uploadfile"]["tmp_name"]); if($check !== false) { if (!file_exists($target_file)) { if ($_FILES["fileToUpload"]["size"] <= 500000) { if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $uploadfile)) { echo "Arquivo válido e enviado com sucesso.\n"; } else { echo "Possível ataque de upload de arquivo!\n"; } } else { echo "Arquivo muito grande"; } } else { echo "Arquivo já existe"; } } else { echo "Arquivo não é uma imagem"; } } else { echo "Selecione uma imagem" . $arquivo; } ?>
  7. Danilo CS

    Incluir PHP personalizado no Wordpress

    Olá Uma das formas que encontrei para incluir nosso próprio PHP nas páginas Wordpress foi por meio desse tutorial https://www.icloud.com.br/2357/criar-uma-pagina-no-site-wordpress-com-um-arquivo-php Mas um colega disse que essa técnica não é segura. Você concorda com isso? <?php /* Template Name: Nome da Página */ ?> <?php get_header(); ?>
  8. Caio Vargas

    Filtro de busca

    Fala pessoal todo tranquilo? Estou com um pequeno problema em um filtro que estou desenvolvendo para uma imobiliária. Seguinte eu tenho 3 checkbox venda mensal diária . E tenho 3 selects com cidade balneário e tipo de imóvel O meu filtro funciona da seguinte forma o primeiro checkbox sempre vem marcado que e o venda aí quando eu clicar no botão buscar ele vai buscar os imóveis venda Aí se o cara clicar em select cidade ele vai buscar no banco via ajax e me trás o resultado via sessão montando a query Porém ele só vai sentar no Ajax quanto eu selecionar um checkbox a dúvida e como eu posso fazer isso já que eu tô usando http build query
  9. Boca

    Retorno curl

    Pessoas estou tentando receber o retorno do curl, mas não vem nada, e na url exibe normalmente os dados json <? $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $conteudo = curl_exec($ch); $result = json_decode($conteudo, true); curl_close($ch);
  10. k9studio

    Login com Cookie

    Olá Amigos, se alguem puder dar um help fico muito grato seguinte: estou criando um sistema de login com cookie todas as paginas fica no patch www/htdocs/script/ quando logar no dominio.com.br liberar o acesso no cliente.dominio.com.br tambem acesso:dominio.com.br ou quando logar no cliente.dominio.com.br liberar o acesso no dominio.com.br tambem acesso:cliente.dominio.com.br e guando deslogar quebrar conxao com os dois existe uma maneira de fazer isso?
  11. Eu gostaria de saber como fazer para preencher automaticamente(pré populado) uma página de pagamentos a partir dos dados inseridos em uma página anterior pelo plugin do contact form 7 do wordpress Os campos até são preenchidos, mas não com a informação inserido no formulário mas sim com a id mesmo que coloquei na URL <label> Seu nome [text nome id:nome class:nome] </label> <label> Seu DDD [tel DDD id:DDD class:DDD]</label> <label> Seu Celular [tel celular id:celular class:celular]</label> <label> Seu e-mail </label> <label> Assunto [text* your-subject] </label> <label> Sua mensagem (opcional) [textarea your-message] </label> [submit "Enviar"] <script> document.addEventListener('wpcf7mailsent', function (Event) { location = 'https://pay.hotmart.com/A48773288I?ap=5181&name=id:nome&phoneac=id:ddd&phonenumber=id:celular&email=id:email'; }, false); </script>
  12. Thiago Duarte

    meu pagina de atualizar nao funciona

    não sei porque meu sistema não está funcionando, alguém pode me ajudar? Quero atualizar o nome e email <body> <?php require('db.php'); if (isset($_POST['update'])) { $id = $_POST['id']; $name = $_POST['name']; $last_name = $_POST['last_name']; $email = $_POST['email']; mysqli_query($db, "UPDATE usuario SET name='$name', last_name='$last_name', email='$email' WHERE id=$id"); $_SESSION['message'] = "Address updated!"; header('location: profile.php'); } ?> html code here.... <form action="" class="form-horizontal form-material"> <div class="form-group"> <label class="col-md-12">First Name</label> <div class="col-md-12"> <input type="text" name="name" placeholder="" class="form-control form-control-line"> </div> </div> <div class="form-group"> <label class="col-md-12">Last Name</label> <div class="col-md-12"> <input type="text" name="last_name" placeholder="" class="form-control form-control-line"> </div> </div> <div class="form-group"> <label for="example-email" class="col-md-12">Email</label> <div class="col-md-12"> <input type="email" name="email" placeholder="" class="form-control form-control-line" id="example-email"> </div> </div> <!-- <div class="form-group"> <label class="col-sm-12">Select Country</label> <div class="col-sm-12"> <select class="form-control form-control-line"> <option>Usa</option> <option>Canada</option> </select> </div> </div> --> <div class="form-group"> <div class="col-sm-12"> <button class="btn btn-success">Update Profile</button> </div> </div> </form> html code here.... <?php } ?> <?php include 'footer.php'; ?>
  13. violin101

    PHP+Codeigniter - Orientação referente QrCode

    Caros amigos, saudações... Desculpa em recorrer a ajuda dos amigos, gostaria de uma ajuda e orientação. Estou escrevendo uma Rotina para o Sistema Gerar e Imprimir QrCode, até aqui tudo bem. A minha dúvida é o seguinte: ---[ em algumas pesquisas verifiquei que alguns QrCode tem a opção de Colocar um LOGO no centro. Como consigo fazer essa inclusão do LOGO no QrCode ? Se colocar o Logo no QrCode, prejudica a sua leitura ? O meu código está assim: <?php /* *Função para Gerar o QrCode do ID do Produto */ function qrcode($id = null){ //Código do Cliente Logado $codCli = $this->session->userdata('idCli'); //SQL para Pesquisar por ID do Produto $query = $this->db->query("SELECT an.idProdutos, an.cod_interno, an.descricao, an.id_clientes, cc.idClientes FROM produtos an INNER JOIN clientes cc ON cc.idClientes = an.id_clientes WHERE an.idProdutos = '$id' AND an.id_clientes = '$codCli' "); //Passa as Informações do Produto foreach ($query->result() as $row){ $codId = $row->idProdutos; $codInt = $row->cod_interno; $descr = $row->descricao; } //Variável[dq] Criada para Passar as Informações para o QrCode $dq = $codId."\n"; $dq .= $codInt."\n"; $dq .= $descr."\n"; //Gerar o QrCode qrcode::png( $dq, $outlife = false, $level = QR_ECLEVEL_L, $size = 6, $margin = 1 ); } ?> Grato, Cesar
  14. Olá, bom dia. Tenho um formulário que envia as informações direto para o e-mail, implementei um campo para anexos, mas só recebo um anexo, gostaria de saber como enviar mais de um anexo por este mesmo input, se possível. (o input já recebe mais de um arquivo) Obrigada. segue o código funcionando. com apenas um anexo. <?php /* Valores recebidos do formulário */ $arquivo = $_FILES['arquivo']; $nome = $_POST['nomedoolicitante']; $email = $_POST['emailsolitante']; $descricao = $_POST['descriçõesInstitucional']; $consideracoes = $_POST['consideraçõesInstitucional']; $to = xx'; $from = "xx"; // Deve ser um email válido do domínio /* Cabeçalho da mensagem */ $boundary = "XYZ-" . date("dmYis") . "-ZYX"; $headers = "MIME-Version: 1.0\n"; $headers.= "From: $nome <$email> \n"; $headers.= "Content-type: multipart/mixed; boundary=\"$boundary\"\r\n"; $headers.= "$boundary\n"; /* Layout da mensagem */ $subject = "Contato pelo site "; $corpo_mensagem = " <html> <p><b>Referente ao Solicitante: </b></p> <p><b>Nome: </b>$nome</p> <p><b>E-mail: </b>$email</p> <p><b>Referente ao Material Institucioinal: </b></p> <p><b>Descrição: </b>$descricao</p> <p><b>Considerações: </b>$consideracoes</p> </html> "; if(file_exists($arquivo["tmp_name"]) and !empty($arquivo)){ $fp = fopen($_FILES["arquivo"]["tmp_name"],"rb"); // Abri o arquivo enviado. $anexo = fread($fp,filesize($_FILES["arquivo"]["tmp_name"])); // Le o arquivo aberto na linha anterior $anexo = base64_encode($anexo); // Codifica os dados com MIME para o e-mail fclose($fp); // Fecha o arquivo aberto anteriormente $anexo = chunk_split($anexo); // Divide a variável do arquivo em pequenos pedaços para poder enviar $mensagem = "--$boundary\n"; // Nas linhas abaixo possuem os parâmetros de formatação e codificação, juntamente com a inclusão do arquivo anexado no corpo da mensagem $mensagem.= "Content-Transfer-Encoding: 8bits\n"; $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n"; $mensagem.= "$corpo_mensagem\n"; $mensagem.= "--$boundary\n"; $mensagem.= "Content-Type: ".$arquivo["type"]."\n"; $mensagem.= "Content-Disposition: attachment; filename=\"".$arquivo["name"]."\"\n"; $mensagem.= "Content-Transfer-Encoding: base64\n\n"; $mensagem.= "$anexo\n"; $mensagem.= "--$boundary--\r\n"; } else // Caso não tenha anexo { $mensagem = "--$boundary\n"; $mensagem.= "Content-Transfer-Encoding: 8bits\n"; $mensagem.= "Content-Type: text/html; charset=\"utf-8\"\n\n"; $mensagem.= "$corpo_mensagem\n"; } /* Função que envia a mensagem */ if(mail($to, $subject, $mensagem, $headers)) { echo "<meta http-equiv='refresh' content='10;URL=../OBRIGADO!.html'>"; } else { echo "<br><br><center><b><font color='red'>Ocorreu um erro ao enviar a mensagem!"; } ?>
  15. manolegal

    Leitura de vários arquivos em sequência

    Bom dia. Preciso ler e gravar vários arquivos .txt em sequência. Lendo somente 1 arquivo estou conseguindo: $caminho = ("C:/meu_diretorio"); $arquivo = fopen ("$caminho/um_arquivo.txt" , 'r'); while(!feof($arquivo)) { $linha = fgets($arquivo); $tr = substr($linha, 0, 2); $tr_3 = substr($linha, 0, 3); $Sql_cab = "INSERT INTO ..."; } Porém, preciso adaptar para mais de um arquivo. Estou tentando da seguinte forma, porém não estou conseguindo: $caminho = ("C:/meu_diretorio"); $arquivos = array_values(array_filter(scandir($caminho), function($arquivo) use ($caminho) { return !is_dir($caminho . '/' . $arquivo); })); foreach($arquivos as $arquivo){ $teste = fopen ($arquivo, 'r'); while(!feof($teste)) { $linha[] = fgets($teste); // seria isto? $tr = substr($linha, 0, 2); $tr_3 = substr($linha, 0, 3); $Sql_cab = "INSERT INTO ..."; } } Preciso ler o primeiro arquivo e gravar no BD, depois o segundo arquivo e assim por diante. Desde já agradeço pela ajuda.
  16. jgasper

    Inclusão de + itens no banco

    Olá, estou desenvolvendo um sistema de requisições para almoxarifado. Na tela de requisição o usuário terá a opção de incluir o item + quantidade que deseja, e haverá um botão + para poder adicionar mais itens. Porém não consigo pensar em como fazer isso ir para o banco e como salvar isso no pedido. Alguém tem algum exemplo ou pode me ajudar nesse caso?
  17. ricardocelso

    Iniciante php

    Pessoal boa tarde, tenho um pc com windows 10, oque preciso instalar para programar em php desde ja muito obrigado.
  18. Caio Vargas

    [Resolvido] Múltiplos checkbox

    Meus amigos estou com um problema que não consigo resolver as vezes e coisas simples mais não encaixa na minha cabeca eu tenho multiplos checkbox onde cada um tem o valor porem eu tô salvando isso em uma tabela única separado por vírgula não sei se isso e correto mais na hora de recuperar e colocar como checado não vai pq ele retorna os valores tudo jundo mesmo dando um explode não vai
  19. Me ajude o plugin esta tudo certo só nao esta aparecendo o numero da residência e o numero do telefone quando finaliza a compra, tem um botão ao finalizar a compra que manda a ordem de checkout pelo whatsapp .. Preciso que apareça esses campos .. <?php // Make sure we don't expose any info if called directly if ( ! defined( 'ABSPATH' ) ) { exit; // Exit if accessed directly } /** * Plugin Name: WFCM Whatsapp Checkout * Description: Whatsapp checkout plugin for WFCM. * Version: 1.1 * Author: aditbaco, Plonknimbuzz * Author URI: https://github.com/aditbaco/WA-Checkout-WCFM-Woocommerce * Requires at least Woocommerce : 4.1 * Requires at least WCFM Front End Manager : 6.4 * Requires at least WCFM Marketplace Multi Vendor : 3.4 * Tested up to Wordpress : 5.5 * License: GPLv2 or later * License URI: https://www.gnu.org/licenses/gpl-2.0.html */ // Check if WooCommerce is active function WCFMWC_check_woocommece_active(){ if ( ! is_plugin_active( 'woocommerce/woocommerce.php' ) ) { echo "<div class='error'><p><strong>WCFM Whatsapp Checkout</strong> requires <strong>WooCommerce plugin.</strong>&nbsp; Please <a href='https://wordpress.org/plugins/woocommerce' target=_blank>install</a> and activate it.</p></div>"; } } add_action('admin_notices', 'WCFMWC_check_woocommece_active'); // Check if WCFM is active function WCFMWC_check_wcmv_active(){ if ( ! is_plugin_active( 'wc-multivendor-marketplace/wc-multivendor-marketplace.php' ) ) { echo "<div class='error'><p><strong>WCFM Whatsapp Checkout</strong> requires <strong>WC Multivendor Marketplace plugin.</strong>&nbsp; Please <a href='https://wordpress.org/plugins/wc-multivendor-marketplace' target=_blank>install</a> and activate it.</p></div>"; } } add_action('admin_notices', 'WCFMWC_check_wcmv_active'); // Check if WCFM is active function WCFMWC_check_wcfm_active(){ if ( ! is_plugin_active( 'wc-frontend-manager/wc_frontend_manager.php' ) ) { echo "<div class='error'><p><strong>WCFM Whatsapp Checkout</strong> requires <strong>WC Multivendor Marketplace - Frontend Manager plugin.</strong>&nbsp; Please <a href='https://wordpress.org/plugins/wc-frontend-manager' target=_blank>install</a> and activate it.</p></div>"; } } add_action('admin_notices', 'WCFMWC_check_wcfm_active'); //register Whatsapp number to vendors store setting add_filter( 'wcfm_marketplace_settings_fields_general', 'vendor_store_custom_fields' ); function vendor_store_custom_fields($settings_fields_general) { global $WCFM, $WCFMmp, $wp; if(isset($settings_fields_general['banner'])){ return $settings_fields_general; //fix bug on admin store manage page } if( current_user_can('manage_woocommerce') ) { $van_cur_url = add_query_arg( array(), $wp->request ); $van_vendorid = substr( $van_cur_url, strrpos( $van_cur_url, '/' ) + 1 ); $user_id = intval( $van_vendorid ); } else { $user_id = apply_filters( 'wcfm_current_vendor_id', get_current_user_id() ); } //Register Whatsapp Number button and option in vendor's profile $store_whatsapp_opt = array( 'yes' => __( 'Yes', 'wc-frontend-manager' ), 'no' => __( 'No', 'wc-frontend-manager' ) ); $vendor_data = get_user_meta( $user_id, 'wcfmmp_profile_settings', true ); $store_whatsapp_show = isset( $vendor_data['store_whatsapp_show'] ) ? $vendor_data['store_whatsapp_show'] : 'no'; $store_whatsapp = isset( $vendor_data['store_whatsapp_number'] ) ? $vendor_data['store_whatsapp_number'] : null; $settings_fields_general["store_whatsapp_number"] = array('label' => __('Whatsapp Number', 'wc-frontend-manager') , 'type' => 'text', 'class' => 'wcfm-text wcfm_ele ', 'label_class' => 'wcfm_title', 'value' => $store_whatsapp ); $settings_fields_general["store_whatsapp_show"] = array('label' => __('Show Whatsapp button on Checkout', 'wc-frontend-manager') , 'type' => 'select', 'options' => $store_whatsapp_opt, 'class' => 'wcfm-select wcfm_ele', 'label_class' => 'wcfm_title', 'value' => $store_whatsapp_show ); return $settings_fields_general; } //Register Show whatsapp number on vendor's page add_action( 'after_wcfmmp_sold_by_info_product_page', 'cus_after_wcfmmp_sold_by_info_product_page' ); function cus_after_wcfmmp_sold_by_info_product_page( $vendor_id ) { $vendor_data = get_user_meta( $vendor_id, 'wcfmmp_profile_settings', true ); $whatsapp = isset($vendor_data['store_whatsapp_number'])?$vendor_data['store_whatsapp_number']:null; if( isset($vendor_data['store_whatsapp_show']) && $vendor_data['store_whatsapp_show'] == 'yes' && !empty($whatsapp)) { echo '<div class="wcfmmp_store_tab_info wcfmmp_store_info_address"><i class="wcfmfa fa-phone" aria-hidden="true"></i><span>' . $whatsapp . '</div>'; } } //Register different WA number checkout based on WA number on vendor stores setting add_action( 'woocommerce_before_thankyou', 'wfcm_add_assets_wa_checkout' ); add_filter( 'woocommerce_thankyou_order_received_text', 'wfcm_wa_thankyou', 10, 2 ); function wfcm_wa_thankyou($title, $order) { $data =[]; $shipping_data =[]; $judul = 'Obrigado pelo seu pedido.'; $subtitle = 'Conclua sua compra clicando no botão abaixo para que o pedido possa ser confirmado pelo Vendedor.'; $mode = ($order->get_billing_address_1() != $order->get_shipping_address_1() || $order->get_billing_first_name() != $order->get_shipping_first_name())?'shipping':'billing'; //$mode = 'shipping'; //force shipping mode $country = WC()->countries->countries[ $order->{"get_".$mode."_country"}() ]; $states = WC()->countries->get_states( $order->{"get_".$mode."_country"}() ); $province = $states[ $order->{"get_".$mode."_state"}() ]; $shipping_method_title = $order->get_shipping_method(); foreach( $order->get_items( 'shipping' ) as $item_id => $shipping_item_obj ){ $found=false; foreach($shipping_item_obj->get_meta_data() as $i=>$val){ $d = $val->get_data(); if($d['key']=='vendor_id'){ $shipping_data[$d['value']] = [ 'title'=>$shipping_item_obj->get_method_title(), 'total'=>$shipping_item_obj->get_total(), ]; $found = true; break; } if(!$found){ $shipping_data[0] = [ 'title'=>$shipping_item_obj->get_method_title(), 'total'=>$shipping_item_obj->get_total(), ]; } } } foreach($order->get_items() as $item){ $vendor_id = $item->get_meta('_vendor_id'); if(!isset($data[$vendor_id])){ $vendor_data = get_user_meta( $vendor_id, 'wcfmmp_profile_settings', true ); $whatsapp_show = isset( $vendor_data['store_whatsapp_show'] ) ? $vendor_data['store_whatsapp_show'] : 'no'; $whatsapp = isset( $vendor_data['store_whatsapp_number'] ) ? $vendor_data['store_whatsapp_number'] : null; $vendor_name = get_user_meta( $vendor_id, 'store_name', true ); if($whatsapp_show!='yes' || empty($whatsapp) ){ continue; } $items = $item->get_quantity()."x - *".$item->get_name()."*%0A"; $items .= "URL: ".get_permalink( $item->get_product_id() ) ."%0A"; $data[$vendor_id]=[ 'whatsapp'=>$whatsapp, 'vendor_name'=>$vendor_name, 'items'=>$items, 'total'=>$item->get_total(), ]; }else{ $items = $item->get_quantity()."x - *".$item->get_name()."*%0A"; $items .= "Tautan: ".get_permalink( $item->get_product_id() ) ."%0A"; $data[$vendor_id]['items'] .= $items; $data[$vendor_id]['total'] += $item->get_total(); } } if(empty($data)){ return $title; } //Loop each checkout vendors whatsapp button $html =''; foreach($data as $vendor_id=>$d){ $msg = "*Olá, aqui estão os detalhes do meu pedido:*%0A%0A"; $msg .= $d['items']."%0A"; $msg .="*Nº do pedido: ".$order->get_id()."%0A"; $msg .="*Valor total*: ".strip_tags(wc_price($d['total']))."%0A"; $msg .="*Forma de pagamento*: ".$order->get_payment_method_title()."%0A"; if(isset($shipping_data[$vendor_id])){ $msg .="*Forma de entrega*: ".$shipping_data[$vendor_id]['title']." ".strip_tags(wc_price($shipping_data[$vendor_id]['total']))."%0A%0A"; }elseif(isset($shipping_data[0])){ $msg .="*Forma de entrega*: ".$shipping_data[0]['title']." ". strip_tags(wc_price($shipping_data[0]['total']))."%0A%0A"; } $msg .="*Informações do Comprador*: %0A"; $msg .="Nome: ".$order->{"get_".$mode."_first_name"}()." ".$order->{"get_".$mode."_last_name"}()."%0A"; $msg .="Endereço: ".implode(', ',[$order->{"get_".$mode."_address_1"}(),$order->{"get_".$mode."_address_2"}()])."%0A"; $msg .="Cidade: ".$order->{"get_".$mode."_city"}().", ".$province.", ".$country."%0A"; $msg .="CEP: ".$order->{"get_".$mode."_postcode"}()."%0A"; if($mode=='shipping'){ $email = (isset($order->shipping['email']))?$order->shipping['email']:$order->get_billing_email(); $phone = (isset($order->shipping['phone']))?$order->shipping['phone']:$order->get_billing_phone(); }else{ $email = $order->get_billing_email(); $phone = $order->get_billing_phone(); } $msg .="E-mail: ".$email."%0A"; $msg .="Telefone: ".$phone."%0A"; $msg .= "Observações: ".$order->get_customer_note()."%0A"; $msg .="%0A"; $msg .="Muito Obrigado!%0A%0A"; $msg .= "Data da Mensagem: ".get_post_time( 'j-F-Y - H:i', false, $order->get_id(), true ); $btn_text ='Enviar compra para: '.$d['vendor_name']; $html .= '<a id="sendbtn" href="https://api.whatsapp.com/send?phone='.$d['whatsapp'].'&text='. ($msg).'" target="_blank" class="wa-order-thankyou">'.$btn_text.'</a><br>'; } return '<div class="thankyoucustom_wrapper"> <h1 class="thankyoutitle">'.$judul.'</h1> <p class="subtitle">'.$subtitle.'</p>'. $html. '</div>'; } function wfcm_add_assets_wa_checkout(){ wp_register_style( 'wa_checkout_style', plugin_dir_url( __FILE__ ) . 'style.css' ); wp_enqueue_style( 'wa_checkout_style' ); }
  20. violin101

    PHP+Codeigniter - Ajuda com Relatório mPDF

    Caros amigos saudações... Primeiramente peço desculpa se postei minha dúvida na opção errada. Estou escrevendo uma Rotina para Impressão de Relatório usando mPDF, até aqui tudo bem. O relatório tem um: Título - Tabela - Dados. Minha dúvida: --[ como faço para REPETIR em todo SALTO de Página o Título ou Cabeçalho da Tabela, por exemplo: Título.................: Relatório de Estoque Tabela Campos: Código | Descrição | ESP | Qtde | Valor Grato, Cesar
  21. Sapinn

    Dados truncados para a coluna

    Opa galera tudo beleza? Então meu banco está me retomando um erro quando tento inserir nele que é "Dados truncados na coluna valor_produto" essa coluna era do tipo Double quando eu mudei para ela para TEXT funcionou os dados foram inseridos mas eu preciso que ela seja do tipo double. Alguém sabe como resolver????
  22. Thiago Duarte

    Cadastro PHP e Login na mesma página

    Eu tenho uma página que abri um alert ao clicar no link , só que nao cadastra e nem funciona o login. <div class="btn-box"> <a class="btn btn-color venobox vbox-item" data-toggle="modal" href="javascript:void(0)" onclick="openRegisterModal();">Start now Free </a> <img src="images/seta.png"> </div> <div class="modal-body"> <div class="box"> <div class="content"> <!-- Login Form --> <div class="loginBox"> <form id="login-modal" role="form" method="post" action="#"> <input type="hidden" name="param" value="logar" /> <!-- Success/Alert Notification --> <p class="lm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Login modal validation is working. Implement your code.</strong></p> <p class="lm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p> <!-- Input Fields --> <input id="lm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required=""> <input id="lm-password" class="form-control input-lg" type="password" placeholder="Password" name="senha" required=""> <!-- Login Button --> <input type="submit" class="btn btn-color" value="Login"> <!-- <button class="btn btn-color">Login</button> --> </form> </div> <!-- /End Login Form --> </div> </div> <!-- /End Login Form Box --> <div class="box"> <!-- Signup Form --> <div class="content registerBox" style="display:none;"> <form id="signup-modal" role="form" method="post" action="?go=cadastrar"> <!-- Success/Alert Notification --> <p class="sm-success"><i class="icon icon_check_alt2"></i> <strong>Congratulation! Signup modal validation is working. Implement your code.</strong></p> <p class="sm-failed"><i class="icon icon_close_alt2"></i><strong> Something went wrong! Insert correct value.</strong></p> <!-- Input Fields --> <input id="sm-email" class="form-control input-lg" type="text" placeholder="Email" name="email" required=""> <input id="sm-password" class="form-control input-lg" type="password" placeholder="password" name="password"> <input id="sm-confirm" class="form-control input-lg" type="password" placeholder="Repeat password" name="senha-confirm"> <!-- Signup Button --> <!-- <button class="btn btn-color">Create an account</button> --> <input type="submit" class="btn btn-color" value="Create an account"> </form> </div> <!-- /End Signup Form --> </div> <!-- /End Signup Form Box --> </div> e em baixo do </html> coloquei <?php $param = (empty($_POST['param'])) ? 'error' : $_POST['param']; if($param == 'logar'){ //if($_POST['param'] == 'logar'){ $email = $_POST['email']; $password = $_POST['password']; $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email' AND password = '$password'")) or die(mysql_error()); if($query1 == 1){ // print "<script>alert('logou');</script>"; print "<script>window.location.replace('dashboard/index.php');</script>"; }else{ echo "<script>alert('User and password do not match.'); history.back();</script>"; } } if(@$_GET['go'] == 'cadastrar'){ // $dominio_gratis = $_POST['dominio_gratis']; $email = $_POST['email']; $password = $_POST['password']; $date_register = date("m-d-Y"); // if(empty($dominio_gratis)){ // echo "<script>alert('Preencha todos os campos para se cadastrar.'); history.back();</script>"; // }else if(empty($email)){ echo "<script>alert('Fill in all the fields to register.'); history.back();</script>"; }elseif(empty($password)){ echo "<script>alert('Fill in all the fields to register.'); history.back();</script>"; }else{ $query1 = mysql_num_rows(mysql_query("SELECT * FROM usuario WHERE email = '$email'")); if($query1 == 1){ echo "<script>alert('User already exists.'); history.back();</script>"; }else{ mysql_query("insert into usuario (email, password, date_register, plan) values ('$email','$password','$date_register', '0')"); header("Location: dashboard/dashboard.php"); } } } ?> Alguem pode ajudar?
  23. Prezados boa tarde. Preciso bloquear a edição de um date input de forma que só seja possível selecionar a data através do calendário. Alguém pode me ajudar? Utilizo php, html e js. <input type="date" value="<?php echo $data ?>" name="datacoleta" class="form-control" required style="width:100%;"> Agradeço desde já.
  24. Boa tarde Tenho 5 campos do tipo select no meu formulário. A seguir um dos campos. <div id="resp" class="form-group col-md-3" placeholder="Responsável" title="Pesquisar por Responsável"> <select class="form-control" id="resp" name="resp" placeholder="Responsável" title="Pesquisar por Responsável"> <option value="">Responsável</option> <?php $Sql = "SELECT ..."; $Resultado = ... while ($linha = @pg_fetch_array($Resultado)){. $id_responsavel_bd = $linha["id_responsavel"]; $nome_responsavel_bd = $linha["responsavel"]; if ($resp == $id_responsavel_bd){ echo "<option value='$id_responsavel_bd' selected = 'selected'>$nome_responsavel_bd</option>";} else{ echo "<option value='$id_responsavel_bd'>$nome_responsavel_bd</option>";} } ?> </select> </div> Tenho uma função jquery que ao selecionar qualquer um destes campos, faz uma requisição ajax para atualizar uma div do meu form. <script type="text/javascript"> $(document).ready(function(){ $('select').change(function(){ // Todos selects $('form').submit(function(){ var dados = $(this).serialize(); $.ajax({ type: "POST", url: 'arquivo_ajax.php', dataType: 'html', data: dados, }).done(function(data){ //console.log(data); $("#list").empty().html(data); }); return false; }); $("#meu_form").trigger('submit'); }); }); </script> Ao abrir o formulário e fazer a primeira seleção de algum campo do tipo select, é gerada uma solicitação ajax. O problema é que a cada nova seleção deste campo e de algum outro campo, ao invés de realizar UMA ÚNICA REQUISIÇÃO, está aumentando o número de requisições a cada nova ação. Como não tenho muitos conhecimentos em jquery/ajax em minha dúvida: - É normal ir aumentando o número de requisições? - Deveria sempre realizar apenas uma requisição (imagino que seja correto)? - Meu código está correto? Se não está, onde estou errando? Desde já agradeço pela colaboração.
  25. mateus.andriollo

    Log - inserção, edição e exclusão

    Gostaria de saber se alguém tem uma trigger para fazer log de qualquer tipo de transação de dados em qualquer tabela do banco. Porém, preciso carregar um campo UserName que será setado a cada conexão via login php SET @UserName = 'ZeBala' Achei vários exemplos porém tenho q criar um trigger para cada tabela CREATE TRIGGER roles_audit_au AFTER UPDATE ON `<nome_tabela>` Existe uma forma de não ser direcionada?
×

Informação importante

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