Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] CodeIgniter Contador de visitas

Estas en el tema de Contador de visitas en el foro de PHP en Foros del Web. Hola a todos. Desarrolle un sitio web estatico y lo implemente en el codeigniter. Pero me pidieron que coloque un contador de visitas en la ...
  #1 (permalink)  
Antiguo 16/03/2015, 08:51
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 5 meses
Puntos: 0
Pregunta Contador de visitas

Hola a todos. Desarrolle un sitio web estatico y lo implemente en el codeigniter. Pero me pidieron que coloque un contador de visitas en la pagina para saber cuantos usuarios entran a la pagina web.

Tengo entendido que se tiene que crear la tabla visitas registrando los campos id, ipaddress, navegador, pais.

Escribo esta consulta para preguntarles si alguno de ustedes ha utilizado un contador de visitas en CodeIgniter ?. Si tuvieran un ejemplo para guiarme, se los agradeceria.

Saludos.

Última edición por edevep; 16/03/2015 a las 08:54 Razón: corección del tema
  #2 (permalink)  
Antiguo 16/03/2015, 14:02
Avatar de hhs
hhs
Colaborador
 
Fecha de Ingreso: junio-2013
Ubicación: México
Mensajes: 2.995
Antigüedad: 10 años, 10 meses
Puntos: 379
Respuesta: Contador de visitas

Mejor utiliza http://piwik.org/
__________________
Saludos
About me
Laraveles
A class should have only one reason to change.
  #3 (permalink)  
Antiguo 16/03/2015, 14:09
 
Fecha de Ingreso: marzo-2015
Ubicación: Peru
Mensajes: 34
Antigüedad: 9 años, 1 mes
Puntos: 6
Respuesta: Contador de visitas

puedes colocar tu codigo para ver como estas utilizando tu contador.
  #4 (permalink)  
Antiguo 16/03/2015, 15:22
 
Fecha de Ingreso: diciembre-2014
Mensajes: 20
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Contador de visitas

Gracias por responder a mi tema. @jluishuaman

Edito: Ya solucione el tema.

Resulta que tenia que devolver el objeto de la variable para que me muestre la cantidad de visitas.

Tenia que retornar el valor de la variable, osea, $return $res.

Dejo el codigo corregido por si alguien lo necesita.

Modelo paginas_model.php

Código PHP:
Ver original
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. class Paginas_model extends CI_Model
  4. {
  5.     function __construct()
  6.     {
  7.         parent::__construct();
  8.         $this->load->database();
  9.     }
  10.  
  11.     function visitas()
  12.     {
  13.  
  14.         // Pregunto si la variable counte existe
  15.         if (!isset($_COOKIE['counte']))
  16.         {
  17.  
  18.             // $dtz = new DateTimeZone("America/Lima"); //Your timezone
  19.             // $currentv = new DateTime('NOW');
  20.             // $currentv = $currentv->format('Y-m-d H:i:s'); // had to format this 
  21.  
  22.             $dtz = new DateTimeZone("America/Lima"); //Your timezone
  23.             $currentv = new DateTime('NOW', $dtz);
  24.             $currentv = $currentv->format("Y-m-d H:i:s");                  
  25.            
  26.             // Los campos a registrar
  27.             $this->fecha = $currentv;
  28.             $this->direccionip   = $_SERVER['REMOTE_ADDR']; // direccionip
  29.             $this->direccionip4  = ip2long($_SERVER['REMOTE_ADDR']); // direccionip4
  30.  
  31.             $this->db->insert('visitas', $this);
  32.  
  33.         }
  34.  
  35.         setcookie('counte', 1, time()+3700);
  36.  
  37.         // Realizo una query a la la tabla visitas
  38.         $consulta = $this->db->query('SELECT count(*) as visitas FROM visitas');           
  39.         $res      = $consulta->row();  // retorna los resultados de la tabla visitas
  40.  
  41.         return $res;
  42.  
  43.     }
  44.  
  45. }

Controlador paginas.php

Código PHP:
Ver original
  1. <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
  2.  
  3. // Declaro la clase Paginas
  4. class Paginas extends CI_Controller {
  5.  
  6.     // declaramos el constructor
  7.     function __construct()
  8.     {
  9.         parent::__construct();
  10.         $this->load->helper('url');
  11.     }
  12.  
  13.     // el metodo index para mostrar la pagina de inicio
  14.     public function index()
  15.     {
  16.         $data['titulo']      = "titulo prueba";
  17.         $data['description'] = "titulo prueba";
  18.         $data['keywords']    = "titulo prueba";
  19.  
  20.         // LLamo al modelo que he creado
  21.         $this->load->model('paginas_model', 'Paginas');
  22.         $data['res'] = $this->Paginas->visitas();
  23.  
  24.         $this->load->view('bienvenido',$data);
  25.     }
  26.  
  27. }

La vista

Código PHP:
Ver original
  1. <section>
  2.       <p>Visitas: <?php echo $res->visitas; ?></p>
  3. </section>

Tabla mysql visitas

Código MySQL:
Ver original
  1. CREATE TABLE `visitas` (
  2.   `id` int(11) NOT NULL auto_increment,
  3.   `fecha` datetime default NULL,
  4.   `direccionip` varchar(200) collate utf8_unicode_ci default NULL,
  5.   `direccionip4` varchar(200) collate utf8_unicode_ci default NULL,
  6.   PRIMARY KEY  (`id`)
  7. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

Última edición por edevep; 18/03/2015 a las 15:40 Razón: Se soluciono el tema del contador de visitas y se agrego la tabla mysql

Etiquetas: codeigniter, contador, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:17.