Avatar billede fomse Nybegynder
11. december 2003 - 11:35 Der er 7 kommentarer og
1 løsning

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">&nbsp;&nbsp;(dd-mm-yyyy)</td>
</tr>
<tr>
<td>Indtast KM:</td>
<td><input name="KM">&nbsp;&nbsp;(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>
Avatar billede erikjacobsen Ekspert
11. december 2003 - 11:37 #1
Du skal huske dine "..."-ere. Ret
<input type=Hidden name=brugernavn value=<%=RS("username") %>>
til
<input type=Hidden name=brugernavn value="<%=RS("username") %>">
Avatar billede erikjacobsen Ekspert
11. december 2003 - 11:39 #2
Og for god ordens skyld, jo altid også

<input type=Hidden name=brugernavn value="<%=server.htmlencode(RS("username")) %>">
Avatar billede fomse Nybegynder
11. december 2003 - 11:48 #3
Kanon!! Tak for hjælpen.
Har simpelthen stirret mig totalt blind på det.......
Avatar billede fomse Nybegynder
11. december 2003 - 11:48 #4
Smid et svar:-)
Avatar billede erikjacobsen Ekspert
11. december 2003 - 11:52 #5
nej tak, 100p er alt for meget for så lidt
Avatar billede fomse Nybegynder
11. december 2003 - 11:57 #6
Okay så deler vi i porten:-)
Avatar billede erikjacobsen Ekspert
11. december 2003 - 12:35 #7
Nej, jeg mener 100 point er for meget - jeg vil slet ikke have nogen.
Jeg forstår ikke hvorfor du, og andre, ikke forsøger at holde sig til
15-30-60 anbefalingen. Jeg gider ikke være med til at lave inflation i point.
Avatar billede fomse Nybegynder
11. december 2003 - 12:48 #8
Det er helt iorden!! Jeg havde bare brugt meget tid på det og troede det var væsentlig sværere end det var!

Napper point tilbage.....
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester