Un client richiede che tutte le richieste GET/POST vengano registrate e archiviate per 90 giorni per la loro applicazione. Ho scritto un HOOK che sembra registrare alcuni dei GETS/POSTS ma ci sono meno dati di quanto mi aspetterei. Ad esempio, quando si inviano i dati del modulo, le voci non sembrano essere inserite nel registro. Qualcuno ha scritto qualcosa di simile che funziona?Codeigniter - Hook per registrare GET/POST REQUEST
Ecco la mia versione finora:
class Logging {
function __construct() {
$this->CI =& get_instance();
}
function index() {
$this->CI->load->model('Logging_m');
$this->CI->load->model('Portal_m');
//get POST and GET values for LOGGING
$post = trim(print_r($this->CI->input->post(), TRUE));
$get = trim(print_r($this->CI->input->get(), TRUE));
$this->CI->Logging_m->logPageView(array(
'portal_id' => $this->CI->Portal_m->getPortalId(),
'user_id' => (!$this->CI->User_m->getUserId() ? NULL : $this->CI->User_m->getUserId()),
'domain' => $_SERVER["SERVER_NAME"],
'page' => $_SERVER["REQUEST_URI"],
'post' => $post,
'get' => $get,
'ip' => $this->CI->input->ip_address(),
'datetime' => date('Y-m-d H:i:s')
));
}
}
Questi dati vengono memorizzati in un modello chiamato 'Logging_m' che assomiglia a questo:
<?php
class Logging_m extends CI_Model {
function __construct() {
parent::__construct();
}
function logPageView($data) {
$this->db->insert('port_logging', $data);
}
}
/* End of file logging_m.php */
/* Location: ./application/models/logging_m.php */
puoi pubblicare il modulo a cui mancano le sue azioni. –
Interessante domanda +1. Puoi fare un var_dump del modulo di input e postarlo accanto al log per lo stesso input in modo da poter individuare la differenza. – WebweaverD
Tutti i valori dell'array sono impostati come previsto o sono solo le informazioni GET/POST? Inoltre, sono solo curioso, perché stai usando print_r per restituire l'array $ _POST quando $ this-> input-> post() sta già restituendo i dati. Non sembra che tu stia pulendo i dati, ma tagliandoli. Sembra ridondante. –