Autor Zpráva
H
Profil *
Zdravicko mam skript ktery pocita pristupy na stranku. Bohuzel to neni dokonale, takze kdyz refresuju stranku tak se pricte +1 pristupu na stránku. Potreboval bych tomu nejak zabranit.. Docetl sem se ze se to da nejak udelat za pomoci session.

Potreboval bych vylozene aby se pricitani neprovedlo jen kdyz uzivatel refresuje stranku.

Diky
mattyZEM
Profil
ještě před jakýmkoliv vstupem zavolej:

<?php
session_start();
?>


U hlasu (hned po zpracování) dej:
$_SESSION['uzhlasoval']=1;


A celý ten script dej do:
if(!isset($_SESSION['uzhlasoval'])){
// tu dáš ten script na zpracování
}

a hotovo

Kdyby jsi mi sem dal celý script, tak bych to upravil, takto si to musíš udělat sám :)
Btw, já bych použil log IP adres
H
Profil *
mattyZEM:

Díky moc za odpoved! Tohle ale neni presne to co potrebuju...

Predstav si tuhle situaci.

Nekdo prijde na stranku a zmackne tlacitko pro "hlasovani" - Do databaze se zapise +1 hlas. Ted ten nekdo refresuje stranku a do databaze se pripise zase +1 hlas. Kdyz to tak udela 10x pripise se +10 hlasů. Tohle chci nejak osetrit aby se nepripisovalo znovu a znovu po refreshu stranky.

Kdyz pride ten samy navstevnik na stranku znova nechci porovnavat jestli uz z jeho ip bylo hlasovano a tim mu zamezit dalsi hlasovani.

Proste chci ciste zamezit jen tomu aby se kod vykonaval znova a znova kdyz navstevnik refresuje stranku, stim ze ten dotycny muze hlasovat kolikrat chce.

Snad uz je to ted jasne:)
mattyZEM
Profil
Nechápu to, btw, používej diakritiku...

Názorná ukázka by mi pomohla lépe ;)
slim12
Profil
uloz do databaze IP adresu navstevnika a pak jen oveřuj jestli uzivatelova adresa IP uz je ulozena v databaze:
IP zjistisš pomoci:
$_SERVER['REMOTE_ADDR'];
nightfish
Profil
H:
jakmile zapíšeš do databáze informaci o hlasování, přesměruj na tutéž stránku pomocí
Header("Location: skript.php");
H
Profil *
mattyZEM:
bez diakritiky se lip pise;)

Tak ja uz nevim jak to lip popsat. Proste chci aby se do databaze zaznamenalo uplne kazde zmacknuti tlacitka a nezaznamenavalo by se to kdyz nekdo refresuje stranku.

Nejlip bez jakehokoliv presmerovani a podobnych zpusobu.

Neco na zpusob:
IF ZMACKNUTO TLACITKO
SET SESSION
PROVED ZAPIS DO DB
ENDIF;

IF "CLOSE PAGE"
DESTROY SESION;

Vim ze se asi neda napsat nic takoveho jako znic session kdyz se zavre stranka. Mozna by bylo nejlepsi pri kazdem dalsi navsteve stranky zniccit stare session a po zmacknuti tlacitka vytvorit nove session aby se zamezilo opakovane vykonani skriptu kdyz nekdo refreshne stranku.

Moderátor Majkl578: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.

Pravidla
mattyZEM
Profil
H:
Už jsem pochopil. Teoreticky by to šlo jednoduše složitě, ukládat poslední navštívenou stránku. Pokud je stejná jako ta, kde může dát F5 tak nezapsat. Ale je to nevýhoda, musel by jsi to udělat u každé stránky.
Nebo pokud by jsi chtěl použít session, mohl by jsi využít toho, že se session smaže až po refreshi stránky, ale nevím jak to máš napsané, takže toto nemusí fungovat.

Nevím přesně jak funguje $_SERVER['HTTP_REFERER'], možná by pomohl, ale to nevím jistě.

bez diakritiky se lip pise;)
Je to proti pravidlům.

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: