Jump to content
unset

Erro Trying to access array offset on value of type null

Recommended Posts

Olá a todos, tenho uma aplicação pequena, que roda normalmente no php5 porém ao mudar a versão do php para 7 a mesma está apresentando a seguinte mensagem de erro

 

Notice: Trying to access array offset on value of type null in

 

 

<?php
  /* 
   *  APP CORE CLASS
   *  Creates URL & Loads Core Controller
   *  URL Format - /controller/method/param1/param2
   */
  class Core {
    // Set Defaults
    protected $currentController = 'Pages'; // Default controller
    protected $currentMethod = 'index'; // Default method
    protected $params = []; // Set initial empty params array

    public function __construct(){
      $url = $this->getUrl();
      // Look in controllers folder for controller
      if(file_exists('../app/controllers/'.ucwords($url[0]).'.php')){
        // If exists, set as controller
        $this->currentController = ucwords($url[0]);
        // Unset 0 index
        unset($url[0]);
      }

      // Require the current controller
      require_once('../app/controllers/' . $this->currentController . '.php');

      // Instantiate the current controller
      $this->currentController = new $this->currentController;

      // Check if second part of url is set (method)
      if(isset($url[1])){
        // Check if method/function exists in current controller class
        if(method_exists($this->currentController, $url[1])){
          // Set current method if it exsists
          $this->currentMethod = $url[1];
          // Unset 1 index
          unset($url[1]);
        }
      }

      // Get params - Any values left over in url are params
      $this->params = $url ? array_values($url) : [];

      // Call a callback with an array of parameters
      call_user_func_array([$this->currentController, $this->currentMethod], $this->params);
    }

    // Construct URL From $_GET['url']
    public function getUrl(){
        if(isset($_GET['url'])){
          $url = rtrim($_GET['url'], '/');
          $url = filter_var($url, FILTER_SANITIZE_URL);
          $url = explode('/', $url);
          return $url;
        }
    }
  }

 

Alguém poderia dar uma força ai?

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By clovis.sardinha
      Estou tentando mandar e-mail para vários usuários, mas só vai para o primeiro, quando tento colocar para vários dá erro. Alguém pode sugerir como fazer?
       
      if ($this->form_validation->run() == true) {             $this->load->model('emailReplayModel');             $user=$this->emailReplayModel->emailreplay(); //$user tem os dados dos usuários que quero mandar -veja abaixo                                  foreach ($user as &$i){                                  $this->email->from("atendimento@portaldapermuta.com", 'Portal da Permuta');             $this->email->subject("Continue seu cadastramento no Portal - é facil");             $email=$i['email'];             $this->email->to($email);             $msg=$this->load->view('usuario/emailReplayFinal',array($senha,'senha' =>$i['senha'],$nome,'nome'=>$i['nome_interessado']),TRUE);             $this->email->message($msg);             $this->email->send();                                         }             $this->email->send();                      if($this->email->send())    {                                      $this->session->set_flashdata('success', 'Mensagens enviadas.');                 redirect('admin/painel/painel_adm');             }  
      debug do $user:
      [user] => Array ( [0] => Array ( [id_interessado] => 23595 [nome_interessado] => CLOVIS [senha] => xxxx [email] => clovis.sardinha@teste2.com [data_inscricao] => 2020-10-12 14:35:43 ) [1] => Array ( [id_interessado] => 23596 [nome_interessado] => ANDRADE [senha] => xxxxx [email] => clovis.sardinha@teste3.com [data_inscricao] => 2020-10-12 16:22:27 ) )  
    • By mamotinho
      Boa noite! estou com dúvidas em relação a array, eu tenho uma procedure no SQL Server e essa procedure exibe uma lista de resultados, eu gostaria de pega o valor desses resultados e lista em um array para eu comparar com outro valor que vai ser selecionado em um select , tipo abaixo:
       
      $arraySelect = $db->prepare(exec WebSite.dbo.server_value_product 2);
      $arraySelect->execute();
      $arrayExemple = $arraySelect->fetchAll();

      procedure_list = array($arrayExemple);
       
      !in_array($valorSelect, $procedure_list){
         echo 'O Valor selecionado não existe nos resultados da procedure';
      }
       
       
      alguem sabe como posso listar o resultado da procedure em array. e sabe se o valor que procuro está entre os resultados da array.
    • By macpeace
      public function assignAll() { try { if ( isset( $this->view->tpldata ) ) { unset( $this->view->tpldata ); } //AQUI E O ERRO!!!!! foreach ( $this->data as $data ) { foreach ( $data as $key => $value ) { $this->assigndata[$key] = trim( $value ); } } } catch ( Exception $e ) { echo $e->getMessage(); exit; } return $this; } Invalid argument supplied for foreach() in C:\xampp\htdocs\Homem-das-casas\app\DB.class.php on line 726
       
      Não me conecta com a bd e não consigo sair daqui, preciso de ajuda por favor, pois nao entendo que esta errado!
    • By eiwes
      Fiz uma iteração foreach para gerar categorias e subcategorias, pois não queria fazer DOIS SELECTS, ficando assim:
       
      //----> Foreach para gerar a categoria, pois são vários items com as mesmas chaves, portanto agrupo foreach($exibeLista as $row){ $dlD[$row["nameD"]][] = [ "nameD"=>$row["nameD"], "idD"=>$row["idD"], "qtdR"=>$row["qtdR"], "qtdF"=>$row["qtdF"] ]; } //----> Foreach para gerar subcategorias foreach($exibeLista as $row){ $dLA[$row["nameP"]][] = [ "nameD"=>$row["nameD"], "idD"=>$row["idD"], "idAss"=>$row["idAss"], "idT"=>$row["idT"], "nameP"=>$row["nameP"], "qtdR"=>$row["qtdR"], "qtdF"=>$row["qtdF"] ]; } $fsHTML = []; $rateD = 0; $qtdAss = 0; if(is_array($dlD) || is_object($dlD)){ foreach ($dlD as $key => $ds) { if ($key <> '' && $key <> NULL) { $rateD += (($ds[0]["qtdR"]*100)/$ds[0]["qtdF"]); $qtdAss += count($dlD[$key]); //----> Array para inserir HTML da Categoria criada e criar accordion $fsHTML[] = ' <div class="col-md-12 col-sm-12 col-xs-12"> <div class="x_panel overflow_hidden padding-into-row-qsts bg-white-row filtro-on"> <span class="rateD">'.ceil($rateD/$qtdAss).'%</span> <span class="opcao-into-top">'.$ds[0]["idD"].' - '.$ds[0]["nameD"].' <a class="collapse-link open-filter-qsts border-radius8"><i class="fa fa-chevron-up"></i></a></span> <div class="x_content" style="display:none;padding-top:10px"> <div class="accordion" id="accordion" role="tablist" aria-multiselectable="true"> '; //----> Verificar se a subcategoria contém a categoria, se contém é incluída na array foreach ($dLA as $keys => $ass) { if($ass[0]["idD"] == $ds[0]["idD"] ){ if($ass[0]['idT'] <> 0){ $link = 't='.$ass[0]['idT']; }else{ $link = 'a='.$ass[0]['idAss'];} $fsHTML[] = ' <div class="panel"> <a class="panel-heading collapsed" href="/v/fs/st?mz=y&type=c&'.$link.'"> <span class="eficiencia-accordion">'.ceil(($ass[0]['qtdR']*100)/$ass[0]['qtdF']).'%</span> <h4 class="panel-title">'.$ass[0]['nameP'].'</h4> <span class="unicamente">'.$ass[0]['qtdR'].' respondido de '.$ass[0]['qtdF'].'</span> </a> </div> '; }//if ass }//foreach ass }//if ds //----> Aqui é aonde ocorre o ERRO! Era pra fazer o fechamento do Accordion e gerar uma nova DIV. //No índice [0] isso ocorre normalmente, porém no [1] ela agrupa todos os accordions. (abaixo farei a amostra) $fsHTML[] = '</div></div></div></div>'; }//foreach ds }//if verifica se é array e se é objeto return implode('', array_unique($fsHTML)); O correto seria assim:
       
      - Categoria
        - Subcategoria
        - Subcategoria
       
      - Categoria
       - Subcategoria
       - Subcategoria
       
       
      Como está acontecendo:
       
      - Categoria
        - Subcategoria
        - Subcategoria
       
      - Categoria
        - Subcategoria
        - Subcategoria
          - Categoria
            - Subcategoria
            - Subcategoria
              - Categoria
                - Subcategoria
                - Subcategoria
                  - Categoria
                    - Subcategoria
                    - Subcategoria
       
       
      Não consigo entender de jeito nenhum pq o primeiro fecha corretamente e a partir do segundo não.
      Alguém me ajuda?
       
       
    • By joaolepaus
      Boa tarde pessoal, não tenho muito conhecimento de PHP, mas estou tentando receber os dados via POST de um array, porem quando recebo esse array vem todos os dados referenete a todos os ids, mas na verdade eu quero receber somente os dados que estão com o id selecionado por checkbox.
      O código que estou usando para receber o POST é esse:
       
      $id = $_POST['idplano']; $operadora = $_POST['operadora']; $total = $_POST['total']; $img = $_POST['img']; $plano = $_POST['plano']; $acomodacao = $_POST['acomodacao']; $abrangencia = $_POST['abrangencia']; $segmento = $_POST['segmento']; $participacao = $_POST['participacao']; $valorFaixa = $_POST['valorFaixa']; for($i = 0; $i < count($id); $i++) { echo "| $id[$i] | $operadora[$i] | $total[$i] | $img[$i] | $plano[$i] | $acomodacao[$i] | $abrangencia[$i] | $segmento[$i] | $participacao[$i] | $valorFaixa[$i] |<br>"; } Os meus inputs estão nomeados assim: idplano[], operadora[] e assim vai.
       
      fiz o var_dump no post, notem que só tem 3 ids checked mas chega os dados de todos os ids. 
       
      array(12) { ["teste"]=> string(0) "" ["checked"]=> array(3) { [0]=> string(2) "34" [1]=> string(2) "30" [2]=> string(2) "38" } ["img"]=> array(25) { [0]=> string(17) "5efb353cd0df4.jpg" [1]=> string(17) "5efb353cd0df4.jpg" [2]=> string(17) "5efb353cd0df4.jpg" [3]=> string(17) "5efb353cd0df4.jpg" [4]=> string(17) "5efb353cd0df4.jpg" [5]=> string(17) "5efb353cd0df4.jpg" [6]=> string(17) "5efb353cd0df4.jpg" [7]=> string(17) "5efb353cd0df4.jpg" [8]=> string(17) "5efb353cd0df4.jpg" [9]=> string(17) "5efb353cd0df4.jpg" [10]=> string(17) "5efb353cd0df4.jpg" [11]=> string(17) "5efb332233b92.jpg" [12]=> string(17) "5efb332233b92.jpg" [13]=> string(17) "5efb332233b92.jpg" [14]=> string(17) "5efb332233b92.jpg" [15]=> string(17) "5efdd26866510.jpg" [16]=> string(17) "5efdd26866510.jpg" [17]=> string(17) "5efdd26866510.jpg" [18]=> string(17) "5efdd26866510.jpg" [19]=> string(17) "5efdd26866510.jpg" [20]=> string(17) "5efdd26866510.jpg" [21]=> string(17) "5efdd26866510.jpg" [22]=> string(17) "5efdd26866510.jpg" [23]=> string(17) "5efdd26866510.jpg" [24]=> string(17) "5efdd26866510.jpg" } ["total"]=> array(25) { [0]=> string(5) "74.78" [1]=> string(6) "143.23" [2]=> string(5) "186.2" [3]=> string(6) "159.14" [4]=> string(6) "206.89" [5]=> string(6) "118.23" [6]=> string(5) "153.7" [7]=> string(6) "131.36" [8]=> string(6) "183.91" [9]=> string(6) "117.98" [10]=> string(6) "144.82" [11]=> string(5) "179.6" [12]=> string(6) "207.38" [13]=> string(6) "235.12" [14]=> string(6) "283.91" [15]=> string(6) "202.17" [16]=> string(6) "242.62" [17]=> string(6) "252.54" [18]=> string(6) "303.05" [19]=> string(6) "220.68" [20]=> string(6) "264.76" [21]=> string(6) "303.72" [22]=> string(6) "364.53" [23]=> string(6) "494.16" [24]=> string(6) "593.03" } ["idplano"]=> array(25) { [0]=> string(2) "34" [1]=> string(2) "35" [2]=> string(2) "36" [3]=> string(2) "47" [4]=> string(2) "48" [5]=> string(2) "49" [6]=> string(2) "50" [7]=> string(2) "51" [8]=> string(2) "52" [9]=> string(2) "53" [10]=> string(2) "54" [11]=> string(2) "30" [12]=> string(2) "31" [13]=> string(2) "32" [14]=> string(2) "33" [15]=> string(2) "37" [16]=> string(2) "38" [17]=> string(2) "39" [18]=> string(2) "40" [19]=> string(2) "41" [20]=> string(2) "42" [21]=> string(2) "43" [22]=> string(2) "44" [23]=> string(2) "45" [24]=> string(2) "46" } ["operadora"]=> array(25) { [0]=> string(14) "Premium Saúde" [1]=> string(14) "Premium Saúde" [2]=> string(14) "Premium Saúde" [3]=> string(14) "Premium Saúde" [4]=> string(14) "Premium Saúde" [5]=> string(14) "Premium Saúde" [6]=> string(14) "Premium Saúde" [7]=> string(14) "Premium Saúde" [8]=> string(14) "Premium Saúde" [9]=> string(14) "Premium Saúde" [10]=> string(14) "Premium Saúde" [11]=> string(4) "Samp" [12]=> string(4) "Samp" [13]=> string(4) "Samp" [14]=> string(4) "Samp" [15]=> string(15) "Unimed Vitória" [16]=> string(15) "Unimed Vitória" [17]=> string(15) "Unimed Vitória" [18]=> string(15) "Unimed Vitória" [19]=> string(15) "Unimed Vitória" [20]=> string(15) "Unimed Vitória" [21]=> string(15) "Unimed Vitória" [22]=> string(15) "Unimed Vitória" [23]=> string(15) "Unimed Vitória" [24]=> string(15) "Unimed Vitória" } ["plano"]=> array(25) { [0]=> string(6) "Bronze" [1]=> string(17) "Infinity (TIPO 1)" [2]=> string(17) "Infinity (TIPO 1)" [3]=> string(17) "Infinity (TIPO 2)" [4]=> string(17) "Infinity (TIPO 2)" [5]=> string(22) "Personnalité (TIPO 1)" [6]=> string(22) "Personnalité (TIPO 1)" [7]=> string(22) "Personnalité (TIPO 2)" [8]=> string(22) "Personnalité (TIPO 2)" [9]=> string(6) "Bronze" [10]=> string(7) "Platina" [11]=> string(17) "Essencial (Prata)" [12]=> string(13) "Basico (Azul)" [13]=> string(22) "Personalizado (Branco)" [14]=> string(18) "Executivo (Branco)" [15]=> string(18) "Fácil Perfil (G2)" [16]=> string(18) "Fácil Perfil (G2)" [17]=> string(13) "Personal (G2)" [18]=> string(13) "Personal (G2)" [19]=> string(27) "Participativo Estadual (G2)" [20]=> string(27) "Participativo Estadual (G2)" [21]=> string(21) "Premium Nacional (G2)" [22]=> string(21) "Premium Nacional (G2)" [23]=> string(15) "VitoriaMed (G2)" [24]=> string(15) "VitoriaMed (G2)" } ["acomodacao"]=> array(25) { [0]=> string(12) "Ambulatorial" [1]=> string(10) "Enfermaria" [2]=> string(11) "Apartamento" [3]=> string(10) "Enfermaria" [4]=> string(11) "Apartamento" [5]=> string(10) "Enfermaria" [6]=> string(11) "Apartamento" [7]=> string(10) "Enfermaria" [8]=> string(11) "Apartamento" [9]=> string(12) "Ambulatorial" [10]=> string(12) "Ambulatorial" [11]=> string(10) "Enfermaria" [12]=> string(10) "Enfermaria" [13]=> string(10) "Enfermaria" [14]=> string(11) "Apartamento" [15]=> string(10) "Enfermaria" [16]=> string(11) "Apartamento" [17]=> string(10) "Enfermaria" [18]=> string(11) "Apartamento" [19]=> string(10) "Enfermaria" [20]=> string(11) "Apartamento" [21]=> string(10) "Enfermaria" [22]=> string(11) "Apartamento" [23]=> string(10) "Enfermaria" [24]=> string(11) "Apartamento" } ["abrangencia"]=> array(25) { [0]=> string(8) "Estadual" [1]=> string(8) "Estadual" [2]=> string(8) "Estadual" [3]=> string(8) "Estadual" [4]=> string(8) "Estadual" [5]=> string(8) "Estadual" [6]=> string(8) "Estadual" [7]=> string(8) "Estadual" [8]=> string(8) "Estadual" [9]=> string(8) "Estadual" [10]=> string(8) "Estadual" [11]=> string(20) "Grupo de Municípios" [12]=> string(20) "Grupo de Municípios" [13]=> string(8) "Estadual" [14]=> string(8) "Estadual" [15]=> string(20) "Grupo de Municípios" [16]=> string(20) "Grupo de Municípios" [17]=> string(20) "Grupo de Municípios" [18]=> string(20) "Grupo de Municípios" [19]=> string(8) "Estadual" [20]=> string(8) "Estadual" [21]=> string(8) "Nacional" [22]=> string(8) "Nacional" [23]=> string(8) "Nacional" [24]=> string(8) "Nacional" } ["segmento"]=> array(25) { [0]=> string(11) "Empresarial" [1]=> string(11) "Empresarial" [2]=> string(11) "Empresarial" [3]=> string(11) "Empresarial" [4]=> string(11) "Empresarial" [5]=> string(11) "Empresarial" [6]=> string(11) "Empresarial" [7]=> string(11) "Empresarial" [8]=> string(11) "Empresarial" [9]=> string(14) "Pessoa Física" [10]=> string(14) "Pessoa Física" [11]=> string(20) "Coletivo por Adesão" [12]=> string(20) "Coletivo por Adesão" [13]=> string(20) "Coletivo por Adesão" [14]=> string(20) "Coletivo por Adesão" [15]=> string(20) "Coletivo por Adesão" [16]=> string(20) "Coletivo por Adesão" [17]=> string(20) "Coletivo por Adesão" [18]=> string(20) "Coletivo por Adesão" [19]=> string(20) "Coletivo por Adesão" [20]=> string(20) "Coletivo por Adesão" [21]=> string(20) "Coletivo por Adesão" [22]=> string(20) "Coletivo por Adesão" [23]=> string(20) "Coletivo por Adesão" [24]=> string(20) "Coletivo por Adesão" } ["participacao"]=> array(25) { [0]=> string(45) "Integral (Sem cobrança de coparticipações)" [1]=> string(19) "Consulte o corretor" [2]=> string(19) "Consulte o corretor" [3]=> string(60) "Coparticipações nas consultas eletivas e de pronto socorro" [4]=> string(42) "Nas consultas eletivas e de pronto socorro" [5]=> string(19) "Consulte o corretor" [6]=> string(19) "Consulte o corretor" [7]=> string(22) "Nas consultas e exames" [8]=> string(22) "Nas consultas e exames" [9]=> string(22) "Nas consultas e exames" [10]=> string(22) "Nas consultas e exames" [11]=> string(42) "Nas consultas eletivas e de pronto socorro" [12]=> string(42) "Nas consultas eletivas e de pronto socorro" [13]=> string(42) "Nas consultas eletivas e de pronto socorro" [14]=> string(42) "Nas consultas eletivas e de pronto socorro" [15]=> string(22) "Nas consultas e exames" [16]=> string(22) "Nas consultas e exames" [17]=> string(25) "Somente em pronto socorro" [18]=> string(25) "Somente em pronto socorro" [19]=> string(22) "Nas consultas e exames" [20]=> string(22) "Nas consultas e exames" [21]=> string(22) "Nas consultas e exames" [22]=> string(22) "Nas consultas e exames" [23]=> string(45) "Integral (Sem cobrança de coparticipações)" [24]=> string(45) "Integral (Sem cobrança de coparticipações)" } ["valorFaixa"]=> array(25) { [0]=> string(26) "De 0 a 18 anos R$74.78 " [1]=> string(27) "De 0 a 18 anos R$143.23 " [2]=> string(27) "De 0 a 18 anos R$186.20 " [3]=> string(27) "De 0 a 18 anos R$159.14 " [4]=> string(27) "De 0 a 18 anos R$206.89 " [5]=> string(27) "De 0 a 18 anos R$118.23 " [6]=> string(27) "De 0 a 18 anos R$153.70 " [7]=> string(27) "De 0 a 18 anos R$131.36 " [8]=> string(27) "De 0 a 18 anos R$183.91 " [9]=> string(27) "De 0 a 18 anos R$117.98 " [10]=> string(27) "De 0 a 18 anos R$144.82 " [11]=> string(27) "De 0 a 18 anos R$179.60 " [12]=> string(27) "De 0 a 18 anos R$207.38 " [13]=> string(27) "De 0 a 18 anos R$235.12 " [14]=> string(27) "De 0 a 18 anos R$283.91 " [15]=> string(27) "De 0 a 18 anos R$202.17 " [16]=> string(27) "De 0 a 18 anos R$242.62 " [17]=> string(27) "De 0 a 18 anos R$252.54 " [18]=> string(27) "De 0 a 18 anos R$303.05 " [19]=> string(27) "De 0 a 18 anos R$220.68 " [20]=> string(27) "De 0 a 18 anos R$264.76 " [21]=> string(27) "De 0 a 18 anos R$303.72 " [22]=> string(27) "De 0 a 18 anos R$364.53 " [23]=> string(27) "De 0 a 18 anos R$494.16 " [24]=> string(27) "De 0 a 18 anos R$593.03 " } } Como que eu faria para pegar somente os dados referente aos ids selecionados no checkebox ? 
       
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.