Code du compteur (à placer où tu veux voir le compteur) :
1 2 3 4 5 6 7 8 9 10 11
| <?php include_once("connect.php");
include_once("config.php");
$id_conn = connect();
$sid = session_id();
if ($_SESSION['id']!=$sid) {
$_SESSION['id']=$sid; $sql="UPDATE visites SET compteur = compteur +1;";
$result = mysql_query($sql)or die(mysql_error()); }
$result = mysql_query("SELECT compteur FROM visites;"); while($row = mysql_fetch_array($result, MYSQL_ASSOC)){ $compteur = $row['compteur']; } echo "<table bordercolor=red border=1><tr><td>visiteurs=".$compteur."</td></tr></table><br>";
close($id_conn);
?> |
Ca teste le n° de sessions, donc si on place le compteur sur la page d'accueil, qu'on va sur celle-ci, puis sur une autre page, puis qu'on revient sur la page d'accueil, ça n'incrémente pas de nouveau le compteur.
Mais pour que ça marche, il faut créer dans ton compte internet, un répertoire "sessions" (sinon, erreur PHP)
connect.php :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| <?php
function connect()
{
$id_conn=mysql_connect(MYHOST,MYUSER,MYPASS);
if ($id_conn); else echo "connexion NOK";echo"<br>";
if (!mysql_select_db("kikourou",$id_conn)) echo "connexion base foirée"; else echo"<br>";
return($id_conn);
}
function close($id_conn)
{
mysql_close($id_conn);
}
?> |
"kikourou", c'est juste car ça vient d'un copier-coller, mais comme ça marche, je n'ai pas cherché plus loin.
config.php (la config de ta base de données MySQL, à adapter). Dans mon cas :
1 2 3 4 5
| <?php
define("MYHOST","sql.free.fr");
define("MYUSER","laurentschmitt18");
define("MYPASS","mot_de_passe_du_compte");
?> |
En plus, il faut créer dans ta base de données MySQL une table "visites" avec un champ "compteur" ; requête SQL :
create table `visites` (`compteur` INT(5))
Attention à bien mettre des ` (sur la touche du 7), et pas des ' (touche du 4), sinon, ça génère une erreur SQL.
De plus, tous les hébergeurs n'offrent pas la création d'une base de données MySQL. Ainsi, j'avais un site chez 1&1, et comme il n'y avait pas de MySQL possible, j'ai mis une partie du site chez Free (gratuit), et fait une redirection javascript pour passer de l'un à l'autre (je ne voulais pas tout mettre chez Free car beaucoup trop lent pour gérer les nombreux albums photo).
Si tu es aussi intéressé, j'ai développé en PHP une interface qui me permet d'envoyer des requêtes SQL à mes bases (il suffit d'adapter config.php à la base). Voici l'interface qui permet d'envoyer des requêtes à l'une de mes bases (et pour la tester, tu peux juste faire "show tables", et pour revenir en arrière, touche "précédent").
Tu me croiras si tu veux, mais je suis très content de pouvoir apporter une contribution, car ce forum m'a été très utile (et le code du compteur vient de là notamment).
Partager