Affichage compteur sur page web
Résolu/FerméJeannot - 25 févr. 2023 à 18:37
- Affichage compteur sur page web
- Compteur électrique - Guide
- Comment supprimer une page sur word - Guide
- Traduire une page web - Guide
- Web office - Guide
- Comment ralentir un compteur linky forum - Accueil - Objets connectés
9 réponses
11 févr. 2023 à 19:17
Bonjour
Déjà il serait bien de faire une montée de version du script car ils utilisent une vieille technologie qui n'est plus compatible avec les versions modernes de PHP.
Quoi qu'il en soit, pour corriger ton souci, commence par remplacer les include par require_once et regarde si des messages d'erreur n'apparaissent pas
11 févr. 2023 à 20:13
Merci our ta réponse Jordan,
Oui il est vrai que ce script date de plusieurs années et j'ai essayé de trouver une version plus moderne mais sans succès
Je vais suivre tes conseils et voir ce que cela donne.
Je les mettrais ici, je pense dans la journée de demain
Bonne soirée
Cordialement
12 févr. 2023 à 09:10
Bonjour,
En changeant les include par des remode_once le problème est le même et aucun message d'erreur n'est apparu !
Cordialement
12 févr. 2023 à 11:44
Ajoutes ces instruction au début de tes pages
error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE);
Ajoutes aussi un var_dump de la variable nbc pour voir
$nbc=$nombre; //------ Le temps des tests... ------------// echo "<br>nbc : " ; var_dump($nbc); //----------------------------------------//
et montre nous ce que ça t'affiche sur ta page
Il serait bien également de nous preciser où se trouvent des fichiers dans ton arborescence...
- Par rapport à la racine de ton site, où se trouve le fichier page.php ?
- Par rapport à la racine de ton site, où se trouve le fichier config.php ?
- Par rapport à la racine de ton site, où se trouve la page dans laquelle ce compteur fonctionne ?
- Par rapport à la racine de ton site, où se trouve la page pour la quelle le compteur ne marche pas ( dans le même dossier que la page qui marche ??) ?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question12 févr. 2023 à 13:33
Bonjour,
première partie de ma réponse :
Les fichiers config et pages sont à la racin de mon site
le compteur fonctionne sur la première page que je consulte quelque soit sa position et ensuite en passant sur une autre page il ne s'affiche plus là encore quelque soit sa position par rapport à la racine
Je vais inclure les instructions mentionnées et te tiens au courant
encore merci
Cordailemen
12 févr. 2023 à 15:29
Re bonjour
Voici les messages affichés lors de l'ouverture :
Sur la première page ouverte :
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /htdocs/public/www/config.php on line 6
nbc : string(3) "127"
le nombre est bien celui qui s'affiche sur le compteur
sur la page suivante :
Deprecated: mysql_connect(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in /htdocs/public/www/config.php on line 6
requete invalide enr ip
Si j'ai bien lu, c'est qu'il veut enregistrer !'adresse alors qu'elle est déjà connue !
Donc ce serait cette ligne qui cloche ?
$num_rows =mysql_num_rows ($res);
Qu'en penses-tu ?
je précise que mon, site date des années 2006 d’où certaines choses qui ne sont plus tout à fait "modernes" mais jusqu'à présent cela fonctionnait correctement.
J'ai eu quelques soucis avec ma base de données et que j'ai du la reconstituer avec des sauvegardes !
Peut-être qu'il y a eu là quelques "bugs" ?
Cordialement
Jeannot
Bonjour,
J'ai repris le script pour le mettre à jour et je n'ai plus qu'une erreur après cette formule !
$sql="update compte pages set compteur=$nombre where ip='compteur'"; $res=$con_query($sql) or die ("requete invalide up compt");
et je ne vois pas ce qui cloche !
Merci
Cordialement
Jeannot
19 févr. 2023 à 15:17
On peut supposer que tu as un dollar en trop devant con_query
Si ce n'est pas ça, il faudra, je te le demande encore une fois, nous montrer le code modifié et les différents fichiers utilisés tel que ton fichier config.PHP
Bonsoir,
Je ne pense pas que le fichier config pose problème du fait qu'un certains nombres d'opération sont effectuées avant l'apparition de cette erreur, mais néanmoins le voici :
$host="XXXXXXXXXXXX"; //localhost la plupart du temps, dans le cas contraire à vous de jouer $user="XXXXXXXXX"; $mdp="XXXXXXXXX"; $db="XXXXXXXXXX"; $con= new mysqli($host,$user,$mdp,$db); //connection à la base if ($con->connect_error) { die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error); } mysqli_set_charset($con, "utf8");
J'ai naturellement supprimé les info perso
Voici maintenant le code du fichier pages.php
<?php if($_SERVER) { if(isset($_SERVER['HTTP_X_FORWARDED_FOR'])) $adress = $_SERVER['HTTP_X_FORWARDED_FOR']; elseif(isset($_SERVER['HTTP_CLIENT_IP'])) $adress = $_SERVER['HTTP_CLIENT_IP']; else $adress = $_SERVER['REMOTE_ADDR']; } else { if(getenv('HTTP_X_FORWARDED_FOR')) $adress = getenv('HTTP_X_FORWARDED_FOR'); elseif(getenv('HTTP_CLIENT_IP')) $adress = getenv('HTTP_CLIENT_IP'); else $adress = getenv('REMOTE_ADDR'); } //on va vérifier la date pour voir si elle a changé $ql3="select * from compte_pages where ip ='compteur' and nom_page='$page'"; $ret3= $con->query($ql3); $ligne= mysqli_fetch_object ($ret3); $date= date('Y-m-d'); //on convertit l heure courante en minute d une journee $time=$time=(date("H") * 60) + date("i"); //on va récupérer le nombre de visiteurs $nombre=$ligne->compteur; $t=$ligne->time; $d = $ligne->duree; echo "<br>"; echo "nombre"; echo $nombre; echo "<br>"; //on test si on a changé de jour if ($date!="$ligne->date") { //on vide toutes les addresses ip enregistrées dans la table lors du changement de jour $sql="delete from retient_pages where page_nom='$page'"; $res=$con->query($sql) or die ("requete invalide supp ip"); //on met a jour la nouvelle date dans la table $sql="update compte_pages set date='$date' where ip='compteur' and nom_page='$page'"; $res=$con->query($sql) or die ("requete invalide maj date"); } //on verifie l adresse ip du visiteur et aussi son heure de passage $sql="select * from retient_pages where ip='$adress' and page_nom='$page'"; $res=$con->query($sql) or die ("requete invalide verif ip"); $ligne = mysqli_fetch_object ($res); $num_rows =mysqli_num_rows ($res); if ($num_rows=='0') { //on enregistre l adresse ip si elle est inconnu et on incremente le compteur $sql="insert into retient_pages(ip,time,duree,page_nom) values ('$adress','$time','$time','$page')"; $res=$con->query($sql)or die ("requete invalide enr ip"); $nombre+=1; echo $nombre; $sql="update compte_pages set compteur=$nombre where ip='compteur' and page_nom='$page'"; $res=$con->query($sql) or die ("requete invalide up compt"); } else { //si l'adresse ip est connu alors verifie si sa connexion precedente est superieur a la durée //de renouvellement et si son heure de passage precedente incremente ou pas les connectés $time1=$ligne->time; //on recupere l'heure de sa precedente connexion de notre connecté $duree1=$ligne->duree; //on recupere l'heure de sa precedente connexion de notre connecté // on verifie si sa derniere connexion ne date pas de plus que la duree de reference if ($d*60<($time - ($duree1))) { //si la duree de reference est depassé alors notre connecté est comptablisé //comme nouvelle visite et on met a jour sa nouvelle heure de passage $sql="update retient_pages set time=$time,duree=$time where ip='$adress' and page_nom='$page'"; $res=$con->query($sql) or die ("requete invalide maj time"); //on cree une ligne fictive pour pouvoir le comptabilisé dans les connectés de jour $adress1=$adress.".".$nombre; $sql="insert into retient_pages (ip,time,duree,page_nom) values ('$adress1','$time','$time', '$page')"; $res=$con->query($sql)or die ("requete invalide enr ip"); //et on increment le compteur de visite $nombre+=1; $sql="update compte_pages set compteur=$nombre where ip='compteur' and nom_page='$page'"; $res=$con_query($sql) or die ("requete invalide up compt"); } else { //on met a jour son heure de passage si elle est superieure a t if ($time>(($time1)-$t)) { $sql="update retient_pages set time=$time where ip='$adress' and page_nom='$page'"; $res=$con->query($sql) or die ("requete invalide maj time"); } } } ?>
et enfin une des pages sur laquelle le compteur doit s'afficher ::
DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" > <html> <!-- Date de création: 14/08/2006 --> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <title>Le badminton a saint hilaire du harcouet</title> <META NAME="TITLE" CONTENT="Le badminton a saint hilaire du harcouet"> <meta http-equiv="X-UA-Compatible" content="IE=8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="description" content="Le badminton à saint hilaire du harcouet en images "> <meta name="keywords" content="histoire saint hilaire du harcouet, manche, histoire, cartes postales, ma ville,images, blog, badminton"> <meta name="author" content="Jean Charbonnel"> <meta name="generator" content="WebExpert 5"> <meta name="Robots" content="all,INDEX,FALLOW"> <link rel="stylesheet" href="../../style/histoire.css" type="text/css"> <link rel="stylesheet" href="../../style/div_menu.css" type="text/css"> <script type="text/javascript" src="../../js/prototype.js"></script> <script type="text/javascript" src="../../js/scriptaculous.js?load=effects,builder"></script> <script type="text/javascript" src="../../js/lightbox.js"></script> <link rel="stylesheet" href="../../css/lightbox.css" type="text/css" media="screen" /> <link rel="stylesheet" href="../../style/retro1.css" type="text/css"> <link rel="stylesheet" type="text/css" media="screen,projection" href="../../css/style.css" /> </head> <body bgcolor="black"> <table width="950" align="center" height="325"> <tr> <td align="center"> <p align="center"> <img src="../../images/entete.gif" border="0" width="940" height="325" alt="" align="middle"> </p> </td> </tr> </table> <table align="center" width="950"> <tr> <td align="center" width="950"> <?PHP include("../../include/menuhori3.html"); ?> </td> </tr> </table> <table align="center" width="1000" style="border: solid #FFCC00; background: url(images/fond_bad.jpg)" link="#CCFFFF" alink="#CCFFFF" vlink="#CCFFFF"> <tr> <td> <div id="menu"> <font color="#FF0033" size="5" face="Verdana">MENU</font> <DIV ID=mv2></DIV> <SCRIPT LANGUAGE="JavaScript" SRC="../../js/ejs_menu_dyn_vert2.js" charset="UTF-8"></SCRIPT> </div> <table width="750" height="1" align="center"> <tr> <td align="center" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" face="Garamond" size="5"><b>Le Badminton à Saint Hilaire en images</b></font> </td> </tr> </table> <table width="750" height="1" align="center"> <tr> <td align="center" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="5" face="Verdana"><div style="text-align: center">Cliquez sur les photos pour les agrandir</div></font> </td> </tr> </table> <table width="750" align="center" height="1880"> <tr> <td align="center" width="50%"> <a href="images/1.gif" rel="lightbox" title="Logo"><img src="images/1.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/2.gif" rel="lightbox" title="Bertrand Heudes"><img src="images/2.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>Logo</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>Bertrand Heudes</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/3.gif" rel="lightbox" title="1997 : Christelle Mol et Corinne Corvée"><img src="images/3.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td>o <td align="center" width="50%"> <a href="images/4.gif" rel="lightbox" title="2005 : Équipe BSH1 en R1"><img src="images/4.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>1997 : Christelle Mol et Corinne Corvée</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2005 : Équipe BSH1 en R1</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/5.gif" rel="lightbox" title="2006 : Équipe BSH1 en N3"><img src="images/5.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/6.gif" rel="lightbox" title="2000 : Henri Guermont et Pascaline Lebassac"><img src="images/6.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2006 : Équipe BSH1 en N3</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2000 : Henri Guermont et Pascaline Lebassac</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/7.gif" rel="lightbox" title="Yannick Jourdan"><img src="images/7.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/8.gif" rel="lightbox" title="Ludovic Charuel"><img src="images/8.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>Yannick Jourdan</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>Ludovic Charuel</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/9.gif" rel="lightbox" title="2007 : Équipe BSH2 en R2"><img src="images/9.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/10.gif" rel="lightbox" title="2007 : Équipe BSH3 en D2"><img src="images/10.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2007 : Équipe BSH2 en R2</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2007 : Équipe BSH3 en D2</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/11.gif" rel="lightbox" title="2007 : Équipe BSH1 en N3"><img src="images/11.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/12.gif" rel="lightbox" title="2007 : Licenciés du club"><img src="images/12.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2007 : Équipe BSH1 en N3</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>2007 : Licenciés du club</b> </div></font> </td> </tr> <tr> <td align="center" widht="50%"> <a href="images/13.gif" rel="lightbox" title="2006 : Équipe BSH3 en D2"><img src="images/13.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> <td align="center" width="50%"> <a href="images/14.gif" rel="lightbox" title="François Renault"><img src="images/14.gif" border="0" width="375" height="245" alt="" align="middle"></a> </td> </tr> <tr> <td align="center" width="50%"style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>François Renault</b> </div></font> </td> <td align="center" width="50%" style="background-color: #FFFFCC; border: solid #CC0000"> <font color="#990000" size="2" face="Verdana"><div style="text-align: center"> <b>Ludovic Charuel</b> </div></font> </td> </tr> <tr> <td align="center" colspan="2"> </td> </tr> <tr align="center"> <td align="center" bgcolor="#99FFCC" style="border: solid blue" colspan="2"> <font color="#CC0033" size="4"><b>Pour vous tenir informer des activités du club, cliquez : <a href="http://www.bsh50.forumpro.fr/" target="_blank">ICI</a></b></font> </td> </tr> </table> <table width="300" align="center" hight="1"> <tr> <td align="center"> <?PHP include("../../config1.php"); $page="badminton"; include("../../pages.php"); $nbc=$nombre; $b1=substr("$nbc", 0,1); $b2=substr("$nbc", 1,1); $b3=substr("$nbc", 2,1); $b4=substr("$nbc", 3,1); $b5=substr("$nbc", 4,1); $b6=substr("$nbc", 5,1); $b7=substr("$nbc", 6,1); $b8=substr("$nbc", 7,1); $type="nou"; /* Type de compteur */ $affichage1="<img src=\"../../images/$type$b1.gif\"><img src=\"../../images/$type$b2.gif\"><img src=\"../../images/$type$b3.gif\"><img src=\"../../images/$type$b4.gif\"><img src=\"../../images/$type$b5.gif\"><img src=\"../../images/$type$b6.gif\">"; echo "<table width='100%' border='1' style='border: olive; background: #6699FF' align='center'>"; echo "<tr>"; echo "<td align='center' bgcolor='#990000'>"; echo "<font face='Comic Sans MS' size='2' color='#FFFF00'><b>Vous êtes le</b></font>"; echo "</td></tr>"; echo "<tr>"; echo "<td align='center'>"; echo "$affichage1<sup>ème</sup>"; echo "</td></tr>"; echo "<tr>"; echo "<td align='center' bgcolor='#990000'>"; echo "<font face='Comic Sans MS' size='2' color='#FFFF00'><b>à visiter cette page</b></font>"; echo "</td></tr></table>"; ?> </td> </tr> </table> </body> </html>
Voilà !
Bonne soirée
Cordialement
Jeannot
19 févr. 2023 à 19:14
Donc en fait c'est un souci de tiret
Tu as confondu $con_query. avec $con->query
Bonsoir,
Problème résolu
La colonne "Compteur" était en INTYINT et il fallait la mettre en INT.
La syntaxe du sql devait être :
$sql="UPDATE `compte_pages` SET `compteur` = $nombre WHERE `compte_pages`.`nom_page` ='$page'";
$res=$con->query($sql) or die ("requete update invalide up compt");
Voilà
Merci
Bonne soirée
Jeannot