Avatar billede iceb1977 Nybegynder
19. maj 2002 - 18:32 Der er 53 kommentarer og
1 løsning

sql i tilmelding ???????

Hej

Jeg er ved at lave et login funktion så brugere

kan logge sig ind på et medlemsområde...

Hvis de ikke er loggede på kan de registrere

sig. Jeg kan ikke få formularen til at

skrive en brugertilmelding til min db...

Hvordan kan det være ?

Jeg får denne fejl :

Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/flash/login/tilretur.asp, line 46


Links:

Her er den side med formularen

http://iceb.ljnet.dk/flash/login/til.asp

og her den anden der MODTAGER data den som der er

fejl i

http://iceb.ljnet.dk/flash/login/tilretur.asp

Her er KODEN:

<%

Dim bn,ko,na,enav,ad,po,by,ema,tele,td,tae

bn=(request.form("brugernavn"))

ko=(request.form("kode"))

na=(request.form("navn"))

enav=(request.form("efternavn"))

ad=(request.form("adresse"))

po=(request.form("postnummer"))

by=(request.form("by"))

ema=(request.form("email"))

tele=(request.form("telefon"))

td=(request.form("tiddato"))

tae=(request.form("taeller"))

' 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("hp.mdb")
Conn.Open DSN

' SQL forespørgsel

strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, by, email, tele, td, tae ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', "& po &", '"& by &"', '"& ema &"', "& tele &", #"& td &"#, "& tae &" )"



' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)



' Gennemløb Recordset (rs) med en løkke


  ' Udskriv værdien af kolonnen Fornavn og fødselsdato



  ' Gå til næste Record i rs


' Fortsæt indtil rs er gennemløbet (EOF = End Of File)


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

%>
Avatar billede askhoej Praktikant
19. maj 2002 - 18:52 #1
Brug Recordset til at indsætte i databasen, der er mere overskueligt og mindre fejlbehæftet.

set rs = server.createobject("ADODB.recordset")
rs.open "medlemmer", Conn, 2, 3

rs.Addnew
rs("brugernavn") = Request.Form("brugernavn")
rs("kode") = Request.Form("kode")
osv....

rs.Update

rs.close
set rs=nothing
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 19:11 #2
Jeg får denne fejl :

Microsoft OLE DB Provider for ODBC Drivers error '80040e21'

Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.

/flash/login/tilretur2.asp, line 18


Her er et link til den nye fil

http://iceb.ljnet.dk/flash/login/tilretur2.asp

her er hele den nye KODE:

<%
' 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("hp.mdb")
Conn.Open DSN


set rs = server.createobject("ADODB.recordset")
rs.open "medlemmer", Conn, 2, 3

rs.Addnew
rs("brugernavn") = Request.Form("brugernavn")
rs("kode") = Request.Form("kode")
rs("navn") = Request.Form("navn")
rs("efternavn") = Request.Form("efternavn")
rs("adresse") = Request.Form("adresse")
rs("postnummer") = Request.Form("postnummer")
rs("by") = Request.Form("by")
rs("email") = Request.Form("email")
rs("telefon") = Request.Form("telefon")
rs("tiddato") = Request.Form("tiddato")
rs("taeller") = Request.Form("taeller")



rs.Update

rs.close
set rs=nothing

%>
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 19:59 #3
Hvordan kan det være ? hvad er fejlen i koden ?
Avatar billede -master-d- Nybegynder
19. maj 2002 - 20:23 #4
hvilken linie er nummer 46 ?
Avatar billede -master-d- Nybegynder
19. maj 2002 - 20:24 #5
Kan det være dette her ?

strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, by, email, tele, td, tae ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', '"& po &"', '"& by &"', '"& ema &"', '"& tele &"', '#"& td &"#', '"& tae &"' )"
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 20:30 #6
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error in INSERT INTO statement.

/flash/login/tilretur.asp, line 58


Her er linjen der er fejl i:

strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, by, email, tele, td, tae ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', '"& po &"', '"& by &"', '"& ema &"', '"& tele &"', '#"& td &"#', '"& tae &"' )"
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 20:37 #7
hvordan kan det være der er fejl ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 20:44 #8
BY er reserveretord i SQL (ORDER BY) så sæt [] omring by [by]:

strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, [by], email, tele, td, tae ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', '"& po &"', '"& by &"', '"& ema &"', '"& tele &"', '#"& td &"#', '"& tae &"' )"
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 21:34 #9
så får jeg denne fejl :

Microsoft OLE DB Provider for ODBC Drivers error '80040e07'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/flash/login/tilretur.asp, line 56

Sådan er koden nu:

<%

Dim bn,ko,na,enav,ad,po,by,ema,tele,td,tae

bn=(request.form("brugernavn"))
response.write bn

ko=(request.form("kode"))
response.write ko

na=(request.form("navn"))
response.write na


enav=(request.form("efternavn"))
response.write enav

ad=(request.form("adresse"))
response.write ad

po=(request.form("postnummer"))
response.write po

by=(request.form("by"))
response.write by

ema=(request.form("email"))
response.write ema

tele=(request.form("telefon"))
response.write tele

td=(request.form("tiddato"))
response.write td

tae=(request.form("taeller"))
response.write tae
     





' 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("hp.mdb")
Conn.Open DSN


' SQL forespørgsel

strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, [by], email, telefon, tiddato, taeller ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', '"& po &"', '"& by &"', '"& ema &"', '"& tele &"', '#"& td &"#', '"& tae &"' )"

' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)


' Gennemløb Recordset (rs) med en løkke


  ' Udskriv værdien af kolonnen Fornavn og fødselsdato



  ' Gå til næste Record i rs


' Fortsæt indtil rs er gennemløbet (EOF = End Of File)


' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

%>
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 21:37 #10
hvad kan der være galt ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 21:38 #11
Denne:
'#"& td &"#'

hvis det er en dato så skal der kune # omkring:
strSQL = "insert into medlemmer (brugernavn, kode, navn, efternavn, adresse, postnummer, [by], email, telefon, tiddato, taeller ) values ('" & bn & "', '" & ko & "', '"& na &"','"& enav &"', '"& ad &"', '"& po &"', '"& by &"', '"& ema &"', '"& tele &"', #"& td &"#, '"& tae &"' )"

Hvis der er nogle kolonner som er defineret som Tal skal der ikke ' omkring tallet i SQL'sætningen.
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 21:43 #12
aha fedt jeg tror den funker nu .....

har du nogle links hvor man kan læse om sql asp html syntaks med

eksempler osv ?
s
Avatar billede eagleeye Praktikant
19. maj 2002 - 21:47 #13
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 21:51 #14
hm der har jeg kigget synes den er meget overfladisk ....

nå men der er problemer med postnummer og telefon de tal jeg indtaster kommer ikke ALLE i min db hvordan kan det være ?
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 21:57 #15
Avatar billede eagleeye Praktikant
19. maj 2002 - 21:58 #16
Får du en fejl eller kommer tal'et ikke med?
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:02 #17
jeg indtaster dette i telefon

56356734

og får dette ud

telefon126

kan det være fordi de to felter står til byte ? og ikke long integrer?
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:10 #18
ja det kan være, men du indsætter som telefonnummer som tekst i SQL'en, '"& tele &"', fordi du har ' omkring data.
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:14 #19
eksempler ? hvad mener du ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:21 #20
hvis du indsætter data i tal felt så skal der ikke ' omkrting:

Eks: INSERT INTO tb (tal_kol, text_kol) VALUES (12, 'tekst')
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:23 #21
nej nu virker det ....

jeg har ændret postnummer og telefon fra byte til long integrer
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:27 #22
Jeg ved ikke hvad du skal bruge det til men jeg har lavet nogle sider hvor man har bruger oplysninger og jeg har defineret kolonnerne Postnummer samt Telefonnummer som tekst i databasen.
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:29 #23
ok så ved du hvordan jeg laver et login på baggrund af de oplysninger man har indtastet her ? og en session eller en cookie der checkes efter når man prøver at komme ind på en side ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:34 #24
du kan når man er logget ind lave en session("brugernavn") eller brugerID eller sådan noget.

Din login side som tjekker om password og brugernavn er rigitg kan indeholde dette:
if loginOk then
  Session("brugerID") = rs("id")
else
  Session("brugerID")
end if

på de sider du vil beskykke med password:

<%
if Session("brugerID") <> "" then
%>
<html>
... hele siden
</html>
<%
else
  'her kan du lave en redierct til den default side eller skrive en fejl besked
  response.redirect("login.asp")
end if
%>
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:38 #25
og hvad med cookie ? er det ikke den man tjekker om er på brugerens

pc når brugeren prøver at gå ind på en beskyttet side ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:47 #26
Det kan man også, du kan også benytte cookies. Det hedder bare response.cookies("navn") når man skriver den og request.cookie("navn") når man læser den.

Dette script kikker efter om der findes en cookie på ens PC og hvis der gør logges man automatisk ind. Det viser lidt hvordan man kan bruge cookies, jeg bruger dog stadig Session til at tjekke man er logget ind.

'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
  if request.cookies("forumData")("brugerID") <> Session("loginMemberID") then
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
  end if
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
    end if
  end if
end if
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:54 #27
og hvis cookien ikke er på computeren hvad så ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 22:57 #28
hvis cookien ikke findes sker der ikke noget..

if request.cookies("navn") = "" then
  'Cookien findex ikke, evt redirect til login side???
end if
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 22:59 #29
ja nemlig hvis der ikke er en cookie får brugeren

at vide du er ikke logget ind gå til login siden ...
Avatar billede eagleeye Praktikant
19. maj 2002 - 23:02 #30
du kan udbygge den :


'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
  if request.cookies("forumData")("brugerID") <> Session("loginMemberID") then
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
  end if
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
    end if
  else
    response.redirect("login.asp")
  end if
end if
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 23:03 #31
kan du skrive de 2 scripts til mig

1. hvor den tjekker efter cookie og hvis den er der logger ind og

hvis ikke redirecter til reg / login siden

2. en login side hvor der er mulighed for at gemme brugernavn pass

i cookie ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 23:07 #32
Ja det kan jeg.. Du skal bare lige vide at forskellen fra en cookie til en Session er at Cookien bliver gemt fra gang til gang man bruger browseren men en Session kun bliver gemt så længe man er på siden.
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 23:09 #33
ja ved jeg .....

du har vist skrevet login tjek siden ik ?

så skal jeg bare have login siden s
Avatar billede eagleeye Praktikant
19. maj 2002 - 23:18 #34
Ja det har jeg og her er det tilsvarne login check, du skal så lave en login form med et felt som hedder username og et som hedder password:

Set rs = Server.CreateObject("ADODB.RecordSet")
username = replace(Request.Form("username"),"'","")
password = replace(Request.Form("password"),"'","")
strSQL= "SELECT * FROM dp_members WHERE (username = '" & username & "' AND userpassword='" & password & "');"
Set rs = Conn.Execute (strSQL)
if not rs.EOF then
  session("loginOK") = "naturligvis"
  session("loginMemberID") = rs("memberID")
  response.cookies("forumData")("brugerID") = Session("loginMemberID")
  response.cookies("forumData").Expires = now + 365
  Conn.Close
  'Den side man skal til når man er logget ind
  Response.Redirect("loginokside.asp")
else
  session("loginOK") = ""
  session("loginMemberID") = ""
end if
Conn.Close
'Rediret til denne side hvos username og password ikke kunne findes.
Response.Redirect("login.asp")
%>
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 23:21 #35
det her er login siden ?

Set rs = Server.CreateObject("ADODB.RecordSet")
username = replace(Request.Form("username"),"'","")
password = replace(Request.Form("password"),"'","")
strSQL= "SELECT * FROM dp_members WHERE (username = '" & username & "' AND userpassword='" & password & "');"
Set rs = Conn.Execute (strSQL)
if not rs.EOF then
  session("loginOK") = "naturligvis"
  session("loginMemberID") = rs("memberID")
  response.cookies("forumData")("brugerID") = Session("loginMemberID")
  response.cookies("forumData").Expires = now + 365
  Conn.Close
  'Den side man skal til når man er logget ind
  Response.Redirect("loginokside.asp")
else
  session("loginOK") = ""
  session("loginMemberID") = ""
end if
Conn.Close
'Rediret til denne side hvos username og password ikke kunne findes.
Response.Redirect("login.asp")
%>

og det her er login check jeg sætter på toppen af hver side der ska

beskyttes ik ?

'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
  if request.cookies("forumData")("brugerID") <> Session("loginMemberID") then
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
  end if
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
    end if
  else
    response.redirect("login.asp")
  end if
end if
Avatar billede eagleeye Praktikant
19. maj 2002 - 23:28 #36
Ja. Jeg har en login.asp siden som indeholder en form:

<html>
<head></head>
<body>
<center><p>Velkommen til denne site login her:</p>
<table border="1">
<form method="post" action="login_chk.asp">
  <tr><td>Brugernavn:</td><td><input name="username"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action"></td></tr>
</form></table></center>
</body>
</html>


Siden login_chk.asp  skal indeholde det som du skriver som login.asp

Den sidste del beskytter siden, du kan lige rette den til dette:
'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
  if request.cookies("forumData")("brugerID") <> Session("loginMemberID") then
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
  end if
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
      response.redirect("login.asp")
    end if
  else
    response.redirect("login.asp")
  end if
end if
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 23:48 #37
sådan har lagt den på serveren nu .....

http://iceb.ljnet.dk/flash/login/formular.asp

du kan se koden nedenfor er det det du mener på den måde ? s
Avatar billede iceb1977 Nybegynder
19. maj 2002 - 23:49 #38
eller skal jeg lægge koden på en seperat asp ?
Avatar billede eagleeye Praktikant
19. maj 2002 - 23:56 #39
ja du kan også ligge det i en fil sådan her:

filen: login.asp

<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  ' 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("hp.mdb")
  Conn.Open DSN
  Set rs = Server.CreateObject("ADODB.RecordSet")
  username = replace(Request.Form("username"),"'","")
  password = replace(Request.Form("password"),"'","")
  strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & kode & "' AND userpassword='" & password & "');"
  Set rs = Conn.Execute (strSQL)
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
    response.cookies("forumData")("brugerID") = ""
  end if
  Conn.Close
  'Rediret til denne side hvos username og password ikke kunne findes.
  Response.Redirect("login.asp")
end if
%>
<html>
<head></head>
<body>
<center><p>Velkommen til denne site login her:</p>
<table border="1">
<form method="post" action="login.asp">
  <tr><td>Brugernavn:</td><td><input name="username"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action"></td></tr>
</form></table></center>
</body>
</html>
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 00:17 #40
strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & kode & "' AND userpassword='" & password & "');"

jeg forstår ikke lige den her ?
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 00:18 #41
skulle det ikke begrænse selektionen til lige netop den bruger

som har indtastet brugernavn og kode i formularen ?
Avatar billede eagleeye Praktikant
20. maj 2002 - 00:21 #42
Jo der er  rigtigt, men jeg har skrvet forkert i den den skal se sådan ud:

strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & username & "' AND kode ='" & password & "');"
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 00:32 #43
ok det virker stadig ikke .....

http://iceb.ljnet.dk/flash/login/formular.asp

bruger ice

pass ic
Avatar billede eagleeye Praktikant
20. maj 2002 - 00:36 #44
hvordan ser din login.asp ud nu?
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 00:42 #45
ah ok så virker den ....
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 00:44 #46
men kan man lave sådan en checkbox der hedder husk mine oplysninger

eller noget i den stil ? sådan brugeren selv bestemmer om det skal

huskes i cookien ?
Avatar billede eagleeye Praktikant
20. maj 2002 - 00:51 #47
Ja det kan man..
så skal dutilføje en checkbox til formular.asp:

<input type=checkbox name=huskmig value=ja>




Dette styk kode i login.asp:
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
    response.cookies("forumData")("brugerID") = ""
  end if


skal laves om til:
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    if request.form("huskmig") = "ja" then
      response.cookies("forumData")("brugerID") = Session("loginMemberID")
      response.cookies("forumData").Expires = now + 365
    end if
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
    response.cookies("forumData")("brugerID") = ""
  end if
  end if
Avatar billede eagleeye Praktikant
20. maj 2002 - 00:54 #48
Ligeledes skal dette styk kode:
'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
  if request.cookies("forumData")("brugerID") <> Session("loginMemberID") then
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
  end if
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
    end if
  else
    response.redirect("login.asp")
  end if
end if


skal laves om til dette da det ellers automatisk opretter en cookie hvis den ikke findes:
'Tjek om der findes en cookies og log automatisk hvis der gør.
if Session("loginOK") = "natulivis" then
else
  if request.cookies("forumData") <> "" then
    session("loginMemberID") = request.cookies("forumData")("brugerID")
    strSQL = "SELECT * FROM dp_members WHERE memberID = " & session("loginMemberID")
    set rs = Conn.Execute(strSQL)
    if NOT rs.EOF then
      session("loginOK") = "naturligvis"
    else
      session("loginMemberID") = ""
    end if
  else
    response.redirect("login.asp")
  end if
end if
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 01:02 #49
ok det vil den ikke .....

her er fejlen .....

Microsoft OLE DB Provider for ODBC Drivers error '80040e10'

[Microsoft][ODBC Microsoft Access Driver] Too few parameters. Expected 1.

/flash/login/formular.asp, line 13


<%

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  ' 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("hp.mdb")
  Conn.Open DSN
  Set rs = Server.CreateObject("ADODB.RecordSet")
  username = replace(Request.Form("username"),"'","")
  password = replace(Request.Form("password"),"'","")
  strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & kode & "' AND userpassword='" & password & "');"
  Set rs = Conn.Execute (strSQL)

if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    if request.form("huskmig") = "ja" then
      response.cookies("forumData")("brugerID") = Session("loginMemberID")
      response.cookies("forumData").Expires = now + 365
    end if
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("loginokside.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
    response.cookies("forumData")("brugerID") = ""
  end if
  end if
end if
%>
<html>
<head></head>
<body>
<center><p>Velkommen til denne site login her:</p>
<table border="1">
<form method="post" action="formular.asp">
  <tr><td>Brugernavn:</td><td><input name="username"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action">
<input type=checkbox name=huskmig value=ja>
</td></tr>
</form></table></center>
</body>
</html>
Avatar billede eagleeye Praktikant
20. maj 2002 - 01:05 #50
SQL sætningen til:
strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & username & "' AND kode='" & password & "');"
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 10:53 #51
Hejsa den virker ikke .....

når jeg indtaster forkert kode og bruger så bliver den på samme side

og når jeg indtaster rigtigt skriver den .....

ADODB.Recordset error '800a0cc1'

Item cannot be found in the collection corresponding to the requested name or ordinal.

/flash/login/formular.asp, line 17



<%

if Request.ServerVariables("REQUEST_METHOD") = "POST" then
  ' 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("hp.mdb")
  Conn.Open DSN
  Set rs = Server.CreateObject("ADODB.RecordSet")
  username = replace(Request.Form("username"),"'","")
  password = replace(Request.Form("password"),"'","")
  strSQL= "SELECT * FROM medlemmer WHERE (brugernavn= '" & username & "' AND kode='" & password & "');"
  Set rs = Conn.Execute (strSQL)

if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    response.cookies("forumData")("brugerID") = Session("loginMemberID")
    response.cookies("forumData").Expires = now + 365
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("til.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
  if not rs.EOF then
    session("loginOK") = "naturligvis"
    session("loginMemberID") = rs("memberID")
    if request.form("huskmig") = "ja" then
      response.cookies("forumData")("brugerID") = Session("loginMemberID")
      response.cookies("forumData").Expires = now + 365
    end if
    Conn.Close
    'Den side man skal til når man er logget ind
    Response.Redirect("dokument.asp")
  else
    session("loginOK") = ""
    session("loginMemberID") = ""
    response.cookies("forumData")("brugerID") = ""
  end if
  end if
end if
%>
<html>
<head></head>
<body>
<center><p>Velkommen til denne site login her:</p>
<table border="1">
<form method="post" action="formular.asp">
  <tr><td>Brugernavn:</td><td><input name="username"></td></tr>
  <tr><td>Password:</td><td><input type="password" name="password"></td></tr>
  <tr><td colspan="2" align="center"><input type="submit" value="Login" name="Action">
<input type=checkbox name=huskmig value=ja>
</td></tr>
</form></table></center>
</body>
</html>
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 10:55 #52
session("loginMemberID") = rs("memberID")

det er denne linie den laver fejl i kan det være fordi jeg ikke

har en memberid men kun et id i min db ? s
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 11:00 #53
nu har jeg ændret det til ID i stedet men nu er der stadig problemet

med når man indtaster forkert kommer man ikke til en anden side ?
Avatar billede iceb1977 Nybegynder
20. maj 2002 - 11:02 #54
nå jeg tror du har hjulpet mig nok takker .....og lukker ....

s
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