Ošetrenie dvojnásobného spúšťania PHP skriptu

Programovacie jazyky, rady, poradňa...
optimistavf
Novice
Novice
Príspevky: 3
Registrovaný: 02 sep 2010, 22:43

Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa optimistavf »

Zdravím Vás, potreboval by som radu ohľadom ošetrenia stránky pred jej dvojnásobným spustením. Ide mi to aby keď si uživateľ otvorí dvakrát tú istú stránku (aj v iních prehliadačoch) tak mu vypísalo nejakú chybu, tá by tak ukončila skript, ktorý by následne nemohol prebehnúť. Aké by ste zvolili riešenie? Deklarácia globálnej premennej, ktorej by bola pomocou js následne odobratá hodnota ak by sa uživateľ rozhodol stránku vypnúť? Jediné riešenie, ktoré mi napadlo no javascript by som do toho nerád pridával. Vďaka.

Ak tu náhodou bol rozoberaný podobný problém tak sa vopred ospravedlňujem.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa audiotrack »

ten javascript ti ale neošetrí dva rôzne prehliadače ako si spomínal. Asi bude jediná možnosť pomocou prihlasovania - len keď je prihlásený, vieš že je to on a vieš si to ošetriť. Inak nedokážeš zistiť či je to tá istá osoba ale z iných prehliadačov. Aspoň mne teraz žiaden spôsob nenapadá
Skyer
Light Star
Light Star
Príspevky: 231
Registrovaný: 30 mar 2010, 15:41
Bydlisko: Bratislava

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa Skyer »

Navrhujem podobné riešenie, podľa môjho názoru by sa dal pre každú IP urobiť nejaký session s globálnou premennou, ktorý by viacnásobnému spusteniu zabránil.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa audiotrack »

Skyer napísal:Navrhujem podobné riešenie, podľa môjho názoru by sa dal pre každú IP urobiť nejaký session s globálnou premennou, ktorý by viacnásobnému spusteniu zabránil.
lenže jednu IP môže mať viac rôznych ľudí (ak sú napríklad za NATom). Pokiaľ sa ten človek neidentifikuje jednoznačne sám (prihlásenie) tak nevieš rozlíšiť či je jeden prístup z dvoch miest rovnaký, alebo nie (cháp. rovnakej osoby).
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8224
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa harrison314 »

Nie som si sttopercentne isty, ale hostname by malo byt unikatne, pridas nejaky token.
A pouzil by som Databzu namiesto session.Myslim ze cookies sa da nejako oklamat.
Len tu moze nastat prblem ked da refresh, alebo bude mat ju otvorenu dlho a potom otvori inu.
V takomto pripade by som pouzil AJAX aby v pravidelnych intervaloch obcerstvovalo databazu.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa audiotrack »

tým "pridáš nejaký token" a tým session si práve napísal to čo ja, že sa má prihlasovať :)
optimistavf
Novice
Novice
Príspevky: 3
Registrovaný: 02 sep 2010, 22:43

Re: Ošetrenie dvojnásobného spúšťania PHP skriptu

Príspevok od používateľa optimistavf »

Na tej stránke mi beží ajax, ktorý volá každých 10 sekúnd php súbor, ktorý updatuje databázu. V podstate mi stačí ošetriť to, aby v prípade že užívateľ má otvorenú tú istú stránku dvakrát nemohla prebehnúť aktualizácia databázy, ale miesto toho by v inom bloku zobrazilo chybové hlásenie.

Cez session to nepôjde.. jedine, že by tam bola nejaká funkcia, ktorá by vymazala hodnotu v prípade zatvorenia okna.
Napísať odpoveď