Writing to Database when executing controller's index method - error

Viewed 19

I call the index() method of the collaborating controller, it automatically inserts 6 records into the database, and the action of logging into the database is not in the cadastrarquestao() method of the class, and not in the index method . I'm using a template library.

Controller Colaborador:

<?php

defined('BASEPATH') OR exit('No direct script access allowed');

class Colaborador extends CI_Controller {

function __construct(){

    parent::__construct();
    $this->load->helper('url');
    $this->load->helper('funcoes_helper');
    $this->load->helper('file');
    $this->load->helper('cookie');          
    $this->load->library('session');
    $this->load->library('controle_acesso');
    $this->load->model('resumoapp_model', 'resumo');
    $this->load->model('homeapp_model', 'homeapp');
    $this->load->model('simulado_model', 'simulado');


    
    $this->controle_acesso->acesso();

    $this->output->enable_profiler(TRUE);
    
}

public function index() {


    $dados['teste'] = 1;        
    
    $this->template->load("template/template_app",'app/enviar-questao', $dados);

}   

public function logout()    { 

    session_unset();

    redirect ('/entrar');

}

public function cadastrarquestao()  {       

    $this->simulado->envioquestao(1);

    $dados['mensagem'] = "dados cadastrados com sucesso!";
    $this->template->load("template/template_app",'app/enviar-questao', $dados);

}

public function materia()   { 

    
}

    

}

part of the code

public function envioquestao($dados) {          
        $data = [
            'Id_usuario' => $this->session->userdata('id_usuario'),             
        ];

        $this->db->insert('teste',$data);
}

librarie Template:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Template {
        var $template_data = array();
        
        function set($name, $value)
        {
            $this->template_data[$name] = $value;
        }
    
        function load($template = '', $view = '' , $view_data = array(), $return = FALSE)
        {               
            $this->CI =& get_instance();
            $this->set('contents', $this->CI->load->view($view, $view_data, TRUE));         
            return $this->CI->load->view($template, $this->template_data, $return);
        }
}

View template:

<html lang="pt-br">

<?php   
  $this->load->view('app/header');
?>

<body>
   <div class="wrapper">
      <?php
         $this->load->view('app/topo');
      ?>
      
      <?php 
         $this->load->view('app/menu');
      ?>
      
      
         <?php echo $contents ?>
   
      <footer class="footer-container"><span>&copy; </span></footer>
   </div>
   <?php
      $this->load->view('app/footer');
   ?>
</body>

</html>

the correct one would be to insert it in the database after clicking on 'register' which is in the cadastrarquestao() method

0 Answers
Related