Php session se gubi nakon refresh-a

Pozdrav svima!
Naišao sam na problem opisan u samom naslovu.Evo o čemu se točnije radi…

Korisnikčko ime se (pomoću sessiona) nakon uspješnje registracije i logiranja ispisuje na vrhu svake stranice.Tako je i na stranici na kojoj korisnik popunjava formu za unos podataka.Klikom na submit button,na sljedećoj stranici potvrđuje se točnost unesenih podataka.I dalje je na vrhu njegovo korisničko ime.Sada bi na toj stranici trebao biti link ‘Natrag’ na predhodnu stranicu.Međutim klikom na taj link session se izgubi i dobijem stranicu za logiranje,odnosno poruku o neispravnom korisničkom imenu,umjesto željene stranice,sa ulogiranim korisnikom.

Stvar se može djelomično riješiti javascriptom,vraćanjem za korak natrag:

Natrag

Međutim…problem je u tome što bi se ta stranica trebala osvježiti i ispisati podatke u tablici,koje je korisnik unio u formu na istoj toj stranici.
Klikom na refresh u browseru,dobijem ono što trebam,ali mene sada zanima:

Na koji način se vratiti korak natrag (preko javascripta) i u isto vrijeme osvježiti stranicu,ili kako izvesti da se preko HTML linka na točno tu stranicu,session ne izgubi.

Nadam se da sam donekle jasno opisao problem,bez pretjeranih detalja,radi se o diplomskom radu,i molim za bilo kakvu pomoć.U nadi da je ovo za korisnike ovog foruma ‘mačji kašalj’,unaprijed zahvaljujem na odgovorima…

malo je skupo, a još smo najjeftiniji :smiley:

[quote=“dpolo”]Natrag
[/quote]

Ne kuzim bas tvoj problem …

… al ovo tu ti nije bas ispravno. Mozes ovako nesto:

Natrag

Provjeri dali imaš na svim stranicama na vrhu:

lol, nisu ni tabovi savršeni :smiley: čitam jedan tab nešt pogledam i vratim se na krivi tab i napišem odgovor koji se opće ne odnosi na thread, haha

Riješio sam problem!
Radi se o tome da se prilikom vraćanja na predhodnu stranicu učita stranica koja na početku ima petlju za provjeru ispravnosti korisničkog imena i lozinke.Prilikom osvježavanja ona očekuje unos tih podataka,pa zato i javlja takvu grešku.
Jednostavno sam napravio novu stranicu sa identičnim kodom ali na njoj izbacio tu provjeru.Link ‘Natrag’ sada vodi na tu novu stranicu.
Možda malo primitivno,ali funkcionalno rješenje!

if (isset($_POST[‘submit’])) {

// obradi formu

}

Eto, jednostavno rjesenje, ako se nesto posalje sa forme, onda se obradjuje, inace radis sta ti treba (prikaz ili stavec).

[quote=“ivan.skugor”]if (isset($_POST[‘submit’])) {

// obradi formu

}

Eto, jednostavno rjesenje, ako se nesto posalje sa forme, onda se obradjuje, inace radis sta ti treba (prikaz ili stavec).[/quote]

Aha…to me je baš zanimalo,nisam do sada koristio isset,u fazi sam učenja.
Znači to bi značilo ako je forma već prije ‘submit-irana’,više ne traži unos podataka,nego nastavi koristiti te podatke i kreni dalje kroz skriptu…valjda tako nešto?
Zahvaljujem!

[quote=“dpolo”]Aha…to me je baš zanimalo,nisam do sada koristio isset,u fazi sam učenja.
Znači to bi značilo ako je forma već prije ‘submit-irana’,više ne traži unos podataka,nego nastavi koristiti te podatke i kreni dalje kroz skriptu…valjda tako nešto?
Zahvaljujem![/quote]

Ovaj dio:

isset($_POST[‘submit’]’)

ce biti istinit jedino ako u formi postoji input sa name atributom submit:

...

i ako je korisnik stvarno pozvao skriptu preko submita forme.

Znaci,

prvi put pozoves skriptu, forma nije submitana i stoga nije postavljen $_POST[‘submit’] (u biti moze biti bilo sta iz forme, ja volim koristiti submit input element) te mozes ispisati formu. Ukoliko je forma submitana, taj $_POST ce biti postavljen i mozes obradjivati formu (moras provjeriti sta sve ti je submitano i validirati to sta dobijes).


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja