classe mysqli não é encontrada

O PHP está dando o seguinte erro: Fatal error: Uncaught Error: Class 'loja\model\mysqli' not found in, ele não esta encontrando a classe mysqli, mas eu já verifiquei o php.ini e não está comentado. Estou utilizando o autoLoad do composer, quando eu tiro esse o trecho do código que instancia o mysqli a classe funciona normalmente. O que poderia ser isso, abaixo irei colocar os códigos

 namespace loja\model; class Banco {     public function conectar()     {          $  con = new mysqli("127.0.0.1","root","","ganha_tempo");          if($  con->connect_errno){             echo "Erro ao se conectar ao banco de dados";             mysqli_close();         }         return $  con;     } } 

classe UserSistema

   namespace loja\model\controleUsuariosSistemasModel;  session_start();  use loja\model\usuarioGeralModel\Usuarios;  use loja\model\Banco;

class UserSistema extends Usuarios { private $ unidade; private $ senha;

public function setUnidade($  unidade) 

{ $ this->unidade = $ unidade; }

public function getUnidade() { return $ this->unidade; }

public function setSenha($ senha) { $ this->senha = $ senha; }

public function getSenha() { return $ this->senha; }

public function logarSistema($ cpfUsuario,$ senhaUsuario) { $ banco = new Banco();

$  con = $  banco->conectar();  $  resultado = $  con->query("SELECT nome,senha,cpf,nome_unidade,nome_funcoes FROM usuarios_sistemas,unidade,funcoes WHERE cpf = '$  cpfUsuario' AND senha = '$  senhaUsuario' AND id_unidade = fk_unidade AND id_funcoes = fk_funcao");  $  controle = false;  while ($  consulta = $  resultado->fetch_object())  {    if($  consulta->cpf == $  cpfUsuario && $  consulta->senha == $  senhaUsuario)    {     $  nomeUsuario = $  consulta->nome;     $  _SESSION['usuario'] = $  nomeUsuario;     $  _SESSION['cpf'] = $  cpfUsuario;     $  _SESSION['unidade'] = $  consulta->nome_unidade;     $  _SESSION['funcao'] = $  consulta->nome_funcoes;     $  controle = true;    }else{     $  controle = false;    }  } $  con->close(); return $  controle; 

}

public function controleLogin($ cpf) { if($ cpf==null || $ cpf=="") { header('LOCATION:../../../index.php'); } }

public function restricaoAcesso($ cpf,$ moduloMenu) { $ bd = new banco();

$  con = $  bd->conectaBD();  $  resultado = $  con->query("SELECT codigo_menu,modulo_menu FROM menu,usuarios_sistemas,acesso_menu WHERE cpf = fk_usuarios_sistemas AND id_menu = fk_menu AND cpf = $  cpf");  while($  consulta = $  resultado->fetch_object()){       if($  consulta->modulo_menu == $  moduloMenu){         echo $  consulta->codigo_menu;       } } $  con->close(); 

}

public function criptografaCpf($ cpf) { $ cripto = base64_encode($ cpf);

return $ cripto;

}

}

vulnerabilities aplicação reactJS

Boa tarde,

Recentemente inicie um projeto, e esse projeto será feito no react, só que ao dar o comando npx create-react-app my-app.

Aparece essa mensagem ao finalizar de baixar os pacotes:

added 1851 packages from 718 contributors and audited 36248 packages in 151.639s found 68 vulnerabilities (63 low, 5 high) 

Ao dar o comando npm audit fix, apenas corrige 3 erros, e os outros erros devem serem corrigidos manualmente.

Estou usando a versão 6.4.1 do NPM e o Node v10.15.3

Alguém sabe como faço para estar resolvendo esse problema?

Campo decimal não trás o valor correto

Minha regra é: Gravar um valor no banco de dados, mas assim. Como são percentuais, deveria estar assim. É o campo PercDesconto:

Banco: 0,3456 Na View: 34,56 

Minha controller UpdateCreate

[HttpPost]         public ActionResult CreateOrUpdate(AzureDiscountGroupModel model)         {             var existingDiscountGroup = _azureDiscountGroupService.GetById(model.Id);             //model.PercDesconto = model.PercDesconto * 100;              if (existingDiscountGroup != null)             {                 try                 {                     //var existingDesconto = _azureDiscountGroupService.GetById(model.Id);                      FillEditingDiscount(existingDiscountGroup, model);                      //model.PercDesconto = model.PercDesconto / 100;                      _azureDiscountGroupService.Update(existingDiscountGroup);                      return RedirectToAction("Index");                  }                 catch (Exception ex)                 {                     ModelState.AddModelError("", ex.Message);                     return View(model);                 }             }             else             {                 try                 {                     model.Id = NewIdCreate();                      var newGroup = CreateFromModel(model);                      _azureDiscountGroupService.Insert(newGroup);                      return RedirectToAction("Index");                 }                 catch (Exception ex)                 {                     ModelState.AddModelError("", ex.Message);                     return View(model);                 }             }         }  public ActionResult CreateOrUpdate(int? id)         {             if (id > 0)             {                 ViewBag.Name = "Editar Grupo de Descontos Azure";                 var group = _azureDiscountGroupService.GetById(Convert.ToInt32(id));                 var model = CreateEmptyModel();                  FillModel(model, group);                  model.PercDesconto = model.PercDesconto / 100;                  return View(model);             }else             {                 ViewBag.Name = "Criar Novo Grupo de Descontos Azure";                 var model = CreateEmptyModel();                 return View(model);             }         } 

Na View deveria ser mostrado 34,56%, por exemplo e não 0,3456 como está agora, pois vem do banco

@using (Html.BeginForm())     {         @Html.AntiForgeryToken()          <div class="form-horizontal">             <hr />             @Html.ValidationSummary(true, "", new { @class = "text-danger" })             @Html.HiddenFor(model => model.Id)              <div class="form-group">                 @Html.LabelFor(model => model.Descricao, htmlAttributes: new { @class = "control-label col-md-2" })                 <div class="col-md-10">                     @Html.EditorFor(model => model.Descricao, new { htmlAttributes = new { @class = "form-control" } })                     @Html.ValidationMessageFor(model => model.Descricao, "", new { @class = "text-danger" })                 </div>             </div>              <div class="form-group">                 @Html.LabelFor(model => model.PercDesconto, htmlAttributes: new { @class = "control-label col-md-2" })                 <div class="col-md-10">                     @Html.EditorFor(model => model.PercDesconto, new { htmlAttributes = new { @class = "form-control" } })                     @Html.ValidationMessageFor(model => model.PercDesconto, "", new { @class = "text-danger" })                 </div>             </div>              <div class="form-group">                 <div class="col-md-offset-2 col-md-10">                     @Html.ActionLink("Voltar", "Index", null, new { @class = "btn btn-default" })                     <input type="submit" value="Save" class="btn btn-default" />                 </div>             </div>         </div>     } 

e minha Index(Lista)

[HttpGet]         public ActionResult Index()         {             var model = new List<AzureDiscountGroupModel>();              var list = _azureDiscountGroupService.GetAll();              foreach(var item in list)             {                 var itemmodel = new AzureDiscountGroupModel();                 itemmodel.Id = item.Id;                 itemmodel.Descricao = item.Descricao;                 itemmodel.PercDesconto = item.PercDesconto;                 model.Add(itemmodel);             }              return View(model);         } 

OBS No banco o campo PercDesconto é decimal (18,4)

Posicionar elementos na horizontal

Tenho o seguinte trecho de código, mas todos os elementos vem um em baixo do outro, gostaria que eles viesse um ao lado do outro, é possível sem ter que mexe na posição de cada elemento separadamente?

 <div class="back">                     <p class="p3">10</p>                     <p class="p3">20</p>                     <p class="p3">30</p>                     <p class="p3">40</p>                     <p class="p3">50</p>                     <p class="p3">60</p>                     <p class="p3">70</p>                     <p class="p3">80</p>                     <p class="p3">90</p>                     <p class="p3">100</p>                     <p class="p3">110</p>                     <p class="p3">120</p>                     <p class="p3">130</p>                 </div>

Qual tipo é herdado duma array em .NET?

Se declaramos uma List, temos certeza que seu tipo é explicitamente o System.Collections.Generic.List<T>.

Mas e quando declaramos um Array? Qual é o tipo genérico implementado por trás da mesma?

Exemplo:

string[] objeto = {"Olá,", " mundo!"}; 

Ao obtermos o Type.FullName de objeto, temos um "System.String[]" como saída, mas nenhum tipo que implementa ou herda a classe. Isso não nos esclarece nada a respeito.

Assim como uma List<>, Arrays também tem funções e métodos nativos.

A pergunta é: de que classe vêm estes métodos? Basicamente, preciso saber se um tipo T[] há alguma classe, estrutura ou interface implementável e mutável por tipo, de forma que seja possível realizar uma declaração explícita, por exemplo:

public void foo(string[] array) { ... } ... System.Collections.Generic.TipoAnonimo<string> bar = {"foo", "bar"}; foo(bar);  // OK 

Observação: não pretendo usar Linq nestas operações.

Alinhamento Vertical no card-header com bootstrap

Tenho um card e um título como card-header. Gostaria que o título ficasse alinhado vertical inferior. Já tentei align-text-bottom mas não funcionou. Segue o código:

<div class="card">   <h5 class="card-header align-text-bottom">Filtro por data</h5>   <div class="card-body">     <div class="row">       <div class="col-md-3">         <div class="form-group">           <label>Conta Corrente </label>           <dx-select-box placeholder="Selecione Conta..." [items]="contasCorrente" displayExpr="descricao" valueExpr="id" [searchEnabled]="true" formControlName="contaCorrenteId">           </dx-select-box>           <span class="text-danger" *ngIf="displayMessage.contaCorrenteId">                       <p [innerHTML]="displayMessage.contaCorrenteId"></p>                     </span>         </div>       </div>        <div class="col-md-3">         <div class="form-group">           <label class="control-label" for="dataEmissaoInicial">Data Emissão Inicial</label>           <dx-date-box type="date" width="100%" displayFormat="dd/MM/yyyy" formControlName="dataEmissaoInicial" (onValueChanged)="definirValor($  event)"></dx-date-box>           <span class="text-danger" *ngIf="displayMessage.dataEmissaoInicial">                       <p [innerHTML]="displayMessage.dataEmissaoInicial"></p>                     </span>         </div>       </div>        <div class="col-md-3">         <div class="form-group">           <label class="control-label" for="dataEmissaoFinal">Data Emissão Final</label>           <dx-date-box [min]="minDate" [max]="maxDate" type="date" width="100%" displayFormat="dd/MM/yyyy" formControlName="dataEmissaoFinal" (onValueChanged)="definirValor($  event)"></dx-date-box>           <span class="text-danger" *ngIf="displayMessage.dataEmissaoFinal">                       <p [innerHTML]="displayMessage.dataEmissaoFinal"></p>                     </span>         </div>       </div>        <div class="col-md-3">         <button type="button" style="margin-top: 27px" class="btn btn-block btn-success" (click)="filtrarConciliacao()">                     <i class="fa fa-refresh"></i> Filtrar </button>       </div>     </div>   </div> </div>

Atualmente está assim:

inserir a descrição da imagem aqui

Eu gostaria que ficasse assim:

inserir a descrição da imagem aqui

App instalada no Moto One apresenta o erro “apresenta falhas continuamente” – Flutter

Instalamos via “apk” um aplicativo (desenvolvido em Flutter) no celular do cliente “Moto One” e ao clicar em abrir o aplicativo apresenta a seguinte mensagem de erro: “apresenta falhas continuamente“. O que pode ser esse erro?

O App instalado não precisa de nenhuma permissão do usuário para utilização e não tem integração com outra aplicação. Utilizamos o Sql Lite do celular para salvar poucas informações e a mais informações acessamos via Web Service.

inserir a descrição da imagem aqui

problema com html2canvas

boa noite pessoal, meu primeiro post aqui no site é o seguinte, estou desenvolvendo uma pagina para um cliente em que nessa pagina as pessoas que acessarem vão poder montar uma cozinha, é como se fosse um editor de imagem, ai criei a div que vai ser o editor e usei jquery-ui para deixar as imagens dos moveis arrastaveis. dai eu uso o html2canvas e converto a div em imagem, ate ai tudo bem, olhem o codigo:

var convertMeToImg = $  ('#editor')[0];     html2canvas(convertMeToImg).then(function(canvas) {         $  ("#resul").append(canvas);     }); 

funcionou perfeitamente, a foto e tirada e jogada em uma div, e mostra perfeitamente a imagem, com as fotos dos moveis em cima e tudo mais.

mas o meu problema é em questao, que eu não queria apenas exibi-la como imagem, o cliente quer que a imagem seja baixada, dai pesquisando na internet, achei um codigo que faz esse trabalho pra mim, segue o codigo:

ImageSaver = { 

// function to force-download from a data uri as a filename // nb the download=”filename” attribute isn’t yet supported by safari download_data_uri: function(dataURI, fileName) { var tempUrl = ImageSaver.make_url_from_data(dataURI); var link = $ (‘ ‘); $ (“body”).append(link); $ (“#download”).get(0).click(); },

// function to generate a temporary browser index url for a datauri // if a data-uri is larger than 2mb, chrome’s address bar can’t handle it. // fortunately, you can blob it and then use a temporary blob url make_url_from_data: function(dataURI) { var blob = ImageSaver.make_blob(dataURI); var tempUrl = URL.createObjectURL(blob); return tempUrl; },

// function to convert a datauri to a blob // Blobs are temporary data structures that can hold binary data, and make that data accessible through a short url. They can probably do other things too; I have no idea. make_blob: function(dataURI) { // convert base64 to raw binary data held in a string // doesn’t handle URLEncoded DataURIs var byteString; if (dataURI.split(‘,’)[0].indexOf(‘base64’) >= 0) byteString = atob(dataURI.split(‘,’)[1]); else byteString = unescape(dataURI.split(‘,’)[1]); // separate out the mime component var mimeString = dataURI.split(‘,’)[0].split(‘:’)[1].split(‘;’)[0];

// write the bytes of the string to an ArrayBuffer var ab = new ArrayBuffer(byteString.length); var ia = new Uint8Array(ab); for (var i = 0; i < byteString.length; i++) {   ia[i] = byteString.charCodeAt(i); };  // write the ArrayBuffer to a blob, and you're done return new Blob([ab], {   type: mimeString }); 

} }

dai a minha função usando esse codigo ficou assim:

var convertMeToImg = $  ('#editor')[0];     html2canvas(convertMeToImg).then(function(canvas) {         superLongURI = canvas.toDataURL("image/png");         ImageSaver.download_data_uri(superLongURI, "projeto.png");         shortURI = ImageSaver.make_url_from_data(dataURI);     }); 

dai fui testar, pediu pra baixar, quando fui ver a imagem, so tinha o fundo da div #editor, as imagens que eu movimentei em cima nenhuma apareceu, sera que alguem me da uma luz? por favor, desde ja agradeço