hola de nuevo, yo aca molestando otra vez, esta vez quiero hacer la siguiente consulta:
arme mi archivo modelo llamado iniciomodelo.php en el cual entre otras cosas contiene estas funciones:
Código PHP:
$ip ='202.164.32.81';
$fecha = date("j del n de Y");
$hora = date("h:i:s");
$segundos = time();
$can = "3600";
$resta = $segundos-$can;
//Se genera la consulta a la base de datos, solicitando cualquier registro 3600 segundos
//anteriores a los segundos actuales(obtenemos todos los registros una hora atrás).
$sql = $this->db->prepare("SELECT segundos, IP FROM `contador` WHERE segundos >= ?
AND IP LIKE ? ");
$sql->execute(array($resta, $IP));
// Creamos el condicionamiento de loguear o no la entrada,
// dependiendo si el numero de registros es o no mayor a cero.
if ($sql->rowcount()>0){
//no se cuenta la visita
}
else{
$sql = $this->db->prepare("INSERT INTO `contador` (id, IP, fecha, hora, segundos)
VALUES ('','?','?','?')");
$sql->execute(array($IP,$fecha,$hora,$segundos));
}
// Contamos los registros que tenemos en la tabla y se los asignamos
// a la variable $visitas que es la que después visualizaremos en pantalla.
$visitas = $this->db->prepare("select * from contador where id");
$visitas->execute();
$visitas->rowcount();
return $visitas;
}
/**
* @name : get_visitante().
* @return : Devuelve la ip y el pais desde donde nos visitan.
*/
public function get_visitante(){
//obtengo la ip del visitante
//$ip =$_SERVER["REMOTE_ADDR"];
$ip ='202.164.32.81';
//busco la ip en la base de datos.
$ip_country = $this->db->prepare("SELECT country_code2,country_name FROM paises
WHERE IP_FROM<=inet_aton('?')
AND IP_TO>=inet_aton('?') ");
$ip_country->execute(array($ip,$ip));
//extraigo los datos
$nombre= $ip_country->fetch();
//armo el resultado a mostrar.
$visitante="tu ip es: <b>".$ip."</b> - <B> - Pais: </B>".ucfirst(strtolower($nombre['country_name']))."
<img src='images/flag/".ucfirst(strtolower($nombre['country_name'])).".gif' height='20' width='20' border='0'>";
return $visitante;
}
/**
* @name : set_referencia().
* @return : guarda las referencias en la base de datos.
*/
public function set_referencia(){
//obtengo la ip
//$ip =$_SERVER["REMOTE_ADDR"];
$ip ='202.164.32.81';
//busco la ip en la base de datos.
$ip_country = $this->db->prepare("SELECT country_code2,country_name FROM paises
WHERE IP_FROM<=inet_aton('?')
AND IP_TO>=inet_aton('?') ");
$ip_country->execute(array($ip,$ip));
//extraigo los datos
$nombre= $ip_country->fetch();
//seteo la fecha
$fecha=date("l j F, Y, H:i");
//seteo la referencia
$dom=getenv("HTTP_REFERER");
//controlo la ip y guardo los datos
if (($ip!='200.43.135.145') ){
$sql= $this->db->prepare("INSERT INTO referencias (`id_ref`, `ip`, `dominio`, `pais`,`fecha`) VALUES (NULL,'$ip','$dom','$nombre[country_name]','$fecha')");
$sql->execute();
}
}
despues en mi controlador uso esto:
Código PHP:
class IndexController extends ControllerBase {
/**
* @name : Index().
* @return : Devuelve los datos para mostrar en la pagina principal del blog.
* @access : public.
*/
public function index()
{
//llamo a los modelos
require('modelo/InicioModelo.php');
//creo una instancia del modelo
$inicio= new InicioModel();
//pido al modelo todas las secciones
$visitantes=$inicio->get_visitante();
$visitas=$inicio->get_visitas();
$categorias=$inicio->get_cetegorias();
$referencias=$inicio->set_referencia();
$links=$inicio->get_links();
$post=$inicio->get_noticias();
//preparo los datos para la vista
$data['visitantes']=$visitantes;
$data['visitas']=$visitas;
$data['categorias']=$categorias;
$data['links']=$links;
$data['referencias']=$referencias;
$data['post']=$post;
//presento nuestra plantilla
$this->view->show("index.php", $data);
}
}
y por ultimo en la vista pongo asi:
Código PHP:
<div id="menu">
<ul>
<li id="current"><a href="index.html">Inicio</a></li>
<li><a href="index.html">Archivo</a></li>
<li class="last"><a href="index.html">About</a></li>
<li class="last">Sos el visitante nº: <?php //echo $visitas;?></li>
<li class="last"><?php echo $visitante;?></li>
</ul>
<?php
//armo la referencias
$referencias
?>
</div>
Bien el problema que estoy teniendo es que no me muestra el contador ($visitas) ni el origen de la visita($visitantes) y no me guarda la referencia ($refencias) en que me estoy equivocando?
Desde ya muchas gracias