Results 1 to 2 of 2

Thread: Doorgeven van een meegestuurde tag tussen 2 actions

  1. #1
    Member
    Join Date
    Jan 2003
    Location
    Enschede
    Posts
    49

    Doorgeven van een meegestuurde tag tussen 2 actions

    Hallo allemaal

    Ik ben bezig met een project waarbij gebruikers een planning kunnen zien, dingen kunnen invoeren, etc.
    Voor elk bedrijf heb ik een database gemaakt. De gebruiker moet dan als volgt bij de cgi komen:

    http://testserver/<bedrijfsnaam> (dus bv testserver/philps). Vanuit deze dir volgt er een link naar de cgi bin:

    http://testserver/cgi-bin/webtest.exe?bedrijf=<bedrijfsnaam>

    Nu komt er een inlogscherm waar deze persoon zijn naam en wachtwoord op kan geven. Door die bedrijfsnaam weet ik van welk bedrijf de persoon afkomstig is en kan ik de juiste db kiezen. Dit inlogscherm heeft een form met 2 edits voor de user en pwd.

    Wanneer er een submit komt vanaf dit form roep ik via een pathinfo /Login de functie LoginCheck aan. Deze vergelijkt het user en pwd met die uit de database. Gaat dit NIET goed, dan is het de bedoeling dat ik een pagina toon waarop meldingen staan als "User/pwd wel goed, bent u wel ingevoerd als gebruiker van het systeem, etc".

    Nu heb ik op deze pagina ook een link staan die de gebruiker terug verwijst naar het inlogscherm. Maar omdat ik weer met het database gebeuren zit moet ik de gebuiker naar het inlogscherm wijzen met de juiste tag (bedrijfsnaam).

    Nu probeer ik dit op de volgende manier te doen:

    Dit staat in de OnHTMLTag van het inlogscherm:

    RequestBedrijf:=Request.QueryFields.Values['bedrijf'];
    RequestBedrijf is een globale variabele

    Dit functioneert allemaal prima...

    Na de user/pwd check roep ik de foutpagina als volgt aan:

    response.Content:=PP_LoginError.Content;

    PP_LoginError is de pageproducer van de pagina die die meldingen gaat geven
    In deze pagina heb ik de volgende regel staan:

    Klik <a href="http://testserver/<#bedrijfsnaam>">HIER</a> om terug te gaan naar het inlogscherm

    Voor de PP_LoginError heb ik ook een OnHTMLTag gegenereerd. Deze probeer ik als volgt te vullen:

    if CompareText(TagString, 'bedrijfsnaam') = 0 then
    ReplaceText:=RequestBedrijf;

    Nu moet die bedrijfsnaam dus in die link staan en moet de gebruiker weer met de juiste tag in het inlogscherm komen.... Maar dat lukt dus niet !!

    Het lijk wel of de var RequestBedrijf leeg is. Zeg ik bijvoorbeeld ReplaceText:='Hallo';
    dan werkt het wel...

    Wat doe ik fout ?

    MVG, Gerjan

  2. #2
    Senior Member Anders's Avatar
    Join Date
    Dec 2001
    Location
    Doetinchem
    Posts
    1,415
    Dat klopt Gerjanst de variabel "RequestBedrijf" is ook leeg op dat moment. Het Http protocol is Stateless wat wil zeggen dat de webserver geen idee heeft dat je 2 request's achter elkaar doet of die van 2 verschillende clients komt.

    De bedrijfsnaam krijg nu mee in de eerste request aan de web server van de client, en die gebruik je dan voor om de juist DB te koppelen. De tweede request aan de web server is dan submit van de login scherm, maar nu weet de web server niet dat je het weer ben en dus ook niet welk bedrijf het is.

    Dit kan je op lossen op twee manieren - Met een Cokkie of met Hidden field van de Html form.

    Ik zou hier een Hidden Field aan je login Html form voegen en die vullen in de action die je login scherm aanroept met:
    Code:
    JeHiddenField := Request.QueryFields.Values['bedrijf'];
    En dan kan je bij het aanroepen van de fout pagina die weer op vragen mer een "Reequest.QueryFields.Value" op vragen en in de OnHTMLTag event weer in je Link plaatsen.

    Ik hoop dat je er uit komt - is lastig om helder uit te leggen. Je moet gewoon aan denken dat de waarde in QueryFields niet langer dan een Request aanwezig is.

    succes
    Anders

    May your code compile!

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •