[ASP] HTML-pagina met 2 ASP-frames

Pagina: 1
Acties:

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 10:36
Een klant gaat via een hyperlink naar het bestand klant.html, waarin zich 2 frames bevinden klantlist.asp (links) en klantrecord.asp (rechts). In het bestand klantlist.asp staat een combobox waarin alle klanten worden gezet.

Wanneer een (ander) item uit de combobox wordt gekozen wordt het frame gerefreshed met als extra querystring "klantlist.asp?KlantID=X". Het rechter frame wordt krijgt ook een QueryString mee, dit wordt dus "klantrecord.asp?KlantID=X".

Dit is nogal privacy gevoelig, in principe kan iedereen alles van andere klanten te weten komen. Ik wil dit opvangen door te gaan werken met de variabele "logon_user" vanuit de server. Het probleem is echter dat ik een hyperlink leg naar klant.html en daar kunnen geen queryString aan toegevoegd worden. Ik heb geprobeerd om in de html-code van klant.html direct een querystring mee te geven aan de frames, maar dit lukt niet, ook niet nadat ik klant.html heb vervangen door klant.asp.

Ik wil dus dat de gebruiker kan klikken op de hyperlink "klant.html" of anders "klant.asp" van waaruit automatisch de goede frames geladen worden, die als querystring het klantID van de ingelogde klant meekrijgen. Op die manier kan de klant alleen zijn eigen gegevens te zien krijgen.

Weet iemand hoe ik dit kan opvangen?

  • Dope-E
  • Registratie: Januari 2001
  • Laatst online: 08-09 13:23

Dope-E

The one and only Dope

Je kunt gewoon de querystring variabel maken in klant.asp
code:
1
2
3
4
5
6
7
8
9
10
<%@ Language=VBScript %>
<%Option Explicit%>
<%
dim id
id = Request.QueryString("id")
%>
<frameset cols="200,*"
    <frame name="klantlist" src="klantlist.asp?id=<%=id%>" scrolling=auto>
    <frame name="klantrecord" src="klantrecord.asp?id=<%=id%>"scrolling=auto>
</frameset>

twitter.com/curly_sanders


  • KoeKk
  • Registratie: September 2000
  • Laatst online: 30-08 21:36
Als je iemand laat inloggen dan weet je toch wie ze zijn? Als iemand inlogd dan stop je hun klant ID in een session:

Session.Contents("klantid") = klantID


en dan ga je in de pagina waar je wat wil laten zien de session opvragen:

intKlantID = Session.Contents("klantid")


Wat je er dan verder mee doet mag je helemaal zelf weten...

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
Maar dat werkt dus niet als de klant sessies uit heeft staan. :o

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 12-09 10:46

oZy

Voor zover ik het begrijp wil je dus een klant automatisch herkennen? Om wat voor een site gaat het, inter/intra/extranet? Ben benieuwd hoe je dit met logon_user gaat oplossen :) Maar goed, logt een klant eerst in voordat hij naar de pagina gaat, zo ja dan kan je toch gewoon mbv session / cookie of gewoon variabelen het klant id nr meeslepen.

Verwijderd

Zover ik het nu hoor moet je met rechten gan werken. Zo doe ik het en dat werk goed. Dus... session tijdens inloggen aanmaken en de rechten meesturen in die sessie?

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 10:36
Op donderdag 14 maart 2002 13:49 schreef oZy het volgende:
Voor zover ik het begrijp wil je dus een klant automatisch herkennen? Om wat voor een site gaat het, inter/intra/extranet? Ben benieuwd hoe je dit met logon_user gaat oplossen :) Maar goed, logt een klant eerst in voordat hij naar de pagina gaat, zo ja dan kan je toch gewoon mbv session / cookie of gewoon variabelen het klant id nr meeslepen.
De ASP-pagina's staan op een intranet. Gebruikers binnen en buiten het intranet moeten zich vooraf aanmelden op de pagina middels hun login/password van de organisatie. In de tabel Klanten staat de inlognaam van de klant vermeld. Ik weet dus altijd om welke klant het gaat.

  • Gert
  • Registratie: Juni 1999
  • Laatst online: 05-12-2025
offtopic:
Project de zwart? :o

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 10:36
Op donderdag 14 maart 2002 13:59 schreef voetenzalf het volgende:
Zover ik het nu hoor moet je met rechten gan werken. Zo doe ik het en dat werk goed. Dus... session tijdens inloggen aanmaken en de rechten meesturen in die sessie?
Over de rechtenkwestie ben ik nog aan het nadenken. Ik werk met klanten en administrators. Probleem is dat sommige records van tabellen voor bepaalde groepen afgeschermd moeten blijven. Ik zit daarom te denken aan een aantal toegangsopties:
- Volledig toegang
- Lezen en updaten
- Lezen en toevoegen
- Lezen en Verwijderen
- Lezen
- Geen toegang.
Hoe lossen jullie dit probleem op?

  • TweakersOnly
  • Registratie: September 2000
  • Laatst online: 10:36
Op donderdag 14 maart 2002 19:47 schreef Gert het volgende:
offtopic:
Project de zwart? :o
Nee hoor, geen schoolopdracht. Althans... over een halfjaar ga ik op stage en ik weet nu al vrijwel zeker dat ik iets wil gaan doen met ASP of PHP. Deze opdracht probeer ik voor mezelf uit te voeren (en evt. te verkopen :) )

  • oZy
  • Registratie: Juli 2001
  • Laatst online: 12-09 10:46

oZy

ok.. intranet is prima voor het gebruik van logon_user, maar dan snap ik nog niet wat het probleem is.. de gebruiker is bekend, dus waarom zou hij zijn eigen bestand moeten selecteren? en waarom moet er een querystring mee met de framesets? je kan toch gewoon in klantlist.asp en klantrecord.asp iets als

SELECT * FROM TblGebruikers WHERE NetworkID ='" & Request.ServerVariables("LOGON_USER") & "'"

die pagina is immers voor alle klanten hetzelfde, alleen dan met hun eigen informatie. en nergens valt aan de source te herleiden hoe een bepaalde klant geselecteerd wordt.

in andere woorden: de klant is al bekend, en logon_user is een vaste waarde voor iedereen die ingelogd is, want zonder in te loggen komen ze zowiezo niet op de pagina (dankzij windows integrated security). dus het doorgeven van klant informatie aan andere pagina's is overbodig.
Pagina: 1