Alors c'est pas sur la bonne table que tu as fais ta requête.
Explication:
Prenon ce bout de code que nous allons détailler en considérant que ton champ n'existe pas:
- Code: Tout sélectionner
$visit_counter = $board_config['visit_counter'];
if( $userdata['session_start'] >= (time() - 1) )
{
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . ($visit_counter + 1) . "'
WHERE config_name = 'visit_counter'";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update counter information', '', __LINE__, __FILE__, $sql);
}
$visit_counter++;
}
regardons en détail ce qui se passe:
- Code: Tout sélectionner
$visit_counter = $board_config['visit_counter'];
le champ
visit_counter' étant inexistant, $visit_counter ne vaut rien.
- Code: Tout sélectionner
if( $userdata['session_start'] >= (time() - 1) )
{
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '" . ($visit_counter + 1) . "'
WHERE config_name = 'visit_counter'";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not update counter information', '', __LINE__, __FILE__, $sql);
}
$visit_counter++;
}
si le visiteur vient d'ouvrir une session (donc un nouvau visiteur), alors la variable est mis à jour dans la table puis incrémentée.
Donc au final, lorsqu'un nouveau visiteur arrive, la variable vaut 0 + 1 (puisqu'une session est ouverte, la variable est incrémentée) et donc il est affiché 1 visiteur. Parcontre si il réactualise, $visit_counter vallant 0 et n'étant pas mis à jour (puisque la session existe déjà) il est affiché 0 visiteur.
Pour t'en convaincre, vide la table session et retourne sur ton forum, tu veras une visite, réactualise et tu verras 0. C'est ce qui s'est passé quand je suis allé sur ton forum