Waarom blijft hij telkemaal een visit optellen ipv een visit maar 1 maal (opgeslagen in sessie)...

/*Stats*/
if($_SESSION['visited'] != '1'){
if (!mysql_query("
UPDATE stats
SET counter_visitors = counter_visitors + 1,
counter_views = counter_views + 1
WHERE id = '1'"))
{
error_sender('DB_X_00004');//DB_X_00004 --> Kan geen counter_visiters en counter_views update//
}
$_SESSION['visited'] == '1';
}elseif($_SESSION['visited'] == '1'){
if (!mysql_query("
UPDATE stats
SET counter_views = counter_views + 1
WHERE id = '1'"))
{
error_sender('DB_X_00005');//DB_X_00005 --> Kan geen counter_views update//
}
}
//END Stats//

Het aantal views en visits is hetzelfde ondanks ik enkele malen een andere pagina bezoek zonder browser af te sluiten
<?php
$_SESSION['visited'] == '1';
?>
Lijkt me dat je hier een enkel = teken wilt gebruiken. En uiteraard zonder quotes, 1 is immers een integer:
<?php
$_SESSION['visited'] = 1;
?>

ps. Beter nog zou je die 1 vervangen door true en derhalve van $_SESSION['visited'] een echte boolean maken.
Blijft gelijk oplopen...

/*Stats*/
if($_SESSION['visited'] == false){
if (!mysql_query("
UPDATE stats
SET counter_visitors = counter_visitors + 1,
counter_views = counter_views + 1
WHERE id = '1'"))
{
error_sender('DB_X_00004');//DB_X_00004 --> Kan geen counter_visiters en counter_views update//
}
$_SESSION['visited'] == true;
}elseif($_SESSION['visited'] == true){
if (!mysql_query("
UPDATE stats
SET counter_views = counter_views + 1
WHERE id = '1'"))
{
error_sender('DB_X_00005');//DB_X_00005 --> Kan geen counter_views update//
}
}
//END Stats//
Maar je hebt het eerste nog niet veranderd...
<?php
$_SESSION['visited'] == true;
?>
Hier wil je juist de waarde true aan de variabele $_SESSION['visited'] toekennen. Dat doe je met:
<?php
$_SESSION['visited'] = true;
?>
Op dit moment zal de waarde van $_SESSION['visitied'] nooit veranderen waardoor altijd het if-statement uitgevoerd zal worden.

Reageren