Autor Zpráva
honzisko
Profil
Dobrý večer, chtěl bych se zeptat, jestli se dá nějakým způsobem zabezpečit počítání zobrazení stránky. Vytvořil jsem si script :

   $id=$_GET['id']; // id je definováno a ošetřeno jinde tto je pouze informativní řádek.
$sql="select count from articles where id='$id'";
$result = mysql_query ($sql); 
$update=mysql_query("update articles set count=count+1 where id='$id'");
    while ($row = mysql_fetch_array($result)) {
    echo "počet přečtění ".$row['count']." |......";} 
Bohužel mne zde zneklidňuje fakt, že pokud podržím F5 tak se do databáze během pár vteřin uloží hodnota např. 100. Lze tomuto "Falešnému zobrazování" nějak zabránit? Popřípadně udělat jiné řešení? Předem díky za tipy.h.
panther
Profil
honzisko:
nechápu, proč vytahuješ počet přečtení, když s ním nikde nepracuješ (ř. 3).

Refreshi stránky nezabráníš, ale ukládej si ke každému přečtení údaje identifikující daného uživatele (+ příp. cookies, vytvořit mu session, že článek přečetl)... vše se dá obejít, ale čím více uživateli toto znepříjemníš, tím méně bude statistika zkreslená.

Danému uživateli dovol přečíst článek (resp. započítat přečtení) jen jednou, případně jednou za den/týden/měsíc.
honzisko
Profil
To session me napadlo ale přišlo mi to zbytečné, pokud tedy není moc jiných řešení, zkusím tohle. Zatím děkuji za radu.
panther
Profil
honzisko:
ukládej si co nejvíce údajů a při shodě min. třeba třetiny/tří z nich další přečtení neukládej.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: