Avatar billede ronniw Nybegynder
12. juli 2003 - 13:36 Der er 24 kommentarer og
1 løsning

CHMOD for min ASP-database

Hey - jeg er temmelig ny hvad angår ASP og skal have lavet et USER LOGIN SITE og har uploaded et free script og lagt det ud på www.nanaza.com/asp-test .

Første asp-side loader som det skal, men jeg kan ikke komme videre med de sider, der - så vidt jeg kan se - har forbindelse med min siteusers-database.

Jeg gætter mig til, at den er sat med forkerte rettigheder CHMOD, så man ikke kan skrive til den - men jeg kan ikke finde frem til HVAD den skal stå til?

Jeg har prøvet mig lidt frem, søgt nettet og div. message-boards...

- det er måske slet ikke dét, der er galt???
Avatar billede keysersoze Ekspert
12. juli 2003 - 13:38 #1
fortæl lidt om hvad der sker af fejl etc - det eneste der _burde_ kunne være problemer med i en access er hvis selve database-filen er skrivebeskyttet (højreklik for at ændre det) eller hvis databasen ligger i en mappe ud skriverettigheder (i så fald skal den flyttes til en bestemt given mappe bestemt af webhotellet)
Avatar billede ronniw Nybegynder
12. juli 2003 - 13:40 #2
ADODB.Connection.1 error '800a0bb9'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

conn.asp, line 6
Avatar billede ronniw Nybegynder
12. juli 2003 - 13:41 #3
...altså når man forsøger at skrive et login & pwd...
Avatar billede keysersoze Ekspert
12. juli 2003 - 13:54 #4
hvordan ser de første 6 linier ud?
Avatar billede ronniw Nybegynder
12. juli 2003 - 13:58 #5
de første 6 linier i conn.asp - det er vel dén, der er forkert så?? - ser sådan ud:

<%
Dim ConnectString, conn

ConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("siteusers.mdb")
Set conn = Server.CreateObject("ADODB.Connection")
conn.open ConnectString
%>
Avatar billede keysersoze Ekspert
12. juli 2003 - 14:09 #6
hmm - måske kan din host ikke køre med jet-provideren - prøv at ændre ovenstående til;

Set Conn = Server.CreateObject("ADODB.Connection")
ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb")
Conn.Open ConnectString
%
Avatar billede ronniw Nybegynder
12. juli 2003 - 14:16 #7
hehe... nu nægter den totalt at komme ind på index.asp med error:


Microsoft VBScript compilation error '800a0408'

Invalid character

conn.asp, line 3

ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &amp; Server.MapPath
-------------^



....jeg sætter points op til 100 - det virker ikke helt let....
Avatar billede keysersoze Ekspert
12. juli 2003 - 14:37 #8
ConnectString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb")

tag en direkte kopi - &-tegnet må ikke ændres til &amp;
Avatar billede ronniw Nybegynder
12. juli 2003 - 14:50 #9
hovsa .... jeg ændrede det gennem fronpage??

Anyway - nu kommer jeg ind på index.asp, men når jeg taster brugern & pwd ind kommer error:

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'Conn'

conn.asp, line 2
Avatar billede hossein Nybegynder
12. juli 2003 - 14:55 #10
Kig på dette ex så kan du se hvordan man kan lave forbindelse med databasen:
http://www.html.dk/tutorials/asp/lektion19.asp
Avatar billede keysersoze Ekspert
12. juli 2003 - 15:10 #11
hvordan se conn.asp ud nu?
Avatar billede ronniw Nybegynder
12. juli 2003 - 15:10 #12
<%
Set Conn = Server.CreateObject("ADODB.Connection")
ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &

Server.MapPath("siteusers.mdb")
Conn.Open ConnectString
%>
Avatar billede keysersoze Ekspert
12. juli 2003 - 15:17 #13
ser stadig ikke rigtig ud - hvis du laver det i frontpage er der højst sandsynligt derfor, for det program er altså ret dårligt til at lave kode i...

gå ind på;

http://www.html.dk/tutorials/asp/lektion18.asp
og evt også
http://www.html.dk/tutorials/asp/lektion19.asp
som hossein henviser til.

Tag koden direkte derfra, og lav meget gerne ændringerne i notepad eller lignende ellers er risikoen for at frontpage fucker det op ret stor
Avatar billede ronniw Nybegynder
12. juli 2003 - 15:19 #14
ok - men hvad er det, der ikke rigtigt ud, for jeg kopiere direkte ind i notepad og gemte det som conn.asp ??
Avatar billede keysersoze Ekspert
12. juli 2003 - 15:24 #15
det ser ud som om der er brugt ENTER før server.mappath
Avatar billede ronniw Nybegynder
12. juli 2003 - 15:33 #16
ok.... så kører vi....

Jeg tog din oprindelige tekst og kopierede den direkte ind i notepad - uden at tilføje "<%" ">" i henholdsvis starten og slutningen.... Altså denne tekst:

.......................................................................
Set Conn = Server.CreateObject("ADODB.Connection")
ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb")
Conn.Open ConnectString
%
.......................................................................



Når man så indtaster brgn & pwd kommer denne error:

.......................................................................
Set Conn = Server.CreateObject("ADODB.Connection") ConnectString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb") Conn.Open ConnectString %
Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'conn'

/asp-test/signin.asp, line 28
.......................................................................

signin.asp ser sådan ud:

.......................................................................
<%
Option Explicit
Dim sql,rsUser,username,password,page,stayloggedin,LConnectString,lconn,sqlflag

'Grab the submitted variables (page is the page they've come from, set by the hidden variable at the login box)
username = Request.Form("username")
password = Request.Form("password")
page = Request.Form("page")
stayloggedin = Request.Form("stayloggedin")

if page = "" then
    page = "index.asp"
end if

'Check no s**t is trying to hack in using SQL commands
if InStr(username, "'") or InStr(username, """") or InStr(username, "=") or InStr(password, "'") or InStr(password, """") or InStr(password, "=") then
    sqlflag = True
end if

'Open connection
%>
<!--#include file="conn.asp"-->
<%

'Get a recordset corresponding to the submitted username and password
sql = "SELECT username FROM users WHERE username = '" & username & "' AND password = '" & password & "'"
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.Open sql, conn, 3, 3

'If there was a valid recordset there, then send them back to the page they came from, with the username cookie set
If (not rsUser.BOF) and (not rsUser.EOF) and sqlflag <> True then
  Response.Cookies("username") = rsUser("username")
  'If the user wants to stay logged in all the time, then we'll set the cookie with a far-away expiry date
  if stayloggedin = "yes" then
    Response.Cookies("username").expires = #1/1/2010#
  end if
  rsUser.close
  set rsUser = nothing
  conn.close
  set conn = nothing
  Response.Redirect(page)
end if

'Otherwise, display an invalid entry screen
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing%>

<html>
<head>
<title>Invalid entry</title>
</head>
<body bgcolor="#FFFFFF" link="#DD0000" vlink="#DD0000" alink="#000000">
<font face="arial,helvetica" size=2>

<h3>Invalid username/password</h3>

<p><a href="java script:self.history.go(-1)"><b>Please try again</b></a></p>

</font>
</body>
</html>
.......................................................................



.......??
Avatar billede keysersoze Ekspert
12. juli 2003 - 15:45 #17
men... hvis du ikke har <% %> i et asp-dokument vil det jo ikke blive tolket som asp men som ren tekst, så den går ikke...
Avatar billede ronniw Nybegynder
12. juli 2003 - 16:36 #18
rettet....

men hvad er der så galt med

............................................................................
Set Conn = Server.CreateObject("ADODB.Connection") ConnectString = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb") Conn.Open ConnectString %
Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'conn'

/asp-test/signin.asp, line 28
............................................................................

Selvom mit samlede problemstilling måske ikke løses efter dette problem, så uddeler jeg de 100 points efter "singin.asp, line 28"-løsningen...
Avatar billede keysersoze Ekspert
12. juli 2003 - 18:07 #19
prøv at poste conn.asp som den ser ud nu
Avatar billede ronniw Nybegynder
12. juli 2003 - 18:28 #20
<%
Set Conn = Server.CreateObject("ADODB.Connection")
ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb")
Conn.Open ConnectString
%>
Avatar billede keysersoze Ekspert
12. juli 2003 - 18:40 #21
tilføj;

Dim ConnectString, conn

lige over Set Conn... linien
Avatar billede ronniw Nybegynder
13. juli 2003 - 11:43 #22
Så kommer denne fejlmelding....:


ADODB.Connection.1 error '800a0bb9'

The application is using arguments that are of the wrong type, are out of acceptable range, or are in conflict with one another.

conn.asp, line 5
.......................................................
Conn.asp:

<%
Dim ConnectString, conn
Set Conn = Server.CreateObject("ADODB.Connection")
ConnectString  = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("siteusers.mdb")
Conn.Open ConnectString
%>

................................................???????????
Avatar billede keysersoze Ekspert
13. juli 2003 - 11:49 #23
det kunne tyde lidt på at din host slet ikke understøtter access-databaser - står der at de går det?
Avatar billede hossein Nybegynder
13. juli 2003 - 12:42 #24
skriv:
Response.Write ConnectString
så kan vi se hvad er stien til DB.
jeg tror det er en sikkerheds spørgsmål, som keysersoze sagde tidligere, fleste host/web-hoteler giver en bestemt mappe hvor man skal placere Db'en i den, af hensyn til sikkerhed.
Avatar billede ronniw Nybegynder
13. juli 2003 - 14:29 #25
SHIT....

Jeg hoster hos B-one.net, som tilbyder asp, MEN IKKE Microsoft Access...

Den side, jeg arbejder på skal lægges ud på en anden side, så inden jeg dropper det hele - og går igang med at lære MySQL, så tjekker jeg lige, om der tilbydes ASP Microsoft Access på dén host...

Tak for hjælpen..... og værs'go
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