08. juni 2010 - 22:27Der er
6 kommentarer og 1 løsning
Aktivere filter1(submit form), dernæst aktiver filter2(submit form igen) og efterfølgende bruge back-knappen
Jeg har en side hvor der er en form. Formen indeholder flere felter der kan bruges som filter, f.eks. dato, bruger osv.
Brugeren kan vælge f.eks. en dato og så submitte formen. Efterfølgende vises kun poster fra databasen fra denne dato. Brugeren vælger efterfølgende at aktivere endnu et filter og submitte formen igen. Nu vises kun poster fra databasen der er filtreret efter begge filtre.
Alt dette fungerer som det skal.
Vælger brugeren så at bruge sin BACK-knap (i browseren), kommer der en "Websiden er udløbet", hvilket er meget naturligt idet browseren kan se at den tidligere side er baseret på en submitted form.
Hvordan gør jeg således at brugeren kan bruge tilbageknappen og få en valid side, uden at skulle trykke på opdater.?
Ved brug af tilbageknappen har jeg ikke forventning om at det sidste submittede filter bliver pillet af ,men f.eks. at brugeren vender tilbage til siden som den var inden der blev aktiveret filtre.
hvis du nu submitter formen til en php-fil, der blot sender brugeren videre (via header()) til siden, med filteret tilføjet, skulle det ikke være et problem.
showsource har ret i, at GET ikke kræver at siden skal genindlæses, modsat POST. Der er så også andre forskelle mellem de to, og POST bruges typisk til at sende en form, hvorimod GET bruges til links mv.
Sådan gør jeg det i hvert fald.
Selvom du submitter til den samme side, kan du godt lave en header("location: ...");
Så længe du ikke har skrevet noget til skærmen inden. Så kan du bare sætte location til samme side igen.
Synes godt om
Slettet bruger
10. juni 2010 - 08:45#6
Den nuværende opbygning tillader ikke en header.
Dette skyldes at jeg bruger alle værdierne der postes hver gang.
Jeg er nok nødt til at lave en anderledes opbygning, hvor post-værdierne stoppes i nogle sessionsvariabler, og der så tjekkes på disse i stedet.
Så vil det være muligt at lave en header når disse værdier er gemt.
Showsource...> Læg et svar og der er point på vej.
jaahhh, det nemmeste er at bruge get, hvilket iøvrigt også gør at søgemaskiner nemt finder frem til "undersider". Ulempen er jo url ikke er så køn ?
Og du kan næppe gøre noget med sessions, og samtidig lade brugeren bruge backspace. ( Eller måske med en session "counter" af hits ? )
Noget ajax script kan nok klare det, men hvorfor ta' brød med til bageren ?
Synes godt om
Ny brugerNybegynder
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.