Autor | Zpráva | ||
---|---|---|---|
Majk89 Profil |
#1 · Zasláno: 3. 12. 2011, 22:26:18
Dobrý den,
vytvářím script, který má přičíst po kliknutí na určitý odkaz k číslu v databázi +1. Script mi ale funguje vždy jen na přičtení +1 poprvé, pokud na stejný odkaz kliknu podruhé, už se nic nepřičte. Náhled scriptu: Odkaz <a href='http://adresaStranek.cz/pridejHodnotu.php?id=$id'>Přičti 1</a> Script, který se má vykonat po kliknutí na odkaz require "databaze.php"; $id = $_GET["id"]; @ mysql_query("UPDATE Citac SET Hodnota = Hodnota +1 WHERE id=$id"); header ("Location: http://adresaStranek.cz"); exit(); Budu rád za každou radu. Díky, Matěj. |
||
HajekJirka Profil |
#2 · Zasláno: 3. 12. 2011, 23:25:32
Majk89:
Zkontroluj jestli se ti nezmění po kliknutí $id v tom odkazu (řádek 3). Zkus odstranit ten zavináč na řádku 5, spusť script a podívej se jestli ti to něco nevypisuje. |
||
Majk89 Profil |
#3 · Zasláno: 4. 12. 2011, 09:28:34
HajekJirka:
$id je i po kliknutí stále stejné bez zavináče script funguje naprosto stejně jako s ním Zjistil jsem, že když kliknu na odkaz, který má přičíst +1 například ve Firefoxu, tak se přičte +1, ale po druhém kliknutí už se nic nepřičte. ALE pokud si poté stránku otevřu v jiném prohlížeči, nebo další den, odkaz zase funguje na první kliknutí. Takže bych řekl, že může být chyba buď u prohlížeče, že si v mezipaměti na nějakou dobu uloží, že jsem už jednou na odkaz kliknul, nebo může být třeba pro jednu IP adresu v databázi (MySQL) nastevený časový interval, kolikrát mohu updatovat ten samý řádek? |
||
Darker Profil |
#4 · Zasláno: 4. 12. 2011, 11:58:11 · Upravil/a: Darker
Krom odstranění zavináče si taky za volání mysql_query dej ||die(mysql_error()).
Moc se mi nezdá že by to byla chyba prohlížeče, ale projistotu můžeš zkusit přes HTTP hlavičky zakázat cache. Majk89: „nebo může být třeba pro jednu IP adresu v databázi (MySQL) nastevený časový interval, kolikrát mohu updatovat ten samý řádek?“ To by byla dost divná specialitka. |
||
Časová prodleva: 14 let
|
0