Mě se to tady na tom serveru ještě snad nestalo, ale když se mi to stává jinde, tak je to většinou mým wi-fi připojením, který občas zaškobrtne a já kliknu dvakrát na odeslat...
Ale spíš tu mám občas problém s captcha. Ikdyž je naprosto srozumitelně napsaný a několikrát si ho zkontroluju, tak se mi povede odeslat příspěvek až třeba na pátou captchu.
To na hwmag se captcha po špatným zadání ani nemění, takže někdy je uplně nemožný napsat příspěvek když kousek písmenka třeba je za okrajem a neni šance ho odhadnout.
Draha redakcia, sice budem mirne OT, ale tato newska je idealne miesto na prednesenie mojho navrhu (nakolko sami deklarujete, ze kcete nad systemom webu stravit zase trocha casu).
Na EHW mi chyba jedna funkcia, na ktoru som si zvykol hlavne na CDR.cz. Velmi ma otravuje, ked kvoli tomu, ze kcem vidiet ci sa otvorila diskusia, musim clanok otvorit headlinom. Keby newska obsahovala pocet disk. prispevkov (ala spominane cdr.cz), usetril by som mnoho zbytocnych preklikov.
A teraz k teme, ad double prispevky. Dovod preco toto vznika je vzdy jeden a ten isty - uzivatel. Po odoslani prispevku sa na vas server odosle POST kolekcia udajov. Server kolekciu ulozi do DB a MAL BY klientovi poslat update stranky. Ak je vsak server momentalne vytazeny, tak nic neposiela a chudak user na druhej strane znova klikne na odosielacie tlacidlo (posle kolekciu znova) a server si udaje opat ulozi do DB.
Riesenie - jednoduche, podobne sa riesi problem so spamom, nastavte si aby user mohol posielat jeden POST poziadavok z diskusie raz za cca 15s.
Inak tuto chybu ma kopec znamych webov, cdr.cz, pctuning.cz a mnoho dalsich. Pritom riesenie je jednoduche if else na 4 riadky.
Mam pocit, ze se mi to zde jiz stalo.
Jako reseni si dovedu predstavit vygenerovani jednoznacneho cisla/identifikatoru (napr. z rostouci sequence) do kazdeho formulare prispevku. Pri odeslani by se toto cislo/identifikator zapsal jako soucast dat do databaze a pri pokusu o opetovny zapis by doslo k vyjimce z duvodu snahy o zapsani stejneho prispevku (identifikatoru).
Nevim, zda by podobne reseni bylo technicky proveditelne, to musi posoudit jini.
Puvod chyby bych videl tam, kde sice server prijme request od klienta vnitrne ho zpracuje, ale jiz nevrati response uzivateli. Ten v domeni neuspechu akci odeslani prispevku zopakuje.
Nejdrsnejsi variantou je porovnat vlastni obsah prispevku/atributy za kratkou dobu (napr. posledni 3 minuty) a nedopustit zapsani stejneho prispevku. Je to sice reseni nesystemove (hruba sila), ale s ohledem na typicky pocet prispevku za poslednich par minut asi realne. ;-)
Mam pocit, ze se mi to zde jiz stalo.
Jako reseni si dovedu predstavit vygenerovani jednoznacneho cisla/identifikatoru (napr. z rostouci sequence) do kazdeho formulare prispevku. Pri odeslani by se toto cislo/identifikator zapsal jako soucast dat do databaze a pri pokusu o opetovny zapis by doslo k vyjimce z duvodu snahy o zapsani stejneho prispevku (identifikatoru).
Nevim, zda by podobne reseni bylo technicky proveditelne, to musi posoudit jini.
Puvod chyby bych videl tam, kde sice server prijme request od klienta vnitrne ho zpracuje, ale jiz nevrati response uzivateli. Ten v domeni neuspechu akci odeslani prispevku zopakuje.
Nejdrsnejsi variantou je porovnat vlastni obsah prispevku/atributy za kratkou dobu (napr. posledni 3 minuty) a nedopustit zapsani stejneho prispevku. Je to sice reseni nesystemove (hruba sila), ale s ohledem na typicky pocet prispevku za poslednich par minut asi realne. ;-)
Toto je 3. odeslani, napoprve neproslo.
Já mám problém trochu jiného ražení, než multiklik na "Odeslat". Po odeslání příspěvek není vidět - ani po několikerém refreshi, ani po restartu prohlížeče. Objeví se až po delší době.
Dokonce jsem zaregistroval, že se po odeslání příspěvku do diskuse, kde již dva příspěvky byly, změnil udávaný počet příspěvků na titulní stránce, v diskusi však byly vidět stále pouze dva původní. Po restartu prohlížeče byl opět pod článkem údaj, že diskuse obsahuje dva příspěvky. Po cca dvou hodinách jsem znovu otevřel EHW a voila - v diskusi byly všechny příspěvky, které jsem odeslal. :D