Avatar billede zkill Nybegynder
08. marts 2010 - 10:21 Der er 8 kommentarer og
1 løsning

session læst for tidligt?

Hej,
jeg har lavet en simpel side, hvor der er en form, en knap og et hidden input felt. I det input felt, bliver der sat i id via javascript, når man klikker på en knap.

når man subimtter siden gemmes id'et i en session..
Meningen er så at hvis man trykker F5 og refresher siden, så tjekker den om id'et er det samme. Hvis det er det samme udskriver den "Samme" ellers udskriver den "Ikke samme"..

Altså id'et i session bliver kun sat hvis den kommer ind i den del der udskriver "Ikke samme".

selve den hidden input bliver opdatteret med det id der er i session. så når man klikker på knappen bliver id'et automatisk 1 højre end den som er i session og forskellig...


Men det sjove er så.. Nogle gange når man klikker på knappen kommer den ind i "Samme", selvom det burde være umuligt, idet id'et skulle være forskelligt.. Men det er som om at id'et når at blive sat i session, før den kommer ind i if-sætningen..

Håber folk forstår dette :)
Kort sagt, prøver at lave en måde så jeg undgår data bliver smidt i en sql, hvis der bliver trykket F5, men hvis de trykker på knappe skal det smides i databasen.
Dette prøver jeg at gøre via tickets gemt i sessions. men som sagt, virker det ikke for mig og kan ikke forstå hvorfor..

Håber nogen kan hjælpe..

Mvh
Zkill..
Avatar billede zkill Nybegynder
08. marts 2010 - 10:36 #1
Problemet forkommer vist kun i Firefox og explore 8... efter hvad jeg lige har set..
Avatar billede showsource Seniormester
08. marts 2010 - 10:41 #2
Det lyder kringlet.
Kan du ikke blot tjekke på om der postes, og derefter tjekke om session er sat, og hvis ikke, behandl postdata ?

Eller lav en header location efter post.
Avatar billede zkill Nybegynder
08. marts 2010 - 10:57 #3
af en sjov grund fejler min header location, den siger header er sat..

og problemet er, at man ik bare kan sætte session, for hva nu hvis du tilføjer en ny post lige efter? så er session jo sat og man kan derfor ikke tilføje en nu... derfor jeg sætter et id i session, som jeg så tjekker er det samme, eller om det er et nyt..
Men det fejler.. den når at sætte mit session id i sessionen før den overhovedet kommer til det sted hvor den skal sætte session... den del jeg ik forstår..
Avatar billede showsource Seniormester
08. marts 2010 - 11:10 #4
Nu viser du jo ikke noget kode, og det ER svært at gætte på hvilken fejl du laver.

Men en header skal sættes FØR du laver output til browseren.

Linieskift, mellemrum FØR startende php-tag er output !
Avatar billede zkill Nybegynder
08. marts 2010 - 11:48 #5
jeps i know.. mener os session_start(); tæller med som output gør den ik?

Hmm lavede lige en test udgave af min kode, som i kan ses på http://www.my-view.dk/Test/
http://www.my-view.dk/Test/index.txt <- coden..

Men sjovt her virker lortet sku uden at den skriver samme med mindre man trykker F5...
Men gør det ikke på min egen side.. hmmm underligt... må jeg kigge noget mere på.. så virker min code åbenbart..
Avatar billede zkill Nybegynder
08. marts 2010 - 11:54 #6
nåå hvis man trykker hutigt og flere gange skriver den samme nogle gange.. så koden virker alligevel ik :(

Måden fejlen fremprovokeres på, er at man bare trykker på login mange gange.. og pluselig skriver den "Samme" istedet for "Ikke Samme"...

men i kan se min code og selv teste på dit links jeg smed op...

Håber nogen kan give mig en forklaring eller noget hjælp :)
Avatar billede dkfire Nybegynder
08. marts 2010 - 13:15 #7
Du kender jo ikke noget til det som #4 skriver.

Du har et linjeskift mellem et ?> og et <?, det vil sende data til browseren! Derfor virker din header() kald ikke.
Avatar billede zkill Nybegynder
08. marts 2010 - 13:59 #8
dkfire.. jo kender skam godt noget til det..
Det er dog ikke det jeg tester eller vil teste, da det ikke er det jeg prøver at få til at virke i denne test..

jeg ville gerne undgå at sku reloade siden..
Avatar billede zkill Nybegynder
02. november 2010 - 12:39 #9
Lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester