/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
DSN-forbindelse
Fra : Jimmy Snedker


Dato : 05-05-02 12:47

Hej!


Jeg har et site med en login-side (login.asp), hvor der på
nuværende tidspunkt bliver skabt forbindelse til en database via
DSNless-forbindelse - Spørgsmål: hvordan og hvor får jeg ændret
koden så forbindelsen bliver skabt vha. en DSN-forbindelse i
stedet for DSNless??

I må gerne skære det ud i pap, da jeg ikke er den store haj i
asp-helved!!

Med venlig hilsen

Jimmy

Login.asp
<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
' Her forberedes de indtastede værdier til validering
strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

' Hvis der er skrevet noget i både brugernavn og adgangskode
If Len(strUID) > 0 And Len(strPWD) > 0 Then

' DSNLess forbindelse til databasen
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("mindatabase.mdb")

' Opbygning af SQL streng
strSQL = "SELECT UserID FROM Logins"&_
" WHERE (Username = '" & strUID & "')"&_
" AND (Password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
' Hvis brugeren fandtes i databasen
intUID = rs("UserID")
Else
' Hvis brugeren ikke fandtes i databasen
strERR = "Du blev ikke godkendt af systemet"
End If

' Rydder op i vores connection objekt
myConn.Close
Set myConn = Nothing

If Len(intUID) Then
' Hvis variablen intUID indeholder en værdi sættes
Session("UserID") = intUID
End If
Else
' Hvis der ikke var angivet brugernavn og adgangskode
strErr = "Du skal skrive både brugernavn og adgangskode"
End If

If Len(strErr) > 0 Then
' Her laves fejlmeddelsen om til rød skrift
strErr = "<p><font color=red>" & strErr & "</font></p>"
End If
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Kunde Login</title>
<meta http-equiv="Content-Type" content="text/html;
charset=iso-8859-1">
<link rel="stylesheet" href="../css/txt_css.css" type="text/css">
<%
If IsNumeric( intUID ) AND intUID <> "" Then
%>
<script type="text/javascript">
// Det vindue som har åbnet popupvinduet skal
// Navigeres til loginOK.asp
window.opener.location.href = '../kundeAcc/';
// Popupvinduet skal lukkes.
window.close();
</script>
<%
End if
%>
<body>
<form name="Action" " method="post" action="default.asp">
<table width="227" border="0" cellspacing="5" cellpadding="0"
align="left">
<tr>
<td colspan="2"><img src="../images/gif/klogin.gif"
width="91" height="12" alt="Kunde Login"></td>
<td rowspan="10" valign="bottom" width="20"
class="bpx"><img src="../images/gif/box.gif" alt=""></td>
</tr>
<tr>
<td colspan="2" class="boldtxt">Angiv Brugernavn og
Password</td>
</tr>
<tr>
<td colspan="2" class="brdtxt" height="25"><%=strErr%></td>
</tr>
<tr>
<td class="boldtxt">Brugernavn</td>
<td align="right">
<input type="text" name="Brugernavn" size="18"
class="brdtxt">
</td>
</tr>
<tr>
<td class="boldtxt">Password</td>
<td align="right">
<input type="password" name="Adgangskode" size="18"
class="brdtxt">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right">
<input type="submit" value="Login" name="Action"
class="boldtxt">
</td>
</tr>
<tr>
<td colspan="2" class="brdtxt">Gem indstillinger
<input type="checkbox" name="checkbox" value="checkbox">
</td>
</tr>
</table>
</form>
</body>
</html>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jakob Andersen (05-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 05-05-02 13:21

"Jimmy Snedker" <jsnedker@hotmail.com> wrote in message
news:ab363t$3ri$1@sunsite.dk...
> DSNless-forbindelse - Spørgsmål: hvordan og hvor får jeg ændret
> koden så forbindelsen bliver skabt vha. en DSN-forbindelse i
> stedet for DSNless??

Giv mig en god grund til at du skal skifte til at bruge en DSN? Faktisk
fraråder Microsoft Support i mange tilfælde at bruge Microsoft Access OBDC
driveren sammen med IIS pga. problemer med trådning.

Istedet kan du snakke direkte med OLEDB sådan her, det giver dig lidt bedre
performance:

(Access 2000)
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &
Server.MapPath("mindatabase.mdb")

(Access 97)
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.3.51;DATA SOURCE=" &
Server.MapPath("mindatabase.mdb")

--
Jakob Andersen



Jakob Andersen (05-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 05-05-02 13:25

"Jakob Andersen" <jakob@effectus.dk> wrote in message
news:ab3825$dmv$1@news.cybercity.dk...
> Istedet kan du snakke direkte med OLEDB sådan her, det giver dig lidt
bedre
> performance:

Læs evt.: <URL: http://www.4guysfromrolla.com/webtech/063099-1.shtml>

--
Jakob Andersen



Jimmy Snedker (05-05-2002)
Kommentar
Fra : Jimmy Snedker


Dato : 05-05-02 15:16

Hej Jakob!

Jakob Andersen wrote in dk.edb.internet.webdesign.serverside.asp:
> "Jimmy Snedker" <jsnedker@hotmail.com> wrote in message
> news:ab363t$3ri$1@sunsite.dk...
> > DSNless-forbindelse - Spørgsmål: hvordan og hvor får jeg ændret
> > koden så forbindelsen bliver skabt vha. en DSN-forbindelse i
> > stedet for DSNless??
>
> Giv mig en god grund til at du skal skifte til at bruge en DSN? Faktisk
> fraråder Microsoft Support i mange tilfælde at bruge Microsoft Access OBDC
> driveren sammen med IIS pga. problemer med trådning.

Det er en løsning vi har fået fra Enavn, idet vi har en database med følsomme
oplysninger, der ikke må kunne downloades. Derfor er den placeret på en anden
server.

Jeg fik dette script med til at skabe forbindelse til databasen, og det
virker fint med de andre sider jeg har, men jeg ikke få det til at virke ved
min login-side

ConnString = "DSN=databasenavn"
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open ConnString


Med venlig hilsen

Jimmy Snedker

>
> Istedet kan du snakke direkte med OLEDB sådan her, det giver dig lidt bedre
> performance:
>
> (Access 2000)
> Set myConn = Server.CreateObject("ADODB.Connection")
> myConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.4.0;DATA SOURCE=" &
> Server.MapPath("mindatabase.mdb")
>
> (Access 97)
> Set myConn = Server.CreateObject("ADODB.Connection")
> myConn.Open "PROVIDER=MICROSOFT.JET.OLEDB.3.51;DATA SOURCE=" &
> Server.MapPath("mindatabase.mdb")
>
> --
> Jakob Andersen
>
>


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jakob Andersen (05-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 05-05-02 18:41

"Jimmy Snedker" <jsnedker@hotmail.com> wrote in message
news:ab3erd$a5e$1@sunsite.dk...
> Det er en løsning vi har fået fra Enavn, idet vi har en database med
følsomme
> oplysninger, der ikke må kunne downloades. Derfor er den placeret på en
anden
> server.

Det lyder som om enavn er langt ude i hampen, hvis man ikke vil have andre
til at kunne downloade databasen ligger man den bare så den ikke er
tilfængelig fra web dvs. uden for webscopet.

PS: Man får en bedre læsevenlighed hvis du "klipper" det væk du ikke svarer
på.

--
Jakob Andersen



Jimmy Snedker (05-05-2002)
Kommentar
Fra : Jimmy Snedker


Dato : 05-05-02 21:13

hej jakob!
>
> Det lyder som om enavn er langt ude i hampen, hvis man ikke vil have andre
> til at kunne downloade databasen ligger man den bare så den ikke er
> tilfængelig fra web dvs. uden for webscopet.
>
Ja, jeg kan godt se hvad du mener, jeg må lige kontakte enavn og høre hvad
de har gang i, men indtil videre må jeg nøjes med dsn, hvilket bringer mig
tilbage til mit først indlæg. Hvordan og hvor skal jeg ændre koden så der
bli'r skabt en dsn-forbindelse?

Login.asp:
<%
' Hvis der er blevet trykket på knappen "Login"
If Request.Form("Action") = "Login" Then
' Her forberedes de indtastede værdier til validering
strUID = Trim(Replace(Request.Form("Brugernavn"),"'",""))
strPWD = Trim(Replace(Request.Form("Adgangskode"),"'",""))

' Hvis der er skrevet noget i både brugernavn og adgangskode
If Len(strUID) > 0 And Len(strPWD) > 0 Then

' DSNLess forbindelse til databasen
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
Server.MapPath("mindatabase.mdb")

' Opbygning af SQL streng
strSQL = "SELECT UserID FROM Logins"&_
" WHERE (Username = '" & strUID & "')"&_
" AND (Password = '" & strPWD & "')"

Set rs = myConn.Execute(strSQL)
If Not (rs.BOF Or rs.EOF) Then
' Hvis brugeren fandtes i databasen
intUID = rs("UserID")
Else
' Hvis brugeren ikke fandtes i databasen
strERR = "Du blev ikke godkendt af systemet"
End If

' Rydder op i vores connection objekt
myConn.Close
Set myConn = Nothing

If Len(intUID) Then
' Hvis variablen intUID indeholder en værdi sættes
Session("UserID") = intUID
End If
Else
' Hvis der ikke var angivet brugernavn og adgangskode
strErr = "Du skal skrive både brugernavn og adgangskode"
End If

If Len(strErr) > 0 Then
' Her laves fejlmeddelsen om til rød skrift
strErr = "<p><font color=red>" & strErr & "</font></p>"
End If
End If
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Kunde Login</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href=".txt_css.css" type="text/css">
<%
If IsNumeric( intUID ) AND intUID <> "" Then
%>
<script type="text/javascript">
// Det vindue som har åbnet popupvinduet skal
// Navigeres til loginOK.asp
window.opener.location.href = '../kundeAcc/';
// Popupvinduet skal lukkes.
window.close();
</script>
<%
End if
%>
<body>
<form name="Action" " method="post" action="default.asp">
<table width="227" border="0" cellspacing="5" cellpadding="0"
align="left">
<tr>
<td colspan="2"><img src="../images/gif/klogin.gif" width="91"
height="12" alt="Kunde Login"></td>
<td rowspan="10" valign="bottom" width="20" class="bpx"><img
src="../images/gif/box.gif" alt=""></td>
</tr>
<tr>
<td colspan="2" class="boldtxt">Angiv Brugernavn og Password</td>
</tr>
<tr>
<td colspan="2" class="brdtxt" height="25"><%=strErr%></td>
</tr>
<tr>
<td class="boldtxt">Brugernavn</td>
<td align="right">
<input type="text" name="Brugernavn" size="18" class="brdtxt">
</td>
</tr>
<tr>
<td class="boldtxt">Password</td>
<td align="right">
<input type="password" name="Adgangskode" size="18" class="brdtxt">
</td>
</tr>
<tr>
<td>&nbsp;</td>
<td align="right">
<input type="submit" value="Login" name="Action" class="boldtxt">
</td>
</tr>
<tr>
<td colspan="2" class="brdtxt">Gem indstillinger
<input type="checkbox" name="checkbox" value="checkbox">
</td>
</tr>
</table>
</form>
</body>
</html>


> PS: Man får en bedre læsevenlighed hvis du "klipper" det væk du ikke
svarer
> på.
>

Undskyld!.det ska jeg nok huske!


Med venlig hilsen

Jimmy


--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Jakob Andersen (05-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 05-05-02 22:31

"Jimmy Snedker" <jsnedker@hotmail.com> wrote in message
news:ab43o5$802$1@sunsite.dk...
> myConn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" &
> Server.MapPath("mindatabase.mdb")

Du skal blot bytte din connectionstring ud med følgende:

myConn.Open "DSN=NavnPåDinDSN"

Når det er en access database skal du formentlig ikke sende brugernavn og
password med, men hvis du skulle ville det se sådan her ud:

myConn.Open "DSN=NavnPåDinDSN;UID=DitBrugerNavn;PWD=DitPassword"

--
Jakob Andersen



Jes Kasper Klittum (08-05-2002)
Kommentar
Fra : Jes Kasper Klittum


Dato : 08-05-02 20:06

> Det lyder som om enavn er langt ude i hampen, hvis man ikke vil have andre
> til at kunne downloade databasen ligger man den bare så den ikke er
> tilfængelig fra web dvs. uden for webscopet.

Kære Jakob,

Langt ude i hampen er vel så meget sagt. Grunden til at vi
benytter DNS forbindelse er at vore webservere er Linux server. Den
ASP engine der kører er ChiliASP. Det er nu engang således at man ikke
kan afvikle en Access database direkte på en Linux server - derfor
benytter vi Sequelink til at forbinde ChiliASP med en Windows server,
hvor databasen er placeret. Eftersom vi benytter denne type
forbindelse, og Win serveren desuden, for at forhindre misbrug, ikke
har et offentligt IP - så er det nødvendigt at benytte en DSN
forbindelse.

Med venlig hilsen,

Jes Kasper Klittum
enavn.dk

Jakob Andersen (08-05-2002)
Kommentar
Fra : Jakob Andersen


Dato : 08-05-02 21:17

"Jes Kasper Klittum" <jes@enavn.dk> wrote in message
news:1ede5e4d.0205081105.6c3bd208@posting.google.com...
>Grunden til at vi
> benytter DNS forbindelse er at vore webservere er Linux server.

Okay, det var jo ikke til at vide. Og fremgår ikke umiddelbart på jeres
site(Har dog fundet en lille notits om det nu)

--
Jakob Andersen



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste