PHP - podwójna inkrementacja

0

Witam, z jakiegoś powodu kiedy ten kod się wykonuje:

Plik: php.php

mysql_connect( '*****', '*****' , '*****');
mysql_select_db("*****");

function views() { 
        $id = $_GET['id'];
	if( $id == NULL ) { $id = 1; }
	$rekord = mysql_fetch_array( mysql_query("select * from posts where id='$id'") );
	$views = $rekord[5];
	++$views;
	mysql_query( "UPDATE posts SET views='$views' WHERE id='$id'" );
	return $views;
}

function page() { ?> 
	<!doctype html>
	<html>
	<head>
	</head>
	<body>
		Wyświetlenia: <? echo views(); ?>
	</body>
	</html>
<? } ?>

Plik index.php

<? include( "php.php" ); page(); ?> 

Cały czas w bazie danych MySQL wartość views zamiast podnosić się przy każdym odświeżeniu o 1, podnosi się o 2 lub 3, a kiedy linie

++$views;

Dam w komentarz wartość się nie zmiania.
Co zrobić aby wartość podnosiła się zawsze o 1 ?

Korzystam z hostingu cba.pl

0

Rozwiązaniem jest niepisanie dupo-kodu, tylko zapoznanie się ze wzorcem MVC.

0

Przy okazji można w ten sposób:

UPDATE `posts` SET `views` = `views` + 1 WHERE `id` = '$id'

1 użytkowników online, w tym zalogowanych: 0, gości: 1