09. april 2001 - 20:26Der 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:
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
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)?
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 %>
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
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
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 ?
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.