Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

napravio sam anketu ali imam problem sa BACK dugmetom browsera

[es] :: PHP :: napravio sam anketu ali imam problem sa BACK dugmetom browsera

[ Pregleda: 2599 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

fusion3

Član broj: 109920
Poruke: 40
77.222.3.*



Profil

icon napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 10:17 - pre 191 meseci
Pozdrav svima.
Napravio sam anketu koja ima cetiri radio buttona. Kada posetilac izabere neku od opcija i klikne na dugme 'posalji' poziva se skripta koja odradjuje posao tj. broji glasove, prikazuje posetiocu rezultate ankete i postavlja mu cookie da ne bi glasao dva puta. Ovaj cookie radi ok i u svim narednim posetama stranice ne prikazuje radio buttone jer je posetilac vec glasao.

E sad moj problem je BACK dugme browsera jer posetilac, u trenutku kada glasa i prikazu mu se rezultati i uklone se radio buttoni, jednostavno klikne na BACK dugme i sve se vrati na staro i moze opet da glasa. Resenje za ovaj problem ima recimo nba.com sa svojom anketom (kod njih kad glasate i kliknete BACK vrati vas na neku prethodnu stranicu ili web sajt sa kojeg ste dosli).

Pozdrav i hvala na potencijalnim odgovorima...
 
Odgovor na temu

beep
Srbija/Vrbas

Član broj: 19294
Poruke: 198
*.adsl-1.sezampro.yu.

Sajt: keselj.xyz


+1 Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 11:06 - pre 191 meseci
Koristi sesije ....
 
Odgovor na temu

fusion3

Član broj: 109920
Poruke: 40
77.222.3.*



Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 11:16 - pre 191 meseci
Citat:
beep: Koristi sesije ....

Kako sesije, moze li neko da mi pojasni na nekom krajnje jednostavnom primeru ovaj moj slucaj koristeci sesije?
 
Odgovor na temu

Miroslav Ćurčić
ex mVeliki
Novi Sad

Član broj: 19034
Poruke: 1118
*.adsl.beotel.net.



+19 Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 12:47 - pre 191 meseci
Sa Back se posetiocu najčešće vraća keširana stranica,
i ti tu ne možeš ništa,
zamisli da je neko tvoju stranicu snimio sa "Save page as...", svaki put kad je otvori imaće prikazanu formu.

Rešenje je da sa serverske strane,
kad detektuješ da neko nema prava glasanja jednostavno ignoriši/preskoči deo za obradu glasanja.
"The quieter you become, the more you are able to hear."
Blog | PowerCMS
 
Odgovor na temu

fusion3

Član broj: 109920
Poruke: 40
77.222.3.*



Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 13:12 - pre 191 meseci
Sesije su server side, dobro. Ali ja to ne znam da odradim, nisam dobar sa sesijama. Ako neko ima vremena da to pokaze... svaka je pomoc dobrodosla.
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 15:07 - pre 191 meseci
Upoznaj se sa sesijama: http://www.php.net/manual/en/book.session.php :-)

A evo ti primer:

Na stranici gde je forma, napravis ovako nesto:

Code:

<?php 
  session_start();
  
  echo "<input type='textbox' name='username' value=' ". $_SESSION['username_form'] . " ' />";
?>


Na stranici gde obradjujes podatke iz forme, uradis ovako:

Code:

<?php
  session_start();

  if(isset($_POST['username']))
  {
     $_SESSION['username_form'] = $_POST['username'];
  }

  ovde
  ide
  neki 
  tvoj 
  kod 
  sta 
  god
  . . . 
  // I sad ako je doslo do greske, vratis ga na prethodnu stranicu sa formom .... 
  // I u formi ce se ispisati ono sto je korisnik prosli put uneo :-)) 


Ukratko: Sesije su ti Superglobalne promenljive ( ili nizovi, sta god :p ), koje jednom kad se definisu, postoje na svakoj stranici .... :-) Za vise informacija, imas gore link do manual-a ;-)

EDIT: Nisam dobro shvatio problem ( al nisam obrisao ovo gore, zato sto moze nekom drugom da pomogne, mozda :P )

Uglavnom,

Na stranici na kojoj se glasa, stavis ovako nesto:

Code:

  session_start();
  
  // Proveri da li je korisnik vec glasao 
  if ($_SESSION['glasao'])
  {
  // Ako jeste, prikazi mu gresku
  }
  else 
  {
   // ako nije, prikazi mu formu za glasanje
  }


Na drugoj stranici, gde obradjujes rezultate, stavis ovako:

Code:

  session_start();
  
  // Proveris da ne pokusava da zajebe skriptu, pa da na kvarno glasa ( da li je vec glasao )
  if ($_SESSION['glasao'])
  {
  // Ako jeste, oteraj ga u ..... :p
  }
  else
  {
  // Ako nije, obradi podatke sa ankete
  // I podesis da je glasao:
  $_SESSION['glasao'] = 1;
  }




Pozdrav !!
 
Odgovor na temu

fusion3

Član broj: 109920
Poruke: 40
77.222.4.*



Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 23:01 - pre 191 meseci
Hvala, hvala Man-Wolf na ovako iscrpnom odgovoru. Malo sad moram da ovo eksperimentisem pa cemo videti gde smo.
Pozdrav...
 
Odgovor na temu

Man-Wolf
Mihailo Joksimovic
Beograd

Član broj: 17016
Poruke: 873
*.eunet.yu.



+13 Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera25.07.2008. u 23:44 - pre 191 meseci
Nema na cemu :-)

P.S. Ako zapnes negde, baci deo koda, da vidimo konkretno kako sve izgleda ;-) Pozdrav !
 
Odgovor na temu

stough_ser
stojadinovic milan

Član broj: 57571
Poruke: 84
*.eunet.rs.



Profil

icon Re: napravio sam anketu ali imam problem sa BACK dugmetom browsera31.07.2008. u 08:21 - pre 191 meseci
jel proveravash kukije na toj stranici?

ako ne, kako bi on mogo da zna? ;)

koristi sesije, mnogo je bolje i lakshe.
 
Odgovor na temu

[es] :: PHP :: napravio sam anketu ali imam problem sa BACK dugmetom browsera

[ Pregleda: 2599 | Odgovora: 8 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.