Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Marcos_imasters

Warning: A non-numeric value encountered in PHP7.1

Recommended Posts

Nenhum problema encontrado:  https://3v4l.org/oobal

 

Verifique aonde a variável $var está sendo utilizada.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Este código ao qual você citou de ser "pseudo":

2 horas atrás, Marcos_imasters disse:

boa tarde estou com um erro apos atualizar a versao do meu php para 7.1


$var = 20 - 10;

 

veja 

 

 o problema deve ser na entrada de valores (vindo de um banco ou $_GET ou $_POST), que esta tentando tentando fazer uma operação com valores não numéricos, podendo um dos valores ser uma string sem numeros, null, booleano, etc, como explicado em: http://php.net/manual/en/migration71.other-changes.php

 

Por exemplo:

<?php
'1b' + 'something';

A maneira é tratar os dados, pode-se usar is_numeric para isto, algo como por exemplo:

<?php

$var = null;

if (is_numeric($a) && $ is_numeric($b)) {
       $var = $a + $b;
}

É apenas um código de exemplo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Sapinn
      É a primeira vez que vejo esse erro e estou tendo problemas para resolvê-lo. Tenho no meu controller uma página de erro com o código:
       
      <?php namespace Source\App\Error; use Source\Core\Controller; class Error extends Controller { public function __construct() { parent::__construct(__DIR__ . "/../../themes/" . CONF_VIEW_ERROR . "/"); } /** * ERROR * @param array $data */ public function errors(?array $data): void { $error = new \stdClass(); json_encode($error); switch ($data['errcode']) { case "problemas": $error->code = "OPS"; $error->title = "Estamos enfrentando problemas!"; $error->message = "Parece que nosso serviço não está diponível no momento. Já estamos vendo isso mas caso precise, envie um e-mail :)"; $error->linkTitle = "ENVIAR E-MAIL"; $error->link = "mailto:" . CONF_MAIL_SUPPORT; break; case "manutencao": $error->code = "OPS"; $error->title = "Desculpe. Estamos em manutenção!"; $error->message = "Voltamos logo! Por hora estamos trabalhando para melhorar nosso conteúdo para você controlar melhor as suas contas :P"; $error->linkTitle = null; $error->link = null; break; default: $error->code = $data['errcode']; $error->title = "Ooops. Conteúdo indispinível :/"; $error->message = "Sentimos muito, mas o conteúdo que você tentou acessar não existe, está indisponível no momento ou foi removido :/"; $error->linkTitle = "Continue navegando!"; $error->link = url_back(); break; } $head = $this->seo->render( "{$error->code} | {$error->title}", $error->message, url("/ops/{$error->code}"), theme("/assets/images/share.jpg", CONF_VIEW_ERROR), false ); echo $this->view->render("error", [ "head" => $head, "error" => $error ]); } }  
       
      Estou usando o Composer para fazer minhas rotas de erro e elas se parecem com isso:
       
       
      /** * ERROR ROUTES */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /** * ROUTE */ $route->dispatch(); /** * ERROR REDIRECT */ if ($route->error()) { $route->redirect("/ops/{$route->error()}"); } E minha visão na página fkbError é assim:
       
      layout("_theme"); ?> <article class="not_found"> <div class="container content"> <header class="not_found_header"> <p class="error">•<?= $error->code; ?>•</p> <h1><?= $error->title; ?></h1> <p><?= $error->message; ?></p> <?php if ($error->link): ?> <a class="not_found_btn gradient gradient-green gradient-hover transition radius" title="<?= $error->linkTitle; ?>" href="<?= $error->link; ?>"><?= $error->linkTitle; ?></a> <?php endif; ?> </header> </div> </article> E o código parece estar certo mas o erro persiste, o que devo fazer?  
       
    • Por Sapinn
      Opa galera tudo beleza? Estou com um erro que está me deixando louco eu tenho o seguinte codigo:
          public function findByCode(string $code, string $columns = "*"): ?Sales     {         $find = $this->find("code = :code", "code={$code}", $columns);         return $find->fetch(true);     } Quando o tentou usar ele fazendo algo como:
       
       
      $sales = (new Sales())->findByCode(client()->code);  
      Ele não funciona e me retorna o seguinte erro:
      Uncaught TypeError: Return value of Source\Models\Sales::findByCode() must be an instance of Source\Models\Sales or null, array returned in
       
      Alguém sabe como resolver isso???
    • Por Sapinn
      Olá amigos tudo bem? Estou com um erro de loop de redirecionamento quando tento colocar uma rota de erro. Na minha página index onde eu coloco todas as minhas rotas eu tehno a seguinte rota para erro
      /**  * ERROR ROUTES  */ $route->namespace("Source\App\Error"); $route->group("/ops"); $route->get("/{errcode}", "Error:errors"); /**  * ROUTE  */ $route->dispatch(); /**  * ERROR REDIRECT  */ if ($route->error()) {     $route->redirect("/ops/{$route->error()}"); } Se eu remover esse ultimo if a pagina não da erro mas também não carrega meu metodo. Eu estou usando o composer e estou usando a dependecia do CoffeCode para rotas. Alguém sabe como resolver???
    • Por Joob
      Boas,
       
      Estou tendo um erro no TLS, seja com a versão 1.0, 1.1, 1.2 e 1.3 .
      Por exemplo, eu testo o TLS para o meu site e ele dá-me o seguinte:
       
      comando
      curl -I -v --tlsv1.3 --tls-max 1.3 https://exemple.com resultado
      * TLSv1.3 (OUT), TLS handshake, Client hello (1): * error:1408F10B:SSL routines:ssl3_get_record:wrong version number * Closing connection 0 curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number  
      Estou farto de tentar pesquisar sobre o erro, tenho tudo bem configurado etc.. só tenho o problema deste erro.
      E com este erro não consigo ter repostas de retorno ao meu servidor, devido a isto.
       
      Meu site suporta todo os TLS's e dá Resultados de A+
       
      Não sei se alguém já teve este problema.
       
       
      Obrigado,
      Abraço :)
    • Por Alberto Nascimento
      Estou tendo problemas de acesso ao Session, onde quando realizo login via computador, consigo "pegar" os dados que foram armazenados na sesion, mas quando utilizo o sistema de login no telefone ( android, por exemplo ) a session não esta conseguindo carregar os dados do usuário logado e exibir na página seguinte.
       
      Outra coisa que observei é que não consigo trabalhar com session em pastas diferentes, isso é normal? Veja só:
       
       
      Utilizando esta estrutura, não consigo ter acesso ao session no sistema ANDROID
       
      Agora se ao invés de ser como esta acima, faço uma pasta com todos os arquivos juntos, já consigo "pegar" os dados da session. Isso é normal?
×

Informação importante

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