Ir para conteúdo

Pesquisar na Comunidade

Mostrando resultados para as tags ''PHP''.

  • Pesquisar por Tags

    Digite tags separadas por vírgulas
  • Pesquisar por Autor

Tipo de Conteúdo


Todas as áreas do Fórum

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

Encontrar resultados em...

Encontrar resultados que...


Data de Criação

  • Início

    FIM


Data de Atualização

  • Início

    FIM


Filtrar pelo número de...

Data de Registro

  • Início

    FIM


Grupo


Google+


Hangouts


Skype


Twitter


deviantART


Github


Flickr


LinkedIn


Pinterest


Facebook


Site Pessoal


Localização


Interesses

Encontrado 1885 registros

  1. clayton.lima2020

    Erro no envio de email SMTP

    Bom dia! Pessoal estou com um problema estou tentando enviar um e-mail através de um formulário que criei no site da empresa que eu trabalho, porém na hora de enviar está dando erro. Obs: a hospedagem do site está na Locaweb Segue abaixo o erro: Fatal error: Uncaught Error: Call to undefined function eregi() in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php:593 Stack trace: #0 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(518): PHPMailer->SmtpConnect() #1 /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php(410): PHPMailer->SmtpSend('Date: Sat, 5 Ju...', '--b1_b48d510d23...') #2 /home/storage/2/a8/c3/odontosmilesfran1/public_html/envio-franqueador.php(55): PHPMailer->Send() #3 {main} thrown in /home/storage/2/a8/c3/odontosmilesfran1/public_html/class.phpmailer.php on line 593 Segue o código do script de envio: <? require_once("class.phpmailer.php"); //Nova instância do PHPMailer $mail = new PHPMailer; //Informa que será utilizado o SMTP para envio do e-mail $mail->IsSMTP(); //Informa que a conexão com o SMTP será autênticado $mail->SMTPAuth = true; //Configura a segurança para SSL $mail->SMTPSecure = "ssl"; $mail->Port = 465; $mail->Host = "email-ssl.com.br"; //Usuário para autênticação do SMTP $mail->Username = "sejaumfranqueado@odontosmilesfranchising.com.br"; //Senha para autênticação do SMTP $mail->Password = "12345678"; // senha ficticia //Titulo do e-mail que será enviado $mail->Subject = "PEDIDO PARA SER UM FRANQUEADOR"; //Preenchimento do campo FROM do e-mail $mail->From = $mail->Username; $mail->FromName = $_POST['nome']; // Nome do remetente //E-mail para a qual o e-mail será enviado $mail->AddAddress("sejaumfranqueado@odontosmilesfranchising.com.br"); //Conteúdo do e-mail //$mail->Body = "Novo contato feito através do site Araújo Imóveis."; $mail->From = $_POST['email']; // E-mail do remetente $mail->Body .= "Modelo de Franquia: ".$_POST['modelo']."<br>"; $mail->Body .= "Nome: ".$_POST['nome']."<br>"; $mail->Body .= "Email: ".$_POST['email']."<br>"; $mail->Body .= "Fone Móvel: ".$_POST['fone']."<br>"; $mail->Body .= "Fone Fixo: ".$_POST['movel']."<br>"; $mail->Body .= "Estado: ".$_POST['estado']."<br>"; $mail->Body .= "Cidade: ".$_POST['cidade']."<br>"; $mail->Body .= "Mensagem: ".nl2br($_POST['mensagem']).""; $mail->AltBody = $mail->Body; //Dispara o e-mail $enviado = $mail->Send(); //Imprime sucesso. if($enviado) echo "<script>alert('Sua mensagem foi enviada com sucesso!')</script>"; echo "<meta http-equiv='refresh' content='2;URL=index.php'>"; ?> Segue o trecho do código do arquivo class.phpmailer.php onde está dando o erro /* Choose the mailer */ switch($this->Mailer) { case 'sendmail': $result = $this->SendmailSend($header, $body); break; case 'smtp': [b][color=red] $result = $this->SmtpSend($header, $body); // nessa linha 410 está dando erro [/color][/b] break; case 'mail': $result = $this->MailSend($header, $body); break; default: $result = $this->MailSend($header, $body); break; //$this->SetError($this->Mailer . $this->Lang('mailer_not_supported')); //$result = false; //break; } return $result; } /** Aqui está outro trecho do código: /* Retry while there is no connection */ while($index < count($hosts) && $connection == false) { $hostinfo = array(); [b][color=red] if(eregi('^(.+):([0-9]+)$', $hosts[$index], $hostinfo)) { // aqui está dando erro linha 593[/color][/b] $host = $hostinfo[1]; $port = $hostinfo[2]; } else { $host = $hosts[$index]; $port = $this->Port; } $tls = ($this->SMTPSecure == 'tls'); $ssl = ($this->SMTPSecure == 'ssl'); if($this->smtp->Connect(($ssl ? 'ssl://':'').$host, $port, $this->Timeout)) { $hello = ($this->Helo != '' ? $this->Hello : $this->ServerHostname()); $this->smtp->Hello($hello); if($tls) { if(!$this->smtp->StartTLS()) { $this->SetError($this->Lang("tls")); $this->smtp->Reset(); $connection = false; } //We must resend HELLO after tls negociation $this->smtp->Hello($hello); } $connection = true; if($this->SMTPAuth) { if(!$this->smtp->Authenticate($this->Username, $this->Password)) { $this->SetError($this->Lang('authenticate')); $this->smtp->Reset(); $connection = false; } } } $index++; } if(!$connection) { $this->SetError($this->Lang('connect_host')); } return $connection; } Obrigado a todos que puderem ajudar
  2. mateus.andriollo

    Como automatizar tarefas em PHP

    Poderiam me ajudar como posso programar para que tarefas sejam executadas automaticamente em meu servidor. Exemplo: enviar email para aniversariantes, simples mas como isso poder ser executado de forma automática? Pensei em algo com cron no servidor cPanel ou python... Mas como poderia criar, aliás como se chama isso ?
  3. Adriano Barbosa

    Htaccess - problema para utilizar https no subdominio

    Prezados, Tenho uma configuração no meu htaccess para inserir o https , porém preciso também utilizar em um subdominio, mas o mesmo é redirecionado para o dominio principal ao inserir o https. Alguem pode me ajudar por gentileza? Segue o código htaccess. Agradeço se puderem me ajudar. RewriteCond %{SERVER_PORT} 80 [OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule ^(.*)$ https://www.dominio.com/$1 [R=301,L] RewriteCond %{HTTP_HOST} ^111\.111\.111\.11 RewriteCond %{SERVER_PORT} 80[OR] RewriteCond %{HTTP_HOST} !^www\. [NC] RewriteCond %{HTTP_HOST} ^(.*)$ [NC] RewriteRule (.*) https://www.dominio.com/$1 [R=301,L] Atenciosamente
  4. ZeroEnd

    Php + djvu "dúvia"

    Boa tarde a todos. Minha duvida é, se a alguma maneira de visualizar uma imagem qualquer que esteja no formato ".djvu", usando o php. Um exemplo seria eu colocar no servidor web uma imagem e fundo, ou simplesmente de qualquer outra forma, só que no caso usar o formato ".djvu". Desde já agradeço pela atenção.
  5. Claudia França

    Problemas ao carregar a página.

    Prezados bom dia. Ao tentar acessar um e-commerce em php. o carinho mostrou conforme imagem várias subpastas /install e por fim ...index.php Alguém já teve um problema desses ? https://web.eatacado.com/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/install/index.
  6. Jack Oliveira

    Erro ao Atualizar

    Ola pessoal boa noite.. Vou tentar explicar aqui o meu problema da melhor forma que der, espero que possam entender... Amigos eu estou tendo um problema em fazer uma atualização Bom quando vou cadastrar da sucesso e é gravado normal no banco de dados ate ai esta ok.. Seria o seguinte dentro de um form ele gera linhas ou seja + inputs caso seja preciso entende? Usando javascript´s, quando vou atualizar as informações que esta nas tabelas ou seja são 3 tabelas tbl_department dep_id nome news etc.... tbl_department_openning_hour hou_id titulo time dep_id <-- Aqui onde pega o id da tabela tbl_department tbl_department_faq faq_id titulo conteudo dep_id <-- Aqui onde pega tbm o id da tabela tbl_department Obs: Ele Grava normal no banco de dados, porem quando atualizar que não esta dando certo, e é preciso que seja atualizado todos os input das tabelas tbl_department_faq e tbl_department_openning_hour. Acredito que já entenderam aqui umas das parte que seria preciso. Bom vou posta uma parte do HTML do FORM para melhor entender o que seria ok!!, Sei que não tem nada a ver com o PHP, mais como tinha dito apenas para melhor entender.. <?php $dep_id = get('EditarItem'); $QueryTblDepartment = DBRead('tbl_department','*',"WHERE dep_id = '{$dep_id}'"); if (is_array($QueryTblDepartment)) { foreach ($QueryTblDepartment as $TblDepartment) { ?> <form method="post" action="?Atualizar=<?= $TblDepartment['dep_id']; ?>" enctype="multipart/form-data"> <div class="col-md-6"> <div class="form-group"> <label>Titulo:</label> <input class="form-control" name="dep_name" value="<?= $TblDepartment['dep_name']; ?>" placeholder="Exemplo: Globo City" autocomplete="off" required> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Telefone:</label> <input class="form-control telefone" name="dep_phone" value="<?= $TblDepartment['dep_phone']; ?>" placeholder="Exemplo: (00) 0000-0000" autocomplete="off"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>WhatsApp:</label> <input class="form-control whatsapp" name="dep_whatsapp" value="<?= $TblDepartment['dep_whatsapp']; ?>" placeholder="Exemplo: (00) 0.0000-0000" autocomplete="off"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label>Fax:</label> <input class="form-control" name="dep_fax" value="<?= $TblDepartment['dep_fax']; ?>" placeholder="Exemplo: (00) 0000-0000" autocomplete="off"> </div> </div> <div class="form-group"> <label>Seção de FAQ:</label> <table id="fqSection" class="table table-bordered table-striped"> <thead> <tr> <th style="width:50%;">Titulo</th> <th>Contente</th> <th>Ação</th> </tr> </thead> <tbody> <?php //Departamento FAQ $QueryDepartamentoFaq = DBRead('tbl_department_faq','*',"WHERE dep_id='{$dep_id}'"); if (is_array($QueryDepartamentoFaq)) { foreach ($QueryDepartamentoFaq as $Fa) { $arr_fq_id[] = $Fa['fq_id']; $arr_fq_title[] = $Fa['fq_title']; $arr_fq_content[] = $Fa['fq_content']; }} if(isset($arr_fq_title)): for($i=0;$i<count($arr_fq_title);$i++) { ?> <tr> <td> <input autocomplete="off" type="text" class="form-control" style="width:100%" name="fq_title" value="<?= $arr_fq_title[$i]; ?>"> </td> <td> <textarea class="form-control" cols="30" rows="10" style="width:100%;height:50px;" name="fq_content"><?= $arr_fq_content[$i]; ?></textarea> </td> <td> <span class="btn btn-danger btn-xs"><a onclick="DeletarItem(<?= $arr_fq_id[$i]; ?>, 'DeletarFaq');" href="#!" style="color: #fff;">Excluir</a></span> </td> </tr> <?php //}} } endif; ?> </tbody> </table> <!-- Aqui para criar novos input para serem gravado no banco caso seja preciso --> <input type="button" class="btn btn-info btn-small" id="btnAddFaq" value="+ Adicionar linha" style="margin-bottom:10px;"> </div> <center><hr> <button class="btn btn-primary">Atualizar</button> <br><br> </center> </div> </form> <?php } } ?> Bom ai esta apenas um pouco do form tem mais coisa que seria igual o que preciso resolver Agora a parte do PHP que preciso resolver, vou posta apenas uma parte para poder entender tbm <?php // Atualizar Item de Departamento if (isset($_GET['Atualizar'])) { $dep_id = get('Atualizar'); $fq_empty = 0; if( !empty($_POST['fq_title']) && !empty($_POST['fq_content']) ) { $fq_empty = 1; foreach ($_POST['fq_title'] as $value) { //Sempre mostra o erro nesta linha $arr1[] = $value; } foreach ($_POST['fq_content'] as $value) { //Sempre mostra o erro nesta linha $arr2[] = $value; } $j=0; for($i=0;$i<count($arr1);$i++) { //Sempre mostra o erro nesta linha if($arr1[$i]=='' && $arr2[$i]=='') {continue;} else { $new_arr1[$j] = $arr1[$i]; $new_arr2[$j] = $arr2[$i]; $j++; } } } $AtualizarDepartment = array( 'dep_name' => post('dep_name'), 'dep_slug' => UrlAmigavel(post('dep_name')), 'dep_detail' => post('dep_detail'), 'dep_address' => post('dep_address'), 'dep_phone' => post('dep_phone'), 'dep_whatsapp' => post('dep_whatsapp'), 'dep_fax' => post('dep_fax'), 'dep_email' => post('dep_email'), 'meta_title' => post('dep_name'), 'meta_keyword' => post('meta_keyword'), 'meta_description' => LimitarTexto(post('dep_detail'),'200','...') ); $QueryTblDepartment = DBUpdate('tbl_department', $AtualizarDepartment, "dep_id = '{$dep_id}'", TRUE); if ($QueryTblDepartment != 0) { Redireciona('?sucesso&Department'); } else { Redireciona('?erro&Department'); } // Atualizar tbl_department_faq if($fq_empty == 1) { for($i=0;$i<count($new_arr1);$i++) { $TblDepartmentFaq = array( 'fq_title' => $new_arr1[$i], 'fq_content' => $new_arr2[$i], 'dep_id' => $dep_id ); $QueryTblDepartmentFaq = DBUpdate('tbl_department_faq', $TblDepartmentFaq, "dep_id = '{$dep_id}'"); } } if ($QueryTblDepartmentFaq != 0) { Redireciona('?sucesso&AtualizarFaq'); } else { Redireciona('?erro&AtualizarFaq'); } // Criar Novo input para tbl_department_faq if($fq_empty == 1) { for($i=0;$i<count($new_arr1);$i++) { $SqlFaq = array( 'fq_title' => $new_arr1[$i], 'fq_content' => $new_arr2[$i], 'dep_id' => $QueryTblDepartment ); $QueryFaq = DBRead('tbl_department_faq', $SqlFaq); } } if ($QueryFaq != 0) { Redireciona('?sucesso&Faq'); } else { Redireciona('?erro&Faq'); } } Neste caso ao mesmo tempo que teria que atualizar a tbl_department_faq faq_id titulo conteudo dep_id <-- Aqui onde pega tbm o id da tabela tbl_department Ele precisa grava caso seja preciso criar nova linha ou seja criar novo input para atualizar junto entende? Pessoal espero que eu tenha sido bem objetivo aqui para que possam entender.... Desde já agradeço
  7. Wanderson Moreira

    Imagem saindo deitada no PDF (dompdf)

    Opa, blz? Alguém me da um help? Estou criando um relatorio em PDF com o dompdf e ao adicionar algumas imagens no documento, as mesmas saem deitadas. No html as fotos saem com a orientação normal(em pé) conforme foi inserida alguém sabe o que pode ser?
  8. Gostaria de fazer um programa onde o usuário digitaria o tamanho de conjuntos e quantas linhas possui os conjuntos, exemplo: Seguindo, o programa perguntaria qual conjunto o usuário quer adicionar o valor, e então o valor seria adicionado nas linhas, e qnd cheio, seria o FIFO. Mas minhas principais duvidas seriam: 1- Como eu crio um vetor dentro de outro (não necessariamente precisa ser um vetor, aceito sugestões de como fazer isso) 2- Caso eu faça com o vetor, teria que gerar x vetores, por exemplo, caso o usuário colocasse em "qts conjuntos: 5" teria que criar 5 conjuntos(vetores) diferentes. Como faço isso?! Lembrando aceito qualquer sugestão, estou fazendo em C# mas tbm entendo de Python e PHP caso tenha alguma ideia.
  9. Rizer

    Oportunidade - Desenvolvedor PHP Pleno

    Galera, estamos buscando um profissional para atuar como Desenvolvedor PHP Junior/Pleno na Rizer. Está interessado? Empresa: Rizer (www.rizer.com.br) Vaga: Desenvolvedor PHP Pleno Carga horária: 40h semanais (seg a --- / 9h-18h) Local de trabalho: Edf. Cosmopolitan, Paralela - Salvador/BA Buscamos um profissional que não tenha potencial somente para exercer com excelência a posição de Desenvolvedor PHP, mas também para - num futuro próximo - liderar times na sua área de expertise. Para tornar isso possível, iremos imergi-lo no mercado e no mundo de empresas de tecnologia e startups, apresentando ainda mais sobre o funcionamento de empresas como a nossa (não tão tradicionais assim) e sobre as metodologias que utilizamos para atingir nossos resultados. A Rizer cresce exponencialmente a cada dia e gostamos de fazer todos crescerem junto conosco. Por isso, além de uma excelente política de reconhecimento e promoção (algumas vezes meteórica) de funcionários, possuímos também um programa de Vesting para oferecer quotas da sociedade da empresa para membros do nosso time que se destacam. Pré-requisitos: Conhecimento sólido em PHP (2+ anos de experiência); Integração via APIs rest; Framework Laravel; Banco de dados relacional (mysql); Utilização de metodologias ágeis (Scrum); Git / gitflow. Phpunit; Boas práticas e design pattern;; CSS, HTML e JavaScript Interessados deverão preencher o seguinte formulário: http://bit.ly/rizer1 e fazer o upload do currículo com nome “Desenvolvedor PHP Pleno - SEU NOME” Você se considera uma excelente pessoa e um ótimo profissional? Curtiu a vaga? Então vem trabalhar com a gente, vem!
  10. danilo759

    Como consultar evento da hora corrente?

    Tenho uma tabelinha de programas para uma rádio... está da seguinte forma. titulo data (YYYY-MM-DD) hora (00:00:00) Minha consulta, mas não retorna o programa da hora corrente. O que eu fiz de errado? SELECT * FROM programas WHERE data = CURDATE() AND hora = CURTIME() LIMIT 1
  11. Ro_JnR

    PHP PDO

    Estou tentando a semanas resolver um problema, consumir uma API e verificar se o campo no banco está vazio, se estiver faz insert se não faz update. Até aí tudo bem, agora não consigo passar do meu select para o banco, ele da erro. Segue o código: <?php require_once("db.class.php"); $url = "https://servicodados.ibge.gov.br/api/v1/localidades/distritos"; $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $resultado = json_decode(curl_exec($ch)); foreach ($resultado as $cidades) { $nome = $cidades->nome; $stmt = $conn->prepare("SELECT name FROM cidades WHERE name=?"); $stmt->bind_Param(':name', $nome); $stmt->execute(); $stmt->bind_result($resultSelect); $stmt->fetch(); if(!$stmt->execute()){ print_r($stmt->errorInfo()); } } ?> Código do banco: $conn = new PDO("mysql:host=localhost;dbname=exercicio", "root", ""); //"sqlsrv:Database=dbphp7;server=localhost\SQLEXPRESS;ConnectionPooling=0", "sa", "root"); $stmt = $conn->prepare("SELECT * FROM cidades ORDER BY nome"); $stmt->execute(); //fetchALL basicamente faço while do mysqli $results = $stmt->fetchALL(PDO::FETCH_ASSOC); Print do erro: Tenho um outro exercicio que fiz bem parecido, consumi a API de estados e inseri no banco de dados, esse funcionou normalmente. Alguém poderia me dar uma luz, não sei mais o que fazer. Era para ser simples rsrsrrs.
  12. asacap1000

    Montar um servidor Web com Windows2016, O que recomendam?

    Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam? Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE. Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer.
  13. Galera me foi solicitado a criação de um servidor web, para disponibilizar serviços para os clientes. O que vocês recomendam? Tenho um servidor da DELL com windows 2016. Todo o desenvolvimento será em PHP, Javascript e companhia Ltda com conexão aos bancos de dados Mysql, SQL e ORACLE. Já temos um servidor que será desativado porém está utilizando uma versão muito antiga de PHP 5.4 e como base de instalação foi utilizado o WampServer.
  14. dutopfave

    CADASTRO DE VARIAÇÕES DE PRODUTOS

    Boa Noite Galera, estou com dúvida em como cria um cadastra de VARIAÇÕES DE PRODUTOS. Ex.: Tenho um produto que é um TENIS, ai nele vou criar as VARIAÇÕES, então vou usa COR e TAMANHO. COR: preto, verde, azul TAMANHO: 39, 40, 41 até ai blz, porém a duvida é como fazer o cadastrado de combinações de cor e tênis, tipo no banco de dados teria q fica exatamente assim.... ID | COR | TAMANHO ... | preto | 39 ... | preto | 40 ... | preto | 41 ... | verde | 39 ... | verde | 40 ... | verde | 41 ... | azul | 39 ... | azul | 40 ... | azul | 41 alguém tem alguma solução
  15. lucianfpaula

    Limitar um único cadastro por dispositivo com PHP

    Olá amigos, tenho uma duvida talvez simples mas não para mim hehehe. estou desenvolvendo um sistema onde a pessoa faz um cadastro simples mas preciso de uma função que não permita que a pessoa faça mais de um cadastro pelo dispositivo dela, tipo ela faz pelo celular dela com nome, email etc... mas preciso limitar o cadastro não apenas pelo email mas também pelo dispositivo, ou seja preciso de uma forma de identificar o aparelho para que não haja mais cadastro pelo mesmo dispositivo. Não sei se ficou claro minha duvida, alguém pode me ajudar? Muito grato
  16. RodrigoWD3

    Botao Exibir mais fotos no php

    Pessoal boa tarde, estou criando uma galeria com categorias no php e mysql, gostaria de saber como faço para colocar um botão - Exibir Mais Fotos - fazendo exibir o restante dos registros na mesma pagina, teria alguma forma de limitar as fotos sem usar o LIMIT do sql? pode ser usando jQuery algo assim , obrigado
  17. Ola galera boa noite Pessoal preciso enviar um arquivo por e-mail, onde o sistema faz backups do banco de dados manual e automatico preciso que seja enviado apenas o sql que for gerado tanto manual quanto automatico ambos esta fazendo o backups normalmente sem problemas Segue o código a baixo <?php session_start(); require_once('../../database/config.php'); require_once('../../database/config.database..php'); require_once('../../includes/funcoes.php'); require_once('controller.php'); if (!is_dir('../../backups')) { @mkdir('../../backups', 0777, true); } $name_backup = "Backups_" . date("ymdHis"); $querySQL = DBCreate('backups', [ 'name' => "Banco_de_dados_" . $name_backup, 'type' => 'sql', 'status' => 'Iniciado' ], true); $queryZIP = DBCreate('backups', [ 'name' => "Arquivos_ZIP_" . $name_backup, 'type' => 'zip', 'status' => 'Iniciado' ], true); try { require_once("Mysqldump.php"); $dump = new Ifsnop\Mysqldump\Mysqldump('mysql:host=' . DB_HOSTNAME . ';dbname=' . DB_DATABASE . '', '' . DB_USERNAME . '', '' . DB_PASSWORD . ''); $dump->start("../../backups/Banco_{$name_backup}.sql"); if (file_exists("../../backups/Banco_{$name_backup}.sql")) { DBUpdate('backups', array('status' => 'concluido'), "id = '{$querySQL}'"); } } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao exportar banco de dados.", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao exportar banco de dados'), "id = '{$querySQL}'"); Redireciona('?erro'); } try { $filename = "Arquivos_ZIP_{$name_backup}.zip"; $rootPath = realpath('../../wa/'); $zip = new ZipArchive(); $zip->open("../../backups/$filename", ZipArchive::CREATE | ZipArchive::OVERWRITE); $files = new RecursiveIteratorIterator( new RecursiveDirectoryIterator($rootPath), RecursiveIteratorIterator::LEAVES_ONLY ); foreach ($files as $name => $file) { if (!$file->isDir()) { $filePath = $file->getRealPath(); $relativePath = substr($filePath, strlen($rootPath) + 1); $zip->addFile($filePath, $relativePath); } } $zip->close(); } catch (\Exception $e) { $return = [ "title" => "Oops!", "msg" => "Erro ao criar arquivo de backup no formato zip!", "icon" => "error" ]; DBUpdate('backups', array('status' => 'Erro ao criar arquivo de backup no formato zip'), "id = '{$queryZIP}'"); } DBUpdate('backups', array('status' => 'concluido'), "id = '{$queryZIP}'"); if (empty($return)) { $return = [ "title" => "Deu Certo!", "msg" => "Backup Realizado com Sucesso!", "icon" => "success" ]; } echo json_encode($return); if (!empty(getConfigBackup('mail_notify'))) { @require_once('../../controller/class.phpmailer/PHPMailerAutoload.php'); $mail = new PHPMailer(); $mail->CharSet = "UTF-8"; $mail->isSMTP(true); $mail->SMTPSecure = getConfigBackup('mail_seguranca'); $mail->Host = getConfigBackup('mail_host'); $mail->Username = getConfigBackup('mail_email'); $mail->Password = getConfigBackup('mail_senha'); $mail->Port = getConfigBackup('mail_porta'); $mail->From = getConfigBackup('mail_email'); $mail->FromName = ConfigPainel('site_nome'); $mail->Subject = "Seu Backup está pronto!"; if (strstr(getConfigBackup('mail_notify'), ';')) { $email = explode(';', getConfigBackup('mail_notify')); foreach ($email as $key => $value) { $mail->AddAddress($value); } } else { $mail->AddAddress(getConfigBackup('mail_notify')); } $dados = "Olá, o Backup do painel " . ConfigPainel('site_nome') . " foi realizado com sucesso. Ele está disponível em seu dashboard na área de backups. Acesse o Painel para Gerenciar seus backups."; $mail->Body = "<div id='m_-7598057918015146334m_-2331253013811829785wrapper' dir='ltr' style='background-color:#f7f7f7;margin:0;padding:70px 0 70px 0;width:100%'> <table border='0' cellpadding='0' cellspacing='0' height='100%' width='100%'> <tbody> <tr> <td align='center' valign='top'> <div id='m_-7598057918015146334m_-2331253013811829785template_header_image'></div> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_container' style='background-color:#ffffff;border:1px solid #dedede;border-radius:3px!important'> <tbody> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_header' style='background-color:#333333;border-radius:3px 3px 0 0!important;color:#ffffff;border-bottom:0;font-weight:bold;line-height:100%;vertical-align:middle;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif'> <tbody> <tr> <td id='m_-7598057918015146334m_-2331253013811829785header_wrapper' style='padding:36px 48px;display:block'> <h1 style='color:#ffffff;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:30px;font-weight:300;line-height:150%;margin:0;text-align:left'>Backup Realizado com sucesso</h1> </td> </tr> </tbody> </table> </td> </tr> <tr> <td align='center' valign='top'> <table border='0' cellpadding='0' cellspacing='0' width='600' id='m_-7598057918015146334m_-2331253013811829785template_body'> <tbody> <tr> <td valign='top' id='m_-7598057918015146334m_-2331253013811829785body_content' style='background-color:#ffffff'> <table border='0' cellpadding='20' cellspacing='0' width='100%'> <tbody> <tr> <td valign='top' style='padding:48px'> <div id='m_-7598057918015146334m_-2331253013811829785body_content_inner' style='color:#636363;font-family:&quot;Helvetica Neue&quot;,Helvetica,Roboto,Arial,sans-serif;font-size:14px;line-height:150%;text-align:left'> <p style='margin:0 0 16px'></p> $dados </div> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div>"; $mail->IsHTML(true); $mail->Send(); $mail->ClearAllRecipients(); $mail->ClearAttachments(); } Lembrando so ser enviado o que for sql Ex: Banco_de_dados_Backups_210412193634.sql SQL_Backup_210412180942.sql Conforme for gerando o backups no create tem type sql Não sei isso vai ajudar em algo mais a tabela backups esta assim INSERT INTO `backups` (`id`, `name`, `type`, `created_at`, `status`) VALUES (1, 'SQL_Backup_210412180942', 'sql', '2021-04-12 21:09:42', 'concluido'), (2, 'ZIP_Backup_210412180942', 'zip', '2021-04-12 21:09:42', 'Iniciado'), (3, 'Banco_de_dados_Backups_210412193634', 'sql', '2021-04-12 22:36:34', 'concluido'), (4, 'Arquivos_ZIP_Backups_210412193634', 'zip', '2021-04-12 22:36:34', 'Iniciado'); Se puderem da esta ajuda fico grato
  18. henriquers

    Campo de busca SELECT2 não esta filtrando

    Estou com um problema com o Select2, ele tem um campo de busca mas não esta filtrando corretamente e não estou entendo o motivo, sem utilizar o AJAX colocando os options manualmente ele funciona corretamente, mas trazendo os dados via AJAX ele não funciona o campo de busca. Se aguem poder me dar uma luz agradeço a ajuda. Nessa imagem estou tentando filtrar apenas para os itens que tenha LUVA na descrição, mas não funciona, posso colocar qual quer coisa que ele não faz o filtro Abaixo segue meu codigo HTML <!DOCTYPE HTML PUBLIC> <HTML> <HEAD> <TITLE> Select2 </TITLE> <link href="select2/select2.css" rel="stylesheet" type="text/css" /> <script src="https://code.jquery.com/jquery-latest.min.js"></script> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/i18n/pt-BR.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/js/select2.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/select2/4.0.5/css/select2.css" rel="stylesheet"/> <script> $(document).ready(function(){ $("#selUser").select2({ language: "pt-br", ajax: { url: "get_dados.php", type: "GET", dataType: 'json', delay: 200, data: function (params) { return { q: params.term, // search term page: params.page }; }, processResults: function (response) { return { results: response }; }, cache: true }, width: "20%", closeOnSelect: true, }); }); </script> </head> <body> <select id='selUser' style='width: 200px;'> <option value='0'>- Search user -</option> </select> </body> </html> get_dados.php <?php include './conn_orcl.php'; $select="SELECT PRO_CODPRO PRODUTO,TRIM(PRO_DESCRI) DESCRICAO FROM F_PRODS WHERE PRO_LOCEST='ALMOX' AND PRO_STATUS = 'AT' ORDER BY DESCRICAO"; $parse=oci_parse($conn,$select); oci_execute($parse); $data = array(); while($row=oci_fetch_array($parse)){ $data[] = array("id"=>$row['PRODUTO'], "text"=>$row['PRODUTO']." - ".$row['DESCRICAO']); }; echo json_encode($data); ob_end_flush(); oci_free_statement($parse); oci_close($conn); ?>
  19. Jack Oliveira

    Verificar se já existe o nome cadastro no banco de dados

    Boa noite pessoal Quero fazer uma verificação em tempo real no banco de dados antes de clicar para cadastra, ver se o nome que esta no input name="nome_empresa_link" ver se ele já existe no banco de dados. no caso so permitir preencher outro campos se o input que esta sendo verificado estiver correto ou seja tudo ok... Lembrando este input ele é preenchido conforme é digitado no input name="nome_empresa" Não sei se isso interfere ao fazer a verificação HTML <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa">Nome</label> <input type="text" autocomplete="off" id="nome_empresa" maxlength="100" name="nome_empresa" class="form-control input_nome_empresa" required placeholder="Nome da Loja"> </div> </div> <div class="col-md-6"> <div class="form-group"> <label for="nome_empresa_link">Url Amigavél</label> <em id="resposta"></em> <input type="text" autocomplete="off" id="nome_empresa_link" name="nome_empresa_link" maxlength="100" class="form-control input_nome_empresa_link" required placeholder="/ Use maiúsculas, minúsculas e underline."> <?= $site; ?><span><em style="color: green;" id="nome_empresa_link"></em>/</span> </div> </div> No PHP fazer verificação fiz isso... <?php if(isset($_POST['nome_empresa_link'])) { $nome_empresa_link=$_POST['nome_empresa_link']; $checkdata = DBCount('ws_empresa','nome_empresa_link',"WHERE nome_empresa_link = '{$nome_empresa_link}'"); if ($checkdata >= 0) { //echo "Um nome igual este já esta sendo usado no sistema"; swal('Atenção!!!', 'A URL AMIGAVÉL não disponivél para cadastro \n tente com outro nome!', 'warning', 'Fechar'); } /*else { echo "<font color='green'>Disponivél...</font>"; } */ exit(); } ?> No ajax fiz assim <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script language="javascript"> var nome_empresa_link = $("#nome_empresa_link"); nome_empresa_link.blur(function() { $.ajax({ url: 'notificacao/checkdata.php', type: 'POST', data:{"nome_empresa_link" : nome_empresa_link.val()}, success: function(data) { console.log(data); data = $.parseJSON(data); $("#resposta").text(data.nome_empresa_link); } }); }); </script> Só que não retorna nada
  20. terra

    Enviar varios registros em unico e-mail

    Olá, preciso enviar os últimos 10 registros para um único e-mail, mas o código abaixo esta enviando separado agradeço qualquer ajuda
  21. eStevo2734

    XML values problem

    Pequei esse código, porém não funciona por nada pela minha capacidade que não é muita em PHP, já mudei ele de todas as formas possível e não funciona. <?php if(!empty($_FILES['xml']['tmp_name'])){ $arquivo = new DomDocument(); $arquivo->load($_FILES['xml']['tmp_name']); //var_dump($arquivo); $linhas = $arquivo->getElementsByTagName("processo"); //var_dump($linhas); $primeira_linha = true; foreach($linhas as $linha){ if($primeira_linha == false){ // pegar o valor natureza="Produtos e/ou Serviço" no elemento <marca> $nome = $linha->getElementsByTagName("nome")->item(0)->nodeValue; echo "Nome: $nome <br>"; $email = $linha->getElementsByTagName("status")->item(1)->nodeValue; echo "Status: $email <br>"; echo "<hr>"; } $primeira_linha = false; } } ?> O arquivo em XML é beemmm longo <?xml version="1.0" encoding="UTF-8" ?> <revista numero="2620" data="23/03/2021"> <processo numero="922151156" data-deposit <despachos> <despacho codigo="IPAS009" nome="Publ </despachos> <titulares> <titular nome-razao-social="HERIK DE </titulares> <marca apresentacao="Mista" natureza="P <nome>SOTEN</nome> </marca> <classes-vienna> <classe-vienna codigo="27.5.1" edicao <classe-vienna codigo="28.3" edicao=" <classe-vienna codigo="26.2.7" edicao <classe-vienna codigo="29.1.15" edica </classes-vienna> <lista-classe-nice> <classe-nice codigo="41"> <especificacao>Agente artístico; li <status>Pendente</status> </classe-nice></lista-classe-nice> <procurador>TENAX SERVIÇOS DE CONSULTOR </processo> <processo numero="920178898"> <despachos> <despacho codigo="IPAS029" nome="Defe </despachos> <titulares> <titular nome-razao-social="DEIVISSON </titulares> <lista-classe-nice> <classe-nice codigo="25"> <especificacao>Bandanas;Bermudas;Bo <status>Deferida</status> </classe-nice> </lista-classe-nice> </processo> Os valores que estou tentando pegar são <nome> <status>. Mas também queria tentar pegar os valores nome-razao-social="..." e natureza. Penso que pode ter algo a ver com o tamanho do arquivo que é um pouco maior do que o habitual, girando em torno de 30 MB e no total vão ter que tirar as informações 22 109 que é o número de vezes que esse modelo de exemplo se repete no documento Mas como disse não sei muito sobre PHP é uma suposição)...
  22. Mauricio Molina

    Gerar PDF php

    Ola pessoal, Estou com probleminha, preciso gerar um PDF de alguns dados do BD, até consegui gerar o PDF (quando especifico o id), mas preciso que ao clicar no botão corresponde de uma lista de ordem de serviço, o PDF seja gerado de acordo com o ID da ordem de serviço. Botão: <a type="button" class="btn btn-sm btn-info" href="gerar_pdf.php?id=<?php echo $rows_cursos['id']; ?>" target="_blank" >PDF</a> Gerar PDF: <?php include ('pdf/mpdf.php'); include_once("../conexao/conexao.php"); //Criar a conexão $conn = mysqli_connect($servidor, $usuario, $senha, $dbname); if(!$conn){ die("Falha na conexao: " . mysqli_connect_error()); }else{ //echo "Conexao realizada com sucesso"; } $id = '17'; //***Aqui seria onde busca o ID da Ordem de Serviço*** $result_usuario = "SELECT * FROM ordem_servico WHERE id = '$id' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $row_usuario = mysqli_fetch_assoc($resultado_usuario); $pagina = "<html> <body> <h2>Ordem de Serviço Eletrobrastec</h2><p></p> <strong>Empresa:</strong> Eletrobrastec <strong>Data:</strong> ".$row_usuario['date']." <strong>Número OS:</strong> ".$row_usuario['id']." <p></p> <strong>Edereço:</strong> Rua Santo Agostinho, 860 <strong>Bairro:</strong> Caiçara <strong>Cidade:</strong> Praia Grande <strong>UF:</strong> SP <p></p> <strong>CNPJ:</strong> 288.880.270/0018-1 <strong>DD:</strong> 13 <strong>Telefone:</strong> 99757-6400 <hr> <h2>Dados do Cliente</h2> <p></p> <strong>Nome:</strong> ".$row_usuario['nome']." <strong>Data Execução:</strong> _______________________ <p></p> <strong>DD:</strong> ".$row_usuario['dd']." <strong>Telefone:</strong> ".$row_usuario['telefone']." <strong>E-mail:</strong> ".$row_usuario['email']." <p></p> <strong>CPF:</strong> ".$row_usuario['cpf']." <strong>CNPJ:</strong> ".$row_usuario['cnpj']." <p></p> <strong>Aparelho:</strong> ".$row_usuario['aparelho']." <strong>Modelo:</strong> ".$row_usuario['modelo']." <strong>Defeito:</strong> ".$row_usuario['defeito']." <p></p> <strong>Taxa:</strong> _______________________ <strong>Valor Total:</strong> ".$row_usuario['v_total']." <p></p> <strong>Descrição Serviço:</strong> ".$row_usuario['desc_servico']." <p></p><p></p><p></p><p></p><p></p><p></p><p></p> <strong>Observações:</strong> _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ _____________________________________________________________________________________________________ <p></p><p></p><p></p><p></p> <label>*A taxa de visita apenas será cobrada caso o cliente não realize o serviço, caso não queira e posteriormente venha realizar, a mesma será descontada.<label> </body> </html> "; $arquivo = "ordemservico.pdf"; $mpdf = new mPDF(); $mpdf->WriteHTML($pagina); $mpdf->Output($arquivo, 'I'); // I - Abre no navegador // F - Salva o arquivo no servido // D - Salva o arquivo no computador do usuário ?> Neste caso percebem que esta sendo gerado um PDF com a ordem de serviço de ID 17, tudo correto, porem gostaria que neste item, fosse gerado de acordo com o botão clicado. $id = '17'; //***Aqui seria onde busca o ID da Ordem de Serviço*** $result_usuario = "SELECT * FROM ordem_servico WHERE id = '$id' LIMIT 1"; $resultado_usuario = mysqli_query($conn, $result_usuario); $row_usuario = mysqli_fetch_assoc($resultado_usuario); Alguém pra dar uma força? Obrigado!
  23. Olá, venho pedir ajuda. Estou fazendo um painel admin e no módulo de notícias criei um formulário pra inserir a nova notícia com um campo para inserir a imagem. Criei vários cases para me mostrar se foi feito ou não o registro e agora está dando uma das mensagens do case que não registrou a notícia e não salva a imagem na página indicada. Se puderem me ajudar com esse problema fico agradecido. Seguem os códigos: <?php class connectMysql { private $host = 'localhost'; private $user = 'root'; private $password = 'Be15se90@';//'admin'; private $banco = 'siteNovoCoopama'; private $mysqli = ''; private $insertId = ''; public function __construct(){ } private function mysqlConnect() { $this->mysqli = new mysqli($this->host, $this->user, $this->password, $this->banco); if (mysqli_connect_error()) { die('FATAL ERROR: Can not connect to SQL Server.'); exit(); } } public function executeQuery($query) { $this->mysqlConnect(); // $query = mysqli_real_escape_string($this->mysqli, $query); $this->result = $this->mysqli->query($query); //$this->insertId = mysqli_insert_id(); $this->mysqlClose(); return $this->result; } public function mysqlClose() { $this->mysqli->close(); } /* * vai remover caso tente um sql injection * */ public function limparString($sql) { $sql = addslashes($sql); return $sql; } } noticiaNovo.php <?php include ($_SERVER['DOCUMENT_ROOT'] . '/_constantes.php'); //include (RAIZ_SITE . '/protecao.php'); require_once $_SERVER['DOCUMENT_ROOT'] . '/connectMysql.php'; //include_once ($paths['Controller'] . 'NoticiasController.php'); //include 'Controller/NoticiasController.php'; /* * uma dica... esse eh o form pra cadastrar noticias, correto? * isso mesmo, na verdade eu fiz a chamada de inserção e as outras funções no DAO mas não to conseguindo chamar ele, está gerando erro * ai ia tentar dessa maneira para ver se inseria . * mesmo que faca desse jeito, nunca coloque o insert na mesma pagina do form pq você tem que submeter a pagina pra ela mesma com o form carregado * e se a pessoa ficar dando f5, vai ficar cadastrando a mesma noticia qtas vezes ela atualizar a pagina * se quiser fazer dessa forma, sem o DAO, cria uma nova pagina para submeter o form e depois, redireciona para a pagina da noticia * entendue? * criar tipo um validar.php né? * mas queria aprender dessa maneira, orientada, uma puxando a outra * bora fazer rsss * bora lá kkkkk * as chamadas no DAO ta certo? */ ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Coopama | Admin</title> <link rel="shortcut icon" href="/admin/dist/img/favicon.png"> <!-- Google Font: Source Sans Pro --> <link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,400i,700&display=fallback"> <!-- Font Awesome --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/plugins/fontawesome-free/css/all.min.css"> <!-- Theme style --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/dist/css/adminlte.min.css"> <!-- summernote --> <link rel="stylesheet" href="<?=HOST_ADMIN?>/plugins/summernote/summernote-bs4.min.css"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> </head> <body class="hold-transition sidebar-mini"> <div class="wrapper"> <!-- Navbar --> <nav class="main-header navbar navbar-expand navbar-white navbar-light"> <!-- Left navbar links --> <ul class="navbar-nav"> <li class="nav-item"> <a class="nav-link" data-widget="pushmenu" href="#" role="button"><i class="fas fa-bars"></i></a> </li> <li class="nav-item d-none d-sm-inline-block"> <a href="home.php" class="nav-link">Home</a> </li> <!--<li class="float float-sm-right"> <a href="#" class="nav-link float-right">Contato</a> </li>--> </ul> </nav> </div> <!-- Main Sidebar Container --> <aside class="main-sidebar sidebar-dark-primary elevation-4"> <!-- Brand Logo --> <a href="home.php" class="brand-link"> <img src="dist/img/logo-quadrada-transparente.png" alt="Coopama" class="brand-image img-circle elevation-3" style="opacity: .8"> <span class="brand-text font-weight-light">Coopama</span> </a> <!-- Sidebar --> <div class="sidebar"> <!-- Sidebar user (optional) --> <div class="user-panel mt-3 pb-3 mb-3 d-flex"> <div class="image"> <img src="dist/img/avatar5.png" class="img-circle elevation-2" alt="User Image"> </div> <div class="info"> <a href="#" class="d-block"><?php echo $_SESSION['nome'];?></a> </div> </div> <!-- Sidebar Menu --> <nav class="mt-2"> <ul class="nav nav-pills nav-sidebar flex-column" data-widget="treeview" role="menu" data-accordion="false"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-newspaper nav-icon"></i> <p> Noticias <i class="fas fa-angle-left right"></i> <span class="right badge badge-danger">News</span> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-newspaper fa-xs nav-icon"></i> <p> Noticias Coopama <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="noticiaNovo.php" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="listaNoticia.php" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-journal-whills fa-xs nav-icon"></i> <p> Coopama Informa <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-ethernet fa-xs nav-icon"></i> <p> Coopama Informa - Web <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-plus nav-icon"></i> <p>Inserir uma nova</p> </a> </li> </ul> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-list nav-icon"></i> <p>Listar Todas</p> </a> </li> </ul> </li> </ul> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon far fa-calendar-alt"></i> <p> Eventos <i class="fas fa-angle-left right"></i> <span class="badge badge-info right">!</span> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Feiras Coopama</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>AGO</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Concurso de Café</p> </a> </li> <!--<li class="nav-item"> <a href="#" class="nav-link"> <i class="far fa-circle nav-icon"></i> <p>Calendário</p> </a> </li>--> </ul> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-columns"></i> <p> Banners </p> </a> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-tree"></i> <p> Cotação Geral <i class="fas fa-angle-left right"></i> </p> </a> <ul class="nav nav-treeview"> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-tractor nav-icon"></i> <p>Milho</p> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="fas fa-coffee nav-icon"></i> <p>Café</p> </a> </li> </ul> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-columns"></i> <p> Trabalhe Conosco </p> </a> </a> </li> <li class="nav-item"> <a href="#" class="nav-link"> <i class="nav-icon fas fa-calendar-alt"></i> <p> Calendario <span class="badge badge-info right"></span> </p> </a> </li> </ul> </nav> </div> </div> <!-- /.sidebar --> </aside> <!-- Content Wrapper. Contains page content --> <div class="content-wrapper"> <!-- Content Header (Page header) --> <section class="content-header"> <div class="container-fluid"> <div class="row mb-2"> <div class="col-sm-6"> <h1>Noticias</h1> </div> <div class="col-sm-6"> <ol class="breadcrumb float-sm-right"> <li class="breadcrumb-item"><a href="home.php">Home</a></li> <!--<li class="breadcrumb-item active"></li>--> </ol> </div> </div> </div><!-- /.container-fluid --> </section> <!-- Main content --> <section class="content"> <div class="container-fluid"> <div class="row"> <div class="col-md-12"> <div class="card"> <div class="card-header"> <h3 class="card-title" style="width: 100%">Crie uma nova noticia</h3> </div> <!--<div id="corpoNoticia"class="row">--> <!--<h2 class="center" align="center" style="cursor: pointer"><u>Crie uma nova noticia</u></h2>--> <br style="clear: both"> <form name="novaNoticia" id="novaNoticia" method="post" enctype="multipart/form-data" style="text-align: center"> <input type="hidden" name="acao" id="acao" value="novaNoticia"> <div class="form-row"> <div class="form-group col-lg-6"> <label for="titulo">*Titulo</label> <input type="text" class="form-control" id="titulo" name="titulo" placeholder="Titulo da Noticia" required> </div> <div class="form-group col-md-6"> <label for="previa">Prévia</label> <input type="text" class="form-control" id="previa" name="previa" placeholder="Prévia da Noticia"> </div> </div> <div class="form-group"> <label for="texto">*Texto</label> <textarea class="form-control" id="texto" name="texto" placeholder="Texto da Noticia" required></textarea> </div> <div class="form-row"> <div class="file-field input-field col s12 l8"> <label for="imagem">Imagem Destaque</label> <input type="file" class="form-control" required name="imagemDestaque" id="imagemDestaque"> </div> <div class="form-group col-md-2"> <label for="data">*Data da Postagem</label> <input type="date" class="form-control" name="data" id="data" required> </div> <div class="form-group col-md-2"> <label for="status" required>*Status</label> <select id="status" name="status" class="form-control"> <option selected>Escolher...</option> <option value="A">Ativa</option> <option value="R">Rascunho</option> <option value="D">Descartada</option> </select> </div> <div class="form-group col-md-1"> <label for="fixa">*Topo?</label> <select name="fixa" required id="fixa" class="form-control"> <option value="S">Sim</option> <option value="N">Não</option> </select> </div> <div class="form-group col-md-4" style="text-align: center; margin-top: 30px"> <button type="submit" id="btnSubmit" class="btn btn-group-lg" style="color: white; background-color: #0f9d58">Enviar</button> </div> </div> <!--<hr>--> <!--<button type="submit" class="btn btn-primary" style="color: white; background-color: #0f9d58; " >Enviar</button>--> </form> <br> </div> </div> </div> </div> </section> <style> form { padding-right: 10px; padding-left: 10px; } .form-row{ font-weight: bold; } card-header{ grid-template-rows: 120px 1fr 60px; } label{ padding-left: 5px; padding-right: 5px; } button{ color: #fff; background-color: #0f9d58; padding-bottom: 50px; } form > label{ font-size: 1.0rem; padding-right: 55px; } </style> <!-- Control Sidebar --> <aside class="control-sidebar control-sidebar-dark"> <!-- Control sidebar content goes here --> </aside> <!-- /.control-sidebar --> </div> <!-- ./wrapper --> <!-- jQuery --> <script src="/admin/js/jquery-3.6.0.min.js"></script> <!-- Bootstrap 4 --> <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.1/dist/umd/popper.min.js" integrity="sha384-SR1sx49pcuLnqZUnnPwx6FCym0wLsk5JZuNx2bPPENzswTNFaQU1RDvt3wT4gWFG" crossorigin="anonymous"></script> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta3/dist/js/bootstrap.min.js" integrity="sha384-j0CNLUeiqtyaRmlzUHCPZ+Gy5fQu0dQ6eZ/xAww941Ai1SxSY+0EQqNXNE6DZiVc" crossorigin="anonymous"></script> <script src="//cdn.jsdelivr.net/npm/sweetalert2@10"></script> <script> $(function (){ $(".preloader").fadeOut(); /*$.post('/processa/acaoNoticias.php',{ acao: 'validarCadastro', }, function (data){ if(data['tipo'] == 'sucess'){ $('#btnSubimit').hide(); Swal.fire({ title: data['titulo'], html: data['mensagem'], type: data['tipo'], confirmButtonText: "Fechar" }); }else { $('#btnSubimit').show(); } },'json');*/ $('#novaNoticia').submit (function (e){ e.preventDefault(); if ($('#titulo, #previa, #texto, #imagem, #data, #status, #fixa').val() != ''){ //$('#btnSubmit').hide(); $.ajax({ type: "POST", url: '/admin/processa/acaoNoticias.php', dataType: 'json', data: new FormData($('#novaNoticia').get(0)), contentType:false, processData: false, cache: false, success: function (data){ if (data['tipo'] == 'success'){ document.getElementById('novaNoticia'). reset(); } $('#btnSubmit').show(); Swal.fire({ title: data['titulo'], html: data['mensagem'], icon: data['tipo'], confirmButtonText: "Fechar" }); }, error: function (data){ $('#btnSubmit').show(); $('#modal-warning').addClass('hide').fadeOut(5); Swal.fire({ title: data['titulo'], html: data['mensagem'], type: 'error', confirmButtonText: "Fechar" }); } }); }else { Swal.fire({ title: 'Atenção', type:'Info', html: 'Os campos com * são obrigatorios, por favor volte e verifique se você preencheu todos.', confirmButtonText: "Fechar" }) } }) }) <?php if(!empty($_SESSION['MSG_RETORNO'])) { $msgRetorno = $_SESSION['MSG_RETORNO']; echo 'Swal.fire({ title: "' . $msgRetorno['titulo'] . '", html: "' . $msgRetorno['mensagem'] . '", type: "' . $msgRetorno['tipo'] . '", confirmButtonText: "Fechar" });'; /* * Apos mostrar a msg de sucesso ou erro, a sessao é eliminada e nao sera mais chamada. */ unset($_SESSION['MSG_RETORNO']); } ?> </script> </body> </html> classNoticias.php <?php require_once $_SERVER['DOCUMENT_ROOT'] . '/admin/connectMysql.php'; include_once $_SERVER['DOCUMENT_ROOT'] . '/admin/Beans/Noticias.php'; class classNoticias extends connectMysql { public $titulo = ''; public $texto = ''; public $previa = ''; public $imagem = ''; public $data = ''; public $status = ''; public $fixa = ''; public $codNoticia = ''; /** * classNoticias constructor. */ public function __construct() { } /** * @return array */ public function editaNoticia() { $query = $this->executeQuery("UPDATE noticias SET titulo = '" . addslashes(utf8_decode($this->titulo)) . "', texto = '" . addslashes(utf8_decode($this->texto)) . "', previa = '" . addslashes(utf8_decode($this->previa)) . "', imagem = '" . $this->imagem . "', NOW(), status = '" . $this->status . "', fixaTopo = '" . $this->fixa . "', WHERE codNoticia = '" . (int)$this->codNoticia . "' LIMIT 1"); if ($query == true) { return ['tipo' => 'sucess', 'titulo' => 'Sucesso!', 'mensagem' => 'Noticia modificada!']; } else { return ['tipo' => 'error', 'titulo' => 'Erro!', 'mensagem' => 'Erro ao fazer a edição, tente novamente']; } } public function listaNoticias() { $query = $this->executeQuery("SELECT *, DATE_FORMAT(dataPostagem, '%d/%m/%Y %H:%i') dtHrPostagem FROM noticias ORDER BY dataPostagem DESC"); $return = []; while ($sql = $query->fetch_array()) { $return[] = [ 'codNoticia' => utf8_encode($sql['codNoticia']), 'titulo' => utf8_encode($sql['titulo']), 'texto' => utf8_encode($sql['texto']), 'previa' => utf8_encode($sql['previa']), 'imagemDestaque' => utf8_encode($sql['imagemDestaque']), 'dataPostagem' => utf8_encode($sql['dtHrPostagem']), 'status' => utf8_encode($sql['status']), 'fixaTopo' => utf8_encode($sql['fixaTopo']) ]; } return $return; } public function listaNoticiasByCod() { $query = $this->executeQuery("SELECT *, DATE_FORMAT(dataPostagem, '%d/%m/%Y %H:%i') dtHrPostagem FROM noticias WHERE codNoticia = " . (int)$this->codNoticia . "LIMIT 1"); $return = []; while ($sql = $query->fetch_array()) { $return[] = [ 'codNoticia' => utf8_encode($sql['codNoticia']), 'titulo' => utf8_encode($sql['titulo']), 'texto' => utf8_encode($sql['texto']), 'previa' => utf8_encode($sql['previa']), 'imagemDestaque' => utf8_encode($sql['imagemDestaque']), 'dataPostagem' => utf8_encode($sql['dtHrPostagem']), 'status' => utf8_encode($sql['status']), 'fixaTopo' => utf8_encode($sql['fixaTopo']) ]; } return $return; } public function cadastrarNovaNoticia() { if ($this->fixa == 'S') { $this->executeQuery("UPDATE noticias SET fixa = 'X'"); } $sql = "INSERT INTO noticias (titulo, texto, previa, imagemDestaque, dataPostagem, status, fixaTopo) VALUES ('" . addslashes(utf8_decode($this->titulo)) . "', '" . addslashes(utf8_decode($this->texto)) . "', '" . addslashes(utf8_decode($this->previa)) . "', '" . addslashes(utf8_decode($this->imagem)) . "', NOW(), '" . addslashes(utf8_decode($this->status)) . "', '" . addslashes(utf8_decode($this->fixa)) . "')"; return $this->executeQuery($sql); } } acaoNoticias.php <?php $titulo = 'Atenção!'; $mensagem = 'Houve um erro ao acessar esta página, por favor, tente novamente.'; $tipo = 'warning'; $html = ''; if(!empty($_POST['acao'])){ require_once '../../_constantes.php'; require_once RAIZ_SITE_ADMIN . '/Classes/classNoticias.php'; $classNoticias = new classNoticias(); /* * diminuir a quantidade de arquivos dessa forma * utiliza um arquivo desse pra cada modulo (noticas textos, ..) * o que vai determinar o que sera feito, eh o campo acao * veja que ja chamou a classe acima e ja instanciou ela, entao nao precisa chamar mais * o que estiver dentro do switch case, vai ser executado de acordo com o valor da acao */ $conn = new mysqli(HOST, USER, SENHA, BD); switch ($_POST['acao']) { /* * se for uma nova noticia entra neste case */ case 'novaNoticia': { if(!empty($_POST['titulo']) && !empty($_POST['previa']) && !empty($_POST['texto'])) { /* * atribui os valores as variaveis. falta o upload da imagem e os outros campos */ $classNoticias->titulo = $_POST['titulo']; $classNoticias->previa = $_POST['previa']; $classNoticias->texto = $_POST['texto']; $classNoticias->fixa = $_POST['fixa']; $classNoticias->status = $_POST['status']; /* * Verifica se fez o upload da imagem */ $mensagemExiste = 'N'; if (!empty($_FILES['imagemDestaque'])) { /*$extensao = pathinfo(substr($_FILES['imagemDestaque']['name'], PATHINFO_EXTENSION, -4));*/ $extensao = pathinfo($_FILES['imagemDestaque']['name'], PATHINFO_EXTENSION); $mensagemExiste = 'S'; if (array_search(strtolower($extensao), ['jpg', 'png', 'jpeg']) == true) { $nomeImagem = md5(date('dmYHis')) . '.' . $extensao; if (move_uploaded_file(RAIZ_SITE . '/var/www/html/novoSiteCoopama/images/noticias' . $nomeImagem, $_FILES['imagemDestaque']['tmp_name']) == true) { $mensagemExiste = 'V'; $classNoticias->imagem = $nomeImagem; } else { $mensagemExiste = 'X'; } } } /* * salva a noticia */ $retorno = $classNoticias->cadastrarNovaNoticia(); // retorno true ou false do insert if ($retorno == true) { switch ($mensagemExiste) { case 'N': $txt = 'Imagem não selecionada.'; break; case 'S': $txt = 'Noticia não gravada, confira novamente'; break; case 'X': $txt = 'Notícia gravada com sucesso mas houve um erro ao salvar a imagem.'; break; case 'V': $txt = 'Notícia gravada com sucesso.<br>Imagem armazenada com sucesso.'; break; default: $txt = 'Notícia gravada com sucesso mas sem imagem selecionada.'; break; } $tipo = 'success'; $titulo = 'Sucesso!'; $mensagem = $txt; } else { $tipo = 'error'; $titulo = 'Erro!'; $mensagem = 'Erro ao gravar a noticia, por favor, tente novamente.'; } } else { $mensagem = 'Por favor, preencha todos os campos marcados com * para gravar sua notícia.'; } break; } case 'listarNoticias': { $sql = "SELECT codNoticia, titulo, previa, texto, dataPostagem, status, fixaTopo FROM noticias"; $conn = mysqliConnect(); $result = $conn->query($sql); $registros = []; if ($result->num_rows > 0){ while($row = $result->fetch_assoc()){ $registros[] = $row; } }elseif ($conn->error){ echo "Erro: " . $conn->error; } break; } case 'editarNoticias': { break; } case 'localizarNoticia': { break; } default: echo "Erro: " . $conn->connect_error; } } else { // caso tenha cmapo vazio, vai retornar para pagina de cadastro de noticias $tipo = 'warning'; $titulo = 'Atenção!'; $mensagem = 'Por favor, preencha todos os campos e tente novamente.'; } echo json_encode([ 'titulo' => $titulo, 'tipo' => $tipo, 'mensagem' => $mensagem, 'html' => $html, ]);
  24. biza

    Filtro com PHP PDO e MYSQL

    Viva pessoal, Estou com um problema na execução de um filtro aos dados vindos da base de dados, sera que alguém me pode ajudar, os dados estão vindo para a pagina através do método $_POST, que são seleccionados através do carregamento de uma dropbox chamada 'select-segment', desta forma se o utilizador apertar o botão 'action' ele executa o filtro caso não aperte ele executa a seleção sem filtros, será que alguém me pode ajudar... O erro devolvido é o seguinte: Fatal error:: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /Applications/MAMP/htdocs/cargeWebsite/carList.php:46 Stack trace: #0 /Applications/MAMP/htdocs/cargeWebsite/carList.php(46): PDOStatement->execute() #1 /Applications/MAMP/htdocs/cargeWebsite/index.php(155): include('/Applications/M...') #2 {main} thrown in $query .='SELECT * FROM tbl_vehicle AS v INNER JOIN tbl_brands AS b ON v.brand_id = b.id_brand INNER JOIN tbl_images AS i ON v.id_vehicle = i.vehicle_id INNER JOIN tbl_fuel AS f ON v.fuel_id = f.id_fuel WHERE v.active = :active'; if(isset($_POST['action'])){ if(isset($_POST['select-segment']) && $_POST['select-segment']!=''){ $segment_filter = $_POST['select-segment']; $query.= 'AND segment_id IN ("'.$segment_filter.'")'; } $query .='ORDER BY v.last_inser ASC'; }else{ $query .='ORDER BY v.last_inser ASC'; } if($_POST['lenght'] = -1){ $query_1 = 'LIMIT :inicio, :limite'; } $dbh = createPDO(); $statement = $dbh->prepare($query); $statement->bindValue(':active',$intermedio); $statement->execute(); $number_filter_row = $statement->rowCount(); $statement = $dbh->prepare($query . $query_1); $statement->bindValue(':inicio',(int)$init, PDO::PARAM_INT); $statement->bindValue(':limite',(int)$limite, PDO::PARAM_INT); $statement->execute(); foreach ($result as $row){ }
  25. Estou tentando manipular um array e agrupar os dados de produtos por nome de fornecedor igual. A minha array retorna os produtos que eu tenho por fornecedor, quando o mesmo fornecedor tem mais de um produto ele me retorna em arrays separadas, e gostaria de agrupar esses dados. Tentei de algumas formas, porém sem sucesso. Retorno do meu array: Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [cdproduto] => ML2 [nmproduto] => ESCOVA [quantidade] => 10 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [cdproduto] => EV1 [nmproduto] => PANO DE LIMPEZA [quantidade] => 5 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) Como espero que retorne: Array ( [nrochamado] => 10780 [cnpjFornecedor] => 111111111000111 [nmFornecedor] => FORNECEDOR TESTE 01 [produtosItens] => Array( [cdproduto] => ML2 [nmproduto] => ESCOVA [quantidade] => 10 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) ( [cdproduto] => EV1 [nmproduto] => PANO DE LIMPEZA [quantidade] => 5 [unidade] => UN [vlfornecedor] => .00000 [dtnecessidade] => 30/04/2021 [dtentrega] => ) ) É possível ?
×

Informação importante

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