J'adapte des scripts que j'ai trouvés par le biais de Google et qui surveillent les utilisateurs qui se connectent à un site web.
Cela consiste à inclure ceci dans chaque page que je veux surveiller :
<?
include_once("config.php");
include_once("functions.php");
?>
config.php ressemble à ceci (j'ai enlevé les informations sur la base de données actuelle) :
<?php
DEFINE ('DB_USER', '');// database username
DEFINE ('DB_PASSWORD', '');//database password
DEFINE ('DB_HOST', '');//database host, usually localhost
DEFINE ('DB_NAME', '');//and finally the database name
$dbc = @mysql_connect (DB_HOST, DB_USER, DB_PASSWORD) OR die ('Could not connect to MySQL: ' . mysql_error());
@mysql_select_db (DB_NAME) OR die('Could not select the database: ' . mysql_error() );
?>
functions.php ressemble à ceci :
<?php
$page = $_SERVER['PHP_SELF'];
$user = $_SESSION["name"];
$logq = "INSERT INTO logs (Name, Page, Date) VALUES ('$user', '$page', NOW())";
$logr = @mysql_query($logq);
?>
Cela fonctionne bien, c'est-à-dire que la table dans ma base de données est remplie correctement.
Cependant, le fichier qui est censé générer un tableau sur une page web pour afficher les informations de la table MySQL ne fonctionne pas. Le fichier, logs.php, ressemble à ceci :
<?php
$lq = "SELECT id, Name, Page, DATE_FORMAT(date, '%d %M, %Y') as sd FROM logs ORDER BY id DESC LIMIT 50";
$lr = @mysql_query($lq);
if($lr){
echo "<table><th>Name</th><th>Page</th><th>Date</th>";
while($lf = mysql_fetch_array($lr, MYSQL_ASSOC)){
echo "<tr><td>" . $lf['Name'] . "</td><td>" . $lf['Page'] . "</td><td>" . $lf['sd'] . "</td></tr>";
}
echo "</table>";
}
else
{
echo "No results!";
}
?>
Bien qu'il y ait des données dans la table MySQL, j'obtiens toujours le message "Aucun résultat" lorsque je navigue sur la page.
Quelqu'un peut-il voir quel est le problème ?