View Full Version : disable refresh problem
pozdrav drugari!
evo opet mene sa problemima. za sada mi rjesavanje dobro ide, a ni vi niste losi. ha-ha.svaka cast.
na jednom php dokumentu imam tablicu i formu za unos podataka u tu tablicu. kada kliknem vise puta na submit button, on mi isti unos ponovi vise puta, isto to se desava i sa refreshom.
ima li kakva funkcija koja te pojave eliminira. npr nesto u javi sto kaze "disable refresh" ili u php , "disable button".
ako nema , na koji je to najbolje nacin rjesit?
hvala puno
ciao, opet ja.
proba sam sa sessionsima rijesit problem, ali opet mi ostaju podaci u cacheu. tako da pri svakom parnom kliku mi se vrate oni pocetne pocetne varijable.
pa vidjoh da tu nema kruha. jednostavnije je ovako.
Header("Refresh: 0; url=stranica.php");
sve se ucita, ovo se refresha, cache negdje ode i ne vraca se vise.
zakon.
ako ima netko nessto bolje neka javi.
aj zivili.
ima li kakva funkcija koja te pojave eliminira. npr nesto u javi sto kaze "disable refresh" ili u php , "disable button".
javascriptu.
Ovako nesto ce iskljuciti dugme i spreciti da se podaci dva puta proslede:
<script language="javascript">
function submitForm() {
document.forms["forma1"].button.disabled = true;
document.forms["forma1"].submit( );
submitForm = blokiraj;
return false;
}
function blokiraj() {
return false;
}
</script>
<form method="POST" name="forma1" action="dalje.php">
<input type="button" value="Dalje" onClick="return submitForm();" name="button">
</form>
Sto se tice refresha, jedan od nacina je to sto si napisao ili da u formu stavis jedno hidden polje koje ce sadrzati jedinistveni ID. Unikatni identifikator mozes da kreiras pomocu php funkcije uniqid(). Zatim kada se forma prosledi taj ID smestis u posebnu tabelu. I dalje je prosto. Na pocetku proveris da li je taj ID u tabeli: ako jeste ne radi se nista, ako nije radis upis. Tabelu treba prazniti sa vremena na vreme mada su sanse da se ponovi isti ID vise nego zanemarljive.
Medjutim, nijedan od ovih nacina nece spreciti nekog da se vrati nazad i resubmituje. 100% pouzdan nacin da se ovo eliminise koliko znam ne postoji. Jedino postavljanje malih slika sa tekstom i polja za proveru da li su znakovi na slici isti sa unetim znakovima.
Pozdrav
ej
cita sam nesto o tom uniqid, samo mi se cinilo da ima nekih procedura u vezi njega, pa sam nekako odmah u startu odustao (nova tablica, praznjenje tablice i tako to).
ali mi se ipak cini da je ovaj refresh skroz ok. user ucini svoje, submituje neki novi unos, ti mu das poruku da je sve proslo ok, on se malo zacita u poruku, kad ono refresh za 2 sekunde. skine mu "submit message" i sve se radi ispocetka. pa neka onda refresha i submituje opet koliko hoce.
aj vidit cu ima li jos koja alternativa, pa cu javit kakovi su rezulati.
aj
vBulletin® v3.7.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.