Avatar billede tjaz Nybegynder
01. marts 2002 - 13:26 Der er 9 kommentarer og
1 løsning

Sessions?

Er der nogen som kan fortælle mig hvorfor man fx ikke kan sætte en session = et tekstfelt fra en databse?

eks.

if session("noget") = rs("tekstfelt") then
bla bla

og er der nogen som evt. kan fortælle mig hvilke felter i en database man kan sætte = en session

/TjaZ
Avatar billede joeblack Nybegynder
01. marts 2002 - 13:30 #1
Hej TjaZ

Du kan sagtens begge dele. Et øjeblik, så får du et eksempel.
Avatar billede tjaz Nybegynder
01. marts 2002 - 13:34 #2
hmm kan du så fortælle mig hvorfor min if sætning ikke virker hvis mit felt er et tesktfelt, men godt når det er et talfelt?
Avatar billede joeblack Nybegynder
01. marts 2002 - 13:35 #3
Her er et eksempel, hvor jeg både sætter session = tekstfelt og putter en sessionværdi i databasen.

Dim brugernavn, password, Conn, rs

brugernavn = Trim(Replace(Request.Form("brugernavn"), "'", "")) 'Fjerner plinger (') for at man ikke kan snyde sig igennem
password = Trim(Replace(Request.Form("password"), "'", "")) ' -||-

If brugernavn = "" Or password = "" Then
errorTxt = "Både brugernavn og password skal indtastes for at du kan logge ind." 'Fejltekst til udskrivning ved manglende indtastning
End If

If errorTxt = "" Then
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("users.mdb")
Conn.Open DSN

Set rs = Conn.Execute("SELECT * FROM users WHERE username='" & brugernavn & "' AND password='" & password & "'")
If Not rs.EOF Then
Session("login") = rs("id") 'Bruges til at finde ud af hvem vedkommende er
Session("level") = rs("level") 'Bruges til at finde ud brugerens level
Session("Brugernavn") = rs("name")
Session("Selskab") = rs("Company")
Conn.Close
Set Conn = Nothing

' skriv i log

  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.MapPath("log.mdb")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  SQLstat = "INSERT INTO log (dato, username, name, company) values (NOW(), '" & brugernavn & "', '" & Session("Brugernavn") & "', '" & Session("Selskab") & "' )"
  Set rs = myConn.Execute(SQLstat)
  'Rydder op efter os
  myConn.Close
  Set myConn = Nothing
Avatar billede tjaz Nybegynder
01. marts 2002 - 13:42 #4
jeg tror du har misforstået mit spm lidt..

jeg har en if-sætning som hedder

if session("noget") = rs("tekstfelt") then
response.write ("Det virker")
else
response.write ("Det virker ikke")
end if

og fordi mit felt som jeg sætter session = er et tekst felt får jeg hver gang "Det virker ikke", men efter at jeg ændrede mit felt i databasen fra tekst til tal har det virket 100%... og så er det jeg gerne vil vide hvorfor?
Avatar billede joeblack Nybegynder
01. marts 2002 - 13:44 #5
Jeg ved ikke hvorfor, men jeg har flere gange måtte gøre dette:

MyTekstfelt = rs("tekstfelt")

If session("noget") = MyTekstfelt then
response.write ("Det virker")
Else
response.write ("Det virker ikke")
End If

Prøv dette.
Avatar billede tjaz Nybegynder
01. marts 2002 - 13:46 #6
er også prøvet men det kunne jeg heller ikke så til at virke :/
Avatar billede joeblack Nybegynder
01. marts 2002 - 13:48 #7
Prøv med

Dim MyTekstfelt as Str
Avatar billede tjaz Nybegynder
01. marts 2002 - 13:49 #8
okay .. det prøver jeg så en anden gang .. har ikke lige tid til at lege mere med det nu ... men jeg synes bare at det var mærkeligt...

kan man sætte alle felttyper = en session så? hvis bare man nu finder den rigtig måde at gøre det på :/ så?
Avatar billede joeblack Nybegynder
01. marts 2002 - 13:52 #9
Ja, hvis værdien svarer til felttypen.
Hvad med point's ?
Avatar billede tjaz Nybegynder
01. marts 2002 - 13:54 #10
dem får du self :) .. med et svar "Ja, hvis værdien svarer til felttypen."

:)

/TjaZ
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