Avatar billede ackers.tk Nybegynder
21. juni 2005 - 00:26 Der er 13 kommentarer

javascript:history.back() og refresh

hey!

Jeg har et problem med mit knap som sender brugeren tilbage på min side hvis ikke de har udfyld de fornødne informationer. Problemet er at IE fortæller den velkendte side om "siden er forældet" men hvis man efterfølgende trykker f5 (refresh) findes siden altså fint nok.

Mit problem er når man trykker på knappen jeg har lavet det så man ryger 1 en side tilbage men man modtager denne besked om siden er forældet trods den den findes. er det muligt og lave en knap som har følgende javascipt på sig -

java script:history.back() + refresh ?

Håber der er nogle som kan hjælpe mig

VH acker
Avatar billede ackers.tk Nybegynder
21. juni 2005 - 00:33 #1
min side er skrevet i php findes der evt en anden måde at gå 1 trin tilbage på uden jeg modtager "siden er forældet" meddelelsen?
Avatar billede thesurfer Nybegynder
21. juni 2005 - 01:12 #2
Hvorfor vil du gå tilbage, når du bare kan aflæse felterne, og udfylde dem med PHP...? :-)

<?php
hvis alt er iorden {
send data
} else {
?>

<input type="text" name="navnet" value="<?php AflæsFelt("navnet) ?>">

<?php
}
?>

eller hvordan I nu gøre i PHP.. :-)

Det skal lige siges, at "AflæsFelt" skal erstattes af koden, der aflæser feltet fra formen..

På den måde, behøver ikke at gå tilbage..

/theSurfer
Avatar billede thesurfer Nybegynder
21. juni 2005 - 01:13 #3
hmm.. jeg tror at det er sådan her: value="<?php echo $_REQUEST["navnet"]; ?>">

/theSurfer
Avatar billede roenving Novice
21. juni 2005 - 10:25 #4
To ting:

For det første kan du fange alle de almindeligste problemer ved at smide noget validering ind i formularen og kun afsende den, hvis de nødvendige informationer er udfyldt ...

Der vil dog ofte være brug for f.eks. database-opslag for at validere input, så den kan selvfølgelig ikke bruges alene, ligesom du alligevel altid skal validere input server-side, hvis du skal opbevare det !-)

For det andet skal du ikke benytte dig history til at omdirigere, for du kender jo urlen på den side, brugeren skal dirigeres tilbage til, så du skal i dit serverside script sørge for at sætte en header til location.replace(urlen) !o]
Avatar billede thesurfer Nybegynder
21. juni 2005 - 10:30 #5
Med koden i 21/06-2005 01:12:13, kan man sikre sig, at værdierne bkiver valideret.. også selv om JavaScript er slået fra, hos brugeren.. JavaScript øger brugervenligheden.. men er ikke nødvendig..

Den endelige validering skal altid ske på serversiden..

/theSurfer
Avatar billede roenving Novice
21. juni 2005 - 10:41 #6
>>Strandløve

Øeh, hvordan ændrer det det, jeg har skrevet ?-)

-- det væsentligste indhold er at man skal bruge location.replace, og ellers gentager du bare hvad jeg har skrevet ...
Avatar billede roenving Novice
21. juni 2005 - 10:43 #7
-- og problemet man skal sikre sig imod er ikke væsentligst at brugerne ikke har  javascript (selvom man så også fanger de 3 på verdensplan, som har det problem !-), men at ondsindede kan opfange den url, der fyres af mod, og så lægge alle mulige og umulige koder i en helt anden formular, som f.eks. kan bruges til SQL-injection !o]
Avatar billede thesurfer Nybegynder
21. juni 2005 - 10:53 #8
hehe.. Det var ikke en ændring, blot noget info :-)

..og plejer du ikke at sige 6%-14% på verdensplan.. ;-)

/theSurfer
Avatar billede roenving Novice
21. juni 2005 - 10:57 #9
Jo, men da du så skal fratrække alle søgemaskine-robotter, email-harvesters og hvad-ved-jeg, ender du med ganske få !-)
Avatar billede olebole Juniormester
22. juni 2005 - 22:13 #10
<ole>

Tallet svinger erfaringsmæssigt ganske voldsomt over tid. Som oftest stiger antallet kraftigt en tid efter MS er kommet med en ny IE-version - og sikkerhedsfejlene begynder at vise sig. MS kommer efter sigende snart med IE7.0, så det bliver spændende at se, om det sker igen  ;o)

Sjovt nok sker det samme ikke, når Moz kommer med en ny version. Forskellen er formodentlig, at MS ikke har det enorme, religiøse hylekor, der traditionelt slutter om Moz - og som til syneladende blænder folks kritiske sans i voldsom grad  :)

/mvh
</bole>
Avatar billede ackers.tk Nybegynder
22. juni 2005 - 22:57 #11
ok det var meget på én gang men ok. Jeg har bygget det op så folk skal udfylde de nædvendige info før de kan komme videre og problemet er kun hvordan jeg får brugeren sendt tilbage til foregående side uden den der meddelelse om siden er forældet springer frem...
Avatar billede thesurfer Nybegynder
25. juni 2005 - 02:28 #12
ackers.tk> Du skal IKKE sende brugeren tilbage... :-)
Se 21/06-2005 01:12:13

Validering:
1) Først checker du, om alt er iorden, via JavaScript
2) Hvis alt er ok, sender du dataene (submitter)
3) Derefter checker du oplysningerne, via PHP
4) Hvis alt er ok, smider du dataene i database, eller hvad du nu vil..
5) Hvis der er noget galt, "tegner" du formen op igen, og samtidigt indsætter du de opgivne oplysninger

Forstår du det? Sig endeligt til.. :-)

/theSurfer
Avatar billede ackers.tk Nybegynder
26. juni 2005 - 09:56 #13
ah det giver mere mening. kigger lige på min koder og ptøver at teste det.
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