Avatar billede maluso77 Nybegynder
10. december 2003 - 21:33 Der er 12 kommentarer og
1 løsning

Login med mysql, Empty connection string.

Nu håber jeg at jeg har lagt dette spørgsmål det rigtige sted.

Jeg har lavet et login til min side ved hjælp af ASP og der tjekkes bruger og password i en MySql database. Eller det vil jeg meget gerne have den til.

Jeg har lavet en side med forms til indtastning af bruger og pwd. (login.asp) Den kontakter (login_ex.asp) Der ser sådan her ud
<-------login_ex.asp---------->
<%
    option explicit
%>
<!-- #include file="openconn.inc" -->
<%
    dim brugernavn, password, rs, SQL
    brugernavn = Trim(Replace(Request.form("bruger"),"'","''"))
    password = Trim(Replace(Request.form("password"),"'","''"))

' Der tjekkes om bruger og password er korrekt
    SQL="SELECT * FROM tlogin WHERE bruger ='" & brugernavn & "' AND adgangsord ='" & password & "'"
    Set rs=Conn.Execute(SQL)

' Hvis bruger findes
    If Not (rs.BOF Or rs.EOF) Then
    Session("ID") =rs("ID")
    Session("Brugeradgang") = True
    Response.redirect "forside.asp"

' Hvis bruger ikke findes
    Response.redirect="nologin.asp"
    End If
%>   
' Forbindelsen til DB lukkes
<!-- #"include file="closeconn.inc" -->

Som i kan se bruger jeg 2 include filer:
<----------openconn.inc---------->
<%
dim myConn

    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.open(Application("DBCONN"))
%>
OG
<----------closeconn.inc----------->
<%
dim myConn
    myConn.close
    Set myCOnn=Nothing
%>

Jeg har også min global.asa fil hvor jeg har login osv til min DB.
<-------------- global.asa -------------->
</script LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart()
Application("DBCONN")="Driver={MySql};SERVER=localhost;
DATABASE=mindb;UID=xxx;PWD=yyy;"
End Sub
</script>

Det skulle vist være det nødvendige for at kunne spørge rigtigt.

Når jeg forsøger et login får jeg fejlen

ADODB.Connection.1 error '80020009'
Empty connection string.
openconn.inc, line 5

Dette er linie 5 i openconn
    myConn.open(Application("DBCONN"))

Jeg har snart prøvet meget, men kommer ikke videre..
plz help
Mads
Avatar billede thesurfer Nybegynder
10. december 2003 - 22:06 #1
Nu har jeg godt nok aldrig arbejdet med MySQL.. kun Access..

Hvorfor har du Application("DBCONN")="Driver..."-delen i global.asa?
Normalt ville man placere den lige før:
    Set myConn = Server.CreateObject("ADODB.Connection")
    myConn.open(Application("DBCONN"))

i din openconn.inc.
Og hvorfor kalder du den Application("DBCONN")? Kan du ikke bruge en almindelig streng som f.eks. (openconn.inc):

Set myConn = Server.CreateObject("ADODB.Connection")
dbconn="Driver..."
myConn.open(dbconn)
Avatar billede erikjacobsen Ekspert
10. december 2003 - 22:16 #2
Det ser forkert ud med den skråstreg:

</script LANGUAGE="VBScript" RUNAT="Server">
Avatar billede thesurfer Nybegynder
10. december 2003 - 22:18 #3
hehe.. den lagde jeg ikke engang mærke til :)
Avatar billede maluso77 Nybegynder
10. december 2003 - 22:22 #4
Jeg har arbejdet ud fra denne side

http://www.mazsoft.com/mysql.asp

Derfor Application("DBCONN")="Driver..."-delen i global.asa
Avatar billede thesurfer Nybegynder
10. december 2003 - 22:30 #5
Prøv at fjene "/" fra: </script LANGUAGE="VBScript" RUNAT="Server">
Jeg undre mig lidt over, hvorfor den ikke melder fejl ved "dim myconn" i closeconn.inc. Du har jo allerede defineret "myconn" i openconn.inc.
Avatar billede maluso77 Nybegynder
10. december 2003 - 22:48 #6
okay.... jeg har fjernet / det hjalp ikke
plus den når jo slet ikke ned til closeconn.inc

jeg har prøvet at flytte dbconn="Driver..." over i login_ex og det virker..... at jeg så har et problem længere nede.... ja det er så bare mit held


error '800a0cc1'

ADO Could not find the object in the collection corresponding to the name or ordinal reference requested by the collection.

/fastball/login_ex.asp, line 24

Dette er linie 24

    Session("ID") =rs("ID")

egentlig opretter jeg ikke en session i min global.asa
Jeg er ny i det her, så det burde jeg vel egentlig gøre eller hur?
Avatar billede erikjacobsen Ekspert
10. december 2003 - 22:53 #7
Ligger din global.asa i roden af dit website?
Retter du i den er der vist noget om at det ikke nødvendigvis
opdages med det samme.

Men du kan bare skrive den connectionstring som foreslået og så tage
dette problem senere.

Har du et felt, der hedder "ID" ?
Avatar billede maluso77 Nybegynder
10. december 2003 - 22:59 #8
alle mine filer lå i et underbibliotek også global.asa

ID i min Database nej det har jeg ikke.

Jeg leder desperat efter det sted hvor jeg fandt denne løsning.
Avatar billede erikjacobsen Ekspert
10. december 2003 - 23:02 #9
Prøv at flytte din global.asa op i roden af dit site.

Hvilke felter har du så i tabellen?
Avatar billede maluso77 Nybegynder
10. december 2003 - 23:08 #10
Det virker at flytte filerne op i roden af sitet. Den oprindelige opsætning med connection i global.asa

Jeg har ikke ID

Jeg har tabellen "tlogin" og felterne "bruger" og "adgangsord"
Avatar billede erikjacobsen Ekspert
10. december 2003 - 23:13 #11
så skal du bruge rs["bruger"] og/eller rs["adgangsord"]
Avatar billede maluso77 Nybegynder
10. december 2003 - 23:15 #12
Fanstisk.........
Det virker... Jeg er meget tilfreds.... lidt point til dig?
Avatar billede erikjacobsen Ekspert
10. december 2003 - 23:18 #13
Ok, lidt ;)
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