Intern serverfejl - fatter det ikke
Dette går ud over min formåen - det er givetvis en lille banal ting - men som nybegynder totalt umuligt at få øje på.Jeg har tre filer, som jeg arbejder med: index.asp, signin.asp og en database.inc. Jeg har problemer med de to sidste og muligvis også den første. Det er et logon system, som bruger cookies og jeg prøver at få det til at tilpasse så det det kan ligge hos azero.dk.
Nedenfor følger filerne og de kan ses på www.dyring-larsen.dk
Jeg har sat point til 150 da jeg ikke forstår hvor fejl er og skal bruge det hurtig.
:-) Karsten
INDEX.ASP
<%
Option Explicit
Dim sql,brugernavn,objRec,objConn,strConnect,strUpdate
brugernavn = Request.Cookies("brugernavn")
'hvis brugernavns cookie er sat, så må de være logget ind
if brugernavn <> "" then
'Hvis de er logget ind, send dem til deltagere.asp
Response.Redirect("deltagere.asp")
else
%>
<html>
<head>
<%' Hvis de ikke er logget ind, vis da en login box
if brugernavn = "" then
%>
<title>Adgang</title>
</head>
<body link="#DD0000" vlink="#DD0000" alink="#000000">
<table width="461" cellpadding=3 cellspacing=0 border=0 bordercolor="#000000" align="center">
<tr>
<form name="login" action="signin.asp" method="post">
<input type="hidden" name="page" value="index.asp">
<td align="center"><font size="5" face="Verdana, Arial, Helvetica, sans-serif"><br>
<br>
Adgang<br>
<br>
</font>
<table width="100%" border="0">
<tr>
<td width="50%">
<div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Brugernavn:</font></div>
</td>
<td width="50%" ><input name="brugernavn" type="text" size="12" >
</td>
</tr>
<tr>
<td> <div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Password:</font></div></td>
<td><input name="password" type="password" size="12"></td>
</tr>
<tr>
<td><div align="right"><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Husk mig:</font></div>
</td>
<td>
<div align="left"><input type="checkbox" name="stayloggedin" value="yes"></div>
</td>
</tr>
<tr>
<td colspan="2"><div align="center"><br>
<input name="login" type="submit" style="font-size: 10pt; font-family: Arial, Helvetica, sans-serif;" value="login">
</div></td>
</tr>
</table>
</form>
<%
End if
End if
%>
</table>
</body>
</html>
SIGNIN.ASP
<%
Option Explicit
Dim sql,objRec,brugernavn,password,page,stayloggedin,LConnectString,lconn,sqlflag
if request.form("login") = "login" then
' Tager værdierne fra login
brugernavn = Request.Form("brugernavn")
password = Request.Form("password")
page = Request.Form("page")
stayloggedin = Request.Form("stayloggedin")
if page = "" then
page = "index.asp"
end if
' Forebyggelse af hacking
if InStr(brugernavn, "'") or InStr(brugernavn, """") or InStr(brugernavn, "=") or InStr(password, "'") or InStr(password, """") or InStr(password, "=") then
sqlflag = True
end if
' Skabe forbindelse
%>
<!-- #include file="database.inc" -->
<%
' Få resultat fra det indsendte brugernavn og password
sql = "SELECT brugernavn FROM deltagere WHERE brugernavn = '" & brugernavn & "' AND password = '" & password & "'"
Set objRec = Server.CreateObject("ADODB.Recordset")
objRec.Open sql, objConn
' Hvis resultatet er gyldigt, så skal de sendes tilbage fra den side de kom fra, med brugernavn cookie sat til
If (not objRec.BOF) and (not objRec.EOF) and sqlflag <> True then
Response.Cookies("brugernavn") = objRec("brugernavn")
' Hvis de oensker at forblive login hele tiden, saa saettes cookie til langt ud i fremtiden
if stayloggedin = "yes" then
Response.Cookies("brugernavn").expires = #1/1/2010#
end if
objRec.close
objConn.close
set objRec = nothing
set objConn = nothing
Response.Redirect("deltagere.asp")
end if
' ELLERS, vises der en ugyldig velkomst side
objRec.close
objConn.close
set objRec = nothing
set objConn = nothing%>
<html>
<head>
<title>Ugyldig velkomst</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000">
<font face="arial,helvetica" size=2> </font>
<table width="100%" border="0">
<tr>
<td><div align="center"><font size="5" face="Verdana, Arial, Helvetica, sans-serif"><br>
Adgang</font></div></td>
</tr>
<tr>
<td><div align="center"><font face="arial,helvetica" size=2><br>
<br>
Den indtastede adgangskode eller brugernavn er <strong>ikke</strong>
gyldigt<br>
</font></div></td>
</tr>
<tr>
<td><font face="arial,helvetica" size=2>
<p align="center"><a href="http://www.dyring-larsen.dk"><b><br>
Prøv igen</b></a></p>
</font></td>
</tr>
</table>
</body>
</html>
DATABASE.INC
<%
strConnect = "Data Source=hvor_ database_ligger.mdb;Provider=Microsoft.Jet.OLEDB.4.0;"
Set objConn = Server.CreateObject ("ADODB.Connection")
objConn.Open strConnect
' Følgende kode gør at du kan stoppe adgangen til databasen hvis du skal opdatere den.
strUpdate = "no"
If strUpdate = "yes" Then
Response.Write "<p>Siden er under opdatering. Kom tilbage om 5 minutter.</p>"
Response.End
' Alternativt kan du slette ovenstående 2 linier og istedet bruge nedenstående til at kalde en anden fil.
' Response.Redirect("update.htm")
End If
%>
