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

Refresh bez submit-a

[es] :: PHP :: Refresh bez submit-a

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

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

melez
mrazdeda
Beograd

Član broj: 49761
Poruke: 81
*.adsl.sezampro.yu.



Profil

icon Refresh bez submit-a04.06.2006. u 15:25 - pre 217 meseci
Kada popunim formu i pritisnem dugme submit podaci se upisu u bazu i otvori se novi ekran gde pise da su podacu uspesno uneti i ispod toga lista unetih podataka. Ako na toj strani pritisne refresh dugme u browseru on ponovo unese iste podatke u bazu (dodaje u bazu iste podatke samo menaj ID). Kako mogu da resim ovaj problem u mom PHP fajlu? Da li se moze nekako spreciti da on ponovo salje informacije ili onemoguciti refresh?

Pozz
 
Odgovor na temu

mkele
Beograd

Član broj: 15940
Poruke: 24
..njuel-bg.customer.sbb.co.yu.



Profil

icon Re: Refresh bez submit-a04.06.2006. u 15:34 - pre 217 meseci
Postavi barem jednu kolonu u bazi na uniqatnu
 
Odgovor na temu

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
..nis1-nis.customer.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon Re: Refresh bez submit-a04.06.2006. u 15:34 - pre 217 meseci
Uradi redirekciju posle submita na neki URL, i najbolje da ti taj novi URL radi i verifikaciju podataka

Code:

header("Location: $url");


help: http://php.net/header
 
Odgovor na temu

melez
mrazdeda
Beograd

Član broj: 49761
Poruke: 81
*.adsl.sezampro.yu.



Profil

icon Re: Refresh bez submit-a04.06.2006. u 17:07 - pre 217 meseci
postoji kolona koja je primary key ali kazem kada se uradi refresh on ponovo doda podatke ali pod sledecim brojem


pr.key name age
1 aca 20

refresh

pr.key name age
2 aca 20
 
Odgovor na temu

mkele
Beograd

Član broj: 15940
Poruke: 24
..njuel-bg.customer.sbb.co.yu.



Profil

icon Re: Refresh bez submit-a04.06.2006. u 19:32 - pre 217 meseci
Postoji razlika izmedju unikatnog i primarnog:

A UNIQUE index creates a constraint such that all values in the index must be distinct. An error occurs if you try to add a new row with a key value that matches an existing row...

http://dev.mysql.com/doc/refman/5.0/en/create-table.html

Ako ne zelis sa ovim da se bakces, mozes da napravis internu proveru, verifikaciju, pre ubacivanja podatka u bazu tipa: "Ako postoji ovaj podatak u tabeli, onda ga ne upisuj!";
Posle svakog refresh-a korisnik dobija, a i ne mora, poruku:"Ovaj podatak (npr. username) vec postoji"
 
Odgovor na temu

The Sekula

Član broj: 53829
Poruke: 76
*.eunet.co.yu.

Sajt: www.sekulovic.net


Profil

icon Re: Refresh bez submit-a07.06.2006. u 10:24 - pre 217 meseci
Prosto resenje je da na stranici gde ti je formular postavis u session promenlive flag, recimo $_SESSION['insert'] = true;, a da zatim na strani koja unosi podatke prvo proveris da li je fleg setovan na true, ako jeste resetuje se na false i radi se insert. Ako nije samo ispises podatke.


Jos bolje resenje je da to ne bude prost true/false fleg, vec da bude brojac koji ces inkrementirati na svakoj strani, ali i prosledjivati vrednost kroz formular. Time sprecavas slozenije back/forward/refresh scenarije. Znaci pre svega imas brojac u session varijablama koji inkrementiras na svim stranama. U formularu imas hidden polje gde upisujes trenutnu vrednost brojaca. Na stranici koja radi insert radis insert samo ako je trenutna vrednost brojaca za jedan veca od vrednosti prosledjene kroz formular.
 
Odgovor na temu

Dejan Krstic

Član broj: 479
Poruke: 2558



+1 Profil

icon Re: Refresh bez submit-a07.06.2006. u 20:28 - pre 217 meseci
Covek ima problem sto mu browser radi post ka stranici kad uradi refresh i ne kapiram kakve veze ima da li je polje unique ili nije.

Resenje je jednostavno da nakon sto se izvrsi unos podataka uradi redirekcija ka nekoj drugoj stranici a to je najbolje sa header funkcijom php-a kao sto je vec neko napisao gore.
 
Odgovor na temu

dariodosen

Član broj: 61039
Poruke: 28
*.cmu.carnet.hr.



Profil

icon tako je dejane13.06.2006. u 21:03 - pre 217 meseci
if (isset($_GET['action'])){header('location: '.$_SERVER['PHP_SELF'].'?kosarica=1'); }
u headeru i gotovo!
Ovo je moj primjer za web shop.
action inace ide na flagove pod pojedine vrste naredbi, recimo $_SERVER['PHP_SELF'].'?action?=delete...
recimo:
if (isset($HTTP_GET_VARS['action'])) $action = $HTTP_GET_VARS['action'];
switch ($action) { ..... } itd.
i to sve još u headeru,
zatim

if (isset($_GET['kosarica'])){
echo 'Sadržaj vaše košarice';
echo prikazi_kosaricu();

gdje je funkcija prikazi_kosaricu() naravno definirana u include file-u.
U svakom slučaju, nakon što se izvrši naredba kada se klikne (isset je true)
ne bi smjelo stajati u address baru action?=delete.

Da li netko zna kako izvesti verifikaciju registracije s onim iskrivljenim slovima, koja se moraju prepisati?
Jeli tu neophodan GDI library ili nije.
Što se same generacije znakova tiče, to mislim da bih znao izvesti, ali te efekti sa slovima ne znam kako kreirati.

[Ovu poruku je menjao dariodosen dana 13.06.2006. u 22:15 GMT+1]
 
Odgovor na temu

neddim
Mali Veliki
Salzburg

Član broj: 73995
Poruke: 110
195.222.49.*

Sajt: www.radiosarajevo.ba


Profil

icon Re: Refresh bez submit-a14.06.2006. u 23:44 - pre 217 meseci
Najjednostavnije rijesenje.
Ubaci HTML tag za redirekciju u body-te stranice na kojoj se izvrsava refresh i podesi ga na "0".
Napravi tu drugu stranicu gdje se zahvaljujes, a ovu na koju se upucuje nakon submita ostavi praznu i to je to.

Evo ti tag:

<META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.tvojastranica.com">

I tu nece biti nikakvih problema.
Ne vidim zasto komplikovanim putem.
 
Odgovor na temu

[es] :: PHP :: Refresh bez submit-a

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

Postavi temu Odgovori

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