Hallo tweakers,
Ik ben een tijdje bezig met mijn nieuwe website, en maak daarvoor een groot systeem. Alles gaat opzich prima, maar ik ben nu bij iets aangekomen waar ik werkelijk niet uit kom.
Ik heb namelijk voor mijn sessions class een functie Update, om de huidige (database) sessie te updaten:
Deze functie roep ik aan in de (eigen) constructor van mijn user class:
Zoals je ziet wil ik het aantal pageviews tellen van een bezoeker. Bij elke refresh wordt deze met één erbij opgeteld. Althans, dat is de bedoeling.
Om een of andere reden komen er steeds 2 hits bij!
Met die debug $GLOBALS heb ik getest of de functie niet 2 keer wordt uitgevoerd, en dat is niet het geval. Ik heb in elke file gezocht of ik perongeluk nog ergens anders hits optelde, maar ook dit is niet zo.
Het lijkt er dus op dat de query 2x wordt uitgevoerd... Iets wat ik absoluut niet kan begrijpen.
Nu vroeg ik mij af of jullie mij misschien kunnen helpen met dit probleem. Want ik word hier echt gek van
Eigenlijk wil ik deze post niet te lang maken
maar ik ben tot de conclusie gekomen dat als ik mijn view niet weergeef:
op de index, dat hij dan wel gewoon maar ÉÉN erbij telt.
Terwijl er in de tpl class niks bijzonder gebeurd. Op verzoek wil ik deze wel posten, want ik weet dat jullie alles graag zo duidelijk mogelijk willen in de OP en aan gezien de (zelfgemaakte) TPL class opzich niet bijzonder is:P
Thnx
Ik ben een tijdje bezig met mijn nieuwe website, en maak daarvoor een groot systeem. Alles gaat opzich prima, maar ik ben nu bij iets aangekomen waar ik werkelijk niet uit kom.
Ik heb namelijk voor mijn sessions class een functie Update, om de huidige (database) sessie te updaten:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
| public function update($sessid) { $query = $this->core->db->prepare (' UPDATE sessions SET last_time = UNIX_TIMESTAMP(), last_page = :last_page, hits = hits + 1 WHERE id = :sessid LIMIT 1 '); $query->bindParam(':last_page', $_SERVER['REQUEST_URI'], PDO::PARAM_STR); $query->bindParam(':sessid', $sessid, PDO::PARAM_STR); $query->execute(); // debug voor deze rare query/functie $GLOBALS['uitgevoerd'] .= $GLOBALS['uitgevoerd'].'aaa__'; } |
Deze functie roep ik aan in de (eigen) constructor van mijn user class:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
| public function init() { // wat code die niet van toepassing is // //----------------------------------------- // Update current session //----------------------------------------- if( $this->logged_in === true ) { $this->core->sess->update($this->sessid); } } |
Zoals je ziet wil ik het aantal pageviews tellen van een bezoeker. Bij elke refresh wordt deze met één erbij opgeteld. Althans, dat is de bedoeling.
Om een of andere reden komen er steeds 2 hits bij!
Met die debug $GLOBALS heb ik getest of de functie niet 2 keer wordt uitgevoerd, en dat is niet het geval. Ik heb in elke file gezocht of ik perongeluk nog ergens anders hits optelde, maar ook dit is niet zo.
Het lijkt er dus op dat de query 2x wordt uitgevoerd... Iets wat ik absoluut niet kan begrijpen.
Nu vroeg ik mij af of jullie mij misschien kunnen helpen met dit probleem. Want ik word hier echt gek van
Eigenlijk wil ik deze post niet te lang maken
PHP:
1
| $core->tpl->display('index.php'); |
op de index, dat hij dan wel gewoon maar ÉÉN erbij telt.
Terwijl er in de tpl class niks bijzonder gebeurd. Op verzoek wil ik deze wel posten, want ik weet dat jullie alles graag zo duidelijk mogelijk willen in de OP en aan gezien de (zelfgemaakte) TPL class opzich niet bijzonder is:P
Thnx