Avatar billede lucy Nybegynder
09. april 2001 - 20:26 Der er 11 kommentarer og
1 løsning

Hvem kan hjælpe med et session problem

Hej Jeg har idag downloaded et script der kører via min access2000 db.
Problemet er at filen hvor sessions bliver konfigureret refererer til den medfølgende db.
I min database hedder tabellen hvor brugerne er registret Tbruger og felterne i tabellen hedder: ID, Brugernavn, Adgangskode, Fornavn, Efternavn, Email, etc. etc.
Alle min andre ASP filer (login etc.) bliver checkket via brugernavn og adgangskode men det nye script chekker på email & adgangskode (tror jeg) Jeg er ikke stærk i ASP Hvem kan fortælle hvordan denne fil skal se ud:


<!-- METADATA TYPE=\"typelib\"
              FILE=\"C:\\Program Files\\Common Files\\System\\ado\\msado15.dll\" -->

<%
  Dim strConn
 
  Set strConn = Server.CreateObject(\"ADODB.Connection\")

    \'---------Edit Below only------------------------------\'
    \'---------Use Data connect needed below----------------\'
    \'---------Comment out /delete unneeded (remove the \' at beginning of line----\'
   

\'----------first line for DSNLESS connection(Currently active)-----------\' 
\'strConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)};\" & \"DBQ=\" & Server.MapPath(\".............\")

\'---------second line for other connection if needed---\'
strConn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=t:\\........mdb\"
   
    \'--------Do not edit past this line--------------------\'
   
   
If Session(\"blnValidUser\") = True and Session(\"UserID\") = \"\" Then
    Dim rsPersonIDCheck
    Set rsPersonIDCheck = Server.CreateObject(\"ADODB.Recordset\")
    Dim strSQL
    strSQL = \"SELECT UserID FROM Tbruger \" & _
            \"WHERE EmailAddress = \'\" & Session(\"EmailAddress\") & \"\';\"
    rsPersonIDCheck.Open strSQL, strConn
    If rsPersonIDCheck.EOF Then
      Session(\"blnValidUser\") = False
    Else
      Session(\"UserID\") = rsPersonIDCheck(\"UserID\")
    End If
    rsPersonIDCheck.Close
    Set rsPersonIDCheck = Nothing
  End If
%>


NB!!! Den medfølgende database havde felterne UserID, Emailaddress, Firstname, Lastname, Password, etc.etc
Avatar billede nute Nybegynder
09. april 2001 - 20:35 #1
kan du være litt mer spesifikk på hva problemet er ?
Avatar billede lucy Nybegynder
09. april 2001 - 20:37 #2
Ja, undskyld Hvor skal UserID erstattes med ID (som feltet hedder i min database)? Hvor skal jeg erstatte emailaddress med email(som feltet hedder i min database)?
Avatar billede nute Nybegynder
09. april 2001 - 20:39 #3
prøv dette:

If Session(\"blnValidUser\") = True and Session(\"UserID\") = \"\" Then
    Dim rsPersonIDCheck
    Set rsPersonIDCheck = Server.CreateObject(\"ADODB.Recordset\")
    Dim strSQL
    strSQL = \"SELECT ID FROM Tbruger \" & _
            \"WHERE email = \'\" & Session(\"EmailAddress\") & \"\';\"
    rsPersonIDCheck.Open strSQL, strConn
    If rsPersonIDCheck.EOF Then
      Session(\"blnValidUser\") = False
    Else
      Session(\"UserID\") = rsPersonIDCheck(\"ID\")
    End If
    rsPersonIDCheck.Close
    Set rsPersonIDCheck = Nothing
  End If
%>

/nute
Avatar billede lucy Nybegynder
09. april 2001 - 20:59 #4
Det blev desværre ikke bedre..
Avatar billede nute Nybegynder
09. april 2001 - 21:01 #5
det er litt vanskelig å hjelpe når ting bare blir tatt ut av kontekst...

hvorfor kan du ikke bruke den databasen som fulgte med scriptet ? hva er galt ?
Avatar billede lucy Nybegynder
09. april 2001 - 21:05 #6
Fordi...så skal brugerne oprette sig to forskellige steder. Jeg har et bruger login system som allerede er defineret. Den engelske script jeg har hentet har stort set samme felter, hedder blot noget andet. Så ville jeg gerne have scriptet til at hente fra min nuværende database
Avatar billede nute Nybegynder
09. april 2001 - 21:08 #7
kan du ikke bare erstatte alle \'UserID\' med tilsvarende felt i din tabell (og det samme med \'EmailAddress\' og evt andre kolonner som er forskjellige i tabellen ?? )

kjør en search/replace på alle kolonne navnene som er forandret fra scriptet du lastet ned til din tabell
Avatar billede lucy Nybegynder
09. april 2001 - 21:15 #8
Kan jeg det? eller kan jeg ødelægge noget?
Avatar billede nute Nybegynder
09. april 2001 - 21:18 #9
selvfølgelig kan du det ... hvis du er redd for å ødelegge noe, så kan du jo bare ta en kopi av alle filer før du utfører search/replace.

en ting...jeg ser du inkluderer en .dll fil....er du sikker på at det ikke er noe i den filen som refererer til det \"gamle\" systemet ? sånn at du fktisk ikke kan forandre datbase ?
Avatar billede lucy Nybegynder
09. april 2001 - 22:44 #10
Hej nute. Det virkede. Jeg rettede alt via søg og det lykkedes - tak for hjælpen.

Please svar - så du kan få pointene

Avatar billede nute Nybegynder
10. april 2001 - 10:19 #11
det var så lidt :)
Avatar billede lucy Nybegynder
30. april 2001 - 16:04 #12
Beklager forsinkelsen. Her kommer pointene
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