Goed, de idee is dus om met XSQL ergens in te loggen. Dit inloggen stelt eigenlijk niet zoveel voor, het betekent alleen het weergeven van wat extra menu-items na het inloggen. Alleen het moet met XSQL/XSL. Mijn idee om dit op te lossen is als volgt:
menu.xsql
menu.xsl
De bedoeling is dus dat er een form staat zolang er niet is ingelogd. De gegevens worden naar dezelfde menu.xsql gestuurd, en hier wordt dan de variabele current_user gevuld met de username als deze en het password in de db voorkomen.
het is erg lastig bruikbare informatie te vinden over XSQL, we maken gebruik van het boek "building oracle xml applications" (o'reilly, muench), maar ik kan het daar echt niet uit halen hoe ik zoiets kan oplossen. het gaat er dus eigenlijk om hoe ik een variabele vanuit menu.xsql in menu.xsl krijg en deze daar op kan roepen om zo de "choice" te kunnen maken.
heeft iemand een idee? of zou ik het eigenlijk heel anders moeten doen?
menu.xsql
code:
1
2
3
4
5
6
7
8
9
| <?xml version = '1.0' encoding = 'WINDOWS-1252'?>
<?xml-stylesheet type="text/xsl" href="menu.xsl"?>
<login xmlns:xsql="urn:oracle-xsql" connection="biv3b_8">
<xsql:set-session-param name="current_user">
SELECT username
FROM users
WHERE username='{@username}' AND password='{@password}'
</xsql:set-session-param>
</login> |
menu.xsl
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| <?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output media-type="text/html" method="html"/>
<xsl:param name="lang" select="'english'"/>
<xsl:template match="/">
<html>
<head>
<link rel="stylesheet" href="CSS/default.css" type="text/css" />
</head>
<body>
...wat altijd weergegeven moet worden..
<xsl:choose>
<xsl:when test="$current_user='abc'">
...wat alleen bij succesvolle login weergegeven moet worden...
</xsl:when>
<xsl:otherwise>
<form method="post" action="menu.xsql">
<input type="text" name="username" /><br />
<input type="hidden" name="password" /><br />
<input type="submit" name="login" value="login" />
</form>
</xsl:otherwise>
</xsl:choose>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet> |
De bedoeling is dus dat er een form staat zolang er niet is ingelogd. De gegevens worden naar dezelfde menu.xsql gestuurd, en hier wordt dan de variabele current_user gevuld met de username als deze en het password in de db voorkomen.
het is erg lastig bruikbare informatie te vinden over XSQL, we maken gebruik van het boek "building oracle xml applications" (o'reilly, muench), maar ik kan het daar echt niet uit halen hoe ik zoiets kan oplossen. het gaat er dus eigenlijk om hoe ik een variabele vanuit menu.xsql in menu.xsl krijg en deze daar op kan roepen om zo de "choice" te kunnen maken.
heeft iemand een idee? of zou ik het eigenlijk heel anders moeten doen?