Vil ikke bruge brugernavn med mellemrum
Jeg har et kilometerregnskab hvor man først opretter en bruger, derefter kan man logge ind og det virker fint!Men når man så tilføje kilometre til sit regnskab og har en bruger som, hedder fx. Henrik Fomsgaard
Så kan den ikke ligge data ind i db. Men opretter men en bruger fx. Henrik vil den godt.
Altså er det mellemrummet i brugernavnet som giver problemet.
Hvoredan løses det?
Her er filerne:
LOGIN:ASP:
<html>
<head>
<title>KM-Regnskabet</title>
<style type="text/css">
<!--
-->
</style><link rel="stylesheet" href="http://www.team-ccc.dk/KMregnskab/team-ccc.css">
</head>
<body>
<% response.buffer = true %>
<%
response.buffer = true
if len(request.querystring("username")) = 0 and len(request.querystring("password")) = 0 then
SET rs = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("kmregnskab.mdb")
If Request("mode") = "Check" then
Sql = "Select Count(*) as Found from medlem where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')"
Set Login = Rs.Execute(Sql)
if Login("Found") = 0 then
Session("login") = 0
error = "Forkert brugernavn eller password!"
else
Session("Login") = 1
Session("username-session") = Request("username")
Response.Redirect "indtastning.asp"
end if
else
end if
Response.Write "<form method='POST' action='login.asp'>"
Response.Write "<input type='hidden' name='mode' VALUE='Check'>"
Response.Write "<table class=Table' cellspacing='0' cellpadding='2'>"
Response.Write "<tr>"
Response.Write "<td>"
Response.Write "Brugernavn:</td>"
Response.Write "<td><input type='text' name='username' size='20'></td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td>"
Response.Write "Password:</td>"
Response.Write "<td><input type='password' name='password' size='20'></td>"
Response.Write "</tr>"
Response.Write "<tr>"
Response.Write "<td><input type='submit' value='Login' name='submit'></td>"
%><td><%=error%></td><%
Response.Write "</tr>"
Response.Write "</table>"
Response.Write "</form>"
Response.Write "<table border='0' cellpadding='0' cellspacing='0' height='20'>"
Response.Write "<tr>"
Response.Write "<td>"
Response.Write "Er du ikke tilmeldt! Så klik <a href='tilmeld.asp'>her</a>"
Response.Write "</td>"
Response.Write "</tr>"
Response.Write "</table>"
else
Dim RS
Set conn = Server.CreateObject("ADODB.Connection")
DBPath = "DBQ=" & server.mappath("kmregnskab.mdb")
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & DBPath
SQL = "select * from medlem where username = '" & request.querystring("username") & "' and password = '" & request.querystring("password") & "'"
Set RS = conn.Execute(SQL)
Do While NOT RS.EOF
If RS("username") = request.querystring("username") and RS("password") = request.querystring("password") then Response.write "<meta http-equiv='refresh' content='0;URL=indtastning.asp'>"
RS.MoveNext
loop
Session("username-session") = Request("username")
end if
%>
</body>
</html>
INDTASTNING.ASP:
<% response.buffer = true %>
<%
Response.Buffer = True
SET rs = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("kmregnskab.mdb")
if request("Mode") = "logaf" then
session.Abandon
Response.Redirect("default.asp")
end if
IF Session("username-session") = "" Then
Response.Redirect("login.asp")
end if
Sql = "Select * FROM medlem WHERE username = '" & session("username-session") & "'"
set rs = rs.Execute(SQL)
Response.Write "Hej " & RS("username") &" du er nu logget ind!<br><br>"
%>
<html>
<head>
<title>KM-Regnskabet</title>
<style type="text/css">
<!--
-->
</style><link rel="stylesheet" href="http://www.team-ccc.dk/KMregnskab/team-ccc.css">
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
Her indtaster du oplysninger vedr. din træning.<br>
<font color="#FF0000"><strong>BEMÆRK!!</strong></font> Det er vigtigt at du skriver data ind som beskrevet ved siden af felterne, ellers virker regnskabet ikke.<br>
<br>
<form action="kmregnskab.asp" method="post">
<input type=Hidden name=brugernavn value=<%=RS("username") %>>
<input type=Hidden name=pass value=<%=RS("password") %>>
<table class="Table" cellspacing="0" cellpadding="2">
<tr>
<td>Træningsform:</td>
<td><select name="Traeningsform">
<option value=selected>Vælg</option>
<option value="Landevej">Landevej</option>
<option value="MTB">MTB</option>
</select></td>
</tr>
<tr>
<td>Indtast dato:</td>
<td><input name="Dato" value="dd-mm-yyyy"> (dd-mm-yyyy)</td>
</tr>
<tr>
<td>Indtast KM:</td>
<td><input name="KM"> (hele tal)</td>
</tr>
<tr>
<td colspan="2"><input type="submit" value="Indsæt"></td>
</tr>
</table>
</form>
Klik og se <a href="viskmregnskab.asp">statistik</a>.<br>
Log af/Retur til hovedsiden <a href="indtastning.asp?mode=logaf">her</a><br><br>
<%
Response.Write "Klik her og få mulighed for at <a href='aendre.asp'>slette</a> din bruger.<br><font color='#FF0000'><strong>Bemærk!</strong></font> Alle data vil gå tabt!"
%>
</td>
</tr>
</table>
</body>
</html>
KMREGNSKAB.ASP:
<html>
<head>
<title>KM-Regnskabet</title>
<style type="text/css">
<!--
-->
</style><link rel="stylesheet" href="http://www.team-ccc.dk/KMregnskab/team-ccc.css">
</head>
<body>
<table cellspacing="0" cellpadding="0" border="0">
<tr>
<td>
<%
On Error Resume Next
If Request("oprettet") <> "ok" Then
strNavn = Request.Form("brugernavn")
strPass = Request.Form("pass")
strKm = Request.Form("KM")
strDato = Request.Form("Dato")
strDato = Year(strDato) & "-" & month(strDato) & "-" & Day(strDato)
strTraeningsform = Request.Form("Traeningsform")
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("kmregnskab.mdb")
Conn.Open DSN
u = Conn.Execute("SELECT id FROM medlem WHERE username = '"& strNavn &"' AND password = '"& strPass & "'")(0)
If NOT isEmpty(u) Then
SQL = "INSERT INTO KmData (ID, Dato, KM, Træningsform) VALUES ("& u &", #" & strDato & "#, "& strKm &", '"& strTraeningsform &"')"
Conn.Execute(Sql)
Else
Response.write("Forkert brugernavn eller password.<br>")
End If
'Response.write(sql & "<hr>"& u &"<hr>")
If Err.Number <> 0 Then
Response.write("Der opstod en fejl<br>Enten er data ikke indtastet korrekt, eller et/flere felter er ikke udfyldt.<br><br>")
'Response.write("" & Err.Description & " <br><br>")
Else
Response.Redirect "?oprettet=ok&strKm="& strKm & "&strNavn="& strNavn &"&strTraeningsform=" & strTraeningsform
End If
' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
Else
Response.write(Request("strKm") & " km er blevet tilføjet til " & Request("strNavn") & "´s konto i regnskabet vedr. "& Request("strTraeningsform") &".<br><br>")
End If
%>
Klik og vend tilbage til <a href="indtastning.asp">indtastningsfeltet</a><br>
Klik og se <a href="viskmregnskab.asp">statistik</a><br>
Log af/Retur til hovedsiden <a href="indtastning.asp?mode=logaf">her</a>
</td>
</tr>
</table>
</body>
</html>
