Tutorial: Crea tu contador de visitas para entradas

  • Autor Autor kanikase
  • Fecha de inicio Fecha de inicio
kanikase

kanikase

Préstamo
Ómicron
Programador
Verificación en dos pasos activada
Verificado por Whatsapp
¡Ha verificado su Paypal!
Hola betas 😀 hacía ya tiempo que no hacía un tutorial, y ya me dieron ganas de hacer uno, en este les dejaré el código para que hagan su propio script para contador de visitas, está en php, para mostrar las visitas utiliza javascript para que pueda funcionar en Blogger, es sencillo, y no se necesita mucho, así que el tutorial será corto.

Primero vamos a abrir nuestro editor de código, puede ser hasta el block de notas, ya ahí creamos un nuevo archivo, y lo nombramos visitas.php, en el pegamos:
PHP:
<?php
ob_start();
header("Content-type: text/javascript");

// Creamos la conexion
$con = @mysqli_connect('localhost', 'USER_BD', 'PASS_BD', 'NAME_BD') or die("document.write('Error');");

// Obtenemos, y validamos url
$url = $_SERVER['HTTP_REFERER'];
if (!$url || $url == '') {
	die();
}

// Obtenemos los datos de la bd
$sql = "SELECT `visitas` FROM `visitas` WHERE `url`='$url'";
$query = mysqli_query($con, $sql);
$row = mysqli_fetch_assoc($query);

// creamos las querys verificando primero las cookies, para contar visitas y no impresiones
if (isset($_COOKIE[md5($url)])) {
	// cuando si existe la cookie solo le damos el valor a $visitas
	$visitas = $row['visitas'];
	echo "document.write($visitas);";
} elseif (!isset($_COOKIE[md5($url)])) {
	// Comprobamos si la url ya esta en la bd
	$rows = mysqli_num_rows($query);
	if ($rows > 0) {
		// Cuando si existe la url actualizamos
		$SQL = "UPDATE `visitas` SET `visitas`=visitas+1 WHERE `url`='$url'";
		if (mysqli_query($con, $SQL)) { // Si se inserta la visita
			$visitas = ($row['visitas']) + (1); // Le sumamos uno para mostrar la visita actual
			echo "document.write($visitas);";
			setcookie(md5($url), '_vStD', time() + 86400); // Y creamos la cookie de 1 dia
		} else { // Si no se inserta la visita
			$visitas = $row['visitas']; // Solo obtenemos las visitas
			echo "document.write($visitas);";
		}
	} elseif ($rows == 0) {
		// Cuando no existe la url en la bd la insertamos
		$SQL = "INSERT INTO `visitas` (`url`,`visitas`) VALUES ('$url',1)";
		if (mysqli_query($con,$SQL)) { // Si se inserta la nueva url
			echo "document.write(1);";
			setcookie(md5($url), '_vStD', time() + 86400); // Y creamos la cookie de 1 dia
		} else { // Si no se inserta 
			echo "document.write(0);";
		}
	}
}

// Por ultimo cerramos la conexion, y matamos el script
ob_end_flush();
mysqli_close($con);
die();
?>

Ahí viene todo comentado, para que es cada código.

Ya que lo tengan a lo van a subir normal a su hosting, como siempre, y después van a crear la bd, para guardar las visitas, a la bd la llaman así como hayan puesto en la conexión (linea 5), ya creada, en el mismo phpmyadmin se van a SQL y ahí pegan lo siguiente:
Insertar CODE, HTML o PHP:
CREATE TABLE `visitas` (
	`id` int(7) NOT NULL AUTO_INCREMENT,
	`url` text NOT NULL,
	`visitas` int(7) NOT NULL,
	PRIMARY KEY (`id`),
);

Eso les creará la tabla, para guardar los registros xD

Y ya eso sería todo.
Otro paso opcional, es usar htaccess, para cambiar la extensión, de php a .js, yo lo hago porque me gusta, si lo quieren hacer, crean el archivo .htaccess y en el pegan:
Insertar CODE, HTML o PHP:
RewriteEngine on
RewriteRule ^visitas.js visitas.php

Y ya estará.

Por último, para mostrar las visitas, donde queramos ponemos el script, es de la siguiente forma:
HTML:
Visitas: <script src="//DOMINIO.COM/visitas.js"></script>

Y solo tienen que cambiar DOMINIO.COM por su dominio donde lo hayan subido, y ya les mostrará las visitas, el script solo devuelve un número, por si lo quieren personalizar a su gusto.

Y ya eso es todo, lo pueden usar donde quieran, Blogger, Wordpress, para contar las visitas de las entradas.

Aclaración: El script trabaja con cookies, por eso cuando creamos la cookie, el nombre se lo ponemos de la url codificado en md5, para que los usuarios de la web no sepan que es y no borren ña cookie, si no van a poner muchas impresiones :welcoming:
 
En blogger... se puede?
 
En blogger... se puede?

Hacer el script en Blogger no, usarlo en Blogger si, si no quieres subirlo tu, puedes usar el mío, el que puse en el grupo de Facebook.
[MENTION=106915]miguelbarret[/MENTION] ya lo está usando 😀 y tiene muchas visitas 😱
 
Hacer el script en Blogger no, usarlo en Blogger si, si no quieres subirlo tu, puedes usar el mío, el que puse en el grupo de Facebook.
[MENTION=106915]miguelbarret[/MENTION] ya lo está usando 😀 y tiene muchas visitas 😱

Visitando sitio de Miguel Barreto:
Insertar CODE, HTML o PHP:
Fatal error: Class 'WP' not found in /home/tcmavzpe/public_html/wp-settings.php on line 279

Lo mirare en cuando levante de nuevo, grax por el aporte !
 
gracias, funciona para todas las paginas de mi dominio o subdominio?
 
no hay demo?
 
Excelente amigo muchas gracias 🙂
 
dices que esta en tu grupo de facebook me puedes dar el lnk para ver el demo
 
el cpanel no trae estos contadores de visitas entre los cgi? que ventaja puede tener al contador de google?
 
el cpanel no trae estos contadores de visitas entre los cgi? que ventaja puede tener al contador de google?

De que hablas 😕 este es un contador para que los visitantes vean las visitas que tiene el post.
 
Hacer el script en Blogger no, usarlo en Blogger si, si no quieres subirlo tu, puedes usar el mío, el que puse en el grupo de Facebook.
[MENTION=106915]miguelbarret[/MENTION] ya lo está usando 😀 y tiene muchas visitas 😱

no se que grupo menciones AQUI
 
una demo seria excelente.. 😉
 
[MENTION=81006]kanikase[/MENTION] yo quiero el scrip paraa blogger seria posible
 
ayuda me sale esto con la base de datos

Insertar CODE, HTML o PHP:
CREATE TABLE  `visitas` (
 `id` INT( 7 ) NOT NULL AUTO_INCREMENT ,
 `url` TEXT NOT NULL ,
 `visitas` INT( 7 ) NOT NULL ,
PRIMARY KEY (  `id` ) ,
);

PHP:
#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ')' at line 6
 
interesante , lo voy a aplicar en mi web
 
Atrás
Arriba