Avatar billede masteraaen Novice
08. marts 2012 - 10:38 Der er 3 kommentarer og
1 løsning

Gå tilbage - husk det indtastede i form

Hej.

Jeg har en form, hvor brugeren skal indtaste nogle oplysninger.

Oplysningerne testes, og hvis der er fejl, får brugeren en meddelelse om det, og så skal trykke på nedenstående link for at gå tilbage.

På det ene site, jeg har, der kommer brugeren tilbage til sin form, og den husker, hvad der før var indtastet.

På det andet site får man en "websiden udløbet" meddelelse i IE, i stedet for at komme tilbage til den udfyldte form. Så kan man naturligvis gensende oplysningerne ved F5+Enter, men det er der nok mange, der ikke ved.

Hvordan sørger jeg for, at man kommer tilbage til formen uden at få den kedelige besked?

Jeg bruger i beggge tilfælde:

<A HREF='java script:java script:history.go(-1)'>>> Gå tilbage</A>
Avatar billede olebole Juniormester
08. marts 2012 - 13:14 #1
<ole>

Først validerer du de indtastede data med JavaScript, inden formen submittes. Er der fejl, submittes formen ikke, men brugeren bedes rette fejlen(e).

Derefter validerer du data på serveren. Er der fejl, gemmes data i en session og brugeren sendes tilbage til formen med en location header.

På siden med formen hentes data fra session og indskrives i felterne.

/mvh
</bole>
Avatar billede masteraaen Novice
08. marts 2012 - 19:52 #2
Ok. God idé.
Nu er brugeren logget på, og en session er derfor igang. Ved du, om man kan have flere sessioner i gang pr. bruger, eller skal man bare køre videre under samme?
Kunne forestille mig, det ville være smart at dele op, så man kunne "flushe" den del af sessionen, der ikke længere skulle bruges...(?)

Uanset hvad, må du gerne lave et svar. Tak :-)
Avatar billede olebole Juniormester
09. marts 2012 - 12:39 #3
Ellers tak, jeg samler ikke point. Læg selv et svar og accepter det, så tråden lukkes  =)

Du opretter bare en ny sessionvariabel. Den kan jo godt være et associativt array med de indtastede data:

if (FEJL_VED_VALIDERING) {
    session_start();
    $formdata = array(
        'fornavn' => 'ole',
        'efternavn' => 'bole'
    );
    $_SESSION['formdata'] = $formdata;
   
    header('Location: formside.php');
    exit();
}

Så er det let at slette data igen
Avatar billede masteraaen Novice
11. juni 2012 - 10:39 #4
tak alligevel :-)
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