Avatar billede dw_j Nybegynder
25. november 2004 - 00:58 Der er 7 kommentarer og
1 løsning

ASP kode til database connection

Hej eksperter
jeg er næsten ny i asp. jeg har lavet en login page i en frontpage site. udbyderen understøtter mysql.
jeg har lavet en form og en asp script til login siden. vil I venligst rette disse? tak på forhånd
page: login.htm
...
<form method="post" action="login2.asp">

  Username: <input type="text" name="UserName" size="20" value="Guest"><br><br>
  Password: <input type="Password" name="psw" size="9">
  <p><input type="submit" value="Go"><input type="reset" value="Reset" name="B2">
</form>
...

page: login.asp

<%
dim brugernavn
dim adgangskode
brugernavn=Request.QueryString("UserName")
adgangskode=Request.QueryString("Password")
dim loadedadgangskode
ConnString="Driver={MySQL};SERVER=localhost;DATABASE=xxxx;UID=xxxx;PASSWORD=xxxxxx"
Set Conn = Server.CreateObject("ADODB.Connection")
Set RS = server.CreateObject("ADODB.recordset")
Conn.Open ConnString
sql = "select PassWord from Users where UserName=brugernavn"
RS.Open sql, Conn
do until RS.EOF
loadedadgangskode=RS("PassWord")
response.Write(loadedadgangskode)
if loadedadgangskode = adgangskode then
Response.Redirect("mypage.htm")
else
Response.Redirect("login.htm")
%>
Avatar billede mjense173 Nybegynder
25. november 2004 - 01:06 #1
sql = "select PassWord from Users where UserName=brugernavn"
rettes til:
sql = "select PassWord from Users where UserName=" & brugernavn
Avatar billede mjense173 Nybegynder
25. november 2004 - 01:09 #2
Request.QueryString henviser til det der står i URL linjen

Brug hellere Request("UserName")
eller hvis din form har et navn: <form method="post" action="login2.asp" name="form1">


Request.form1("UserName")
Avatar billede mjense173 Nybegynder
25. november 2004 - 01:14 #3
Du kan også spørge på databasen om brugernavn passer til password med:
"select PassWord from Users where UserName='" & brugernavn & "' and PassWord='" & PassWord & "'"

Når denne linje bliver fortolket kommer det til at se sådan ud:
"select PassWord from Users where UserName='ditUser' and PassWord='ditPass'"

Bemærk at jeg havde glemt at lave '' rundt om teksterne i første kommentar.

Det skal med fordi folk kan taste navne med mellemum osv.
Avatar billede dw_j Nybegynder
25. november 2004 - 01:20 #4
tak, jeg prøver nu og skriver igen
Avatar billede dw_j Nybegynder
25. november 2004 - 01:34 #5
jeg får hele tiden denne fejl meddelese: linie...  Expected 'End'
som er den sidste line før %>
Avatar billede mjense173 Nybegynder
25. november 2004 - 01:56 #6
Det er fordi du har lavet en if sætning

Du har skrevet:

if loadedadgangskode = adgangskode then
Response.Redirect("mypage.htm")
else
Response.Redirect("login.htm")

Men her kan scriptet jo ikke regne ud at den skal slutte efter sidste linje, så du er nød til at skrive End:

if loadedadgangskode = adgangskode then
Response.Redirect("mypage.htm")
else
Response.Redirect("login.htm")
End if

Du kan læse mere om mulighederne med IF-Then-Else løkker på:
http://www.html.dk/tutorials/asp/lektion6.asp
Avatar billede dw_j Nybegynder
25. november 2004 - 02:11 #7
tak, jeg prøver. giv mig et svar så får du 100 piont.
hvis jeg kunne ikke får den til at virker vil jeg skrive igen.
Avatar billede mjense173 Nybegynder
25. november 2004 - 02:17 #8
Det gør du bare..
Jeg skal nok forsøge at hjælpe, hvis du har mere.
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